US20160112577A1 - Managing network data transfers in view of multiple data usage plans - Google Patents
Managing network data transfers in view of multiple data usage plans Download PDFInfo
- Publication number
- US20160112577A1 US20160112577A1 US14/835,693 US201514835693A US2016112577A1 US 20160112577 A1 US20160112577 A1 US 20160112577A1 US 201514835693 A US201514835693 A US 201514835693A US 2016112577 A1 US2016112577 A1 US 2016112577A1
- Authority
- US
- United States
- Prior art keywords
- data
- data usage
- computing device
- network
- plans
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 179
- 238000004891 communication Methods 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 11
- 230000009977 dual effect Effects 0.000 claims description 10
- 238000007727 cost benefit analysis Methods 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000001413 cellular effect Effects 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 6
- 230000006855 networking Effects 0.000 description 6
- 230000001186 cumulative effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003466 anti-cipated effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 239000000969 carrier Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000035939 shock Effects 0.000 description 2
- 238000010207 Bayesian analysis Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1432—Metric aspects
- H04L12/1435—Metric aspects volume-based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/062—Generation of reports related to network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/41—Billing record details, i.e. parameters, identifiers, structure of call data record [CDR]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/58—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP based on statistics of usage or network monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/60—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP based on actual use of network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/70—Administration or customization aspects; Counter-checking correct charges
- H04M15/765—Linked or grouped accounts, e.g. of users or devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/70—Administration or customization aspects; Counter-checking correct charges
- H04M15/765—Linked or grouped accounts, e.g. of users or devices
- H04M15/7652—Linked or grouped accounts, e.g. of users or devices shared by users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/80—Rating or billing plans; Tariff determination aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/83—Notification aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/83—Notification aspects
- H04M15/84—Types of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/83—Notification aspects
- H04M15/84—Types of notifications
- H04M15/846—Types of notifications optical, e.g. icon
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/83—Notification aspects
- H04M15/85—Notification aspects characterised by the type of condition triggering a notification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/83—Notification aspects
- H04M15/85—Notification aspects characterised by the type of condition triggering a notification
- H04M15/853—Calculate maximum communication time or volume
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/83—Notification aspects
- H04M15/85—Notification aspects characterised by the type of condition triggering a notification
- H04M15/854—Available credit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/83—Notification aspects
- H04M15/86—Recipients of the notification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/24—Accounting or billing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/60—Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/186—Processing of subscriber group data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/70—Administration or customization aspects; Counter-checking correct charges
- H04M15/775—Account specifications on parallel communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/80—Rating or billing plans; Tariff determination aspects
- H04M15/8044—Least cost routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/83—Notification aspects
- H04M15/85—Notification aspects characterised by the type of condition triggering a notification
- H04M15/856—Unsuccessful event
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
Definitions
- Embodiments of the disclosure manage a plurality of data usage plans available to a computing device for data transfer.
- Each of the plurality of data usage plans has data usage statistics representing an amount of network data consumed under the data usage plan.
- a mobile operator and network connection are selected based at least on the plurality of data usage plans, the associated data usage statistics, and the received data transfer request.
- the data transfer request is initiated using the selected mobile operator and network connection.
- FIG. 1 is an exemplary block diagram illustrating a mobile computing device with multiple available data usage plans.
- FIG. 2 is an exemplary flow chart illustrating operation of the computing device to select a network data transfer configuration based on estimated transfer costs and/or quality of service metrics using a plurality of data usage plans.
- FIG. 3 is an exemplary flow chart illustrating operation of the computing device to present offers to a user for adjusting a network data transfer.
- FIG. 4 is an exemplary flow chart illustrating operation of the computing device to adjust a network data transfer configuration during performance of a data transfer request.
- embodiments of the disclosure provide efficient routing of network data traffic over multiple networks 109 using multiple data usage plans 116 to manage data consumption.
- plan aware routing selections are made by determining which data usage plan 116 to leverage for which network data traffic.
- aspects of the disclosure operate as a service executing on a mobile computing device 102 and/or as a cloud service. Based at least on the factors, preferences, criteria, or other inputs, the service identifies at least one data usage plan 116 , at least one of the networks 109 , and mobile operator credentials to present to the identified network 109 for a particular data transfer request 115 , in some embodiments.
- While some existing systems may make routing decisions based solely on internally sourced measures (e.g., power consumption), aspects of the present disclosure balance externally sourced, relatively static information (e.g., the data usage plans 116 from mobile operators 111 ) with dynamic runtime information to make routing decisions that are in the best interest of the user 104 .
- the dynamic runtime information may be measurable on the device, highly variable over time, and device-specific. For example, the dynamic runtime information may change over time depending on the device's relationship with the network connections 130 (e.g., in view of the data usage plan 116 of the user 104 , and the cost of each network connection 130 ).
- the service performs operations to calculate or estimate the amount of power and network data to be consumed by a data transfer request 115 over multiple different networks 109 each having different data usage plans 116 (e.g., usage allotments, tariffs, etc.).
- the financial cost e.g., dollars
- resource cost e.g., power consumption
- the service is also operable with shared data usage plans 116 , such as family plans, and in environments in which applications 114 and services share connections.
- the service is also operable in embedded subscriber identity module (SIM) environments in which data usage plans 116 are dynamically activated as needed, or the data usage plan 116 of a proximate or neighboring device is used.
- SIM subscriber identity module
- an embedded SIM is a software-based SIM residing possibly on the motherboard of the computing device, rather than a SIM residing on the universal integrated circuit card (UICC) in the computing device.
- an exemplary block diagram illustrates the mobile computing device 102 with multiple available data usage plans 116 performing network data transfers via the network 109 .
- User computing devices include, for example, the mobile computing device 102 and other computing devices 106 .
- the user computing devices communicate over one or more of the networks 109 .
- one or more of the user computing devices are associated with one of the data usage plans 116 .
- the data usage plan 116 represents the terms and/or conditions (e.g., network data consumption allotment) under which the mobile operator 111 provides data transfer services to the user computing devices.
- a plurality of the user computing devices may share network data consumption allotted under the same or common data usage plan 116 .
- the user computing devices include any device executing instructions (e.g., as application programs, operating system functionality, or both) to implement operations and functionality.
- the user computing devices may include, for example, the mobile computing device 102 or any other portable device.
- the mobile computing device 102 includes a mobile telephone (e.g., mobile telephone 602 in FIG. 6 ), laptop, tablet, computing pad, netbook, gaming device, e-reader, and/or portable media player.
- the other computing devices 106 may include less portable devices such as desktop personal computers, kiosks, and tabletop devices that have network connectivity capabilities. Additionally, each user computing device may represent a group of processing units. While aspects of the disclosure may be described herein with reference to the mobile computing device 102 , the descriptions are applicable to any of the user computing devices.
- the networks 109 represent any infrastructure or other means for sending and/or receiving data.
- the networks 109 may include wired and/or wireless networks.
- One or more of the mobile operators 111 communicate with the web service 108 and/or the user computing devices via the network 109 . Further, the user computing devices communicate with the web service 108 , or other entity that performs the operations described herein as being associated with the web service 108 .
- the mobile computing device 102 and the other computing devices 106 are associated with a common data usage plan 116 of the user 104 .
- the mobile computing device 102 may represent the mobile telephone 602 of the user 104
- the other computing devices 106 may include a tablet and a laptop associated with the user 104 .
- the mobile computing device 102 and each of the other computing devices 106 are associated with separate data usage plans 116 .
- each of the user computing devices collects data usage statistics 120 relating thereto.
- a data transfer service or other entity executing on the mobile computing device 102 , generates, monitors, collects, compiles, and/or receives the data usage statistics 120 relating to network data consumption by the applications 114 executing on the mobile computing device 102 .
- the data usage statistics 120 represent an amount of network data consumed by the mobile computing device 102 under the data usage plan 116 .
- the centralized web service 108 interacts with the user computing devices and the mobile operators 111 to collect the data usage statistics 120 on each of the user computing device.
- the web service 108 may further aggregate the data usage statistics 120 , such as for shared data usage plans 116 .
- the web service 108 may receive a schema populated with data relating to the data usage plan 116 from the mobile operator 111 , and distribute the populated schema to one or more of the user computing devices associated with the same data usage plan 116 .
- the mobile computing device 102 has at least one or more SIMs 113 (e.g., dual SIMs), one processor 110 , a memory area 112 , and at least one user interface (not shown).
- the processor 110 includes any quantity of processing units, and is programmed to execute computer-executable instructions for implementing aspects of the disclosure. The instructions may be performed by the processor 110 or by multiple processors executing within the mobile computing device 102 , or performed by a processor external to the mobile computing device 102 . In some embodiments, the processor 110 is programmed to execute instructions such as those illustrated in the figures.
- the processor 110 represents an implementation of analog techniques to perform the operations described herein.
- the operations may be performed by an analog computing device and/or a digital computing device.
- the mobile computing device 102 further has one or more computer readable media such as the memory area 112 .
- the memory area 112 includes any quantity of media associated with or accessible by the mobile computing device 102 .
- the memory area 112 may be internal to the mobile computing device 102 (as shown in FIG. 1 ), external to the mobile computing device 102 (not shown), or both (not shown).
- the memory area 112 includes read-only memory and/or memory wired into an analog computing device.
- the memory area 112 stores, among other data, one or more applications 114 .
- the applications 114 when executed by the processor 110 , operate to perform functionality on the mobile computing device 102 .
- Exemplary applications 114 include mail application programs, web browsers, calendar application programs, address book application programs, messaging programs, media applications, location-based services, search programs, and the like.
- the applications 114 may communicate with counterpart applications or services such as the web services 108 accessible via the network 109 .
- the applications 114 may represent downloaded client-side applications that correspond to server-side services executing in a cloud.
- the mobile computing device 102 further establishes and maintains one or more network connections 130 representing communication channels or other means for sending and/or receiving data over the network 109 .
- Exemplary network connections 130 include, but are not limited to, Wi-Fi, cellular, tethered, BLUETOOTH brand communication, near-field communication (NFC), and more.
- the network connections 130 may also be categorized into voice, text, data, or other categories or types of network traffic.
- the memory area 112 further stores a plurality of data transfer requests 115 received from one or more of the applications 114 .
- the data transfer requests 115 represent requests by the applications 114 for use of at least one of the network connections 130 .
- the data transfer requests 115 represent requests from the applications 114 to upload and/or download data.
- the memory area 112 further stores data describing at least one data usage plan 116 associated with the user 104 .
- the memory area 112 stores a plurality of data usage plans 116 .
- the data describing the data usage plans 116 may be received from the mobile operators 111 offering the data usage plans 116 .
- the different data usage plans 116 embody different cost attributes and tariff models.
- the mobile operators 111 may have certain applications 114 subsidize the data traffic over certain networks 109 .
- network traffic for Application A may be paid, all or in part, by the developer/owner/publisher of Application A.
- Application A may be free on one network 109 while Application B is free on a different network 109 .
- the mobile computing device 102 works with micro-tariffing models such as per-minute charges or per kilobyte charges, as well as per-session charges such as a video call in which the call is metered at a flat rate regardless of the duration of the call.
- Other billing models are contemplated, such as per-day.
- the tariff models may differ from network 109 to network 109 , from data usage plan 116 to data usage plan 116 , and from user 104 to user 104 .
- the mobile computing device 102 considers the subsidy data, limits, current consumption, and more of each of the data usage plans 116 as input to make a routing selection that reduces network transfer charges to the user 104 .
- the mobile computing device 102 is aware of which application 114 is requesting a network transfer, and matches the request to the network 109 that results in the lowest cost and/or best quality of service (QoS) for the user 104 (e.g., as specified by user 104 or application preferences, or by other entities).
- QoS quality of service
- the mobile computing device 102 may switch and route rapidly to address each of the network transfer requests, as further described below.
- Some of the data usage plans 116 may be dynamic. Such dynamic data usage plans 116 adapt and change based on usage in multi-SIM environments or in shared environments such as with a family data usage plan 116 . The dynamic data usage plans 116 are adjusted over time.
- the data usage plan 116 may be represented by a schema (e.g., an extensible markup language schema) or other data structure.
- the data usage plan 116 describes the services provided by the mobile operator 111 , such as the amount of network data the user 104 can consume during a particular duration (e.g., a billing time period).
- the data usage plan 116 describes threshold values 118 associated with the network connections 130 of one or more devices of the user 104 .
- the threshold values 118 represent a maximum amount of network data consumption allotted under the data usage plan 116 for the network connections 130 .
- one threshold value 118 may indicate a maximum amount of network data consumption for a Wi-Fi connection, while another threshold value 118 indicates a maximum amount of network data consumption for a cellular data connection.
- the schema or other data structure representing the data usage plan 116 may be defined by the web service 108 , by the mobile operator 111 , or by another entity.
- each of the various data usage plans 116 subscribed to by the mobile computing device 102 and the other computing devices 106 use the same common schema.
- the schema enables descriptions of the parts, components, services, features, or other aspects of the data usage plan 116 including, but not limited to, multi-rate data plans, peak times, roaming rates, allotted network data consumption per network connection 130 , etc.
- use of the schema allows the mobile operators 111 to send out updated portions of the schema corresponding to updated parts of a particular data usage plan 116 .
- the schema includes a plurality of fields.
- Each of the threshold values 118 may be associated with one or more of the fields.
- the fields may correspond to one or more of the following: peak times, off-peak times, peak time network data consumption quota, off-peak time network data consumption quota, peak time network data consumption remaining, off-peak time network data consumption remaining, a roaming rate, rules, a mobile operator name, a billing cycle type, a network connection type, identification of free hosts available for connection, a list of mobile hotspots, and any other elements or information pertaining to the data usage plan 116 .
- the list of free hosts represents zero-rated or reduced cost hosts (e.g., visiting particular web sites does not count against the data usage plan 116 ).
- the schema may also include fields supporting different billing rates per host accessed, per weekend, per night, friends and family rates, peak and off-peak rates, and more.
- the schema also allows each mobile operator 111 the flexibility to define complex plans including broadly offered plans, and dynamic, short-term offers to specific users 104 likely to use a specific part or parts of the overall services. Other offers based on any combination of the metrics obtained are available to the mobile operator 111 .
- the schema stored by the mobile computing device 102 may also include fields corresponding to the data usage statistics 120 collected, generated, or received by the mobile computing device 102 and/or the mobile operators 111 .
- the mobile operators 111 , web service 108 , and the user computing devices may populate the schema with the data usage statistics 120 .
- the memory area 112 further stores the data usage statistics 120 relating to one or more of the data usage plans 116 .
- the data usage statistics 120 may be viewed as a current or instant snapshot of the amount of network data transmitted and/or received (e.g., or otherwise consumed) by the mobile computing device 102 .
- the mobile computing device 102 collects ongoing usage data relating to network data transfers, such as from device radios, drivers, and accelerometers of the mobile computing device 102 .
- the data usage statistics 120 identify, to a granularity of time (e.g., per minute) or data (e.g., per kilobyte), how much data has been sent and/or received by the mobile computing device 102 , the time and date of usage (e.g., start and end times), the location of usage, network interface used (e.g., over which network connections 130 ), roaming state, data usage plan information, the SIM 113 card or other user identity module used for dual SIM scenarios, the international mobile station equipment identity (IMEI) or other device identifier for multi-device scenarios, the Internet protocol (IP) address or other address of the access point used for Wi-Fi scenarios, the IP address or other address of the target computer (e.g., for whitelist/blacklists in data usage), the application responsible for the data transfer, and the like.
- time and date of usage e.g., start and end times
- the location of usage e.g., network interface used (e.g., over which network connections 130 ), roaming state,
- information relating to text messages, data, voice calls, minutes used, voice over Internet Protocol (VoIP) usage, and any other element of usage consumed by, or that impacts, the mobile computing device 102 is collected to produce the data usage statistics 120 .
- Other data usage statistics 120 are also contemplated.
- the data usage statistics 120 may be collected by the mobile computing device 102 , the web service 108 , and/or the mobile operators 111 .
- the data usage statistics 120 may be compiled directly (e.g., by monitoring network traffic) and/or by collecting the data usage statistics 120 from other devices that perform the collection.
- the data usage statistics 120 corresponding to a plurality of data usage plans 116 are collected such that there may be a plurality of sets of collected data usage statistics 120 (e.g., one set for each data usage plan 116 or user 104 ).
- the mobile computing device 102 receives updates of network data consumption by the other computing devices 106 sharing the same data usage plan 116 .
- the data usage statistics 120 may represent the network data collectively consumed by the mobile telephone 602 , tablet, and laptop of the user 104 .
- the memory area 112 further stores exemplary computer-executable components such as a memory component 128 , a communications interface component 126 , a prediction component 122 , and a filter component 124 . Operation of the computer-executable components, when executed, is described below with reference to FIG. 2 .
- the mobile computing device 102 may have any quantity of SIMs 113 associated therewith.
- each of the SIMs 113 may be embedded and implemented as an application program performing operations to implement functionality associated with the SIM 113 .
- the mobile computing device 102 has dual SIMs 113 with one of the SIMs 113 in standby mode (e.g., dual SIM dual standby).
- the mobile computing device 102 has dual SIMs 113 with both of the SIMs 113 being independently active (e.g., dual SIM dual active). Additional examples include virtual SIMs, universal integrated circuit cards (UICCs), and other variants of user identity modules.
- UICCs universal integrated circuit cards
- Each of the SIMs 113 is associated with at least one of the plurality of data usage plans 116 .
- Aspects of the disclosure operate to leverage the available data usage plans 116 to route network traffic over the network connections 130 using one or more of the SIMs 113 .
- the mobile computing device 102 makes a decision as to which SIM 113 gets attached to which radio in software based upon a data costing analysis.
- the mobile computing device 102 relies on the data costing analysis (e.g., a comparison of the costs of using the different SIMs 113 on the different radios in view of the data usage plans 116 for each) to determine which of the SIMs 113 should be active to handle the data transfer request 115 .
- one of the data transfer requests 115 may represent an incoming voice call on a first data usage plan associated with a first SIM. Aspects of the disclosure may determine to answer the incoming voice call with a second data usage plan of a second SIM. For example, the second data usage plan may provide a reduced cost for the data transfer, and/or a better QoS.
- the mobile computing device 102 is further operable with more than one cellular radio.
- the mobile computing device 102 may include a plurality of radios with at least two of those radios consuming battery power at different rates.
- the mobile computing device 102 selects the mobile operator 111 and network connection 130 for each data transfer request 115 to balance network data usage against battery usage.
- actively selecting different networks 109 e.g., via different data usage plans 116 ) may cause the mobile computing device 102 to connect to different cell towers, which in turn may impact battery usage. For example, connecting to one cell tower may consume more battery power than connecting to another cell tower, which affects the amount of power anticipated to be consumed when performing the data transfer requests 115 over the various network connections 130 .
- the mobile computing device 102 represents an example of a computing device programmed to perform operations to manage network data transfers using a plurality of data usage plans 116 available to the user 104 .
- the computing device receives or accesses at least one of the data transfer requests 115 and defines a network data transfer configuration for performing the selected data transfer request 115 .
- the computing device selects one or more of the following: at least one of the data usage plans 116 , the mobile operator 111 , and at least one of the available network connections 130 .
- Selecting the mobile operator 111 includes, for example, selecting mobile operator credentials to present to the selected network 109 when initiating the data transfer.
- selecting the mobile operator 111 includes selecting the international mobile subscriber identity (IMSI) in the SIM 113 .
- IMSI international mobile subscriber identity
- the network data transfer configuration is defined based on, for example, the particular data transfer request 115 , the available data usage plans 116 (e.g., data transfer costs, etc.), and the data usage statistics 120 associated with each of the data usage plans 116 (e.g., the amount of network transfer data consumed and/or remaining, etc.).
- the computing device proceeds to initiate the data transfer request 115 using the defined network data transfer configuration.
- an exemplary flow chart illustrates operation of the computing device to select the network data transfer configuration for performing data transfer requests 115 based on estimated transfer costs and/or quality of service metrics using a plurality of data usage plans 116 .
- the operations illustrated in FIG. 2 are performed by a mobile computing device 102 in some embodiments, one or more of the operations may be performed by other devices, including any computing device local to, or remote from, the user 104 .
- the operations may be performed by the web service 108 , or by a proxy device in communication with the web service 108 and the mobile computing device 102 .
- the operations illustrated in FIG. 2 are performed by an operating system executing on the mobile computing device 102 .
- the operations illustrated in FIG. 2 may be described as mapping the data transfer requests 115 to the detected network connections 130 using the plurality of available data usage plans 116 to reduce or minimize data transfer costs and/or provide a QoS suitable for the data transfer requests 115 .
- the computing device works to prevent incurring expensive network transfer costs for the user 104 .
- the computing device may store, or have access to, the computer-executable components stored in the memory area 112 to implement one or more of the operations illustrated in FIG. 2 .
- the memory component 128 when executed by the computing device, causes at least one processor 110 to store a plurality of the data usage plans 116 available to the computing device.
- Each of the data usage plans 116 has data usage statistics 120 associated therewith representing an amount of network data consumed under the data usage plan 116 (e.g., during the current billing cycle).
- the computing device accesses the data usage plans 116 stored by the memory component 128 .
- the communications interface component 126 when executed by the computing device, causes at least one processor 110 to determine whether at least one of the data transfer requests 115 has been received from at least one of a plurality of applications 114 executing on the computing device at 204 .
- the communications interface component 126 accesses the memory area 112 to retrieve or obtain the data transfer requests 115 that have been stored or queued there by the applications 114 .
- the communications interface component 126 includes a network interface card and/or computer-executable instructions (e.g., a driver) for operating the network interface card.
- the communications interface is operable with near-field communication (NFC) tags.
- NFC near-field communication
- the prediction component 122 On receipt of at least one of the data transfer requests 115 , the prediction component 122 , when executed by the computing device, causes at least one processor 110 to calculate an estimated transfer cost for the data transfer request 115 using each of the data usage plans 116 at 206 .
- the prediction component 122 uses the terms and conditions (e.g., rates, surcharges, etc.) of each of the data usage plans 116 to estimate the cost of transferring data specified by the data transfer request 115 .
- the computing device further executes the prediction component 122 to calculate an estimated QoS for the data transfer request 115 using each of the plurality of data usage plans 116 at 208 .
- the prediction component 122 uses the terms and conditions (e.g., rates, surcharges, etc.) of each of the data usage plans 116 to estimate the QoS that would be realized when transferring data specified by the data transfer request 115 .
- the QoS may be defined by latency, throughput, etc.
- the QoS analysis enables the filter component 124 to meet or exceed user experience immediacy expectations by differentiating the urgency of network traffic.
- the user experience immediacy expectations may be defined by the users 104 , the applications 114 , the computing device, the mobile operator 111 , and/or the web service 108 , in some embodiments.
- the computing device may receive or access data indicating that while Network A may be cheaper than Network B, the reception on Network A is poor whereas the reception on Network B is good.
- the filter component 124 may choose to route the traffic on Network B to meet QoS criteria.
- the filter component 124 when executed by the computing device, causes at least one processor 110 to define the network data transfer configuration for the data transfer request 115 . For example, the filter component 124 selects at least one of the data usage plans 116 and at least one of a plurality of network connections 130 available to the computing device at 210 . In some embodiments, the filter component 124 determines which SIM 113 or other credential is attached in a multi-SIM environment. The filter component 124 may implement a best-fit, binary search, neural feedback, or any other algorithm or set of algorithms to produce the output routing decisions or recommendations.
- the filter component 124 selects from a plurality of mobile operators 111 . For example, the filter component 124 selects one mobile operator 111 over the others based on the network transfer cost associated with the selected mobile operator 111 . In such embodiments, the filter component 124 accesses or receives data describing the available mobile operators 111 in a given locale or area, as well as the costs associated with using each of the mobile operators 111 (e.g., defined in the data usage plans 116 of the mobile operators 111 ).
- the computing device 102 detects, or is informed of, the available network connections 130 . For example, the computing device 102 may determine whether the network connection 130 has been established and/or has not expired. As another example, the computing device 102 may send a test packet (e.g., a ping) over each open network connection 130 to confirm the availability of each network connection 130 . In some embodiments, the computing device 102 may further classify each of the detected network connections 130 . For example, the network connections 130 may be classified according to type, speed, cost, and/or other factors or criteria.
- the network data transfer configuration is defined based at least on the estimated transfer costs using the different data usage plans 116 and/or the estimated QoS using the different data usage plans 116 .
- the defined network data transfer configuration, or the mapping between the data transfer request 115 and the network connection 130 may be stored, for example, in a file, table, database, or other data structure.
- the cost of the duration of the transfer with Network B may ultimately exceed a flat rate cost associated with Network A.
- the filter component 124 calculates an estimated transfer cost over each network 109 and routes the traffic on the lower cost network 109 .
- the filter component 124 may also consider speed or data transfer rates when defining the network data transfer configuration. For example, if it takes five seconds to transfer two gigabytes of data over Network A but two hours over Network B, the filter component 124 may opt to incur charges with Network A to complete the data transfer faster if completion is a priority or preference for the user 104 or requesting application 114 .
- the data transfer request 115 is then initiated at 212 using the defined network data transfer configuration (e.g., the selected data usage plan 116 , network connection 130 , and/or mobile operator 111 ).
- the computing device 102 directly initiates the data transfer request 115 , or the computing device 102 may notify the application 114 that submitted the data transfer request 115 of the defined network data transfer configuration to enable that application 114 to initiate the data transfer request 115 .
- the filter component 124 performs, or relies on the output of, a cost-benefit analysis based on the estimated transfer cost and/or the estimated QoS. For example, the filter component 124 selects the data usage plan 116 , the network connection 130 , and/or the mobile operator 111 with the lowest estimated transfer cost and/or highest estimated QoS. In general, the filter component 124 determines which network connection 130 to use for which data transfer request 115 and for what duration.
- the filter component 124 selects the first data usage plan to prevent overage charges.
- the first data usage plan may represent a family data usage plan 116 , or other shared data usage plan 116 .
- the computing device 102 tracks a cumulative amount of data transfers occurring under each of the data usage plans 116 to identify data usage plans 116 with remaining capacity.
- the computing device 102 compares the tracked, cumulative amounts to the corresponding threshold values 118 associated with the data usage plans 116 .
- the computing device 102 maps the data transfer requests 115 to the data usage plans 116 based on the comparison. For example, the computing device 102 determines whether the tracked, cumulative amounts for each data usage plan 116 are less than the corresponding threshold values 118 for that data usage plan 116 .
- the computing device 102 may match the data transfer request to that particular data usage plan 116 .
- the computing device 102 removes those data usage plans 116 from consideration when mapping the data transfer requests 115 to the data usage plans 116 .
- the data usage plans 116 with remaining capacity may be ranked or sorted according to remaining capacity.
- Some embodiments evaluate the data transfer statistics associated with each of the data usage plans 116 to determine whether the user 104 is Off Track, On Track, Under Track, or Over Limit for usage compared to the consumption allotted under each of the data usage plans 116 . For example, given the day of the billing cycle and the current or up-to-date data consumption for the billing period, an extrapolation or projection is performed to predict the consumption associated with the end of the billing cycle.
- Off Track may be defined as the user 104 being on or above the projected limit (e.g., the value of the curve) given the day of the billing cycle and the current or up-to-date data consumption for the billing period.
- On Track may be defined, in some embodiments, as the user 104 being at least 5% below the projected limit given the day of the billing cycle and the current or up-to-date data consumption for the billing period.
- Under Track may be defined, in some embodiments, as the user 104 being at least 20% below the projected limit given the day of the billing cycle and the current or up-to-date data consumption for the billing period.
- Some embodiments contemplate an “Over Limit” category that allows users 104 to opt out of data consumption by background transfers unless the background transfers are user-initiated or deemed critical.
- the mobile computing device 102 further includes a user interface component that includes a graphics card for displaying data to the user 104 and for receiving data from the user 104 .
- the user interface component may also include computer-executable instructions (e.g., a driver) for operating the graphics card.
- the user interface component may include a display (e.g., a touch screen display or natural user interface) and/or computer-executable instructions (e.g., a driver) for operating the display.
- the user interface component may also include one or more of the following to provide data to the user 104 or receive data from the user 104 : speakers, a sound card, a camera, a microphone, a vibration motor, one or more accelerometers, a BLUETOOTH brand communication module, global positioning system (GPS) hardware, and a photoreceptive light sensor.
- the user 104 may input commands or manipulate data by moving the mobile computing device 102 in a particular way.
- the user interface component executes to present offers for adjusting a particular network data transfer configuration, such as described with reference to FIG. 3 .
- the communications interface component 126 may execute independently of the other computer-executable components (e.g., not sequentially, or without interaction or dependency on another component). For example, the communications interface component 126 may be executed by a thread separate from other thread(s) executing the memory component 128 , the prediction component 122 , and the filter component 124 .
- the defined network data transfer configuration represents a network transfer decision made by the computing device or other entity (e.g., the web service 108 ).
- such network transfer decisions by a plurality of the computing devices may be crowdsourced to, for example, the web service 108 or a particular one of the computing devices. In this manner, the crowdsourced network data transfer decisions may be analyzed to identify patterns therein.
- the web service 108 observes and crowdsources the network transfer decisions and/or behavior/patterns of the users 104 .
- the web service 108 crowdsources data about users 104 , such as the network transfers decisions made by the devices of the users 104 , to then automate future network transfer decisions by the devices.
- the web service 108 may conclude, across a plurality of users 104 , that the users 104 tend to prefer particular network connections 130 or mobile operators 111 in particular situations.
- the web service 108 analyzes the crowdsourced data to determine which decisions worked best for the users 104 (e.g., was the call completed or disconnected, and in which areas), and/or which data usage plans 116 were frequently selected by the user 104 .
- the analysis may include a neural network or a Bayesian analysis to base future routing decisions on past input, decisions, or other patterns or behavior of the user 104 .
- the web service 108 prioritizes particular networks 109 and mobile operators 111 in each of the situations (e.g., areas) observed by the web service 108 .
- the web service 108 then applies these conclusions and analysis to future routing decisions for any of the users 104 .
- the web service 108 distributes the information to the user computing devices for application.
- an exemplary flow chart illustrates operation of the computing device to present offers to the user 104 for adjusting a network data transfer. While the operations illustrated in FIG. 3 are performed by the mobile computing device 102 in some embodiments, one or more of the operations may be performed by other devices, including any computing device local to, or remote from, the user 104 . For example, the operations may be performed by the web service 108 , or by a proxy device in communication with the web service 108 and the mobile computing device 102 . Further, in some embodiments, the operations illustrated in FIG. 3 are performed by an operating system executing on the mobile computing device 102 .
- the computing device surfaces offers from the mobile operators 111 that may be of interest to the user 104 , at a time when the user 104 may opt for the offer.
- the service may make recommendations to accept the offer based on cost, QoS, user preferences, application preferences, timeliness, and/or relevancy of the data (e.g., stock quotes), etc.
- the computing device accesses a plurality of the data usage plans 116 available to the computing device (e.g., stored in the memory area 112 ).
- the computing device selects an offer based on the received data usage request at 306 and based on the data usage plan 116 selected to implement the data transfer request 115 .
- the selected offer is thus relevant to the data transfer request 115 .
- the computing device may select an offer that includes a temporary but instant increase in a data transfer rate to enable streaming of a high-definition version of the movie, in return for a one-time fee from the user 104 .
- the offer is selected from a plurality of offers provided by the mobile operators 111 .
- the plurality of offers may be stored in the memory area 112 , or in another memory accessible to the computing device (e.g., in the cloud service).
- the offers adjust the selected data usage plan 116 for performance of the data transfer request 115 .
- the computing device may perform an analysis on each of the offers available for the selected data usage plan 116 . For example, a cost-benefit analysis may be performed to estimate the transfer costs and/or QoS characteristics associated with performance of the data transfer request 115 after a simulated application of each of the offers. In this manner, the computing device is able to determine whether to recommend acceptance or rejection by the user 104 to the offer.
- the selected offer is presented to the user 104 for review and authorization.
- the computing device may display a popup, tile, or toast to the user 104 .
- tiles represent tile user interface elements.
- the computing device applies the approved offer to the data usage plan 116 selected for performance of the data transfer request 115 at 312 .
- the computing device performs the data transfer request 115 using the selected data usage plan 116 with the offer applied thereto. If the user 104 declines the offer at 310 , the computing device performs the data transfer request 115 at 313 using the selected data usage plan 116 without the offer being applied thereto.
- the computing device presents “turbo” offers to the user 104 to instantly increase the data transfer rate of the current network connection 130 .
- the offer may, for example, boost the speed of the network connection 130 for some cost (e.g., a dollar, quarter, etc.) for some duration (e.g., a couple of hours, an afternoon, a day).
- an exemplary flow chart illustrates operation of the computing device to adjust a network data transfer configuration during performance of one of the data transfer requests 115 . While the operations illustrated in FIG. 4 are performed by a mobile computing device 102 in some embodiments, one or more of the operations may be performed by other devices, including any computing device local to, or remote from, the user 104 . For example, the operations may be performed by the web service 108 , or by a proxy device in communication with the web service 108 and the mobile computing device 102 . Further, in some embodiments, the operations illustrated in FIG. 4 are performed by an operating system executing on the mobile computing device 102 .
- the computing device On determining that at least one of the data transfer requests 115 has been received from at least one of the applications 114 at 402 , the computing device defines the network data transfer configuration. For example, the computing device de-queues at least one of the queued data transfer requests 115 and selects one of the data usage plans 116 (e.g., associated with one of the mobile operators 111 ) and one of the network connections 130 at 404 . At 406 , the computing device initiates or performs the data transfer request 115 using the defined network data transfer configuration.
- the data usage plans 116 e.g., associated with one of the mobile operators 111
- the computing device determines if another network data transfer configuration is more suitable for completing the in-progress data transfer request 115 . For example, if another data usage plan 116 becomes available, if the computing device detects a Wi-Fi access point, or if the current time moves from a peak period to an off-peak period, the computing device may conclude that the data transfer request 115 should be completed under another one of the plurality of data usage plans 116 available to the computing device. Continuing the above example, the computing device may select one of the data usage plans 116 that offers a lower transfer cost, free Wi-Fi, or free off-peak transfers, respectively.
- the computing device On determining that a different network data transfer configuration should be selected to reduce transfer costs or improve QoS at 408 , the computing device changes from the current network transfer configuration to the newly-selected network data transfer configuration during performance of the data transfer request 115 . That is, the computing device continues performance of the data transfer request 115 at 410 using the newly-selected network data transfer configuration.
- the operations illustrated in FIG. 4 execute to, for example, perform in-call switching to reduce costs and/or improve QoS.
- the computing device performs an in-call switchover or handoff by selecting a second data usage plan after initiation of the data transfer request 115 on a first data usage plan.
- the switchover may occur after the computing device determines that an estimated transfer cost of the second data usage plan is less than an estimated transfer cost of the first data usage plan.
- the computing device may switch a call from a cellular network connection to a Voice Over Internet Protocol (VoIP) call over a Wi-Fi connection.
- VoIP Voice Over Internet Protocol
- the user 104 may receive a voice call over a cellular network connection.
- the computing device determines that the call is international, and switches the call to one of the data usage plans 116 , network connection 130 , and mobile operator 111 that is less expensive for international calls.
- connection management service performs operations to transparently (to the user 104 ) change data usage plans 116 during performance of the data transfer request 115 .
- the connection management service notifies the application 114 associated with the in-progress data transfer request 115 that the application 114 should reconnect using another data usage plan 116 .
- the connection management service relies on a published protocol recognizable by both endpoints to implement the switchover.
- Mobile Operator A may offer a free month of Internet while Mobile Operator B may not. Aspects of the disclosure route data traffic via Mobile Operator A during that free month, but then automatically switch to Mobile Operator B at the end of the first month to avoid incurring charges from Mobile Operator A, which is more expensive than Mobile Operator B.
- the mobile computing device 102 or web service 108 handling the data transfer requests 115 identifies another SIM 113 available on the device, dynamically switches to Mobile Operator B, and applies the data usage plan 116 (e.g., tariffs) associated with Mobile Operator B.
- the data usage plan 116 e.g., tariffs
- the user 104 lands in a foreign country and the user's mobile telephone connects to a service (e.g., the web service 108 ) that determines that data transfer may be expensive in that country based on the current data usage plan 116 of the user 104 .
- the web service 108 tells the mobile phone of an embedded SIM enablement that may offer cheaper, faster, or otherwise better network transfers.
- the embedded SIM enablement is software capable of being installed on the mobile telephone upon arrival in the foreign country, and upon consent from the user 104 , that enables the mobile telephone to connect to networks of local mobile operators 111 .
- the mobile telephone may present and/or recommend a particular offer or package from one of the available mobile operators 111 that the service concludes is the most cost effective or otherwise “better” based on the user's historical data use, anticipated data use, or both.
- the service considers anticipated multimedia messaging service (MMS), short message service (SMS), and other traffic when determining which data usage plan 116 and/or mobile operator 111 to recommend to the user 104 in that foreign country.
- MMS multimedia messaging service
- SMS short message service
- an event scheduler and a core networking component implement aspects of the disclosure.
- the event scheduler executes on the computing device to assign the data transfer requests 115 to the data usage plans 116 .
- one or more of the applications 114 registers with the event scheduler.
- the core networking component executes on the computing device 102 to detect the network connections 130 available to the computing device 102 , analyze each of the network connections 130 continuously (e.g., without interruption) or continually (e.g., periodically), such as every minute.
- the core networking component analyzes each of the network connections 130 upon receiving the data transfer request 115 from one of the applications 114 .
- the core networking component may also have different schedules for checking different network connections 130 .
- the core networking component may check the availability of a Wi-Fi connection less frequently than the availability of a roaming cellular connection.
- the core networking component notifies the event scheduler of the presence and/or absence of the network connections 130 .
- the event scheduler maps or matches the queued data transfer requests 115 to one of the data usage plans 116 that use the available network connections 130 .
- an enterprise information technology entity pushes down policies governing enterprise preferences relating to connectivity. For example, the entity transmits the policies to each of the devices associated with the enterprise.
- the policies may be based on enterprise agreements with particular carriers. Aspects of the disclosure then operate to prefer those particular carriers when selecting carriers for initiation of the data transfer requests, in accordance with the policies.
- the policies may also interrelate to other policies that define constraints or preferences, such as those associated with security. For example, a government contractor may be required to route secure network traffic over one particular carrier.
- At least a portion of the functionality of the various elements in FIG. 1 may be performed by other elements in FIG. 1 , or an entity (e.g., processor, web service, server, application program, computing device, etc.) not shown in FIG. 1 .
- entity e.g., processor, web service, server, application program, computing device, etc.
- the operations illustrated in the flowcharts may be implemented as software instructions encoded on a computer readable medium, in hardware programmed or designed to perform the operations, or both.
- aspects of the disclosure may be implemented as a system on a chip or other circuitry including a plurality of interconnected, electrically conductive elements.
- Embodiments have been described with reference to data monitored and/or collected from users 104 .
- notice may be provided to the users 104 of the collection of the data (e.g., via a dialog box or preference setting) and users 104 are given the opportunity to give or deny consent for the monitoring and/or collection.
- the consent may take the form of opt-in consent or opt-out consent.
- Input from the user 104 may be explicit (e.g., user-specified preferences or consent) or implicit (e.g., the computing device makes intelligent decisions for the user 104 ).
- the computing device obtains the user's consent to operate.
- the user preferences indicate, for example, whether the user 104 prefers one network 109 over another, one mobile operator 111 over another, quality over cost, speed over duration, etc.
- the service After obtaining the user's consent to execute and to obtain the data usage plans 116 of the user 104 , the service in some embodiments pulls all the necessary information (e.g., data usage plans 116 , deals, offers, etc.) from third parties such as the mobile operators 111 , a cloud service, or other entity, without involving the user 104 to ensure a seamless user experience. In such embodiments, the service may further switch among data usage plans 116 and mobile operators 111 to best meet the specified or default preferences of the user 104 .
- third parties such as the mobile operators 111 , a cloud service, or other entity
- the computing device may present the routing decisions to the user 104 for approval or selection before implementing the routing decisions.
- the user 104 may not yet have any of the data usage plans 116 , or may be open to other data usage plans 116 .
- the computing device may present data usage plan offers from the available mobile operators 111 to the user 104 for selection.
- the user 104 may move between a mobile device, a gaming console, an in-vehicle computing system (e.g., entertainment and/or navigation), a portable media player, and a laptop.
- Exemplary computer readable media include flash memory drives, digital versatile discs (DVDs), compact discs (CDs), floppy disks, and tape cassettes.
- Computer readable media comprise computer storage media and communication media.
- Computer storage media include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
- Computer storage media are tangible and are mutually exclusive to communication media.
- Exemplary computer storage media include hard disks, flash drives, and other solid-state memory.
- communication media typically embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media.
- Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with aspects of the invention include, but are not limited to, mobile computing devices, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, gaming consoles, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
- Such systems or devices may accept input from the user 104 in any way, including from input devices such as a keyboard or pointing device, via gesture input, and/or via voice input.
- Embodiments of the invention may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices.
- the computer-executable instructions may be organized into one or more computer-executable components or modules.
- program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types.
- aspects of the invention may be implemented with any number and organization of such components or modules. For example, aspects of the invention are not limited to the specific computer-executable instructions or the specific components or modules illustrated in the figures and described herein. Other embodiments of the invention may include different computer-executable instructions or components having more or less functionality than illustrated and described herein.
- aspects of the invention transform a general-purpose computer into a special-purpose computing device when configured to execute the instructions described herein.
- Roaming refers, in some embodiments, to connectivity provided outside a subscriber's home zone that may be subject to additional tariffs, fees, or constraints. Roaming service may or may not be provided by the same mobile operator 111 .
- the term “tethered” as used herein refers, in some embodiments, to situations where one device acts as an access point for another device for network access. A tethered connection may occur over a wired connection or a wireless connection.
- Wi-Fi refers, in some embodiments, to a wireless local area network using high frequency radio signals for the transmission of data.
- BLUETOOTH refers, in some embodiments, to a wireless technology standard for exchanging data over short distances using short wavelength radio transmission.
- cellular refers, in some embodiments, to a wireless communication system using short-range radio stations that, when joined together, enable the transmission of data over a wide geographic area.
- NFC refers, in some embodiments, to a short-range high frequency wireless communication technology for the exchange of data over short distances.
- the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements.
- the terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.
- the term “exemplary” is intended to mean “an example of”
- the phrase “one or more of the following: A, B, and C” means “at least one of A and/or at least one of B and/or at least one of C.”
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Environmental & Geological Engineering (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Databases & Information Systems (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Meter Arrangements (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- This application claims the benefit of U.S. application Ser. No. 13/721,058 filed Dec. 20, 2012, which claims the benefit of U.S. Provisional Application No. 61/696,472 filed Sep. 4, 2012; U.S. Provisional Application No. 61/591,503 filed Jan. 27, 2012; and U.S. Provisional Application No. 61/591,509 filed Jan. 27, 2012. The entirety of these applications is hereby incorporated by reference herein.
- This application is related to the following U.S. applications: U.S. patent application Ser. No. 13/721,023 filed Dec. 20, 2012; U.S. patent application Ser. No. 13/721,029 filed Dec. 20, 2012; U.S. patent application Ser. No. 13/721,032 filed Dec. 20, 2012 and issued as U.S. Pat. No. 9,049,589; U.S. patent application Ser. No. 13/721,041 filed Dec. 20, 2012; U.S. patent application Ser. No. 14/642,378 filed Mar. 9, 2015, which is a continuation application of U.S. patent application Ser. No. 13/721,053 filed Dec. 20, 2012 and issued Mar. 10, 2015 as U.S. Pat. No. 8,977,231; U.S. patent application Ser. No. 13/721,066 filed Dec. 20, 2012; U.S. patent application Ser. No. 13/721,069 filed Dec. 20, 2012; and U.S. patent application Ser. No. 13/721,083 filed Dec. 20, 2012. The entirety of these applications is hereby incorporated by reference herein.
- With the increased popularity of smart telephones, tablets, and other mobile devices, there has been a similar increase in the amount of data handled by the networks of mobile operators. To reduce the strain on network infrastructure and to reduce network transfer costs, mobile operators are shifting from offering unlimited mobile data plans to offering capped and metered plans. With some of the capped and metered plans, the fees for exceeding the allotted data caps may be significant. While some existing web browsers attempt to optimize data traffic, the existing systems generally lack mechanisms for balancing specific needs of each user with data transfer costs. Further, existing systems fail to consider the multiple mobile data plans that may be available to the user.
- As a result, with the existing systems, users can unknowingly exceed the allotted data caps and experience bandwidth throttling (e.g., a reduction or limit placed upon the rate of consumption) and/or be presented with a much larger than normal monthly bill, resulting in “bill shock.” Throttling and bill shock can impact the user experience, leading to dissatisfied customers, increased customer service calls, and negative impressions of the mobile operators.
- Embodiments of the disclosure manage a plurality of data usage plans available to a computing device for data transfer. Each of the plurality of data usage plans has data usage statistics representing an amount of network data consumed under the data usage plan. Upon receipt of a data transfer request from an application executing on the computing device, a mobile operator and network connection are selected based at least on the plurality of data usage plans, the associated data usage statistics, and the received data transfer request. The data transfer request is initiated using the selected mobile operator and network connection.
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
-
FIG. 1 is an exemplary block diagram illustrating a mobile computing device with multiple available data usage plans. -
FIG. 2 is an exemplary flow chart illustrating operation of the computing device to select a network data transfer configuration based on estimated transfer costs and/or quality of service metrics using a plurality of data usage plans. -
FIG. 3 is an exemplary flow chart illustrating operation of the computing device to present offers to a user for adjusting a network data transfer. -
FIG. 4 is an exemplary flow chart illustrating operation of the computing device to adjust a network data transfer configuration during performance of a data transfer request. - Corresponding reference characters indicate corresponding parts throughout the drawings.
- Referring to the figures, embodiments of the disclosure provide efficient routing of network data traffic over
multiple networks 109 using multipledata usage plans 116 to manage data consumption. In particular, plan aware routing selections are made by determining which data usage plan 116 to leverage for which network data traffic. Aspects of the disclosure operate as a service executing on amobile computing device 102 and/or as a cloud service. Based at least on the factors, preferences, criteria, or other inputs, the service identifies at least onedata usage plan 116, at least one of thenetworks 109, and mobile operator credentials to present to the identifiednetwork 109 for a particulardata transfer request 115, in some embodiments. - While some existing systems may make routing decisions based solely on internally sourced measures (e.g., power consumption), aspects of the present disclosure balance externally sourced, relatively static information (e.g., the
data usage plans 116 from mobile operators 111) with dynamic runtime information to make routing decisions that are in the best interest of theuser 104. The dynamic runtime information may be measurable on the device, highly variable over time, and device-specific. For example, the dynamic runtime information may change over time depending on the device's relationship with the network connections 130 (e.g., in view of thedata usage plan 116 of theuser 104, and the cost of each network connection 130). In some embodiments, the service performs operations to calculate or estimate the amount of power and network data to be consumed by adata transfer request 115 over multipledifferent networks 109 each having different data usage plans 116 (e.g., usage allotments, tariffs, etc.). As an example, the financial cost (e.g., dollars) or resource cost (e.g., power consumption) to connect to one cellular tower may differ from the cost to connect to another cellular tower. - Aspects of the disclosure are operable with emerging tariff models such as where traffic is prorated and even subsidized by
different applications 114 on different mobile operators 111 (or different plans from the same mobile operators 111). The service is also operable with shareddata usage plans 116, such as family plans, and in environments in whichapplications 114 and services share connections. The service is also operable in embedded subscriber identity module (SIM) environments in whichdata usage plans 116 are dynamically activated as needed, or thedata usage plan 116 of a proximate or neighboring device is used. In some embodiments, an embedded SIM is a software-based SIM residing possibly on the motherboard of the computing device, rather than a SIM residing on the universal integrated circuit card (UICC) in the computing device. - Referring next to
FIG. 1 , an exemplary block diagram illustrates themobile computing device 102 with multiple availabledata usage plans 116 performing network data transfers via thenetwork 109. Aspects of the disclosure manage data transfers using the plurality ofdata usage plans 116. User computing devices include, for example, themobile computing device 102 andother computing devices 106. The user computing devices communicate over one or more of thenetworks 109. In some embodiments, one or more of the user computing devices are associated with one of thedata usage plans 116. Thedata usage plan 116 represents the terms and/or conditions (e.g., network data consumption allotment) under which themobile operator 111 provides data transfer services to the user computing devices. For example, a plurality of the user computing devices may share network data consumption allotted under the same or commondata usage plan 116. - The user computing devices include any device executing instructions (e.g., as application programs, operating system functionality, or both) to implement operations and functionality. The user computing devices may include, for example, the
mobile computing device 102 or any other portable device. In some embodiments, themobile computing device 102 includes a mobile telephone (e.g., mobile telephone 602 inFIG. 6 ), laptop, tablet, computing pad, netbook, gaming device, e-reader, and/or portable media player. Theother computing devices 106 may include less portable devices such as desktop personal computers, kiosks, and tabletop devices that have network connectivity capabilities. Additionally, each user computing device may represent a group of processing units. While aspects of the disclosure may be described herein with reference to themobile computing device 102, the descriptions are applicable to any of the user computing devices. - Communication to/from the user computing devices may occur using any protocol or mechanism over one or more of the
networks 109. Thenetworks 109 represent any infrastructure or other means for sending and/or receiving data. Thenetworks 109 may include wired and/or wireless networks. - One or more of the
mobile operators 111 communicate with theweb service 108 and/or the user computing devices via thenetwork 109. Further, the user computing devices communicate with theweb service 108, or other entity that performs the operations described herein as being associated with theweb service 108. - In some embodiments, the
mobile computing device 102 and theother computing devices 106 are associated with a commondata usage plan 116 of theuser 104. For example, themobile computing device 102 may represent the mobile telephone 602 of theuser 104, while theother computing devices 106 may include a tablet and a laptop associated with theuser 104. In other embodiments, themobile computing device 102 and each of theother computing devices 106 are associated with separate data usage plans 116. - In some embodiments, each of the user computing devices collects
data usage statistics 120 relating thereto. For example, a data transfer service, or other entity executing on themobile computing device 102, generates, monitors, collects, compiles, and/or receives thedata usage statistics 120 relating to network data consumption by theapplications 114 executing on themobile computing device 102. Thedata usage statistics 120 represent an amount of network data consumed by themobile computing device 102 under thedata usage plan 116. Alternatively or in addition, thecentralized web service 108 interacts with the user computing devices and themobile operators 111 to collect thedata usage statistics 120 on each of the user computing device. Theweb service 108 may further aggregate thedata usage statistics 120, such as for shared data usage plans 116. In such embodiments, theweb service 108 may receive a schema populated with data relating to thedata usage plan 116 from themobile operator 111, and distribute the populated schema to one or more of the user computing devices associated with the samedata usage plan 116. - In some embodiments, the
mobile computing device 102 has at least one or more SIMs 113 (e.g., dual SIMs), oneprocessor 110, amemory area 112, and at least one user interface (not shown). Theprocessor 110 includes any quantity of processing units, and is programmed to execute computer-executable instructions for implementing aspects of the disclosure. The instructions may be performed by theprocessor 110 or by multiple processors executing within themobile computing device 102, or performed by a processor external to themobile computing device 102. In some embodiments, theprocessor 110 is programmed to execute instructions such as those illustrated in the figures. - In some embodiments, the
processor 110 represents an implementation of analog techniques to perform the operations described herein. For example, the operations may be performed by an analog computing device and/or a digital computing device. - The
mobile computing device 102 further has one or more computer readable media such as thememory area 112. Thememory area 112 includes any quantity of media associated with or accessible by themobile computing device 102. Thememory area 112 may be internal to the mobile computing device 102 (as shown inFIG. 1 ), external to the mobile computing device 102 (not shown), or both (not shown). In some embodiments, thememory area 112 includes read-only memory and/or memory wired into an analog computing device. - The
memory area 112 stores, among other data, one ormore applications 114. Theapplications 114, when executed by theprocessor 110, operate to perform functionality on themobile computing device 102.Exemplary applications 114 include mail application programs, web browsers, calendar application programs, address book application programs, messaging programs, media applications, location-based services, search programs, and the like. Theapplications 114 may communicate with counterpart applications or services such as theweb services 108 accessible via thenetwork 109. For example, theapplications 114 may represent downloaded client-side applications that correspond to server-side services executing in a cloud. - The
mobile computing device 102 further establishes and maintains one ormore network connections 130 representing communication channels or other means for sending and/or receiving data over thenetwork 109.Exemplary network connections 130 include, but are not limited to, Wi-Fi, cellular, tethered, BLUETOOTH brand communication, near-field communication (NFC), and more. Thenetwork connections 130 may also be categorized into voice, text, data, or other categories or types of network traffic. - The
memory area 112 further stores a plurality of data transfer requests 115 received from one or more of theapplications 114. The data transferrequests 115 represent requests by theapplications 114 for use of at least one of thenetwork connections 130. For example, the data transfer requests 115 represent requests from theapplications 114 to upload and/or download data. - The
memory area 112 further stores data describing at least onedata usage plan 116 associated with theuser 104. In some embodiments, thememory area 112 stores a plurality of data usage plans 116. The data describing the data usage plans 116 may be received from themobile operators 111 offering the data usage plans 116. For example, there may be multiple data usage plans 116 active pernetwork connection 130. - The different data usage plans 116 embody different cost attributes and tariff models. In some embodiments, the
mobile operators 111 may havecertain applications 114 subsidize the data traffic overcertain networks 109. For example, network traffic for Application A may be paid, all or in part, by the developer/owner/publisher of Application A. In another example, Application A may be free on onenetwork 109 while Application B is free on adifferent network 109. Themobile computing device 102 works with micro-tariffing models such as per-minute charges or per kilobyte charges, as well as per-session charges such as a video call in which the call is metered at a flat rate regardless of the duration of the call. Other billing models are contemplated, such as per-day. The tariff models may differ fromnetwork 109 tonetwork 109, fromdata usage plan 116 todata usage plan 116, and fromuser 104 touser 104. - The
mobile computing device 102 considers the subsidy data, limits, current consumption, and more of each of the data usage plans 116 as input to make a routing selection that reduces network transfer charges to theuser 104. Themobile computing device 102 is aware of whichapplication 114 is requesting a network transfer, and matches the request to thenetwork 109 that results in the lowest cost and/or best quality of service (QoS) for the user 104 (e.g., as specified byuser 104 or application preferences, or by other entities). In such embodiments, themobile computing device 102 may switch and route rapidly to address each of the network transfer requests, as further described below. - Some of the data usage plans 116 may be dynamic. Such dynamic data usage plans 116 adapt and change based on usage in multi-SIM environments or in shared environments such as with a family
data usage plan 116. The dynamic data usage plans 116 are adjusted over time. - The
data usage plan 116 may be represented by a schema (e.g., an extensible markup language schema) or other data structure. For example, theuser 104 has contracted with themobile operator 111 to receive network data transfer services from themobile operator 111. Thedata usage plan 116 describes the services provided by themobile operator 111, such as the amount of network data theuser 104 can consume during a particular duration (e.g., a billing time period). For example, thedata usage plan 116 describes threshold values 118 associated with thenetwork connections 130 of one or more devices of theuser 104. The threshold values 118 represent a maximum amount of network data consumption allotted under thedata usage plan 116 for thenetwork connections 130. For example, onethreshold value 118 may indicate a maximum amount of network data consumption for a Wi-Fi connection, while anotherthreshold value 118 indicates a maximum amount of network data consumption for a cellular data connection. - The schema or other data structure representing the
data usage plan 116 may be defined by theweb service 108, by themobile operator 111, or by another entity. In some embodiments, each of the various data usage plans 116 subscribed to by themobile computing device 102 and theother computing devices 106 use the same common schema. In general, the schema enables descriptions of the parts, components, services, features, or other aspects of thedata usage plan 116 including, but not limited to, multi-rate data plans, peak times, roaming rates, allotted network data consumption pernetwork connection 130, etc. In some embodiments, use of the schema allows themobile operators 111 to send out updated portions of the schema corresponding to updated parts of a particulardata usage plan 116. - In some embodiments, the schema includes a plurality of fields. Each of the threshold values 118 may be associated with one or more of the fields. For example, the fields may correspond to one or more of the following: peak times, off-peak times, peak time network data consumption quota, off-peak time network data consumption quota, peak time network data consumption remaining, off-peak time network data consumption remaining, a roaming rate, rules, a mobile operator name, a billing cycle type, a network connection type, identification of free hosts available for connection, a list of mobile hotspots, and any other elements or information pertaining to the
data usage plan 116. The list of free hosts represents zero-rated or reduced cost hosts (e.g., visiting particular web sites does not count against the data usage plan 116). - The schema may also include fields supporting different billing rates per host accessed, per weekend, per night, friends and family rates, peak and off-peak rates, and more. The schema also allows each
mobile operator 111 the flexibility to define complex plans including broadly offered plans, and dynamic, short-term offers tospecific users 104 likely to use a specific part or parts of the overall services. Other offers based on any combination of the metrics obtained are available to themobile operator 111. - The schema stored by the
mobile computing device 102 may also include fields corresponding to thedata usage statistics 120 collected, generated, or received by themobile computing device 102 and/or themobile operators 111. For example, to facilitate sharing thedata usage statistics 120 among themobile operators 111,web service 108, and/or user computing devices, themobile operators 111,web service 108, and the user computing devices may populate the schema with thedata usage statistics 120. - The
memory area 112 further stores thedata usage statistics 120 relating to one or more of the data usage plans 116. Thedata usage statistics 120 may be viewed as a current or instant snapshot of the amount of network data transmitted and/or received (e.g., or otherwise consumed) by themobile computing device 102. For example, themobile computing device 102 collects ongoing usage data relating to network data transfers, such as from device radios, drivers, and accelerometers of themobile computing device 102. Thedata usage statistics 120 identify, to a granularity of time (e.g., per minute) or data (e.g., per kilobyte), how much data has been sent and/or received by themobile computing device 102, the time and date of usage (e.g., start and end times), the location of usage, network interface used (e.g., over which network connections 130), roaming state, data usage plan information, theSIM 113 card or other user identity module used for dual SIM scenarios, the international mobile station equipment identity (IMEI) or other device identifier for multi-device scenarios, the Internet protocol (IP) address or other address of the access point used for Wi-Fi scenarios, the IP address or other address of the target computer (e.g., for whitelist/blacklists in data usage), the application responsible for the data transfer, and the like. In a further example, information relating to text messages, data, voice calls, minutes used, voice over Internet Protocol (VoIP) usage, and any other element of usage consumed by, or that impacts, themobile computing device 102 is collected to produce thedata usage statistics 120. Otherdata usage statistics 120 are also contemplated. - The
data usage statistics 120 may be collected by themobile computing device 102, theweb service 108, and/or themobile operators 111. For example, thedata usage statistics 120 may be compiled directly (e.g., by monitoring network traffic) and/or by collecting thedata usage statistics 120 from other devices that perform the collection. In embodiments such as those described below with reference toFIG. 2 ,FIG. 3 , and/orFIG. 4 , thedata usage statistics 120 corresponding to a plurality of data usage plans 116 are collected such that there may be a plurality of sets of collected data usage statistics 120 (e.g., one set for eachdata usage plan 116 or user 104). - Alternatively or in addition, the
mobile computing device 102 receives updates of network data consumption by theother computing devices 106 sharing the samedata usage plan 116. For example, thedata usage statistics 120 may represent the network data collectively consumed by the mobile telephone 602, tablet, and laptop of theuser 104. - The
memory area 112 further stores exemplary computer-executable components such as amemory component 128, acommunications interface component 126, aprediction component 122, and afilter component 124. Operation of the computer-executable components, when executed, is described below with reference toFIG. 2 . - The
mobile computing device 102 may have any quantity ofSIMs 113 associated therewith. For example, each of theSIMs 113 may be embedded and implemented as an application program performing operations to implement functionality associated with theSIM 113. In some embodiments, themobile computing device 102 hasdual SIMs 113 with one of theSIMs 113 in standby mode (e.g., dual SIM dual standby). Alternatively or in addition, themobile computing device 102 hasdual SIMs 113 with both of theSIMs 113 being independently active (e.g., dual SIM dual active). Additional examples include virtual SIMs, universal integrated circuit cards (UICCs), and other variants of user identity modules. - Each of the
SIMs 113 is associated with at least one of the plurality of data usage plans 116. Aspects of the disclosure operate to leverage the available data usage plans 116 to route network traffic over thenetwork connections 130 using one or more of theSIMs 113. For example, themobile computing device 102 makes a decision as to whichSIM 113 gets attached to which radio in software based upon a data costing analysis. Themobile computing device 102 relies on the data costing analysis (e.g., a comparison of the costs of using thedifferent SIMs 113 on the different radios in view of the data usage plans 116 for each) to determine which of theSIMs 113 should be active to handle thedata transfer request 115. - As an example, one of the data transfer requests 115 may represent an incoming voice call on a first data usage plan associated with a first SIM. Aspects of the disclosure may determine to answer the incoming voice call with a second data usage plan of a second SIM. For example, the second data usage plan may provide a reduced cost for the data transfer, and/or a better QoS.
- The
mobile computing device 102 is further operable with more than one cellular radio. For example, themobile computing device 102 may include a plurality of radios with at least two of those radios consuming battery power at different rates. In such environments, themobile computing device 102 selects themobile operator 111 andnetwork connection 130 for eachdata transfer request 115 to balance network data usage against battery usage. In an example in which themobile computing device 102 has a single radio, actively selecting different networks 109 (e.g., via different data usage plans 116) may cause themobile computing device 102 to connect to different cell towers, which in turn may impact battery usage. For example, connecting to one cell tower may consume more battery power than connecting to another cell tower, which affects the amount of power anticipated to be consumed when performing the data transfer requests 115 over thevarious network connections 130. - The
mobile computing device 102 represents an example of a computing device programmed to perform operations to manage network data transfers using a plurality of data usage plans 116 available to theuser 104. For example, and as described further with reference to the flowcharts, the computing device receives or accesses at least one of the data transfer requests 115 and defines a network data transfer configuration for performing the selecteddata transfer request 115. For example, the computing device selects one or more of the following: at least one of the data usage plans 116, themobile operator 111, and at least one of theavailable network connections 130. Selecting themobile operator 111 includes, for example, selecting mobile operator credentials to present to the selectednetwork 109 when initiating the data transfer. In some embodiments, selecting themobile operator 111 includes selecting the international mobile subscriber identity (IMSI) in theSIM 113. - The network data transfer configuration is defined based on, for example, the particular
data transfer request 115, the available data usage plans 116 (e.g., data transfer costs, etc.), and thedata usage statistics 120 associated with each of the data usage plans 116 (e.g., the amount of network transfer data consumed and/or remaining, etc.). The computing device proceeds to initiate thedata transfer request 115 using the defined network data transfer configuration. - Referring next to
FIG. 2 , an exemplary flow chart illustrates operation of the computing device to select the network data transfer configuration for performing data transfer requests 115 based on estimated transfer costs and/or quality of service metrics using a plurality of data usage plans 116. While the operations illustrated inFIG. 2 are performed by amobile computing device 102 in some embodiments, one or more of the operations may be performed by other devices, including any computing device local to, or remote from, theuser 104. For example, the operations may be performed by theweb service 108, or by a proxy device in communication with theweb service 108 and themobile computing device 102. Further, in some embodiments, the operations illustrated inFIG. 2 are performed by an operating system executing on themobile computing device 102. - The operations illustrated in
FIG. 2 may be described as mapping the data transferrequests 115 to the detectednetwork connections 130 using the plurality of available data usage plans 116 to reduce or minimize data transfer costs and/or provide a QoS suitable for the data transfer requests 115. For example, the computing device works to prevent incurring expensive network transfer costs for theuser 104. - In some embodiments, the computing device may store, or have access to, the computer-executable components stored in the
memory area 112 to implement one or more of the operations illustrated inFIG. 2 . For example, thememory component 128, when executed by the computing device, causes at least oneprocessor 110 to store a plurality of the data usage plans 116 available to the computing device. Each of the data usage plans 116 hasdata usage statistics 120 associated therewith representing an amount of network data consumed under the data usage plan 116 (e.g., during the current billing cycle). - At 202, the computing device accesses the data usage plans 116 stored by the
memory component 128. Thecommunications interface component 126, when executed by the computing device, causes at least oneprocessor 110 to determine whether at least one of the data transfer requests 115 has been received from at least one of a plurality ofapplications 114 executing on the computing device at 204. In some embodiments, thecommunications interface component 126 accesses thememory area 112 to retrieve or obtain the data transfer requests 115 that have been stored or queued there by theapplications 114. In some embodiments, thecommunications interface component 126 includes a network interface card and/or computer-executable instructions (e.g., a driver) for operating the network interface card. In some embodiments, the communications interface is operable with near-field communication (NFC) tags. - On receipt of at least one of the data transfer requests 115, the
prediction component 122, when executed by the computing device, causes at least oneprocessor 110 to calculate an estimated transfer cost for thedata transfer request 115 using each of the data usage plans 116 at 206. For example, theprediction component 122 uses the terms and conditions (e.g., rates, surcharges, etc.) of each of the data usage plans 116 to estimate the cost of transferring data specified by thedata transfer request 115. - In some embodiments, the computing device further executes the
prediction component 122 to calculate an estimated QoS for thedata transfer request 115 using each of the plurality of data usage plans 116 at 208. For example, theprediction component 122 uses the terms and conditions (e.g., rates, surcharges, etc.) of each of the data usage plans 116 to estimate the QoS that would be realized when transferring data specified by thedata transfer request 115. The QoS may be defined by latency, throughput, etc. The QoS analysis enables thefilter component 124 to meet or exceed user experience immediacy expectations by differentiating the urgency of network traffic. The user experience immediacy expectations may be defined by theusers 104, theapplications 114, the computing device, themobile operator 111, and/or theweb service 108, in some embodiments. For example, the computing device may receive or access data indicating that while Network A may be cheaper than Network B, the reception on Network A is poor whereas the reception on Network B is good. As such, thefilter component 124 may choose to route the traffic on Network B to meet QoS criteria. - The
filter component 124, when executed by the computing device, causes at least oneprocessor 110 to define the network data transfer configuration for thedata transfer request 115. For example, thefilter component 124 selects at least one of the data usage plans 116 and at least one of a plurality ofnetwork connections 130 available to the computing device at 210. In some embodiments, thefilter component 124 determines whichSIM 113 or other credential is attached in a multi-SIM environment. Thefilter component 124 may implement a best-fit, binary search, neural feedback, or any other algorithm or set of algorithms to produce the output routing decisions or recommendations. - In some embodiments, the
filter component 124 selects from a plurality ofmobile operators 111. For example, thefilter component 124 selects onemobile operator 111 over the others based on the network transfer cost associated with the selectedmobile operator 111. In such embodiments, thefilter component 124 accesses or receives data describing the availablemobile operators 111 in a given locale or area, as well as the costs associated with using each of the mobile operators 111 (e.g., defined in the data usage plans 116 of the mobile operators 111). - The
computing device 102 detects, or is informed of, theavailable network connections 130. For example, thecomputing device 102 may determine whether thenetwork connection 130 has been established and/or has not expired. As another example, thecomputing device 102 may send a test packet (e.g., a ping) over eachopen network connection 130 to confirm the availability of eachnetwork connection 130. In some embodiments, thecomputing device 102 may further classify each of the detectednetwork connections 130. For example, thenetwork connections 130 may be classified according to type, speed, cost, and/or other factors or criteria. - The network data transfer configuration is defined based at least on the estimated transfer costs using the different data usage plans 116 and/or the estimated QoS using the different data usage plans 116. The defined network data transfer configuration, or the mapping between the
data transfer request 115 and thenetwork connection 130 may be stored, for example, in a file, table, database, or other data structure. - In a cost-based example, the cost of the duration of the transfer with Network B may ultimately exceed a flat rate cost associated with Network A. In such an example, the
filter component 124 calculates an estimated transfer cost over eachnetwork 109 and routes the traffic on thelower cost network 109. - The
filter component 124 may also consider speed or data transfer rates when defining the network data transfer configuration. For example, if it takes five seconds to transfer two gigabytes of data over Network A but two hours over Network B, thefilter component 124 may opt to incur charges with Network A to complete the data transfer faster if completion is a priority or preference for theuser 104 or requestingapplication 114. - The
data transfer request 115 is then initiated at 212 using the defined network data transfer configuration (e.g., the selecteddata usage plan 116,network connection 130, and/or mobile operator 111). For example, thecomputing device 102 directly initiates thedata transfer request 115, or thecomputing device 102 may notify theapplication 114 that submitted thedata transfer request 115 of the defined network data transfer configuration to enable thatapplication 114 to initiate thedata transfer request 115. - In some embodiments, the
filter component 124 performs, or relies on the output of, a cost-benefit analysis based on the estimated transfer cost and/or the estimated QoS. For example, thefilter component 124 selects thedata usage plan 116, thenetwork connection 130, and/or themobile operator 111 with the lowest estimated transfer cost and/or highest estimated QoS. In general, thefilter component 124 determines whichnetwork connection 130 to use for whichdata transfer request 115 and for what duration. - In an example in which a first data usage plan has additional network data consumption available while a second data usage plan has no additional network data consumption available without incurring excess charges fees, the
filter component 124 selects the first data usage plan to prevent overage charges. The first data usage plan may represent a familydata usage plan 116, or other shareddata usage plan 116. - In some embodiments, the
computing device 102 tracks a cumulative amount of data transfers occurring under each of the data usage plans 116 to identify data usage plans 116 with remaining capacity. Thecomputing device 102 compares the tracked, cumulative amounts to the corresponding threshold values 118 associated with the data usage plans 116. Thecomputing device 102 maps the data transferrequests 115 to the data usage plans 116 based on the comparison. For example, thecomputing device 102 determines whether the tracked, cumulative amounts for eachdata usage plan 116 are less than the corresponding threshold values 118 for thatdata usage plan 116. If thecomputing device 102 determines that there is remaining network data consumption available under a particular one of the data usage plans 116 (e.g., the cumulative amounts are less than the threshold values 118 for that data usage plan 116), thecomputing device 102 may match the data transfer request to that particulardata usage plan 116. For the data usage plans 116 under which no further data consumption is available or under which the estimated transfer cost is above a pre-defined threshold, thecomputing device 102 removes those data usage plans 116 from consideration when mapping the data transferrequests 115 to the data usage plans 116. In a further embodiment, the data usage plans 116 with remaining capacity may be ranked or sorted according to remaining capacity. - Some embodiments evaluate the data transfer statistics associated with each of the data usage plans 116 to determine whether the
user 104 is Off Track, On Track, Under Track, or Over Limit for usage compared to the consumption allotted under each of the data usage plans 116. For example, given the day of the billing cycle and the current or up-to-date data consumption for the billing period, an extrapolation or projection is performed to predict the consumption associated with the end of the billing cycle. In some embodiments, Off Track may be defined as theuser 104 being on or above the projected limit (e.g., the value of the curve) given the day of the billing cycle and the current or up-to-date data consumption for the billing period. On Track may be defined, in some embodiments, as theuser 104 being at least 5% below the projected limit given the day of the billing cycle and the current or up-to-date data consumption for the billing period. Under Track may be defined, in some embodiments, as theuser 104 being at least 20% below the projected limit given the day of the billing cycle and the current or up-to-date data consumption for the billing period. Some embodiments contemplate an “Over Limit” category that allowsusers 104 to opt out of data consumption by background transfers unless the background transfers are user-initiated or deemed critical. - In some embodiments, the
mobile computing device 102 further includes a user interface component that includes a graphics card for displaying data to theuser 104 and for receiving data from theuser 104. The user interface component may also include computer-executable instructions (e.g., a driver) for operating the graphics card. Further, the user interface component may include a display (e.g., a touch screen display or natural user interface) and/or computer-executable instructions (e.g., a driver) for operating the display. The user interface component may also include one or more of the following to provide data to theuser 104 or receive data from the user 104: speakers, a sound card, a camera, a microphone, a vibration motor, one or more accelerometers, a BLUETOOTH brand communication module, global positioning system (GPS) hardware, and a photoreceptive light sensor. For example, theuser 104 may input commands or manipulate data by moving themobile computing device 102 in a particular way. In some embodiments, the user interface component executes to present offers for adjusting a particular network data transfer configuration, such as described with reference toFIG. 3 . - The
communications interface component 126 may execute independently of the other computer-executable components (e.g., not sequentially, or without interaction or dependency on another component). For example, thecommunications interface component 126 may be executed by a thread separate from other thread(s) executing thememory component 128, theprediction component 122, and thefilter component 124. - The defined network data transfer configuration represents a network transfer decision made by the computing device or other entity (e.g., the web service 108). In some embodiments, such network transfer decisions by a plurality of the computing devices may be crowdsourced to, for example, the
web service 108 or a particular one of the computing devices. In this manner, the crowdsourced network data transfer decisions may be analyzed to identify patterns therein. - In a crowdsourcing embodiment, the
web service 108 observes and crowdsources the network transfer decisions and/or behavior/patterns of theusers 104. For example, theweb service 108 crowdsources data aboutusers 104, such as the network transfers decisions made by the devices of theusers 104, to then automate future network transfer decisions by the devices. For example, theweb service 108 may conclude, across a plurality ofusers 104, that theusers 104 tend to preferparticular network connections 130 ormobile operators 111 in particular situations. Alternatively or in addition, theweb service 108 analyzes the crowdsourced data to determine which decisions worked best for the users 104 (e.g., was the call completed or disconnected, and in which areas), and/or which data usage plans 116 were frequently selected by theuser 104. The analysis may include a neural network or a Bayesian analysis to base future routing decisions on past input, decisions, or other patterns or behavior of theuser 104. In some embodiments, theweb service 108 prioritizesparticular networks 109 andmobile operators 111 in each of the situations (e.g., areas) observed by theweb service 108. Theweb service 108 then applies these conclusions and analysis to future routing decisions for any of theusers 104. For example, theweb service 108 distributes the information to the user computing devices for application. - Referring next to
FIG. 3 , an exemplary flow chart illustrates operation of the computing device to present offers to theuser 104 for adjusting a network data transfer. While the operations illustrated inFIG. 3 are performed by themobile computing device 102 in some embodiments, one or more of the operations may be performed by other devices, including any computing device local to, or remote from, theuser 104. For example, the operations may be performed by theweb service 108, or by a proxy device in communication with theweb service 108 and themobile computing device 102. Further, in some embodiments, the operations illustrated inFIG. 3 are performed by an operating system executing on themobile computing device 102. - In general, the computing device surfaces offers from the
mobile operators 111 that may be of interest to theuser 104, at a time when theuser 104 may opt for the offer. The service may make recommendations to accept the offer based on cost, QoS, user preferences, application preferences, timeliness, and/or relevancy of the data (e.g., stock quotes), etc. - At 302, the computing device accesses a plurality of the data usage plans 116 available to the computing device (e.g., stored in the memory area 112). On determining that at least one of the data transfer requests 115 from at least one of the data usage plans 116 has been received at 304, the computing device selects an offer based on the received data usage request at 306 and based on the
data usage plan 116 selected to implement thedata transfer request 115. The selected offer is thus relevant to thedata transfer request 115. For example, if thedata transfer request 115 is to stream a movie, the computing device may select an offer that includes a temporary but instant increase in a data transfer rate to enable streaming of a high-definition version of the movie, in return for a one-time fee from theuser 104. - The offer is selected from a plurality of offers provided by the
mobile operators 111. The plurality of offers may be stored in thememory area 112, or in another memory accessible to the computing device (e.g., in the cloud service). In general, the offers adjust the selecteddata usage plan 116 for performance of thedata transfer request 115. - The computing device may perform an analysis on each of the offers available for the selected
data usage plan 116. For example, a cost-benefit analysis may be performed to estimate the transfer costs and/or QoS characteristics associated with performance of thedata transfer request 115 after a simulated application of each of the offers. In this manner, the computing device is able to determine whether to recommend acceptance or rejection by theuser 104 to the offer. - At 308, the selected offer is presented to the
user 104 for review and authorization. For example, the computing device may display a popup, tile, or toast to theuser 104. In some embodiments, tiles represent tile user interface elements. On receiving acceptance of the offer from theuser 104 at 310, the computing device applies the approved offer to thedata usage plan 116 selected for performance of thedata transfer request 115 at 312. At 314, the computing device performs thedata transfer request 115 using the selecteddata usage plan 116 with the offer applied thereto. If theuser 104 declines the offer at 310, the computing device performs thedata transfer request 115 at 313 using the selecteddata usage plan 116 without the offer being applied thereto. - In some embodiments, the computing device presents “turbo” offers to the
user 104 to instantly increase the data transfer rate of thecurrent network connection 130. The offer may, for example, boost the speed of thenetwork connection 130 for some cost (e.g., a dollar, quarter, etc.) for some duration (e.g., a couple of hours, an afternoon, a day). - Referring next to
FIG. 4 , an exemplary flow chart illustrates operation of the computing device to adjust a network data transfer configuration during performance of one of the data transfer requests 115. While the operations illustrated inFIG. 4 are performed by amobile computing device 102 in some embodiments, one or more of the operations may be performed by other devices, including any computing device local to, or remote from, theuser 104. For example, the operations may be performed by theweb service 108, or by a proxy device in communication with theweb service 108 and themobile computing device 102. Further, in some embodiments, the operations illustrated inFIG. 4 are performed by an operating system executing on themobile computing device 102. - On determining that at least one of the data transfer requests 115 has been received from at least one of the
applications 114 at 402, the computing device defines the network data transfer configuration. For example, the computing device de-queues at least one of the queued data transfer requests 115 and selects one of the data usage plans 116 (e.g., associated with one of the mobile operators 111) and one of thenetwork connections 130 at 404. At 406, the computing device initiates or performs thedata transfer request 115 using the defined network data transfer configuration. - During performance of the
data transfer request 115, the computing device determines if another network data transfer configuration is more suitable for completing the in-progressdata transfer request 115. For example, if anotherdata usage plan 116 becomes available, if the computing device detects a Wi-Fi access point, or if the current time moves from a peak period to an off-peak period, the computing device may conclude that thedata transfer request 115 should be completed under another one of the plurality of data usage plans 116 available to the computing device. Continuing the above example, the computing device may select one of the data usage plans 116 that offers a lower transfer cost, free Wi-Fi, or free off-peak transfers, respectively. - On determining that a different network data transfer configuration should be selected to reduce transfer costs or improve QoS at 408, the computing device changes from the current network transfer configuration to the newly-selected network data transfer configuration during performance of the
data transfer request 115. That is, the computing device continues performance of thedata transfer request 115 at 410 using the newly-selected network data transfer configuration. - The operations illustrated in
FIG. 4 execute to, for example, perform in-call switching to reduce costs and/or improve QoS. In such an example, the computing device performs an in-call switchover or handoff by selecting a second data usage plan after initiation of thedata transfer request 115 on a first data usage plan. The switchover may occur after the computing device determines that an estimated transfer cost of the second data usage plan is less than an estimated transfer cost of the first data usage plan. For example, the computing device may switch a call from a cellular network connection to a Voice Over Internet Protocol (VoIP) call over a Wi-Fi connection. - In another example, the
user 104 may receive a voice call over a cellular network connection. The computing device determines that the call is international, and switches the call to one of the data usage plans 116,network connection 130, andmobile operator 111 that is less expensive for international calls. - Aspects of the disclosure are operable with the computing device or other connection management service performing operations to transparently (to the user 104) change data usage plans 116 during performance of the
data transfer request 115. In event-driven models, the connection management service notifies theapplication 114 associated with the in-progressdata transfer request 115 that theapplication 114 should reconnect using anotherdata usage plan 116. In still other embodiments, the connection management service relies on a published protocol recognizable by both endpoints to implement the switchover. - In one example, Mobile Operator A may offer a free month of Internet while Mobile Operator B may not. Aspects of the disclosure route data traffic via Mobile Operator A during that free month, but then automatically switch to Mobile Operator B at the end of the first month to avoid incurring charges from Mobile Operator A, which is more expensive than Mobile Operator B. To switch to Mobile Operator B, the
mobile computing device 102 orweb service 108 handling the data transfer requests 115 identifies anotherSIM 113 available on the device, dynamically switches to Mobile Operator B, and applies the data usage plan 116 (e.g., tariffs) associated with Mobile Operator B. - In another example, the
user 104 lands in a foreign country and the user's mobile telephone connects to a service (e.g., the web service 108) that determines that data transfer may be expensive in that country based on the currentdata usage plan 116 of theuser 104. Theweb service 108 tells the mobile phone of an embedded SIM enablement that may offer cheaper, faster, or otherwise better network transfers. The embedded SIM enablement is software capable of being installed on the mobile telephone upon arrival in the foreign country, and upon consent from theuser 104, that enables the mobile telephone to connect to networks of localmobile operators 111. - Alternatively or in addition, the mobile telephone may present and/or recommend a particular offer or package from one of the available
mobile operators 111 that the service concludes is the most cost effective or otherwise “better” based on the user's historical data use, anticipated data use, or both. The service considers anticipated multimedia messaging service (MMS), short message service (SMS), and other traffic when determining whichdata usage plan 116 and/ormobile operator 111 to recommend to theuser 104 in that foreign country. - In some embodiments, an event scheduler and a core networking component implement aspects of the disclosure. The event scheduler executes on the computing device to assign the data transfer requests 115 to the data usage plans 116. In such an environment, one or more of the
applications 114 registers with the event scheduler. The core networking component executes on thecomputing device 102 to detect thenetwork connections 130 available to thecomputing device 102, analyze each of thenetwork connections 130 continuously (e.g., without interruption) or continually (e.g., periodically), such as every minute. In other embodiments, the core networking component analyzes each of thenetwork connections 130 upon receiving thedata transfer request 115 from one of theapplications 114. The core networking component may also have different schedules for checkingdifferent network connections 130. For example, the core networking component may check the availability of a Wi-Fi connection less frequently than the availability of a roaming cellular connection. The core networking component notifies the event scheduler of the presence and/or absence of thenetwork connections 130. Upon receipt of this notification, the event scheduler maps or matches the queued data transfer requests 115 to one of the data usage plans 116 that use theavailable network connections 130. - In one scenario, an enterprise information technology entity pushes down policies governing enterprise preferences relating to connectivity. For example, the entity transmits the policies to each of the devices associated with the enterprise. The policies may be based on enterprise agreements with particular carriers. Aspects of the disclosure then operate to prefer those particular carriers when selecting carriers for initiation of the data transfer requests, in accordance with the policies. The policies may also interrelate to other policies that define constraints or preferences, such as those associated with security. For example, a government contractor may be required to route secure network traffic over one particular carrier.
- At least a portion of the functionality of the various elements in
FIG. 1 may be performed by other elements inFIG. 1 , or an entity (e.g., processor, web service, server, application program, computing device, etc.) not shown inFIG. 1 . - In some embodiments, the operations illustrated in the flowcharts may be implemented as software instructions encoded on a computer readable medium, in hardware programmed or designed to perform the operations, or both. For example, aspects of the disclosure may be implemented as a system on a chip or other circuitry including a plurality of interconnected, electrically conductive elements.
- Embodiments have been described with reference to data monitored and/or collected from
users 104. In some embodiments, notice may be provided to theusers 104 of the collection of the data (e.g., via a dialog box or preference setting) andusers 104 are given the opportunity to give or deny consent for the monitoring and/or collection. The consent may take the form of opt-in consent or opt-out consent. - Input from the
user 104 may be explicit (e.g., user-specified preferences or consent) or implicit (e.g., the computing device makes intelligent decisions for the user 104). In some embodiments, the computing device obtains the user's consent to operate. The user preferences indicate, for example, whether theuser 104 prefers onenetwork 109 over another, onemobile operator 111 over another, quality over cost, speed over duration, etc. - After obtaining the user's consent to execute and to obtain the data usage plans 116 of the
user 104, the service in some embodiments pulls all the necessary information (e.g., data usage plans 116, deals, offers, etc.) from third parties such as themobile operators 111, a cloud service, or other entity, without involving theuser 104 to ensure a seamless user experience. In such embodiments, the service may further switch among data usage plans 116 andmobile operators 111 to best meet the specified or default preferences of theuser 104. - The computing device may present the routing decisions to the
user 104 for approval or selection before implementing the routing decisions. In some embodiments, theuser 104 may not yet have any of the data usage plans 116, or may be open to other data usage plans 116. In such embodiments, the computing device may present data usage plan offers from the availablemobile operators 111 to theuser 104 for selection. - Aspects of the disclosure are capable of operation and/or display on any computing device or screen. For example, the
user 104 may move between a mobile device, a gaming console, an in-vehicle computing system (e.g., entertainment and/or navigation), a portable media player, and a laptop. - Exemplary computer readable media include flash memory drives, digital versatile discs (DVDs), compact discs (CDs), floppy disks, and tape cassettes. By way of example and not limitation, computer readable media comprise computer storage media and communication media. Computer storage media include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media are tangible and are mutually exclusive to communication media. In some embodiments, computer storage media are implemented in hardware. Exemplary computer storage media include hard disks, flash drives, and other solid-state memory. In contrast, communication media typically embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media.
- Although described in connection with an exemplary computing system environment, embodiments of the disclosure are capable of implementation with numerous other general purpose or special purpose computing system environments, configurations, or devices.
- Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with aspects of the invention include, but are not limited to, mobile computing devices, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, gaming consoles, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like. Such systems or devices may accept input from the
user 104 in any way, including from input devices such as a keyboard or pointing device, via gesture input, and/or via voice input. - Embodiments of the invention may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices. The computer-executable instructions may be organized into one or more computer-executable components or modules. Generally, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types. Aspects of the invention may be implemented with any number and organization of such components or modules. For example, aspects of the invention are not limited to the specific computer-executable instructions or the specific components or modules illustrated in the figures and described herein. Other embodiments of the invention may include different computer-executable instructions or components having more or less functionality than illustrated and described herein.
- Aspects of the invention transform a general-purpose computer into a special-purpose computing device when configured to execute the instructions described herein.
- The term “roaming” as used herein refers, in some embodiments, to connectivity provided outside a subscriber's home zone that may be subject to additional tariffs, fees, or constraints. Roaming service may or may not be provided by the same
mobile operator 111. The term “tethered” as used herein refers, in some embodiments, to situations where one device acts as an access point for another device for network access. A tethered connection may occur over a wired connection or a wireless connection. The term “Wi-Fi” as used herein refers, in some embodiments, to a wireless local area network using high frequency radio signals for the transmission of data. The term “BLUETOOTH” as used herein refers, in some embodiments, to a wireless technology standard for exchanging data over short distances using short wavelength radio transmission. The term “cellular” as used herein refers, in some embodiments, to a wireless communication system using short-range radio stations that, when joined together, enable the transmission of data over a wide geographic area. The term “NFC” as used herein refers, in some embodiments, to a short-range high frequency wireless communication technology for the exchange of data over short distances. - The embodiments illustrated and described herein as well as embodiments not specifically described herein but within the scope of aspects of the invention constitute exemplary means for selecting among the plurality of data usage plans 116 available to the
mobile computing device 102 for performing network data transfers. - The order of execution or performance of the operations in embodiments of the invention illustrated and described herein is not essential, unless otherwise specified. That is, the operations may be performed in any order, unless otherwise specified, and embodiments of the invention may include additional or fewer operations than those disclosed herein. For example, it is contemplated that executing or performing a particular operation before, contemporaneously with, or after another operation is within the scope of aspects of the invention.
- When introducing elements of aspects of the invention or the embodiments thereof, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements. The term “exemplary” is intended to mean “an example of” The phrase “one or more of the following: A, B, and C” means “at least one of A and/or at least one of B and/or at least one of C.”
- Having described aspects of the invention in detail, it will be apparent that modifications and variations are possible without departing from the scope of aspects of the invention as defined in the appended claims. As various changes could be made in the above constructions, products, and methods without departing from the scope of aspects of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
Claims (20)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/835,693 US20160112577A1 (en) | 2012-01-27 | 2015-08-25 | Managing network data transfers in view of multiple data usage plans |
US14/839,243 US9887895B2 (en) | 2012-01-27 | 2015-08-28 | Dynamically adjusting a data usage plan based on data usage statistics |
Applications Claiming Priority (14)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261591509P | 2012-01-27 | 2012-01-27 | |
US201261591503P | 2012-01-27 | 2012-01-27 | |
US201261696472P | 2012-09-04 | 2012-09-04 | |
US13/721,053 US8977231B2 (en) | 2012-01-27 | 2012-12-20 | Tracking data usage under a schematized data plan |
US13/721,032 US9049589B2 (en) | 2012-01-27 | 2012-12-20 | Dynamically adjusting a data usage plan based on data usage statistics |
US13/721,066 US9900231B2 (en) | 2012-01-27 | 2012-12-20 | Managing data transfers over network connections based on priority and a data usage plan |
US13/721,023 US9887894B2 (en) | 2012-01-27 | 2012-12-20 | Recommendations for reducing data consumption based on data usage profiles |
US13/721,041 US9838287B2 (en) | 2012-01-27 | 2012-12-20 | Predicting network data consumption relative to data usage patterns |
US13/721,083 US9264556B2 (en) | 2012-01-27 | 2012-12-20 | On-device attribution of network data usage |
US13/721,058 US9161200B2 (en) | 2012-01-27 | 2012-12-20 | Managing network data transfers in view of multiple data usage plans |
US13/721,029 US9544212B2 (en) | 2012-01-27 | 2012-12-20 | Data usage profiles for users and applications |
US13/721,069 US9369589B2 (en) | 2012-01-27 | 2012-12-20 | Updating dynamic data usage plans and statistics |
US14/642,378 US9660889B2 (en) | 2012-01-27 | 2015-03-09 | Tracking data usage under a schematized data plan |
US14/835,693 US20160112577A1 (en) | 2012-01-27 | 2015-08-25 | Managing network data transfers in view of multiple data usage plans |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/721,058 Continuation US9161200B2 (en) | 2012-01-27 | 2012-12-20 | Managing network data transfers in view of multiple data usage plans |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160112577A1 true US20160112577A1 (en) | 2016-04-21 |
Family
ID=48870629
Family Applications (20)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/721,058 Active 2033-02-02 US9161200B2 (en) | 2012-01-27 | 2012-12-20 | Managing network data transfers in view of multiple data usage plans |
US13/721,041 Active 2033-08-18 US9838287B2 (en) | 2012-01-27 | 2012-12-20 | Predicting network data consumption relative to data usage patterns |
US13/721,053 Active 2033-01-15 US8977231B2 (en) | 2012-01-27 | 2012-12-20 | Tracking data usage under a schematized data plan |
US13/721,083 Active 2034-06-01 US9264556B2 (en) | 2012-01-27 | 2012-12-20 | On-device attribution of network data usage |
US13/721,023 Active 2033-07-12 US9887894B2 (en) | 2012-01-27 | 2012-12-20 | Recommendations for reducing data consumption based on data usage profiles |
US13/721,066 Active 2033-09-20 US9900231B2 (en) | 2012-01-27 | 2012-12-20 | Managing data transfers over network connections based on priority and a data usage plan |
US13/721,032 Active US9049589B2 (en) | 2012-01-27 | 2012-12-20 | Dynamically adjusting a data usage plan based on data usage statistics |
US13/721,069 Active US9369589B2 (en) | 2012-01-27 | 2012-12-20 | Updating dynamic data usage plans and statistics |
US13/721,029 Active 2032-12-26 US9544212B2 (en) | 2012-01-27 | 2012-12-20 | Data usage profiles for users and applications |
US14/642,378 Active US9660889B2 (en) | 2012-01-27 | 2015-03-09 | Tracking data usage under a schematized data plan |
US14/835,693 Abandoned US20160112577A1 (en) | 2012-01-27 | 2015-08-25 | Managing network data transfers in view of multiple data usage plans |
US14/839,243 Active 2033-01-06 US9887895B2 (en) | 2012-01-27 | 2015-08-28 | Dynamically adjusting a data usage plan based on data usage statistics |
US14/988,462 Active US9825830B2 (en) | 2012-01-27 | 2016-01-05 | On-device attribution of network data usage |
US15/350,001 Abandoned US20170187596A1 (en) | 2012-01-27 | 2016-11-11 | Tracking data usage under a schematized data plan |
US15/365,919 Active US10069705B2 (en) | 2012-01-27 | 2016-11-30 | Data usage profiles for users and applications |
US15/589,994 Abandoned US20170373959A1 (en) | 2012-01-27 | 2017-05-08 | Tracking data usage under a schematized data plan |
US15/620,791 Active US10243824B2 (en) | 2012-01-27 | 2017-06-12 | On-device attribution of network data usage |
US15/876,094 Active US11223549B2 (en) | 2012-01-27 | 2018-01-19 | Managing data transfers over network connections based on priority and a data usage plan |
US16/221,444 Abandoned US20190230016A1 (en) | 2012-01-27 | 2018-12-14 | On-device attribution of network data usage |
US17/573,473 Pending US20220141110A1 (en) | 2012-01-27 | 2022-01-11 | Managing data transfers over network connections based on priority and a data usage plan |
Family Applications Before (10)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/721,058 Active 2033-02-02 US9161200B2 (en) | 2012-01-27 | 2012-12-20 | Managing network data transfers in view of multiple data usage plans |
US13/721,041 Active 2033-08-18 US9838287B2 (en) | 2012-01-27 | 2012-12-20 | Predicting network data consumption relative to data usage patterns |
US13/721,053 Active 2033-01-15 US8977231B2 (en) | 2012-01-27 | 2012-12-20 | Tracking data usage under a schematized data plan |
US13/721,083 Active 2034-06-01 US9264556B2 (en) | 2012-01-27 | 2012-12-20 | On-device attribution of network data usage |
US13/721,023 Active 2033-07-12 US9887894B2 (en) | 2012-01-27 | 2012-12-20 | Recommendations for reducing data consumption based on data usage profiles |
US13/721,066 Active 2033-09-20 US9900231B2 (en) | 2012-01-27 | 2012-12-20 | Managing data transfers over network connections based on priority and a data usage plan |
US13/721,032 Active US9049589B2 (en) | 2012-01-27 | 2012-12-20 | Dynamically adjusting a data usage plan based on data usage statistics |
US13/721,069 Active US9369589B2 (en) | 2012-01-27 | 2012-12-20 | Updating dynamic data usage plans and statistics |
US13/721,029 Active 2032-12-26 US9544212B2 (en) | 2012-01-27 | 2012-12-20 | Data usage profiles for users and applications |
US14/642,378 Active US9660889B2 (en) | 2012-01-27 | 2015-03-09 | Tracking data usage under a schematized data plan |
Family Applications After (9)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/839,243 Active 2033-01-06 US9887895B2 (en) | 2012-01-27 | 2015-08-28 | Dynamically adjusting a data usage plan based on data usage statistics |
US14/988,462 Active US9825830B2 (en) | 2012-01-27 | 2016-01-05 | On-device attribution of network data usage |
US15/350,001 Abandoned US20170187596A1 (en) | 2012-01-27 | 2016-11-11 | Tracking data usage under a schematized data plan |
US15/365,919 Active US10069705B2 (en) | 2012-01-27 | 2016-11-30 | Data usage profiles for users and applications |
US15/589,994 Abandoned US20170373959A1 (en) | 2012-01-27 | 2017-05-08 | Tracking data usage under a schematized data plan |
US15/620,791 Active US10243824B2 (en) | 2012-01-27 | 2017-06-12 | On-device attribution of network data usage |
US15/876,094 Active US11223549B2 (en) | 2012-01-27 | 2018-01-19 | Managing data transfers over network connections based on priority and a data usage plan |
US16/221,444 Abandoned US20190230016A1 (en) | 2012-01-27 | 2018-12-14 | On-device attribution of network data usage |
US17/573,473 Pending US20220141110A1 (en) | 2012-01-27 | 2022-01-11 | Managing data transfers over network connections based on priority and a data usage plan |
Country Status (12)
Country | Link |
---|---|
US (20) | US9161200B2 (en) |
EP (2) | EP2807561B1 (en) |
JP (2) | JP6195313B2 (en) |
KR (2) | KR102098414B1 (en) |
CN (2) | CN104081360B (en) |
AU (1) | AU2013212632B2 (en) |
BR (1) | BR112014018380A8 (en) |
CA (1) | CA2863455C (en) |
MX (2) | MX366246B (en) |
RU (1) | RU2614538C2 (en) |
TW (2) | TWI603642B (en) |
WO (2) | WO2013112390A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160094882A1 (en) * | 2014-09-25 | 2016-03-31 | Hyundai Motor Company | Terminal, vehicle having the same, and method of controlling the same |
US10243824B2 (en) | 2012-01-27 | 2019-03-26 | Microsoft Technology Licensing, Llc | On-device attribution of network data usage |
US11126977B1 (en) * | 2020-06-29 | 2021-09-21 | APPDIRECT, Inc. | Video call flash payment |
Families Citing this family (232)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7127232B2 (en) * | 2003-05-08 | 2006-10-24 | Bell South Intellectual Property Corporation | Multiple access internet portal revenue sharing |
US9723092B1 (en) * | 2011-04-07 | 2017-08-01 | Cellco Partnership | Universal data remote application framework |
US9736065B2 (en) | 2011-06-24 | 2017-08-15 | Cisco Technology, Inc. | Level of hierarchy in MST for traffic localization and load balancing |
US9953101B1 (en) * | 2011-06-27 | 2018-04-24 | Amazon Technologies, Inc. | Customized home screens for electronic devices |
CN103827820B (en) * | 2011-09-28 | 2017-08-08 | 惠普发展公司,有限责任合伙企业 | The data of management computing device are used |
CN103188647A (en) * | 2011-12-29 | 2013-07-03 | 北京网秦天下科技有限公司 | Method and system for statistically analyzing and warning Internet surfing flow of mobile terminal |
US8908698B2 (en) | 2012-01-13 | 2014-12-09 | Cisco Technology, Inc. | System and method for managing site-to-site VPNs of a cloud managed network |
CN103368869B (en) * | 2012-04-03 | 2017-09-19 | 富泰华工业(深圳)有限公司 | Network flow managing system and method |
US9445370B2 (en) * | 2012-04-06 | 2016-09-13 | Htc Corporation | Wireless data network switching method and electronic device thereof |
EP2862336B1 (en) * | 2012-06-13 | 2016-09-28 | Nokia Technologies Oy | Cloud services in mobile heterogeneous networks |
US9730106B2 (en) * | 2012-07-19 | 2017-08-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Technique for load balancing between cellular network subscriptions in a router having both short range and cellular communication interfaces |
US9053307B1 (en) | 2012-07-23 | 2015-06-09 | Amazon Technologies, Inc. | Behavior based identity system |
US9229903B2 (en) * | 2012-08-31 | 2016-01-05 | General Motors Llc | Providing vehicle operating information using a wireless device |
US20150220734A1 (en) * | 2012-10-19 | 2015-08-06 | Mcafee, Inc. | Mobile application management |
US8805323B2 (en) | 2012-11-06 | 2014-08-12 | Tracfone Wireless, Inc. | Hybrid network based metering server and tracking client for wireless services |
US9191853B2 (en) * | 2012-11-08 | 2015-11-17 | At&T Mobility Ii Llc | Managing network load using device application programs |
US10367914B2 (en) | 2016-01-12 | 2019-07-30 | Cisco Technology, Inc. | Attaching service level agreements to application containers and enabling service assurance |
US20150133076A1 (en) * | 2012-11-11 | 2015-05-14 | Michael Brough | Mobile device application monitoring software |
US9781223B2 (en) * | 2012-12-28 | 2017-10-03 | Facebook, Inc. | Conserving battery and data usage |
US9191874B2 (en) * | 2012-12-31 | 2015-11-17 | Ipass Inc. | Advanced network characterization and migration |
US11016637B2 (en) * | 2013-01-31 | 2021-05-25 | Samsung Electronics Co., Ltd. | Method of and device for managing applications |
US10545628B2 (en) * | 2013-01-31 | 2020-01-28 | Samsung Electronics Co., Ltd. | Method of and device for managing applications |
US9906254B2 (en) * | 2013-02-11 | 2018-02-27 | Apple Inc. | Facilitating multiple subscriber identity support in a wireless device |
US9220022B2 (en) * | 2013-03-13 | 2015-12-22 | Alcatel Lucent | LTE user presence detection for small cell placement |
US12039544B2 (en) * | 2013-03-14 | 2024-07-16 | Aeris Communications, Inc. | Adaptive M2M billing |
US9681003B1 (en) * | 2013-03-14 | 2017-06-13 | Aeris Communications, Inc. | Method and system for managing device status and activity history using big data storage |
US11039017B2 (en) * | 2013-03-14 | 2021-06-15 | Aeris Communications, Inc. | Adaptive M2M billing |
US9043439B2 (en) | 2013-03-14 | 2015-05-26 | Cisco Technology, Inc. | Method for streaming packet captures from network access devices to a cloud server over HTTP |
US9083823B2 (en) | 2013-03-14 | 2015-07-14 | Aeris Communications, Inc. | Context oriented billing |
US9769643B2 (en) | 2013-03-15 | 2017-09-19 | Intel Corporation | Budgeting and quota management system for data consumption |
US9858052B2 (en) | 2013-03-21 | 2018-01-02 | Razer (Asia-Pacific) Pte. Ltd. | Decentralized operating system |
WO2014154935A1 (en) * | 2013-03-28 | 2014-10-02 | Nokia Corporation | Method and apparatus for providing a subscription identity device recommendation |
US9872333B2 (en) | 2013-04-03 | 2018-01-16 | Apple Inc. | Method and system for scheduling application-generated data requests in discontinuous reception (DRX) mode |
US9479923B2 (en) * | 2013-04-17 | 2016-10-25 | Nokia Technologies Oy | Provisioning wireless subscriptions using software-based subscriber identity modules |
US9544418B2 (en) * | 2013-04-25 | 2017-01-10 | Intel Deutschland Gmbh | Dual communication circuit device selecting communication circuit based on communication activity history |
US9727848B2 (en) * | 2013-04-29 | 2017-08-08 | Alex Bligh | Field programmable hierarchical cloud billing system |
US9317415B2 (en) * | 2013-06-03 | 2016-04-19 | Google Inc. | Application analytics reporting |
KR102280465B1 (en) * | 2013-06-14 | 2021-07-22 | 삼성전자 주식회사 | A terminal and application synchronization method thereof |
US9921827B1 (en) | 2013-06-25 | 2018-03-20 | Amazon Technologies, Inc. | Developing versions of applications based on application fingerprinting |
US10269029B1 (en) * | 2013-06-25 | 2019-04-23 | Amazon Technologies, Inc. | Application monetization based on application and lifestyle fingerprinting |
US9262470B1 (en) * | 2013-06-25 | 2016-02-16 | Amazon Technologies, Inc. | Application recommendations based on application and lifestyle fingerprinting |
US20150004928A1 (en) * | 2013-07-01 | 2015-01-01 | Alcatel-Lucent Usa Inc. | Group data plan quota allocation for mobile devices |
KR102134886B1 (en) * | 2013-07-08 | 2020-07-17 | 삼성전자주식회사 | Tethering distribution apparatus, control method thereof, and central mediator |
US9979622B2 (en) * | 2013-07-30 | 2018-05-22 | Cisco Technology, Inc. | Elastic WAN optimization cloud services |
US9380077B2 (en) * | 2013-08-08 | 2016-06-28 | Iboss, Inc. | Switching between networks |
US9247075B2 (en) * | 2013-08-27 | 2016-01-26 | International Business Machines Corporation | Data sharing with mobile devices |
WO2015033206A1 (en) * | 2013-09-06 | 2015-03-12 | Orange | Secure toll-free application data access |
US10073754B2 (en) | 2013-09-13 | 2018-09-11 | Assurant, Inc. | Systems and methods for collecting, tracking, and storing system performance and event data for computing devices |
US8910263B1 (en) | 2013-09-17 | 2014-12-09 | Iboss, Inc. | Mobile device management profile distribution |
US10021169B2 (en) | 2013-09-20 | 2018-07-10 | Nuance Communications, Inc. | Mobile application daily user engagement scores and user profiles |
US9271179B2 (en) * | 2013-09-30 | 2016-02-23 | Apple Inc. | Customized coexistence management based on user behavior |
US9313646B2 (en) | 2013-10-17 | 2016-04-12 | At&T Intellectual Property I, Lp | Method and apparatus for adjusting device persona |
KR101787930B1 (en) * | 2013-10-22 | 2017-10-18 | 노키아 테크놀로지스 오와이 | Method and apparatus for managing communications with multiple identification profiles |
WO2014187258A1 (en) * | 2013-10-23 | 2014-11-27 | 中兴通讯股份有限公司 | Traffic control method and apparatus |
US10311482B2 (en) | 2013-11-11 | 2019-06-04 | At&T Intellectual Property I, Lp | Method and apparatus for adjusting a digital assistant persona |
US9565164B2 (en) * | 2013-11-12 | 2017-02-07 | Facebook, Inc. | Techniques to rate-adjust data usage with a virtual private network |
US20160295390A1 (en) * | 2013-11-22 | 2016-10-06 | Telefonaktiebolaget L M Ericsson (Publ) | Centralised capabiity discovery |
US9471937B2 (en) | 2013-12-16 | 2016-10-18 | Verizon Patent And Licensing Inc. | Download account with shared data plan |
EP3087724B1 (en) * | 2013-12-23 | 2019-02-20 | Orange | Server, electronic device, computer programs and methods to push toll-free applications to a user device |
KR102203130B1 (en) * | 2013-12-24 | 2021-01-14 | 삼성전자주식회사 | Method for controlling an use of sim card and an electronic device thereof |
US9577946B1 (en) * | 2014-01-03 | 2017-02-21 | hopTo, Inc. | Account-specific login throttling |
US9491308B1 (en) * | 2014-01-23 | 2016-11-08 | Level 3 Communications, Llc | Telecommunication price-based routing apparatus, system and method |
US10565623B2 (en) * | 2014-01-28 | 2020-02-18 | Oath Inc. | Systems and methods for ad-supported mobile data plans or in-app purchases |
US10248474B2 (en) * | 2014-01-29 | 2019-04-02 | Microsoft Technology Licensing, Llc | Application event distribution system |
US9686692B2 (en) | 2014-03-20 | 2017-06-20 | Microsoft Technology Licesning, LLC | Wi-Fi tile transfer |
US9755858B2 (en) | 2014-04-15 | 2017-09-05 | Cisco Technology, Inc. | Programmable infrastructure gateway for enabling hybrid cloud services in a network environment |
ES2760875T3 (en) * | 2014-04-30 | 2020-05-18 | Affirmed Networks Inc | Optimization of capacity extension in a mobile network |
US9473365B2 (en) | 2014-05-08 | 2016-10-18 | Cisco Technology, Inc. | Collaborative inter-service scheduling of logical resources in cloud platforms |
WO2015180779A1 (en) * | 2014-05-28 | 2015-12-03 | Telefonaktiebolaget L M Ericsson (Publ) | Terminal dual sim - dual access handling |
US10789642B2 (en) | 2014-05-30 | 2020-09-29 | Apple Inc. | Family accounts for an online content storage sharing service |
US9451445B2 (en) * | 2014-05-30 | 2016-09-20 | Apple Inc. | Electronic subscriber identity module selection |
US9439062B2 (en) * | 2014-05-30 | 2016-09-06 | Apple Inc. | Electronic subscriber identity module application identifier handling |
US9690685B2 (en) * | 2014-05-30 | 2017-06-27 | Apple Inc. | Performance management based on resource consumption |
US10122605B2 (en) | 2014-07-09 | 2018-11-06 | Cisco Technology, Inc | Annotation of network activity through different phases of execution |
US9220123B1 (en) | 2014-07-10 | 2015-12-22 | International Business Machines Corporation | Peer-to-peer sharing of network resources |
US10742763B2 (en) * | 2014-08-26 | 2020-08-11 | Paypal, Inc. | Data limit aware content rendering |
US9825878B2 (en) | 2014-09-26 | 2017-11-21 | Cisco Technology, Inc. | Distributed application framework for prioritizing network traffic using application priority awareness |
US9705971B2 (en) * | 2014-10-06 | 2017-07-11 | Toyota Jidosha Kabushiki Kaisha | Transferring digital data to and from mobile client devices |
WO2016065619A1 (en) | 2014-10-31 | 2016-05-06 | 华为技术有限公司 | Data traffic management method and device |
US9774510B2 (en) * | 2014-11-05 | 2017-09-26 | App Annie Inc. | Facilitating collection and display of information related to data usage by a plurality of mobile devices |
US9426308B2 (en) * | 2014-11-07 | 2016-08-23 | International Business Machines Corporation | Enabling mobile computing devices to track data usage among mobile computing devices that share a data plan |
US9736320B2 (en) * | 2014-11-14 | 2017-08-15 | Tracfone Wireless, Inc. | Wireless access point having metering capability and metering display |
US9848458B2 (en) * | 2014-12-01 | 2017-12-19 | Oceus Networks, Inc. | Wireless parameter-sensing node and network thereof |
US9667808B2 (en) | 2014-12-18 | 2017-05-30 | Facebook, Inc. | Techniques for contextual mobile data access |
US10051134B2 (en) * | 2015-01-13 | 2018-08-14 | Tracfone Wireless, Inc. | Metering and metering display on computer for wireless access point |
US9875346B2 (en) | 2015-02-06 | 2018-01-23 | Apple Inc. | Setting and terminating restricted mode operation on electronic devices |
US10050862B2 (en) | 2015-02-09 | 2018-08-14 | Cisco Technology, Inc. | Distributed application framework that uses network and application awareness for placing data |
US10037617B2 (en) | 2015-02-27 | 2018-07-31 | Cisco Technology, Inc. | Enhanced user interface systems including dynamic context selection for cloud-based networks |
US10708342B2 (en) * | 2015-02-27 | 2020-07-07 | Cisco Technology, Inc. | Dynamic troubleshooting workspaces for cloud and network management systems |
US10382534B1 (en) | 2015-04-04 | 2019-08-13 | Cisco Technology, Inc. | Selective load balancing of network traffic |
US20160316379A1 (en) * | 2015-04-22 | 2016-10-27 | Vonage Network, Llc | Systems and methods for controlling the data rate of an internet protocol communication |
US9723470B1 (en) * | 2015-04-30 | 2017-08-01 | Tensera Networks Ltd. | Selective enabling of data services to roaming wireless terminals |
WO2016179484A1 (en) * | 2015-05-07 | 2016-11-10 | Affirmed Networks, Inc. | Methods and systems for call detail record generation for billing systems |
US10476982B2 (en) | 2015-05-15 | 2019-11-12 | Cisco Technology, Inc. | Multi-datacenter message queue |
US9769865B2 (en) * | 2015-05-26 | 2017-09-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Opportunistic data transfer |
US9996574B2 (en) * | 2015-06-30 | 2018-06-12 | International Business Machines Corporation | Enhancements for optimizing query executions |
US10034201B2 (en) | 2015-07-09 | 2018-07-24 | Cisco Technology, Inc. | Stateless load-balancing across multiple tunnels |
US9917841B1 (en) * | 2015-07-30 | 2018-03-13 | Sprint Communications Company L.P. | Branding and improper operation detection on a user equipment |
US10476782B2 (en) * | 2015-08-03 | 2019-11-12 | Nexmo, Inc. | Systems and methods for adaptive routing |
US9843885B2 (en) * | 2015-08-12 | 2017-12-12 | Apple Inc. | Methods, procedures and framework to provision an eSIM and make it multi-SIM capable using primary account information |
US9774648B2 (en) * | 2015-09-01 | 2017-09-26 | International Business Machines Corporation | Equitable and cooperative bandwidth pooling for a shared media event |
US10320644B1 (en) * | 2015-09-14 | 2019-06-11 | Amazon Technologies, Inc. | Traffic analyzer for isolated virtual networks |
US20170078416A1 (en) * | 2015-09-15 | 2017-03-16 | Lenovo (Singapore) Pte, Ltd. | Apparatus, method, and program product for data bandwidth optimization |
US11005682B2 (en) | 2015-10-06 | 2021-05-11 | Cisco Technology, Inc. | Policy-driven switch overlay bypass in a hybrid cloud network environment |
US10067780B2 (en) | 2015-10-06 | 2018-09-04 | Cisco Technology, Inc. | Performance-based public cloud selection for a hybrid cloud environment |
US9800740B2 (en) * | 2015-10-12 | 2017-10-24 | Verizon Patent And Licensing Inc. | Push/pull hybrid for wireless device usage metering |
US10462136B2 (en) | 2015-10-13 | 2019-10-29 | Cisco Technology, Inc. | Hybrid cloud security groups |
WO2017064658A2 (en) * | 2015-10-14 | 2017-04-20 | Digitata Limited | Dynamic control of data consumption by software applications on mobile devices |
US10237416B2 (en) * | 2015-10-16 | 2019-03-19 | Lenovo (Singapore) Pte. Ltd. | Distributed network data usage metering across authorized personal devices |
US20170118622A1 (en) * | 2015-10-21 | 2017-04-27 | Globetouch, Inc. | Communication exchange for local data services |
JP6387195B2 (en) * | 2015-10-27 | 2018-09-05 | アラクサラネットワークス株式会社 | Communication apparatus, system, and method |
US9635188B1 (en) | 2015-10-30 | 2017-04-25 | International Business Machines Corporation | Mobile device data allocation system |
US10523657B2 (en) | 2015-11-16 | 2019-12-31 | Cisco Technology, Inc. | Endpoint privacy preservation with cloud conferencing |
US10205677B2 (en) | 2015-11-24 | 2019-02-12 | Cisco Technology, Inc. | Cloud resource placement optimization and migration execution in federated clouds |
US9655114B1 (en) | 2015-11-30 | 2017-05-16 | At&T Intellectual Property I, L.P. | Methods and apparatus to allocate bandwidth between subscribers of a communications network |
US20170163821A1 (en) * | 2015-12-03 | 2017-06-08 | Alcatel-Lucent Usa Inc. | Data quota management for wireless communication systems |
US10084703B2 (en) | 2015-12-04 | 2018-09-25 | Cisco Technology, Inc. | Infrastructure-exclusive service forwarding |
US20170171736A1 (en) * | 2015-12-09 | 2017-06-15 | Lenovo (Singapore) Pte. Ltd. | Dynamic pricing for use of network |
US10104514B2 (en) * | 2015-12-17 | 2018-10-16 | T-Mobile Usa, Inc. | Systems and methods for the temporal shifting of data downloads or streaming |
CN105553772B (en) * | 2015-12-18 | 2020-03-17 | 小米科技有限责任公司 | Flow monitoring method and device |
CN105630130B (en) * | 2015-12-18 | 2022-05-31 | 联想(北京)有限公司 | Information processing method and information processing apparatus |
US9699325B1 (en) * | 2015-12-29 | 2017-07-04 | Verizon Patent And Licensing Inc. | Mobile peer-to-peer data balance transfer |
US10554515B2 (en) * | 2015-12-31 | 2020-02-04 | Bright House Networks, Llc | Customer premises network access device for displaying data usage |
GB2553194B (en) * | 2015-12-31 | 2021-03-03 | Pismo Labs Technology Ltd | Methods and systems for sharing data usage at a plurality of network devices |
US20170195250A1 (en) * | 2016-01-06 | 2017-07-06 | Google Inc. | Automatic data restrictions based on signals |
US9736671B2 (en) * | 2016-01-18 | 2017-08-15 | International Business Machines Corporation | Data usage recommendation generator |
JP6597360B2 (en) * | 2016-02-12 | 2019-10-30 | 富士通株式会社 | Connection management program, connection management method, and information processing apparatus |
JP6816368B2 (en) * | 2016-03-11 | 2021-01-20 | 日本電気株式会社 | Wireless communication device and terminal device |
US10594731B2 (en) | 2016-03-24 | 2020-03-17 | Snowflake Inc. | Systems, methods, and devices for securely managing network connections |
JP6462621B2 (en) * | 2016-03-30 | 2019-01-30 | Necプラットフォームズ株式会社 | Wireless LAN communication device, communication method, and program |
US10805167B2 (en) * | 2016-05-02 | 2020-10-13 | Lenovo (Singapore) Pte. Ltd. | Accessibility of applications based on network connection type |
US10129177B2 (en) | 2016-05-23 | 2018-11-13 | Cisco Technology, Inc. | Inter-cloud broker for hybrid cloud networks |
US10244567B2 (en) * | 2016-05-31 | 2019-03-26 | Telefonaktiebolaget Lm Ericsson (Publ) | ICN connectivity awareness |
CN105979501B (en) * | 2016-06-29 | 2019-08-16 | 北京小米移动软件有限公司 | Resource allocation methods and device |
CN107545013A (en) * | 2016-06-29 | 2018-01-05 | 百度在线网络技术(北京)有限公司 | Method and apparatus for providing search recommendation information |
US10659283B2 (en) | 2016-07-08 | 2020-05-19 | Cisco Technology, Inc. | Reducing ARP/ND flooding in cloud environment |
US10432532B2 (en) | 2016-07-12 | 2019-10-01 | Cisco Technology, Inc. | Dynamically pinning micro-service to uplink port |
US10263898B2 (en) | 2016-07-20 | 2019-04-16 | Cisco Technology, Inc. | System and method for implementing universal cloud classification (UCC) as a service (UCCaaS) |
US10382597B2 (en) | 2016-07-20 | 2019-08-13 | Cisco Technology, Inc. | System and method for transport-layer level identification and isolation of container traffic |
US10142346B2 (en) | 2016-07-28 | 2018-11-27 | Cisco Technology, Inc. | Extension of a private cloud end-point group to a public cloud |
US11490232B2 (en) * | 2016-08-01 | 2022-11-01 | Microsoft Technology Licensing, Llc | Location-based conversation identifier |
US10567344B2 (en) | 2016-08-23 | 2020-02-18 | Cisco Technology, Inc. | Automatic firewall configuration based on aggregated cloud managed information |
CN107786956B (en) * | 2016-08-29 | 2021-06-08 | 中国移动通信集团安徽有限公司 | A method and device for determining real-time priority of a package |
US10523524B2 (en) * | 2016-09-13 | 2019-12-31 | Gogo Llc | Usage-based bandwidth optimization |
US10523592B2 (en) | 2016-10-10 | 2019-12-31 | Cisco Technology, Inc. | Orchestration system for migrating user data and services based on user information |
US10334063B2 (en) * | 2016-10-26 | 2019-06-25 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Systems, computing devices, and methods for setting data usage levels among computing devices based on predicted data usage |
US10057803B2 (en) * | 2016-10-28 | 2018-08-21 | Hewlett Packard Enterprise Development Lp | Wi-Fi adoption index |
US20180121461A1 (en) * | 2016-10-31 | 2018-05-03 | Facebook, Inc. | Methods and Systems for Deduplicating Redundant Usage Data for an Application |
US10638418B2 (en) * | 2016-11-04 | 2020-04-28 | Ford Global Technologies, Llc | Method and apparatus for data transfer connection management |
US11044162B2 (en) | 2016-12-06 | 2021-06-22 | Cisco Technology, Inc. | Orchestration of cloud and fog interactions |
CN106528252B (en) * | 2016-12-09 | 2018-04-24 | 北京小米移动软件有限公司 | Object starts method and device |
US10924520B2 (en) * | 2016-12-13 | 2021-02-16 | Microsoft Technology Licensing, Llc | Online charging mechanisms during OCS non-responsiveness |
US10326817B2 (en) | 2016-12-20 | 2019-06-18 | Cisco Technology, Inc. | System and method for quality-aware recording in large scale collaborate clouds |
US10469671B2 (en) | 2016-12-27 | 2019-11-05 | At&T Mobility Ii Llc | Network-based per-application data usage limitations |
US10129718B2 (en) | 2016-12-28 | 2018-11-13 | T-Mobile Usa, Inc. | Data usage analytics application for dynamic control of data usage on a client device |
US10334029B2 (en) | 2017-01-10 | 2019-06-25 | Cisco Technology, Inc. | Forming neighborhood groups from disperse cloud providers |
US10552191B2 (en) | 2017-01-26 | 2020-02-04 | Cisco Technology, Inc. | Distributed hybrid cloud orchestration model |
US10320683B2 (en) | 2017-01-30 | 2019-06-11 | Cisco Technology, Inc. | Reliable load-balancer using segment routing and real-time application monitoring |
US10671571B2 (en) | 2017-01-31 | 2020-06-02 | Cisco Technology, Inc. | Fast network performance in containerized environments for network function virtualization |
US10223063B2 (en) | 2017-02-24 | 2019-03-05 | Spotify Ab | Methods and systems for personalizing user experience based on discovery metrics |
US20180249017A1 (en) * | 2017-02-27 | 2018-08-30 | Microsoft Technology Licensing, Llc | Data Usage Based Data Transfer Determination |
US10154501B2 (en) | 2017-03-17 | 2018-12-11 | At&T Intellectual Property I, L.P. | Determining wireless network availability for connected vehicles |
EP3596598B1 (en) * | 2017-03-22 | 2023-04-26 | Samsung Electronics Co., Ltd. | Method of managing applications and computing device using the same |
US11005731B2 (en) | 2017-04-05 | 2021-05-11 | Cisco Technology, Inc. | Estimating model parameters for automatic deployment of scalable micro services |
WO2018195877A1 (en) * | 2017-04-27 | 2018-11-01 | 华为技术有限公司 | Communication method, device and system |
WO2018222007A1 (en) * | 2017-06-02 | 2018-12-06 | Samsung Electronics Co., Ltd. | Methods and systems for accounting for data usage in mptcp |
US10382274B2 (en) | 2017-06-26 | 2019-08-13 | Cisco Technology, Inc. | System and method for wide area zero-configuration network auto configuration |
US10439877B2 (en) | 2017-06-26 | 2019-10-08 | Cisco Technology, Inc. | Systems and methods for enabling wide area multicast domain name system |
US10892940B2 (en) | 2017-07-21 | 2021-01-12 | Cisco Technology, Inc. | Scalable statistics and analytics mechanisms in cloud networking |
US10425288B2 (en) | 2017-07-21 | 2019-09-24 | Cisco Technology, Inc. | Container telemetry in data center environments with blade servers and switches |
US10601693B2 (en) | 2017-07-24 | 2020-03-24 | Cisco Technology, Inc. | System and method for providing scalable flow monitoring in a data center fabric |
US10541866B2 (en) | 2017-07-25 | 2020-01-21 | Cisco Technology, Inc. | Detecting and resolving multicast traffic performance issues |
US10382995B2 (en) | 2017-09-29 | 2019-08-13 | At&T Intellectual Property I, L.P. | Utilization of crowd-sourced access point data for 5G or other next generation network |
US10271236B1 (en) | 2017-09-29 | 2019-04-23 | At&T Intellectual Property I, L.P. | Collection of crowd-sourced access point data for 5G or other next generation network |
US10231134B1 (en) | 2017-09-29 | 2019-03-12 | At&T Intellectual Property I, L.P. | Network planning based on crowd-sourced access point data for 5G or other next generation network |
US10353800B2 (en) | 2017-10-18 | 2019-07-16 | Cisco Technology, Inc. | System and method for graph based monitoring and management of distributed systems |
US10942836B2 (en) * | 2017-10-26 | 2021-03-09 | Nutanix, Inc. | Application curation |
CN109726580B (en) | 2017-10-31 | 2020-04-14 | 阿里巴巴集团控股有限公司 | Data statistical method and device |
US10652308B2 (en) * | 2017-11-08 | 2020-05-12 | International Business Machines Corporation | Cognitive storage management for a mobile computing device |
US11481362B2 (en) | 2017-11-13 | 2022-10-25 | Cisco Technology, Inc. | Using persistent memory to enable restartability of bulk load transactions in cloud databases |
US10205831B1 (en) * | 2017-11-28 | 2019-02-12 | Verizon Patent And Licensing Inc. | Charging interface between SMF and charging server in next generation wireless networks |
US10705882B2 (en) | 2017-12-21 | 2020-07-07 | Cisco Technology, Inc. | System and method for resource placement across clouds for data intensive workloads |
US11595474B2 (en) | 2017-12-28 | 2023-02-28 | Cisco Technology, Inc. | Accelerating data replication using multicast and non-volatile memory enabled nodes |
US10511534B2 (en) | 2018-04-06 | 2019-12-17 | Cisco Technology, Inc. | Stateless distributed load-balancing |
WO2019216877A1 (en) | 2018-05-07 | 2019-11-14 | Google Llc | Verifying operational statuses of agents interfacing with digital assistant applications |
US10872024B2 (en) * | 2018-05-08 | 2020-12-22 | Apple Inc. | User interfaces for controlling or presenting device usage on an electronic device |
GB2575236A (en) * | 2018-05-11 | 2020-01-08 | Samsung Electronics Co Ltd | User and/or application profiles |
US10728361B2 (en) | 2018-05-29 | 2020-07-28 | Cisco Technology, Inc. | System for association of customer information across subscribers |
US10599538B2 (en) * | 2018-05-31 | 2020-03-24 | Dell Products L.P. | Usage profile based recommendations |
US11853306B2 (en) * | 2018-06-03 | 2023-12-26 | Apple Inc. | Techniques for personalizing app store recommendations |
US10904322B2 (en) | 2018-06-15 | 2021-01-26 | Cisco Technology, Inc. | Systems and methods for scaling down cloud-based servers handling secure connections |
US10764266B2 (en) | 2018-06-19 | 2020-09-01 | Cisco Technology, Inc. | Distributed authentication and authorization for rapid scaling of containerized services |
US11019083B2 (en) | 2018-06-20 | 2021-05-25 | Cisco Technology, Inc. | System for coordinating distributed website analysis |
US10819571B2 (en) | 2018-06-29 | 2020-10-27 | Cisco Technology, Inc. | Network traffic optimization using in-situ notification system |
US10904342B2 (en) | 2018-07-30 | 2021-01-26 | Cisco Technology, Inc. | Container networking using communication tunnels |
US11601825B2 (en) * | 2018-08-08 | 2023-03-07 | Faraday&Future Inc. | Connected vehicle network data transfer optimization |
US10958708B2 (en) | 2018-08-22 | 2021-03-23 | International Business Machines Corporation | Crowdsourcing big data transfer |
GB2576765B (en) * | 2018-08-31 | 2021-03-10 | Spatialbuzz Ltd | Measuring A Network Performance Characteristic |
US10693793B2 (en) | 2018-09-12 | 2020-06-23 | International Business Machines Corporation | Mitigating network saturation following periods of device disconnection and subsequent reconnection |
US11163617B2 (en) * | 2018-09-21 | 2021-11-02 | Microsoft Technology Licensing, Llc | Proactive notification of relevant feature suggestions based on contextual analysis |
KR102012136B1 (en) | 2018-10-24 | 2019-10-21 | 주식회사 엘지유플러스 | System and method for charging according to providing contents |
EP3903516A4 (en) * | 2019-01-04 | 2022-03-23 | Samsung Electronics Co., Ltd. | Method and system for managing communication in user equipment with plurality of subscriber identity modules |
CN109889406B (en) * | 2019-02-02 | 2021-05-14 | 北京百度网讯科技有限公司 | Method, apparatus, device and storage medium for managing network connection |
US10771943B1 (en) * | 2019-02-19 | 2020-09-08 | Microsoft Technology Licensing, Llc | Privacy-enhanced method for linking an eSIM profile |
JP2020135352A (en) * | 2019-02-19 | 2020-08-31 | 富士ゼロックス株式会社 | Information processing device, information processing system, and program |
US10841188B2 (en) | 2019-03-25 | 2020-11-17 | International Business Machines Corporation | Data tagging for service provider usage allocation |
US11363137B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | User interfaces for managing contacts on another electronic device |
US10791212B1 (en) * | 2019-06-25 | 2020-09-29 | Microsoft Technology Licensing, Llc | Electronic concierge for automating event planning and application curation |
DE102019214476A1 (en) * | 2019-09-23 | 2021-03-25 | Siemens Mobility GmbH | Data connection operating method, data transmission unit and vehicle with data transmission unit |
KR102720005B1 (en) * | 2019-10-18 | 2024-10-22 | 삼성전자주식회사 | Application optimizing method and electronic device supporting the same |
US11196827B2 (en) * | 2019-10-30 | 2021-12-07 | At&T Intellectual Property I, L.P. | Data management for connected devices |
US11533102B2 (en) * | 2020-01-06 | 2022-12-20 | Hughes Network Systems, Llc | Optimizing data cap limited service plans |
US11523002B2 (en) * | 2020-01-31 | 2022-12-06 | Charter Communications Operating, Llc | Dynamic bandwidth service limits |
US11019185B1 (en) * | 2020-03-30 | 2021-05-25 | Lenovo (Singapore) Pte. Ltd. | Data usage negotiation |
CN113949674A (en) * | 2020-06-29 | 2022-01-18 | 成都鼎桥通信技术有限公司 | Data transmission method, system, network equipment, media equipment and receiving equipment |
KR102295091B1 (en) * | 2020-07-10 | 2021-08-30 | 삼성전자주식회사 | Tethering distribution apparatus, control method thereof, and central mediator |
CN114363139B (en) * | 2020-09-30 | 2024-05-03 | 北京金山云网络技术有限公司 | Planning bandwidth determining method, planning bandwidth determining device, electronic equipment and readable storage medium |
US11240566B1 (en) * | 2020-11-20 | 2022-02-01 | At&T Intellectual Property I, L.P. | Video traffic management using quality of service and subscriber plan information |
TWI776287B (en) * | 2020-11-24 | 2022-09-01 | 威聯通科技股份有限公司 | Cloud file accessing apparatus and method |
US20220210020A1 (en) * | 2020-12-31 | 2022-06-30 | Hughes Network Systems, Llc | Smart Meter For Monitoring And Controlling Internet Usage |
US11582648B2 (en) * | 2021-01-26 | 2023-02-14 | Dish Wireless L.L.C. | Dynamic facilitation of communications services |
CN116802744A (en) * | 2021-02-25 | 2023-09-22 | 德克斯康公司 | Glucose reporting and visualization of best days |
US11695878B2 (en) * | 2021-03-31 | 2023-07-04 | T-Mobile Usa, Inc. | Adjustable and dynamic thresholds in wireless networks |
CN113362244B (en) * | 2021-06-03 | 2023-02-24 | 淄博职业学院 | Image processing method based on priority and data use plan |
US12223361B2 (en) * | 2021-08-02 | 2025-02-11 | Dell Products L.P. | Systems and methods to trigger workload migration between cloud-based resources and local resources |
EP4395636A1 (en) | 2021-08-31 | 2024-07-10 | Masimo Corporation | Privacy switch for mobile communications device |
US20230087930A1 (en) * | 2021-09-21 | 2023-03-23 | Tangoe Us, Inc. | Telecom Provider Analysis Tool |
US12219420B2 (en) | 2022-03-10 | 2025-02-04 | T-Mobile Usa, Inc. | Dynamically adjusting a service plan provided to a UE by a wireless telecommunication network |
US12149369B2 (en) | 2022-05-23 | 2024-11-19 | Honeywell International Inc. | Method and system for operating a security system that has a cellular communication connection with a data usage cap |
US12132579B2 (en) * | 2022-10-19 | 2024-10-29 | At&T Intellectual Property I, L.P. | Method and apparatus for performing an accounting network layer as a service |
US20240232336A9 (en) * | 2022-10-25 | 2024-07-11 | Mellanox Technologies, Ltd. | Method for definition, consumption, and controlled access of dpu resources and services |
US12081816B1 (en) * | 2023-03-27 | 2024-09-03 | Adeia Guides Inc. | System and methods for social ads and premium upgrades for multi-account watch parties |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100184440A1 (en) * | 2009-01-22 | 2010-07-22 | Microsoft Corporation | Mobile device network selection |
US20130064106A1 (en) * | 2011-09-09 | 2013-03-14 | Dany Sylvain | AUTOMATIC TRANSFER OF MOBILE CALLS BETWEEN VOICE OVER INTERNET PROTOCOL (VoIP) AND GUARANTEED SERVICE (GS) NETWORKS BASED ON QUALITY OF SERVICE (QoS) MEASUREMENTS |
US20140044099A1 (en) * | 2011-04-13 | 2014-02-13 | St-Ericsson Sa | Handling of downlink ip packet transmission switching on dual sim ue |
Family Cites Families (154)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5826198A (en) * | 1992-01-13 | 1998-10-20 | Microcom Systems, Inc. | Transmission of data over a radio frequency channel |
US5778182A (en) | 1995-11-07 | 1998-07-07 | At&T Corp. | Usage management system |
JPH1011344A (en) | 1996-06-24 | 1998-01-16 | Mitsubishi Electric Corp | Data backup method |
US6308328B1 (en) | 1997-01-17 | 2001-10-23 | Scientific-Atlanta, Inc. | Usage statistics collection for a cable data delivery system |
AU4099501A (en) | 2000-03-10 | 2001-09-17 | Herbert Street Technologies Ltd. | A data transfer and management system |
CA2303739C (en) | 2000-04-04 | 2009-06-30 | Webhancer Corporation | Method and system for managing performance of data transfers for a data access system |
IL138408A0 (en) * | 2000-04-07 | 2001-10-31 | Digitalsecu Co Ltd | Apparatus for and method of storing log data in communication network |
WO2001095587A2 (en) | 2000-06-05 | 2001-12-13 | Lariat Software, Inc. | System and method for calculating concurrent network connections |
US7184749B2 (en) | 2000-09-07 | 2007-02-27 | Traq Wireless, Inc. | System and method for analyzing wireless communication data |
FI20002814A0 (en) | 2000-12-21 | 2000-12-21 | Nokia Mobile Phones Ltd | Context-based communication backup method and arrangement, communication network and communication network terminal |
US20020082991A1 (en) | 2000-12-27 | 2002-06-27 | Richard Friedman | Telecommunications cost management system |
US7720727B2 (en) | 2001-03-01 | 2010-05-18 | Fisher-Rosemount Systems, Inc. | Economic calculations in process control system |
US20030066055A1 (en) | 2001-04-26 | 2003-04-03 | Spivey John Michael | Profiling computer programs |
US7320131B1 (en) | 2001-06-06 | 2008-01-15 | Cisco Technology, Inc. | Methods and apparatus for selecting a server to process a request |
JP5068406B2 (en) | 2001-09-26 | 2012-11-07 | 日本電気株式会社 | Packet communication restriction system and packet communication restriction method for portable terminal |
JP3868250B2 (en) | 2001-10-09 | 2007-01-17 | 松下電器産業株式会社 | Data transfer device, data transfer system, and data transfer method |
US6898734B2 (en) | 2001-12-13 | 2005-05-24 | International Business Machines Corporation | I/O stress test |
US7450927B1 (en) | 2002-01-23 | 2008-11-11 | At&T Corp. | Interactive communication service account management system |
US8216071B2 (en) * | 2002-03-20 | 2012-07-10 | Intel Corporation | Method and apparatus for software delivery and management |
JP2003299150A (en) | 2002-03-29 | 2003-10-17 | Toshiba Corp | Radio terminal equipment |
US20040040021A1 (en) * | 2002-05-06 | 2004-02-26 | Microsoft Corporation | Method and system for keeping an application up-to-date |
JP4239058B2 (en) | 2002-05-22 | 2009-03-18 | ソニー株式会社 | Radio communication apparatus, radio communication apparatus control method, radio communication apparatus control method program, and recording medium storing radio communication apparatus control method program |
JP2004072590A (en) * | 2002-08-08 | 2004-03-04 | Matsushita Electric Ind Co Ltd | Terminal device and server device |
US20040032828A1 (en) | 2002-08-16 | 2004-02-19 | Cellglide Technologies Corp. | Service management in cellular networks |
JP2004140684A (en) | 2002-10-18 | 2004-05-13 | Kyocera Corp | Wireless communication terminal |
US7343593B2 (en) | 2002-12-09 | 2008-03-11 | Siemens Aktiengesellschaft | Method and device for porting software programs to a target platform by way of an electronic data processing system |
KR100453071B1 (en) | 2003-01-18 | 2004-10-15 | 삼성전자주식회사 | Apparatus and method for connecting processor to bus |
US7818252B2 (en) | 2003-02-20 | 2010-10-19 | Gilat Satellite Networks, Ltd | Enforcement of network service level agreements |
US20040176965A1 (en) | 2003-03-05 | 2004-09-09 | The Minster Machine Company | Durable goods equipment availability and usage system and method |
US7532571B1 (en) | 2003-06-27 | 2009-05-12 | Microsoft Corporation | Providing online connectivity across a range of electronic communications systems |
US20050052992A1 (en) * | 2003-08-01 | 2005-03-10 | Cloonan Thomas J. | Method and system for dynamically managing cable data bandwidth based on channel congestion state and subscriber usage profile |
US7660755B2 (en) | 2003-09-18 | 2010-02-09 | At&T Intellectual Property I, L.P. | Methods, systems, and computer-readable-mediums for managing rollover usage units of communication services |
WO2005036348A2 (en) * | 2003-10-06 | 2005-04-21 | Broadbeam Corporation | Method and apparatus for intelligent seamless network switching |
US7103740B1 (en) | 2003-12-31 | 2006-09-05 | Veritas Operating Corporation | Backup mechanism for a multi-class file system |
JP4269162B2 (en) | 2004-01-07 | 2009-05-27 | 日本電気株式会社 | Wireless route selection method for portable communication terminal, portable communication terminal and wireless communication system |
DE602004028661D1 (en) | 2004-01-27 | 2010-09-23 | Actix Ltd | TRAFFIC MONITORING SYSTEM FOR A MOBILE RADIO NETWORK FOR TRAFFIC ANALYSIS WITH A HIERARCHICAL APPROACH |
US7564799B2 (en) * | 2004-04-23 | 2009-07-21 | Intermec Ip Corp. | System and method for providing seamless roaming |
WO2006012058A1 (en) * | 2004-06-28 | 2006-02-02 | Japan Communications, Inc. | Systems and methods for mutual authentication of network |
US20060141983A1 (en) | 2004-12-23 | 2006-06-29 | Srinivasan Jagannathan | Network usage analysis system using customer and pricing information to maximize revenue and method |
JP2005168041A (en) | 2004-12-28 | 2005-06-23 | Toshiba Corp | Radio communication system |
US7996465B2 (en) | 2005-03-03 | 2011-08-09 | Raytheon Company | Incident command system |
US7743128B2 (en) | 2005-04-20 | 2010-06-22 | Netqos, Inc. | Method and system for visualizing network performance characteristics |
US20060277224A1 (en) * | 2005-06-07 | 2006-12-07 | Microsoft Corporation | Synchronizing arbitrary data using a flexible schema |
EP1897276B1 (en) | 2005-06-28 | 2018-06-20 | Telecom Italia S.p.A. | Indication of service availability for a user terminal |
US10178522B2 (en) * | 2005-08-02 | 2019-01-08 | Qualcomm Incorporated | VoIP emergency call support |
WO2007030525A2 (en) | 2005-09-07 | 2007-03-15 | Sms. Ac, Inc. | Automated billing and distribution platform for application providers |
US20070211674A1 (en) | 2006-03-09 | 2007-09-13 | Ragnar Karlberg Lars J | Auto continuation/discontinuation of data download and upload when entering/leaving a network |
JP4829670B2 (en) | 2006-04-28 | 2011-12-07 | 株式会社日立製作所 | SAN management method and SAN management system |
US8542661B2 (en) * | 2006-05-16 | 2013-09-24 | Autonet Mobile, Inc. | Mobile router network server method with billing reconciliation |
US8521843B2 (en) | 2006-05-25 | 2013-08-27 | Qualcomm Incorporated | Methods and apparatus for sampling usage information from a pool of terminals in a data network |
DE102006033156A1 (en) | 2006-07-18 | 2008-01-24 | Keiper Gmbh & Co.Kg | Structure of a vehicle seat |
CN101150496A (en) | 2006-09-22 | 2008-03-26 | 中兴通讯股份有限公司 | Method for improving important information network transmission quality |
US20080089237A1 (en) | 2006-10-11 | 2008-04-17 | Ibahn Corporation | System and method for dynamic network traffic prioritization |
US20120142310A1 (en) * | 2006-12-22 | 2012-06-07 | Integrated Mobile, Inc. | System and method for managing mobile devices and services |
US8850140B2 (en) | 2007-01-07 | 2014-09-30 | Apple Inc. | Data backup for mobile device |
WO2008097105A1 (en) | 2007-02-07 | 2008-08-14 | Advanced Media Systems Limited | Methods, systems and apparatus for monitoring and/or generating communications in a communications network |
US8924352B1 (en) | 2007-03-31 | 2014-12-30 | Emc Corporation | Automated priority backup and archive |
US20080250083A1 (en) | 2007-04-03 | 2008-10-09 | International Business Machines Corporation | Method and system of providing a backup configuration program |
US20080311912A1 (en) | 2007-06-15 | 2008-12-18 | Qualcomm Incorporated | System selection based on application requirements and preferences |
TWI386012B (en) | 2007-06-20 | 2013-02-11 | Inventec Appliances Corp | Method for mobile phone with gsm and cdma modes to control two gsm subscriber identify modules |
WO2008155444A1 (en) | 2007-06-21 | 2008-12-24 | Elektrobit Wireless Communications Oy | Radio resource control |
US8572256B2 (en) * | 2007-07-16 | 2013-10-29 | Qualcomm Incorporated | Method for supporting multiple diversified data applications with efficient use of network resources |
US8538378B2 (en) | 2007-08-24 | 2013-09-17 | Microsoft Corporation | Mobile billboard and usage advisor |
US20090068984A1 (en) | 2007-09-06 | 2009-03-12 | Burnett R Alan | Method, apparatus, and system for controlling mobile device use |
US8831575B2 (en) | 2007-09-26 | 2014-09-09 | Qualcomm Incorporated | Apparatus and methods associated with open market handsets |
US7986935B1 (en) | 2007-10-26 | 2011-07-26 | Sprint Communications Company L.P. | Service plan optimizer |
US8108517B2 (en) | 2007-11-27 | 2012-01-31 | Umber Systems | System and method for collecting, reporting and analyzing data on application-level activity and other user information on a mobile data network |
US8452927B2 (en) | 2008-01-02 | 2013-05-28 | Sandisk Technologies Inc. | Distributed storage service systems and architecture |
US8261278B2 (en) | 2008-02-01 | 2012-09-04 | Ca, Inc. | Automatic baselining of resource consumption for transactions |
US20090203352A1 (en) | 2008-02-13 | 2009-08-13 | Xelex Technologies Inc. | Mobile phone/device usage tracking system and method |
JP2009230575A (en) | 2008-03-24 | 2009-10-08 | Toyota Motor Corp | Backup system, onboard backup system, and onboard device |
US8363672B2 (en) | 2008-05-08 | 2013-01-29 | Gilat Satellite Networks Ltd. | Optimization of internet traffic based on application prioritization |
US20100192170A1 (en) | 2009-01-28 | 2010-07-29 | Gregory G. Raleigh | Device assisted service profile management with user preference, adaptive policy, network neutrality, and user privacy |
US20100015926A1 (en) | 2008-07-18 | 2010-01-21 | Luff Robert A | System and methods to monitor and analyze events on wireless devices to predict wireless network resource usage |
US8706863B2 (en) | 2008-07-18 | 2014-04-22 | Apple Inc. | Systems and methods for monitoring data and bandwidth usage |
GB2463000B (en) | 2008-07-25 | 2012-11-07 | Vodafone Plc | Mobile communications network |
US8055237B2 (en) | 2008-08-06 | 2011-11-08 | Bridgewater Systems Corp. | Usage measurement collection and analysis to dynamically regulate customer network usage |
US8064876B2 (en) | 2008-09-30 | 2011-11-22 | At&T Intellectual Property Ii, L.P. | Systems for use with multi-number cellular devices |
KR101006275B1 (en) * | 2008-10-01 | 2011-01-06 | 주식회사 케이티 | Method and system for providing prepaid service using prepaid account segmentation |
US8473858B2 (en) | 2008-10-16 | 2013-06-25 | Bank Of America Corporation | Graph viewer displaying predicted account balances and expenditures |
US8347386B2 (en) * | 2008-10-21 | 2013-01-01 | Lookout, Inc. | System and method for server-coupled malware prevention |
US8984628B2 (en) | 2008-10-21 | 2015-03-17 | Lookout, Inc. | System and method for adverse mobile application identification |
JP2010103892A (en) * | 2008-10-27 | 2010-05-06 | Nec Corp | Communication terminal, charge plan management apparatus, management system, management method and management program |
US8374576B2 (en) * | 2008-12-04 | 2013-02-12 | At&T Intellectual Property I, L.P. | Methods, systems, and computer program products for generating resource utilization alerts through communication terminals |
CA2745995A1 (en) | 2008-12-08 | 2010-06-17 | Neuralitic Systems | A method and system for analysing a mobile operator data network |
US8160598B2 (en) * | 2008-12-10 | 2012-04-17 | At&T Intellectual Property Ii, L.P. | Lightweight application level policy management for portable wireless devices under varying network |
US8249904B1 (en) * | 2008-12-12 | 2012-08-21 | Amazon Technologies, Inc. | Managing use of program execution capacity |
US8407721B2 (en) * | 2008-12-12 | 2013-03-26 | Microsoft Corporation | Communication interface selection on multi-homed devices |
US20100159948A1 (en) * | 2008-12-19 | 2010-06-24 | Taproot Systems, Inc. | Adaptive Networking For Power Savings |
US8271005B2 (en) | 2009-01-12 | 2012-09-18 | Jlt Group, Inc. | Mobile communication device and system with limited data transfer |
US8606911B2 (en) * | 2009-03-02 | 2013-12-10 | Headwater Partners I Llc | Flow tagging for service policy implementation |
US8745191B2 (en) | 2009-01-28 | 2014-06-03 | Headwater Partners I Llc | System and method for providing user notifications |
US10715342B2 (en) * | 2009-01-28 | 2020-07-14 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
US9578182B2 (en) * | 2009-01-28 | 2017-02-21 | Headwater Partners I Llc | Mobile device and service management |
US8577329B2 (en) * | 2009-05-04 | 2013-11-05 | Bridgewater Systems Corp. | System and methods for carrier-centric mobile device data communications cost monitoring and control |
US9203629B2 (en) | 2009-05-04 | 2015-12-01 | Bridgewater Systems Corp. | System and methods for user-centric mobile device-based data communications cost monitoring and control |
GB2470071B (en) | 2009-05-08 | 2013-06-05 | Vodafone Plc | Telcommunications networks |
EP2438708B1 (en) * | 2009-06-01 | 2014-09-03 | Alcatel Lucent | Notification of charging rate adjustments in regions of a mobile network to control bandwidth usage in the regions |
US8214487B2 (en) | 2009-06-10 | 2012-07-03 | At&T Intellectual Property I, L.P. | System and method to determine network usage |
CA2673135C (en) | 2009-07-17 | 2017-01-17 | Anomalous Networks, Inc. | Determining usage predictions and detecting anomalous user activity through traffic patterns |
US8498749B2 (en) * | 2009-08-21 | 2013-07-30 | Allure Energy, Inc. | Method for zone based energy management system with scalable map interface |
KR20110023009A (en) * | 2009-08-28 | 2011-03-08 | 주식회사 케이티 | Method for charging wireless internet service fee and mobile communication terminal therefor |
US8509212B2 (en) | 2009-09-22 | 2013-08-13 | Verizon Patent And Licensing Inc. | Method and system of recovering lost mobile devices |
JP5168512B2 (en) | 2009-12-08 | 2013-03-21 | 日本電気株式会社 | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM |
US20110137776A1 (en) | 2009-12-09 | 2011-06-09 | Allconnect, Inc. | Systems and methods for managing and/or recommending third party products and services provided to a user |
US8112062B2 (en) | 2009-12-22 | 2012-02-07 | Cellco Partnership | System and method for sending threshold notification in real time |
WO2011097329A2 (en) | 2010-02-03 | 2011-08-11 | Trilogy Ip Holdings, Inc. | Mobile communication plan offerings |
US8650277B2 (en) * | 2010-02-03 | 2014-02-11 | Symantec Corporation | Method, system, and computer readable medium for gathering usage statistics |
US8996649B2 (en) * | 2010-02-05 | 2015-03-31 | Qualcomm Incorporated | Utilizing policies for offload and flow mobility in wireless communications |
US8230061B2 (en) | 2010-03-17 | 2012-07-24 | Microsoft Corporation | Network resource management with prediction |
US20120198046A1 (en) | 2010-04-29 | 2012-08-02 | Mehul Jayant Shah | Mobile device bandwidth throttling |
JP2011237950A (en) | 2010-05-07 | 2011-11-24 | Fujitsu Ltd | Information processor, backup server, backup program, backup method, and backup system |
NZ603631A (en) | 2010-05-25 | 2013-10-25 | Headwater Partners I Llc | Device- assisted services for protecting network capacity |
US8615236B2 (en) * | 2010-06-04 | 2013-12-24 | Palm, Inc. | System and method for dynamically managing connections using feature prioritization |
US20120208495A1 (en) * | 2010-06-23 | 2012-08-16 | Twilio, Inc. | System and method for monitoring account usage on a platform |
ES2963460T3 (en) | 2010-07-02 | 2024-03-27 | Vodafone Ip Licensing Ltd | Billing in telecommunications networks |
KR101161966B1 (en) | 2010-07-09 | 2012-07-04 | 에스케이하이닉스 주식회사 | Multi chip package having a chip address circuit |
CN101895967A (en) | 2010-07-21 | 2010-11-24 | 中兴通讯股份有限公司 | WIFI-based document downloading method and device thereof |
US8484568B2 (en) | 2010-08-25 | 2013-07-09 | Verizon Patent And Licensing Inc. | Data usage monitoring per application |
US8595289B2 (en) * | 2010-09-21 | 2013-11-26 | Telefonaktiebolaget L M Ericsson (Publ) | Cloud phone with distributed processing |
BR112013007030A2 (en) | 2010-09-28 | 2020-06-16 | Headwater Partners I Llc | NETWORK SYSTEM TO PROVIDE NETWORK ACCESS SERVICE NOTIFICATION MESSAGES THAT CONTAIN INFORMATION ABOUT A NETWORK ACCESS ACTIVITY FROM AN END USER DEVICE; NETWORK SYSTEM FOR CLASSIFYING ACCOUNTING FOR ACCESS NETWORK SERVICE USE BY AN END-USER DEVICE; COMMUNICATIONS DEVICE; AND NETWORK SYSTEM TO PROVIDE NETWORK ACCESS SERVICE CONTROL FOR AN END-USER DEVICE. |
US8285250B2 (en) * | 2010-11-01 | 2012-10-09 | Google Inc. | Mobile device-based bandwidth throttling |
US8893007B2 (en) * | 2010-11-09 | 2014-11-18 | Microsoft Corporation | Managing network usage per application via policies |
EP2464054A1 (en) | 2010-12-07 | 2012-06-13 | British Telecommunications Public Limited Company | Communications device |
US20120150808A1 (en) | 2010-12-13 | 2012-06-14 | Verizon Patent And Licensing Inc. | Method and system for performing data backup and restoration |
US9124436B2 (en) | 2010-12-16 | 2015-09-01 | Cellco Partnership | Intelligent automated data usage upgrade recommendation |
US8971841B2 (en) * | 2010-12-17 | 2015-03-03 | Microsoft Corporation | Operating system supporting cost aware applications |
US20120158947A1 (en) | 2010-12-17 | 2012-06-21 | Microsoft Corporation | Operating system supporting cost aware applications |
JP5315331B2 (en) | 2010-12-24 | 2013-10-16 | 株式会社エヌ・ティ・ティ・ドコモ | COMMUNICATION SYSTEM, COMMUNICATION CONTROL DEVICE, COMMUNICATION METHOD, AND MOBILE DEVICE |
KR101337724B1 (en) * | 2010-12-27 | 2013-12-06 | 주식회사 팬택 | Mobile terminal displaying the amount of using data for each application and control method there of |
ES2770577T3 (en) * | 2011-01-31 | 2020-07-02 | Synchronoss Tech Inc | System and method for the agnostic management of the server and operating system of connected devices through the alteration of the state controlled by the network |
US8689541B2 (en) * | 2011-02-16 | 2014-04-08 | GM Global Technology Operations LLC | Valvetrain control method and apparatus for conserving combustion heat |
US8929859B2 (en) * | 2011-04-26 | 2015-01-06 | Openet Telecom Ltd. | Systems for enabling subscriber monitoring of telecommunications network usage and service plans |
US9501785B2 (en) * | 2011-04-28 | 2016-11-22 | Google Inc. | Using feedback reports to determine performance of an application in a geographic location |
EP2712442A1 (en) | 2011-05-09 | 2014-04-02 | Google, Inc. | Recommending applications for mobile devices based on installation histories |
CN104012041B (en) | 2011-05-24 | 2018-02-09 | 思杰系统有限公司 | system and method for analyzing network index |
US8819471B2 (en) | 2011-06-03 | 2014-08-26 | Apple Inc. | Methods and apparatus for power state based backup |
US8924585B2 (en) * | 2011-06-03 | 2014-12-30 | Apple Inc. | Method for optimizing transport channels of devices |
US8654649B2 (en) * | 2011-07-27 | 2014-02-18 | Cisco Technology, Inc. | Reduced topology routing in shared media communication networks |
US8478233B2 (en) * | 2011-08-01 | 2013-07-02 | Qualcomm Innovation Center, Inc. | Mobile computing device application network use metric and monetary cost monitor and control |
US9396482B2 (en) | 2011-08-31 | 2016-07-19 | Verizon Patent And Licensing Inc. | Data usage plan associated with user device |
WO2013033702A1 (en) | 2011-09-01 | 2013-03-07 | Google Inc. | Establishing network connections |
US8799365B2 (en) | 2011-09-28 | 2014-08-05 | Verizon Patent And Licensing Inc. | Broker-based management of mobile devices |
US8359389B1 (en) * | 2011-10-11 | 2013-01-22 | Google Inc. | Monitoring application program resource consumption |
US9160790B1 (en) | 2011-10-17 | 2015-10-13 | Google, Inc. | Methods and systems for determining and controlling network data usage at the application and feature level |
US8880022B2 (en) * | 2011-11-10 | 2014-11-04 | Microsoft Corporation | Providing per-application resource usage information |
US20130122882A1 (en) | 2011-11-14 | 2013-05-16 | Labhesh Patel | Automated provisioning of cellphone plans triggered by mobile device management system alerts and usage thresholds |
US9544195B1 (en) | 2011-11-30 | 2017-01-10 | Amazon Technologies, Inc. | Bandwidth monitoring for data plans |
US8885584B2 (en) * | 2011-11-30 | 2014-11-11 | Blackberry Limited | Multiple concurrent data link management |
US8503978B2 (en) | 2011-12-09 | 2013-08-06 | Cellco Partnership | Real time data usage metering on a mobile station and reconciliation with billable usage measured by a mobile network |
CN103188647A (en) | 2011-12-29 | 2013-07-03 | 北京网秦天下科技有限公司 | Method and system for statistically analyzing and warning Internet surfing flow of mobile terminal |
US9213729B2 (en) * | 2012-01-04 | 2015-12-15 | Trustgo Mobile, Inc. | Application recommendation system |
US9161200B2 (en) | 2012-01-27 | 2015-10-13 | Microsoft Technology Licensing, Llc | Managing network data transfers in view of multiple data usage plans |
US9413893B2 (en) | 2012-04-05 | 2016-08-09 | Assurant, Inc. | System, method, apparatus, and computer program product for providing mobile device support services |
-
2012
- 2012-12-20 US US13/721,058 patent/US9161200B2/en active Active
- 2012-12-20 US US13/721,041 patent/US9838287B2/en active Active
- 2012-12-20 US US13/721,053 patent/US8977231B2/en active Active
- 2012-12-20 US US13/721,083 patent/US9264556B2/en active Active
- 2012-12-20 US US13/721,023 patent/US9887894B2/en active Active
- 2012-12-20 US US13/721,066 patent/US9900231B2/en active Active
- 2012-12-20 US US13/721,032 patent/US9049589B2/en active Active
- 2012-12-20 US US13/721,069 patent/US9369589B2/en active Active
- 2012-12-20 US US13/721,029 patent/US9544212B2/en active Active
-
2013
- 2013-01-16 TW TW102101668A patent/TWI603642B/en not_active IP Right Cessation
- 2013-01-21 CN CN201380006806.5A patent/CN104081360B/en active Active
- 2013-01-21 AU AU2013212632A patent/AU2013212632B2/en active Active
- 2013-01-21 MX MX2017001228A patent/MX366246B/en unknown
- 2013-01-21 EP EP13741633.5A patent/EP2807561B1/en active Active
- 2013-01-21 BR BR112014018380A patent/BR112014018380A8/en not_active Application Discontinuation
- 2013-01-21 CA CA2863455A patent/CA2863455C/en active Active
- 2013-01-21 TW TW102102234A patent/TW201336281A/en unknown
- 2013-01-21 MX MX2014008566A patent/MX345476B/en active IP Right Grant
- 2013-01-21 WO PCT/US2013/022353 patent/WO2013112390A1/en active Application Filing
- 2013-01-21 KR KR1020147023845A patent/KR102098414B1/en not_active Expired - Fee Related
- 2013-01-21 JP JP2014554756A patent/JP6195313B2/en active Active
- 2013-01-21 RU RU2014131055A patent/RU2614538C2/en active
- 2013-01-24 WO PCT/US2013/022822 patent/WO2013112647A1/en active Application Filing
- 2013-01-24 CN CN201380006974.4A patent/CN104081339B/en active Active
- 2013-01-24 KR KR1020147023636A patent/KR102021631B1/en active Active
- 2013-01-24 EP EP13741434.8A patent/EP2807553B1/en active Active
- 2013-01-24 JP JP2014554805A patent/JP2015508632A/en active Pending
-
2015
- 2015-03-09 US US14/642,378 patent/US9660889B2/en active Active
- 2015-08-25 US US14/835,693 patent/US20160112577A1/en not_active Abandoned
- 2015-08-28 US US14/839,243 patent/US9887895B2/en active Active
-
2016
- 2016-01-05 US US14/988,462 patent/US9825830B2/en active Active
- 2016-11-11 US US15/350,001 patent/US20170187596A1/en not_active Abandoned
- 2016-11-30 US US15/365,919 patent/US10069705B2/en active Active
-
2017
- 2017-05-08 US US15/589,994 patent/US20170373959A1/en not_active Abandoned
- 2017-06-12 US US15/620,791 patent/US10243824B2/en active Active
-
2018
- 2018-01-19 US US15/876,094 patent/US11223549B2/en active Active
- 2018-12-14 US US16/221,444 patent/US20190230016A1/en not_active Abandoned
-
2022
- 2022-01-11 US US17/573,473 patent/US20220141110A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100184440A1 (en) * | 2009-01-22 | 2010-07-22 | Microsoft Corporation | Mobile device network selection |
US20140044099A1 (en) * | 2011-04-13 | 2014-02-13 | St-Ericsson Sa | Handling of downlink ip packet transmission switching on dual sim ue |
US20130064106A1 (en) * | 2011-09-09 | 2013-03-14 | Dany Sylvain | AUTOMATIC TRANSFER OF MOBILE CALLS BETWEEN VOICE OVER INTERNET PROTOCOL (VoIP) AND GUARANTEED SERVICE (GS) NETWORKS BASED ON QUALITY OF SERVICE (QoS) MEASUREMENTS |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10243824B2 (en) | 2012-01-27 | 2019-03-26 | Microsoft Technology Licensing, Llc | On-device attribution of network data usage |
US11223549B2 (en) | 2012-01-27 | 2022-01-11 | Microsoft Technology Licensing, Llc | Managing data transfers over network connections based on priority and a data usage plan |
US20160094882A1 (en) * | 2014-09-25 | 2016-03-31 | Hyundai Motor Company | Terminal, vehicle having the same, and method of controlling the same |
US9521457B2 (en) * | 2014-09-25 | 2016-12-13 | Hyundai Motor Company | Terminal, vehicle having the same, and method of controlling the same |
US11126977B1 (en) * | 2020-06-29 | 2021-09-21 | APPDIRECT, Inc. | Video call flash payment |
WO2022006015A1 (en) * | 2020-06-29 | 2022-01-06 | APPDIRECT, Inc. | Video call flash payment |
US11727368B1 (en) | 2020-06-29 | 2023-08-15 | APPDIRECT, Inc. | Video call flash payment |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9161200B2 (en) | Managing network data transfers in view of multiple data usage plans | |
JP6740251B2 (en) | Switching between networks based on the quality of available networks | |
US8626165B1 (en) | Dynamic carrier switching | |
US20140068212A1 (en) | Device backups and updates in view of data usage statistics | |
US10104514B2 (en) | Systems and methods for the temporal shifting of data downloads or streaming | |
US10757548B2 (en) | System, process, and device for multiple network usage tracking | |
WO2017054138A1 (en) | Method and device for automatically selecting network according to tariff standard, server, and terminal | |
US20160192312A1 (en) | Remote subscription management | |
US20140274090A1 (en) | Radio Spectrum Utilization | |
US20140274089A1 (en) | Radio Spectrum Utilization | |
US20150142590A1 (en) | User-Specific Point-of-Sale Network Recommendations Based on Connection Quality Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GUDAY, SHAI;ZALMANOVITCH, GIL;SIGNING DATES FROM 20121208 TO 20121214;REEL/FRAME:036419/0276 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:044850/0237 Effective date: 20170905 |
|
STCV | Information on status: appeal procedure |
Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS |
|
STCV | Information on status: appeal procedure |
Free format text: BOARD OF APPEALS DECISION RENDERED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |