US20230412407A1 - Systems and methods for dynamic rate identification - Google Patents
Systems and methods for dynamic rate identification Download PDFInfo
- Publication number
- US20230412407A1 US20230412407A1 US18/060,373 US202218060373A US2023412407A1 US 20230412407 A1 US20230412407 A1 US 20230412407A1 US 202218060373 A US202218060373 A US 202218060373A US 2023412407 A1 US2023412407 A1 US 2023412407A1
- Authority
- US
- United States
- Prior art keywords
- user device
- data
- dynamic rate
- network
- networking services
- 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.)
- Pending
Links
Images
Classifications
-
- 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/1403—Architecture for metering, charging or billing
-
- 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/1403—Architecture for metering, charging or billing
- H04L12/1407—Policy-and-charging control [PCC] architecture
-
- 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/1439—Metric aspects time-based
-
- 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/1442—Charging, metering or billing arrangements for data wireline or wireless communications at network operator level
-
- 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/8033—Rating or billing plans; Tariff determination aspects location-dependent, e.g. business or home
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0226—Traffic management, e.g. flow control or congestion control based on location or mobility
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/026—Route selection considering the moving speed of individual devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/20—Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/04—Wireless resource allocation
- H04W72/044—Wireless resource allocation based on the type of the allocated resource
- H04W72/0457—Variable allocation of band or rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/56—Allocation or scheduling criteria for wireless resources based on priority criteria
Definitions
- Network operators such as telecommunication network operators, 4G/5G network operators, private network operators, or other types of network operators that provide user devices with access to networking services, typically bill users for accessing networking services via user devices (or “user equipment”) based on a predetermined rate.
- the predetermined rate does not change even when the network load, device location, or other aspects of the user device, network, or networking services change.
- Network operators typically bill users based on a predetermined, or pre-negotiated, rate for access to a network operated by the network operator.
- the rate may include a variety of aspects, such as a price paid by a user to access the network via devices associated with the user (“user devices”), an amount of data which the user device is able to transmit or receive, or other aspects of a rate set by a network operator for access to a network.
- user devices devices associated with the user
- network operators are unable to dynamically adjust these predetermined rates based on factors affecting the service provided to user devices.
- These factors may be one or more of: the cost to provide networking services, such as bandwidth costs, costs per byte, kilobyte, megabyte, gigabyte, etc., of transmitting data, and other costs to provide networking services; the location of the user device, such as whether the user device is in an area within which a large number of other user devices are connected to the network, a small number of other user devices are connected to the network, etc.; the effect of the day, time of day, time of week, time of month, time of year, etc., on one or more factors affecting the service; and other factors affecting the service provided to user devices.
- the cost to provide networking services such as bandwidth costs, costs per byte, kilobyte, megabyte, gigabyte, etc., of transmitting data, and other costs to provide networking services
- the location of the user device such as whether the user device is in an area within which a large number of other user devices are connected to the network, a small number of other user devices are connected to the network, etc.
- a user device may have data that is of a higher priority, and must frequently be transmitted or received in order for the user device to function.
- a user device may have data which is of a lower priority that does not need to be frequently transmitted or received in order for the device to function.
- the user device in this example is unable to prioritize the higher priority data, ensure that the higher priority data is processed in a timely manner, etc., when certain factors affecting the network impair the user device's ability to quickly, reliably, etc., transmit and receive the higher priority data.
- the embodiments disclosed herein address the issues above and thus help solve the above technical problems and improve the technology for identifying rates for services provided by a network by identifying a dynamic rate based on a variety of factors related to a network. Additionally, the embodiments disclosed herein can enable a user device to change the types of data transmitted by the user device based on the dynamic rate.
- a dynamic rate identification system identifies a user device, receives data from the user device, the data including data describing a location of the user device, identifies a current time, identifies a cost for networking services to be provided to the user device, and determines a dynamic rate for the user device to use the networking services based on the current time, user device data, and the cost for networking services.
- the dynamic rate may be a price charged to a user associated with the user device for the use of networking services provided by the network.
- a user device transmits one or more types of data via a network, each type of data having a priority, transmits location data to a dynamic rate identification system, receives a dynamic rate from the dynamic rate identification system, determines whether at least one type of data of the one or more types of data should not be transmitted by the user device based on at least the priority of each type of data and the dynamic rate, and causes the user device to temporarily stop transmitting the at least one type of data.
- FIG. 1 is a diagram depicting an example environment in which the dynamic rate identification system is implemented.
- FIG. 2 is a block diagram depicting example components incorporated in a dynamic rate identification system, according to various embodiments described herein.
- FIG. 3 is a graph diagram depicting a multi-dimensional graph of a dynamic rate, according to various embodiments described herein.
- FIG. 4 is a display diagram depicting a sample network utilization over time, according to various embodiments described herein.
- FIG. 5 is a flow diagram depicting a process to determine a dynamic rate for a user device, according to various embodiments described herein.
- FIG. 6 is a flow diagram depicting a process to determine a dynamic rate for a user device based on a sector within which the user device is located, according to various embodiments described herein.
- FIG. 7 is a flow diagram depicting a process for causing a user device not to transmit or receive at least one type of data, according to various embodiments described herein.
- FIG. 8 is a flow diagram depicting a process to determine a dynamic rate for a user device based on a route of the user device, according to various embodiments described herein.
- FIG. 9 is a flow diagram depicting a process for a user device to receive a dynamic rate and stop transmitting at least one type of data, according to various embodiments described herein.
- FIG. 10 is a flow diagram depicting a process to use a hotspot within a sector to transmit data which a user device is not transmitting based on a dynamic rate, according to various embodiments described herein.
- FIG. 11 is a diagram depicting an example of using a dynamic rate identification system to apply new dynamic rates to data transmitted from or received by a user device as it travels along a route, according to various embodiments described herein.
- Network operators typically bill users based on predetermined rates for access to a network, or networking services, operated by the network operator.
- the rate may include various aspects, such as a price paid by a user to access the network via user devices, an amount of data which the user device is able to transmit or receive, or other aspects of a rate set by a network operator for access to a network.
- network operators are unable to dynamically adjust these predetermined rates based on factors affecting the service provided to user devices, such as the location of the user device, the cost to provide networking services, the presence of other devices which are also using the network near the location of the user device, the time that the user device accesses the network, and other factors which may affect the service provided to a user device.
- a user device may have different tiers of priority for data transmitted or received by the user device, such as a higher tier for data required to operate the user device or for high-priority functions of the user device, and a lower tier for data related to low-priority functions of the user device.
- user devices may be required to transmit or receive large quantities of data in order to properly function.
- smart or automated cars typically transmit and receive large amounts of data, in some cases transmitting or receiving multiple gigabytes of data per hour, related to automatically driving or operating the car, such as data collected by sensors included in the car to sense the car's surroundings.
- the car may transmit and receive the large amount of sensor data, in addition to other data, such as data regarding media consumed by the driver, data regarding maintenance or the status of one or more parts of the car, or other data collected by a car.
- the dynamic rate provided by the dynamic rate identification system the car is forced to transmit and receive all of these types of data without any clear indication of the current load on the network.
- the car may receive and transmit data related to its surroundings at a slower rate than needed in order to automatically drive the car because of the high load on the network and because the car is transmitting and receiving all types of data at once.
- the dynamic rate identification system can calculate a dynamic rate for the car based on the car's location. This dynamic rate can be used to determine whether the car should stop transmitting and receiving lower priority data for a period of time, until the car reaches a certain location, until the car is able to connect to a Wi-Fi network or hotspot, etc., and then resume receiving and transmitting the lower priority data.
- the car's high-priority functionality is not impacted, or is minimally impacted, by the network load.
- a user device which is a cellular telephone may transmit and receive data regarding phone calls, applications, SMS or MMS messages, etc., for a user.
- the user may be entering an urban area during their commute, and may have queued a movie download during their commute, which may be assigned a low priority.
- a dynamic rate may be used to cause the cellular telephone to pause the movie download until the cellular telephone is able to connect to a less busy cell tower, a Wi-Fi network or hotspot, etc., and then resume downloading the movie, in order to ensure that higher priority functions of the cellular telephone, such as making calls, are able to be minimally impacted by a high network load caused by a large number of commuters traveling to the same urban area.
- the embodiments disclosed herein address the issues above and thus help solve the technical problems and improve the technology for identifying rates for services provided by a network by identifying a dynamic rate based on a variety of factors related to a network. Additionally, the embodiments disclosed herein are able to cause a user device to change the types of data transmitted by the user device based on the dynamic rate.
- the embodiments disclosed herein can improve the performance of network resources by ensuring that the overall network load is better distributed over time. For example, applying the dynamic rate to user devices may cause user devices to stop transmitting certain types of data during periods with high network load, and to instead transmit those types of data during times of low network load. As such, the use of dynamic rate described herein can result in reducing the network load during periods of relatively high network loads. Distributing the network load in such a manner can improve the quality of networking services being provided to user devices across the network.
- a period of relatively high network load may include a period of time in which a measure of the network load is greater than a selected threshold measure of the network load.
- a period of relatively low network load may include a period of time in which a measure of the network load is less than a selected threshold measure of the network load.
- a dynamic rate identification system identifies a user device, receives data from the user device, the data including data describing a location of the user device, identifies a current time, identifies a cost for networking services to be provided to the user device, and determines a dynamic rate for the user device to use the networking services based on the current time, user device data, and the cost for networking services.
- a dynamic rate identification system identifies one or more sectors of a network, each sector representing a geographic area within which the network is able to provide networking services to user devices, identifies a cost for providing networking services to user devices located within each sector, identifies a change in the cost for providing networking service over time for each sector, identifies a user device, receives data from the user device, the user data including data describing a location of the user device, data describing one or more types of data for which the user device requires or consumes networking services, and data describing a priority measure for each type of data of the one or more types of data, identifies a current time, determines a sector within which the user device is located based on the location of the user device and the identified sectors, determines a dynamic rate for providing networking services to the user based on the current time, the cost for providing networking services to user devices located within the determined sector, and the change in the cost for providing networking services over time within the determined sector, determines whether the user device should not transmit at least one type
- the dynamic rate identification system receives updates regarding the location of the user device.
- the updates may be received over a period of time, received periodically, received for a predetermined amount of time, received at predetermined time intervals, etc.
- the dynamic rate identification system may use an update to determine a new sector within which the user device is located, determine a new current time, determine a new dynamic rate for the user device, or any combination of the three.
- the dynamic rate identification system receives an indication of a route of the user device, the route including one or more potential future locations of the user device.
- the dynamic rate identification system may determine a dynamic rate based on the potential future locations included in the route.
- the dynamic rate identification system may predict a plurality of dynamic rates for the user device.
- the predicted dynamic rates may be used to cause the user devices to pause or resume transmitting or receiving data as the user device moves along the route. For example, the user device may pause transmitting and receiving low priority data between locations A and B, resume transmitting and receiving low priority data between locations B and C, and pause transmitting and receiving the low priority data again between locations C and D.
- the route may be a predicted route of the user device, a known route of the user device, a planned route of the user device, or any other type of route taken by the user device.
- a user device transmits one or more types of data via a network, each type of data having a priority, transmits location data to a dynamic rate identification system, receives a dynamic rate from the dynamic rate identification system, determines whether at least one type of data of the one or more types of data should not be transmitted by the user device based on at least the priority of each type of data and the dynamic rate, and causes the user device to temporarily stop transmitting the at least one type of data.
- the dynamic rate identification system identifies one or more low-cost networks, hotspots, etc., such as, for example, a user's home Wi-Fi network, a public Wi-Fi network made available for free by an entity other than a user, or other low-cost networks or hotspots which a device can use to access the Internet, (collectively “hotspots”) within a sector.
- the dynamic rate identification system may cause the user device to connect to a hotspot and resume transmitting and receiving types of data whose transmission and reception have been paused due to the dynamic rate.
- the dynamic rate identification system may pause the transmission and reception of the types of data after the user device is disconnected from the hotspot.
- the dynamic rate identification system may identify the hotspots based on data stored by the user device indicating one or more hotspots to which the user device has previously connected.
- the dynamic rate identification system may identify the hotspots through a partnership between the network operator, the user, a manufacturer of the user device, etc., and an entity providing the hotspots.
- FIG. 1 is a diagram depicting an example environment 100 in which the dynamic rate identification system 200 is implemented.
- the environment 100 includes a user device 101 , sectors 103 a - 103 c , a network 105 , and a dynamic rate identification system 200 .
- the dynamic rate identification system 200 is further described with respect to FIG. 2 .
- FIG. 1 illustrates just one example of an environment 100 and that the various embodiments discussed herein are not limited to the use of such an environment.
- the environment 100 may include additional or fewer of each of the user devices, sectors, networks, and dynamic rate identification systems described in connection with the environment 100 .
- the user device 101 may be or include one or more devices, such as vehicles (for example, cars, trucks, autonomous vehicles, or another type of vehicle), cellular telephones, smartphones, tablets, personal computers, laptop computers, drones, or any other device configured to communicate over a network 105 which may move through time and space.
- the user device 101 may interconnect to one or more communications media or sources, such as routers, network switches, modems, etc., to transmit communications to other devices.
- the user device 101 may include user device data 111 .
- the user device data 111 includes data used by the user device to perform its functions, such as sensor data, user data, applications, an operating system, etc.
- the user device data 111 additionally includes data describing the types of data that the user device 101 transmits and receives via network services.
- the user device data 111 additionally includes data describing a priority measure for each type of data that the user device 101 transmits and receives via network services.
- the priority measure may indicate that the type of data is prioritized based on one or more tiers, such as, for example, high priority, medium priority, low priority, etc.
- Data from the same source may have multiple assignable priorities depending on the content of the data. For example, sensor data collected on a normally operating component of a vehicle may be assigned as low priority. However, data from the same sensor which detects an abnormal condition may be assigned a higher priority.
- the sectors 103 a - 103 c each represent a sector that receives networking services from a network, such as a network 105 .
- Each sector 103 represents a geographic area within which the network provides networking services, such as a city, an area of network coverage provided by one or more cell towers, or other types of geographic areas.
- a sector 103 may be described based on the network load of one or more particular cell towers within the sector. Further, each sector 103 may be described based on the type of area it represents, such as suburban, urban, rural, city center, city residential area, highway, or other types of area which describe a geographic location.
- the network 105 is a network, communication system, or networked system (not shown), which the user device 101 and other devices (not illustrated) may use to communicate via one or more wireless or wired communication technologies.
- Non-limiting examples of such a network 105 include, but are not limited to, an Ethernet system, twisted pair Ethernet system, an intranet, a local area network (LAN) system, short range wireless network (e.g., Bluetooth®), a personal area network (e.g., a Zigbee network based on the IEEE 802.15.4 specification), a Consumer Electronics Control (CEC) communication system, Wi-Fi, satellite communication systems and networks, cellular networks, cable networks, 4G/5G/6G network, or the like.
- LAN local area network
- short range wireless network e.g., Bluetooth®
- a personal area network e.g., a Zigbee network based on the IEEE 802.15.4 specification
- CEC Consumer Electronics Control
- One or more user devices 101 may be communicatively coupled to the network 105 and/or to each other so that the plurality of user devices are communicatively coupled together.
- a network 105 enables the user device 101 to use the network 105 to transmit or receive data from other computing devices, servers, user devices, or other devices, computers, or systems, connected to a network.
- the network 105 may collect data regarding each of the sectors 103 a - 103 c , such as a number of user devices in a sector over a period of time (such as throughout a day, week, month, etc.), a cost to provide services to user devices over the period of time, and other data related to providing network services to user devices within each sector 103 a - 103 c .
- the data regarding each sector 103 a - 103 c may be analyzed by a dynamic rate identification system, such as by using statistical analysis, machine learning models, artificial intelligence, etc., to generate dynamic rates which may be billed to user devices when the user device uses network services within a sector at certain times.
- the dynamic rate identification system 200 collects the data regarding each of the sectors 103 a - 103 c .
- the dynamic rate identification system 200 may obtain the location of the user device 101 , such as by receiving the location from the user device, triangulating the user device location, or other methods of obtaining the location of a user device.
- the dynamic rate identification system 200 may identify the sector within which the user device 101 is located and generate a dynamic rate for the user device based on the location of the user device and the data regarding the identified sector. The dynamic rate is used to determine whether the user device should pause transmitting or receiving one or more types of data.
- the dynamic rate is used to determine whether the user device should pause transmitting or receiving one or more types of data along with one or more of: a current network load of at least one cell tower, a predicted network load of at least one cell tower, a measure of the network coverage in an area in which the user device currently is located or is predicted to be located, a scheduled or predicted path of the user device, and other factors which may influence a determination of whether the user device should pause transmitting or receiving one or more types of data.
- the user device may pause transmitting low priority data as it travels along a route, but may resume transmitting the low priority data while it is connected to a cell tower along the route which is currently experiencing a low network load.
- the user device may pause transmitting or receiving the data of a certain priority, such as the lowest priority data, unless the user device is connected to a hotspot or a cell tower experiencing unusually low network load.
- the network load of the cell towers may be predicted based on a future location of the user device, a predicted time the user device would be connected to the cell tower, historical data describing the network load of the cell tower, data describing the current network load of the cell tower, or other data used to predict network load for a cell tower.
- the dynamic rate identification system may use any description or representation of a geographic area, such as the sectors 103 described above, in the same or a similar manner.
- the above description of the environment 100 , and the various networks, devices, and functions therein, is intended as a broad, non-limiting overview of an example environment in which various embodiments of a dynamic rate identification system can operate.
- the environment 100 , and the various devices therein, may contain other devices, systems and/or media not specifically described herein.
- the environment 100 , and the various functions therein, may contain other functions, systems and/or media not specifically described herein.
- Example embodiments described herein provide applications, tools, data structures, and other support to implement systems and methods for identifying a dynamic rate for a user device to use network services, such as the user device 101 and network 105 respectively.
- the example embodiments described herein additionally provide applications tools, data structures, and other support to implement systems and methods for determining whether the device should stop transmitting or receiving one or more types of data based on the dynamic rate.
- Other embodiments of the described techniques may be used for other purposes, such as determining a plurality of dynamic rates for a route traveled by a user device.
- the embodiments described herein may also be used for determining when the device should resume transmitting or receiving the one or more types of data.
- numerous specific details are set forth in order to provide a thorough understanding of the described techniques.
- FIG. 2 is a block diagram depicting example components incorporated in a dynamic rate identification system 200 , according to various embodiments described herein.
- the dynamic rate identification system 200 includes one or more of the following: a computer memory 201 for storing programs and data while they are being used, including data associated with sectors of the network, such as sectors 103 a - 103 c , a network, such as the network 105 , user devices, such as the user device 101 , an operating system including a kernel, and device drivers; a central processing unit (CPU) 202 for executing computer programs; a persistent storage device 203 , such as a hard drive or flash drive for persistently storing programs and data; and a network connection 204 for connecting to one or more computer devices, functions or components of the network 105 , user devices, such as the user device 101 , devices implementing a hotspot, other systems in the telecommunication network, and/or other computer systems, to send and/or receive data, such as via the Internet or another network and associated networking hardware
- the dynamic rate identification system 200 additionally includes input and output devices, such as a keyboard, a mouse, display devices, etc. Aspects of the dynamic rate identification system 200 may be implemented as part of the network (such as a network core, an edge computing resource for the network, or other computing resources available to a network), the user device, or some combination thereof.
- the dynamic rate identification system 200 may be implemented using devices of various types and configurations, and having various components.
- the memory 201 may include a roaming dynamic rate identification controller 210 which contains computer-executable instructions that, when executed by the CPU 202 , cause the dynamic rate identification system 200 to perform the operations and functions described herein.
- the programs referenced above, which may be stored in computer memory 201 may include or be comprised of such computer-executable instructions.
- the dynamic rate identification controller 210 performs the core functions of the dynamic rate identification system 200 , as discussed herein and also with respect to FIGS. 3 through 11 . Aspects of the dynamic rate identification controller 210 which perform the functions of the dynamic rate identification system 200 may be implemented as part of the network (such as a network core, an edge computing resource for the network, or other computing resources available to a network), the user device, or some combination thereof. In particular, the dynamic rate identification controller 210 determines a dynamic rate for a user device based on the current attributes of a sector, such as a cost for providing network services to user devices located within the sector, a change in the cost for providing networking services over time, and a current time that the user device is located within the sector.
- the dynamic rate identification controller 210 may determine a type of data the user device should pause or stop transmitting or receiving based on the determined dynamic rate and a priority measure of the type of data. Furthermore, the dynamic rate identification controller 210 may determine one or more dynamic rates for a user device based on a path or route of the user device. The dynamic rate identification controller 210 may determine a dynamic rate based on statistical analysis, artificial intelligence, a machine learning model, etc.
- the dynamic rate identification controller 210 may train a machine learning model to predict a dynamic rate based on one or more of: a change in the cost for providing networking network services to a user device within a sector; a location of a sector; a temporal variable for determining the rate, such as a day, time of day, etc.; a speed of the user device; or other attributes used to determine a dynamic rate for a user device.
- the dynamic rate identification controller 210 may perform statistical analysis on the data used to determine dynamic rates to identify an equation or curve used to calculate a dynamic rate based on one or more of: a change in the cost for providing networking network services to a user device within a sector; a location of a sector; a temporal variable for determining the rate, such as a day, time of day, etc.; a speed of a user device; or other attributes used to determine a dynamic rate for a user device.
- the dynamic rate identification controller 210 may include a location identifier 211 .
- the location identifier 211 may be used to determine a current location of a user device, a change in the location of a user device over time, or other aspects of the user device related to its location.
- the location identifier 211 may determine a location of the user device based on one or more of: a location provided by the user device, such as via GPS or other spatial coordinates; a location determined by network equipment within the sector which transmits or receives data related to the user device; and other methods of determining a location of a user device.
- the data collected by the location identifier 211 is used to determine a speed of the user device.
- the dynamic rate identification system 200 may use the data collected by the location identifier 211 to determine a speed of the user device by identifying the distance traveled by the user device over a period of time.
- the determined speed of the user device may be used to determine the dynamic rate applied to the user device. For example, a first dynamic rate may be applied to the user device while it is moving at 60 miles per hour, and a second dynamic rate may be applied to the user device while it is stationary.
- the dynamic rate identification controller 210 and/or computer-executable instructions stored on memory 201 of the dynamic rate identification system 200 are implemented using standard programming techniques.
- the dynamic rate identification controller 210 and/or computer-executable instructions stored on memory 201 of the dynamic rate identification system 200 may be implemented as a “native” executable running on CPU 202 , along with one or more static or dynamic libraries.
- the dynamic rate identification controller 210 and/or computer-executable instructions stored on memory 201 of the dynamic rate identification system 200 may be implemented as instructions processed by a virtual machine that executes as some other program.
- the embodiments described above may also use synchronous or asynchronous client-server computing techniques.
- the various components may be implemented using more monolithic programming techniques as well, for example, as an executable running on a single CPU computer system, or alternatively decomposed using a variety of structuring techniques known in the art, including but not limited to, multiprogramming, multithreading, client-server, or peer-to-peer, running on one or more computer systems each having one or more CPUs.
- Some embodiments may execute concurrently and asynchronously, and communicate using message passing techniques. Equivalent synchronous embodiments are also supported.
- other functions could be implemented or performed by each component or module, and in different orders, and by different components/modules, yet still achieve the functions of the dynamic rate identification system 200 .
- programming interfaces to the data stored as part of the dynamic rate identification controller 210 can be available by standard mechanisms such as through C, C++, C #, Java, and Web APIs; libraries for accessing files, databases, or other data repositories; through scripting languages such as JavaScript and VBScript; or through Web servers, FTP servers, or other types of servers providing access to stored data.
- the dynamic rate identification controller 210 may be implemented by using one or more database systems, file systems, or any other technique for storing such information, or any combination of the above, including implementations using distributed computing techniques.
- some or all of the components/portions of the dynamic rate identification controller 210 , and/or functionality provided by the computer-executable instructions stored on memory 201 of the dynamic rate identification system 200 may be implemented or provided in other manners, such as at least partially in firmware and/or hardware, including, but not limited to, one or more application-specific integrated circuits (ASICs), standard integrated circuits, controllers (e.g., by executing appropriate instructions, and including microcontrollers and/or embedded controllers), field-programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), and the like.
- ASICs application-specific integrated circuits
- controllers e.g., by executing appropriate instructions, and including microcontrollers and/or embedded controllers
- FPGAs field-programmable gate arrays
- CPLDs complex programmable logic devices
- system components and/or data structures may also be stored as contents (e.g., as executable or other machine-readable software instructions or structured data) on a computer-readable medium (e.g., as a hard disk; a memory; a computer network or cellular wireless network; or a portable media article to be read by an appropriate drive or via an appropriate connection, such as a DVD or flash memory device) so as to enable or configure the computer-readable medium and/or one or more associated computing systems or devices to execute or otherwise use or provide the contents to perform at least some of the described techniques.
- a computer-readable medium e.g., as a hard disk; a memory; a computer network or cellular wireless network; or a portable media article to be read by an appropriate drive or via an appropriate connection, such as a DVD or flash memory device
- Such computer program products may also take other forms in other embodiments. Accordingly, embodiments of this disclosure may be practiced with other computer system configurations.
- a range of programming languages may be employed for implementing any of the functionality of the servers, functions, user equipment, etc., present in the example embodiments, including representative implementations of various programming language paradigms and platforms, including but not limited to, object-oriented (e.g., Java, C++, C #, Visual Basic.NET, Smalltalk, and the like), functional (e.g., ML, Lisp, Scheme, and the like), procedural (e.g., C, Pascal, Ada, Modula, and the like), scripting (e.g., Perl, Ruby, PHP, Python, JavaScript, VBScript, and the like) and declarative (e.g., SQL, Prolog, and the like).
- object-oriented e.g., Java, C++, C #, Visual Basic.NET, Smalltalk, and the like
- functional e.g., ML, Lisp, Scheme, and the like
- procedural e.g., C, Pascal, Ada, Modula, and the like
- scripting e
- FIG. 3 is a graph diagram depicting a multi-dimensional graph 300 of a dynamic rate, according to various embodiments described herein.
- the graph 300 includes three axes each representing an attribute of a sector used to determine the dynamic rate, additional or fewer axes representing one or more other attributes of a sector may be used to determine the dynamic rate.
- the multi-dimensional graph 300 shows a representation of a relationship between the attributes which could be used to determine the dynamic rate
- the dynamic rate identification system 200 may use other methods of determining a dynamic rate, and is not required to use a graph, such as the multi-dimensional graph 300 , to determine the dynamic rate.
- a graph such as the multi-dimensional graph 300 may be used to determine the dynamic rate
- the multi-dimensional graph 300 is used to visually depict the relationship between attributes used to determine the dynamic rate.
- the multi-dimensional graph 300 includes a temporal variable axis 301 , a location axis 303 , and a cost for network services axis 305 .
- the multi-dimensional graph 300 additionally includes a dynamic rate line 307 .
- the temporal variable axis 301 represents temporal data, such as a time of day, day of week, week of month, day of month, etc.
- the location axis 303 represents a location, such as a geographic location, spatial coordinates, a group of coordinates representing a location, an altitude, or other methods of identifying a geographic location or area.
- the cost for network services axis 305 represents the cost to provide networking services to a user, such as: a cost per byte, kilobyte, megabyte, gigabyte, terabyte, etc.; a cost for network infrastructure; a measure of the current load on the network; or other costs which may be related to providing networking services to a user.
- the dynamic rate line 307 represents a function of cost to provide network services, location of a user device, and a time.
- the multi-dimensional graph includes additional axes representing additional attributes used for determining the dynamic rate.
- the multi-dimensional graph may include a representation of the historical behavior of the user device to which the dynamic rate is to be applied.
- the multi-dimensional graph may include a representation of the speed of the user device. By taking into account the speed of the user device, the dynamic rate is able to represent the rate at which new resources need to be allocated to the device as it travels through network sectors.
- FIG. 4 is a display diagram depicting a sample network utilization over time 400 , according to various embodiments described herein.
- FIG. 4 includes usage indicators 401 , a representation of a downtown core 403 a and 403 b , and a representation of suburbs 405 a and 405 b .
- the usage indicators 401 indicate the utilization of network services in each of the downtown core 403 a and 403 b and suburbs 405 a and 405 b .
- the cores 403 a and 403 b and the suburbs 405 a and 405 b are example embodiments of the sectors 103 a - 103 c described above in connection with FIG. 1 .
- a majority of the downtown core 403 a experiences high network utilization, as depicted by the utilization indicators in each of the depicted buildings in the downtown core 403 a .
- the majority of the suburbs 405 a experience low network utilization.
- the majority of the downtown core 403 b experiences low utilization, while the majority of the suburbs 405 b experience high utilization.
- the dynamic rate identification system may calculate a higher dynamic rate for a user device located in the downtown core 403 a or suburbs 405 b and a lower dynamic rate for a user device located in the suburbs 405 a and downtown core 403 b .
- These dynamic rates may be used to determine whether user devices in each of the areas should pause or resume transmitting or receiving certain types of data.
- the dynamic rates may be used to instruct user devices to transmit or receive certain types of data only when the user device is connected to a hotspot.
- FIG. 5 is a flow diagram depicting a process to determine a dynamic rate for a user device, according to various embodiments described herein.
- the process described in FIG. 5 may be performed by a dynamic rate identification system, such as the dynamic rate identification system 200 .
- a dynamic rate identification system such as the dynamic rate identification system 200 in FIGS. 1 and 2 , identifies a user device.
- the user device may be a car, cellular telephone, laptop, tablet, drone, or any other type of user device, such as the user device 101 in FIG. 1 .
- the dynamic rate identification system receives data from the user device, including data describing a location of the user device, and, if available, a projected path of travel for the user device.
- the data received from the user device may include one or more of: an indication of the type of data that the user device transmits or receives and an indication of one or more priority measures for a plurality of the types of data that the user device transmits or receives.
- the dynamic rate identification system determines at least one priority measure for at least one type of data that the user device transmits or receives based on one or more of: one or more functions of the user device, the type of data, an indication from a user of the user device that the type of data should be prioritized, or other indicators of the importance of a type of data for the functionality of a user device.
- the dynamic rate identification system identifies a current network load of a sector in which the user device is located. In some embodiments, the dynamic rate identification system identifies the sector in which the user device is located based on the data received in act 503 .
- the dynamic rate identification system identifies a cost for networking services to be provided to the user device. In some embodiments, the cost for networking services to be provided to the user device is determined based on the current network load of the sector in which the user device is located.
- the dynamic rate identification system determines a dynamic rate for the user device based on one or more of: the current network load, the user device data, and the cost for networking services.
- the dynamic rate identification system uses historical usage data for the user device to determine the dynamic rate.
- the historical usage data may include data describing when the user device typically accesses the network, the type of data transmitted or received when the user device accesses the network, the amount of data transmitted or received when the user device accesses the network, the length of time that the user device spends transmitting or receiving data, or other data that indicates a pattern of the user device's usage of network resources. For example, a user device which typically uses network resources in the morning, but not at night, may receive a dynamic rate that is higher in the morning and lower at night.
- the dynamic rate identification system uses a speed of the user device to determine the dynamic rate. For example, a user device which is predicted to travel through network sectors at high speed based on the current speed of the user device may have a higher dynamic rate than if the user device was predicted to travel through network sectors at a lower speed.
- the dynamic rate identification system causes the user device to transmit data based on the dynamic rate.
- causing the user device to transmit data based on the dynamic rate includes one or more of: transmitting an indication of the dynamic rate to the user device, transmitting an indication of one or more types of data which the user device should pause or resume transmitting, transmitting instructions to the user device to determine one or more types of data which the user device should stop or resume transmitting based on the dynamic rate, or other methods of causing a user device to transmit data based on a dynamic rate.
- the dynamic rate determined in act 509 may be used to reserve network capacity for the user device.
- the dynamic rate may be used to reserve network capacity based on movement of the user device, an indication of the user device's usage of network capacity, or other methods of determining whether to reserve network capacity based on a dynamic rate. For example, a dynamic rate which indicates that the user device is likely to travel through multiple network sectors may be used to reserve network capacity for the user device at those network sectors when the user device is predicted to pass through the network sectors.
- the dynamic rate identification system reserves network capacity by using network slices.
- FIG. 6 is a flow diagram depicting a process to determine a dynamic rate for a user device based on a sector within which the user device is located, according to various embodiments described herein.
- the process described in FIG. 6 may be performed by a dynamic rate identification system, such as the dynamic rate identification system 200 .
- the dynamic rate identification system identifies one or more sectors of a network.
- the sectors may represent geographic areas within the network's coverage, such as urban areas, suburban areas, rural areas, areas which are provided networking services by one or more cell towers, etc.
- the dynamic rate identification system identifies a cost for providing networking services and identifies a change in the cost to provide networking services over time for each sector.
- the dynamic rate identification system may perform act 603 based on historical data describing the cost for providing networking services in the sector and/or based on a current, or “live,” usage of networking resources in the sector.
- the historical data may be periodically updated to include present costs for providing networking services.
- the historical data may be historical data for: an entire sector; a portion of a sector; multiple sectors which share an attribute, such as being rural, urban, suburban, etc.; for one or more locations defined by geographic coordinates, such as Global Positioning System coordinates; or other historical data which may be useful for determining a change in the cost over time to provide networking services for a user device.
- the historical data may include data related to the amount of user devices connected to the network during one or more periods of time.
- the historical data may include data related to the amount of bandwidth used by user devices connected to the network during one or more periods of time.
- the historical data includes data describing a pattern of the user device's usage of network resources.
- the dynamic rate identification system receives user device data from a user device.
- the dynamic rate identification system determines a sector within which the user device is located based on the user device data and the identified sectors.
- the dynamic rate identification system determines a dynamic rate for the user device based on the identified sector.
- the dynamic rate identification system may additionally determine the dynamic rate based on one or more of: a current time, the current cost for providing networking services in the identified sector, historical data related to the cost for providing networking services in the identified sector, and a path or route along which the user device travels or is expected to travel.
- FIG. 7 is a flow diagram depicting a process for causing a user device not to transmit or receive at least one type of data, according to various embodiments described herein.
- the process described in FIG. 7 may be performed by a dynamic rate identification system, such as the dynamic rate identification system 200 .
- the dynamic rate identification system receives data describing one or more types of data transmitted by a user device.
- the dynamic rate identification system receives data describing a priority measure for each type of data of the one or more types of data.
- the dynamic rate identification system receives data describing a priority measure for a portion of the one or more types of data.
- the priority measure may be a numeric measure, a textual indication of a measure, etc.
- the priority measure may indicate that a type of data is within one tier of priority of a plurality of tiers of priority. For example, types of data in a lower tier of priority may be less prioritized than types of data in a higher tier of priority.
- the dynamic rate identification system receives an indication of a dynamic rate for providing networking services to the user devices.
- the dynamic rate identification system determines whether the user device should not transmit at least one type of data based on the priority measures for each of the one or more types of data and the dynamic rate.
- the dynamic rate identification system additionally determines whether the user device should not transmit at least one type of data based on an indication of the current network load.
- the indication of the current network load may be obtained from the network, such as the network 105 .
- the indication of the current network load may be determined by the dynamic rate identification system based on at least the dynamic rate or the data used to determine the dynamic rate. For example the dynamic rate identification system may compare the dynamic rate to previous rates to determine the current load of the network.
- the dynamic rate identification system causes the user device to not transmit or receive the at least one type of data.
- the dynamic rate system may cause the user device not to transmit or receive the at least one type of data for a period of time, until the device is nearby or connected to a hotspot, until the user device has changed locations or sectors, until a new dynamic rate is calculated for the user device, etc.
- the process ends. While the process 700 is described as being performed by the dynamic rate identification system, in some embodiments, the user device performs all or some of the acts described in the process 700 .
- FIG. 8 is a flow diagram depicting a process to determine a dynamic rate for a user device based on a route of the user device, according to various embodiments described herein.
- the process described in FIG. 8 may be performed by a dynamic rate identification system, such as the dynamic rate identification system 200 .
- the dynamic rate identification system receives an indication of a route of the user device.
- the route may be a planned route, a predicted route, a current route, etc., which will be, or is currently being, travelled by a user device.
- the dynamic rate identification system predicts which sectors the user device will pass through based on the indication of the route, and the time that the user device will pass through the sectors.
- the dynamic rate identification system may predict the sectors that the user device will pass through the sectors based on location data describing the sectors and the route obtained in act 801 .
- the dynamic rate identification system may predict the time that the user device will pass through the sectors based on the route obtained in act 801 and one or more of: a time that the user device began travelling along the route, a current time, a projected time that the user device will begin travelling along the route, etc.
- the dynamic rate identification system generates a plurality of dynamic rates based on the prediction of which sectors the user device will pass through and the prediction of the time that the user device will pass through the sectors.
- the dynamic rate identification system determines which types of data the user devices should transmit or receive while travelling along the route based on the plurality of dynamic rates and the predictions obtained in act 803 . In some embodiments, act 807 is performed by using the process 700 described above in connection with FIG. 7 .
- the dynamic rate identification system changes one or more of: the route and the time that the user device begins travelling along the route, based on the plurality of dynamic rates to determine new dynamic rates. For example, the dynamic rate identification system may attempt to determine lower dynamic rates for the user device as it travels along the route.
- FIG. 9 is a flow diagram depicting a process for a user device to receive a dynamic rate and stop transmitting at least one type of data, according to various embodiments described herein.
- the process described in FIG. 9 may be performed by a dynamic rate identification system, such as the dynamic rate identification system 200 .
- the user device transmits or receives one or more types of data, each type of data having a priority measure.
- the user device transmits location data to a dynamic rate identification system.
- the user device transmits data indicating the one or more types of data transmitted or received by the user device to the dynamic rate identification system.
- the user device receives a dynamic rate from the dynamic rate identification system.
- the user device determines, whether at least one type of data of the one or more types of data should not be transmitted based on at least the dynamic rate and the priority of each type of data.
- the user devices causes itself to temporarily stop transmitting the at least one type of data. In some embodiments, act 909 is performed similarly as act 709 .
- FIG. 10 is a flow diagram depicting a process to use a hotspot within a sector to transmit data which a user device is not transmitting based on a dynamic rate, according to various embodiments described herein.
- the process described in FIG. 10 may be performed by a dynamic rate identification system, such as the dynamic rate identification system 200 .
- the dynamic rate identification system identifies one or more hotspots within a sector.
- the hotspots may be identified based on one or more of: prior hotspots that a user device has connected to, a home network of a user associated with a user device, partnerships with one or more third party entities which have agreed to provide hotspots, or other methods of identifying a hotspot.
- the dynamic rate identification system identifies one or more types of data that the user device is not transmitting or receiving based on the dynamic rate.
- the dynamic rate identification system may receive an indication of the type of data that the user device is not transmitting from the user device.
- the dynamic rate identification system may cause the user device to transmit or receive the identified one or more types of data when the user device is connected to at least one hotspot within the sector.
- the dynamic rate identification system may cause the user device to transmit or receive the identified one or more types of data by performing one or more of: providing the one or more identified hotspots to the user device and providing instructions to the user device to only transmit or receive the identified types of data when the user device is connected to at least one of the identified hotspots.
- the following is an example implementation of the dynamic rate identification system when applied to a vehicle. While the following example relates to a vehicle, any user device may be used in the example.
- network providers manage the SIM cards, control the wireless connection, and provide pricing based on a rate card, with volume discounts based on consumption tiers.
- the rate cards are periodically renegotiated and the rate is “locked-in” to the network provider based on the SIM card and the limitations of a modem included in a vehicle.
- the dynamic rate identification system uses dynamic pricing of network resources as a function of the time, location, and price per unit of capacity, based on real-time network utilization. These three dimensions shift based on the service level requirements of the vehicle.
- the dynamic rate identification system is able to optimize the total cost of connectivity by considering the time of day, location of the vehicle, and the network load.
- the network provided by the network provider may be equivalent to a “gigabyte factory” which has a fixed cost. Further, the network may have an average utilization of less than twenty-five percent based on the geography of the coverage area, customer density, time of utilization, etc.
- the utilization and efficiency of the network is increased by the dynamic rate identification system by using a dynamic rate determined by the dynamic rate identification system.
- the dynamic rate may be linked to a specific location of any connected device and the current time of day, such as the vehicle in this example.
- the network has varying loads throughout a day, and the density of consumption of network services may be variable based on the geography of the area serviced by the network and the time of the day.
- the dynamic rate identification system is able to consider an aggregate of the network load, individual sectors of the network load, etc.
- the dynamic rate identification system is thereby able to optimize the on-vehicle storage and movement of vehicle-generated data based on service requirements for the vehicle data.
- the service requirements may be determined based on input from a manufacturer of the vehicle, a user of the vehicle, the network provider, etc. This input may take the form of a priority measure used to determine which data is the highest priority to transmit or receive. In this example, the highest priority data is then able to always be transmitted and received, while relatively unimportant or low priority data is transmitted or received when the network load or utilization is low.
- the dynamic rate identification system may cause the vehicle to take advantage of the network when the calculated dynamic rate is lower as opposed to moving large amounts of data during peak hours in sectors with heavy utilization.
- the dynamic rate identification system uses intertemporal and interspatial price discrimination with dynamic adjustment due to demand for network resources to determine the dynamic rate.
- users of the network are able to experience a lower overall cost structure for certain service tiers of the network.
- FIG. 11 is a diagram depicting an example 1100 of using a dynamic rate identification system to apply new dynamic rates to data transmitted from or received by a user device as it travels along a route, according to various embodiments described herein.
- the example 1100 includes a user device 1101 , one or more sectors 1103 a - 1103 c , a path 1105 , a starting point 1107 , and an ending point 1109 .
- the user device 1101 may be a user device, such as the user device 101 described above in connection with FIG. 1 .
- the one or more sectors 1103 a - 1103 c may be network sectors, such as the sectors 103 a - 103 c described above in connection with FIG. 1 .
- a user device 1101 travels along the path 1105 , and a new dynamic rate may be calculated for the user device 1101 as it travels along the path 1105 .
- the path 1105 may be a route, a trajectory, or another type of course along which a user device may travel.
- the dynamic rate identification system receives an indication of the path 1105 , along which the user device 1101 will travel. In some embodiments, the dynamic rate identification system also receives a time at which the user device 1101 will travel along the route. The dynamic rate identification system identifies the sectors 1103 a - 1103 c as sectors which the user device will pass through as it travels along the route, and calculates a predicted dynamic rate for the user device for each sector. The predicted dynamic rate is a prediction of the rate at which the user device will be charged to use networking services.
- the predicted dynamic rate for a particular sector may be based on one or more of: a network load, such as a predicted network load, current network load, etc., for the sector; and a predicted time that the user device will be located in the sector.
- the dynamic rate identification system may use the predicted dynamic rate to determine which types of data are transmitted at certain times along the route travelled by the user device.
- the dynamic rate identification system has predicted that the path 1105 travelled by the user device will result in a predicted rate of $5 per gigabyte at a first time, $9 per gigabyte at a second and third time, and $2 per gigabyte at a fourth time.
- the dynamic rate identification system may use these predicted rates to preliminarily instruct the user device to stop or resume transmitting or receiving certain types of data at those times. These preliminary instructions may change based on changes in the dynamic rate as the user device travels along the path 1105 .
- the user device 1101 is present in sector 1103 a .
- the dynamic rate identification system has predicted that the rate will be $5 per gigabyte. Based on this rate, the dynamic rate identification system has determined that the user device 1101 should stop transmitting or receiving low priority data.
- the dynamic rate identification system calculates a dynamic rate for the user device as it enters the sector 1103 a and determines which types of data the user device should stop or resume transmitting or receiving. As seen in the example 1100, at time “1,” while the user device is in sector 1103 a , the dynamic rate is calculated at $5 per gigabyte.
- the dynamic rate identification system may use this rate to determine which types of data the user device 1101 should stop or resume transmitting or alter the preliminary instructions given to the user device. Because the actual rate and predicted rate are the same, the dynamic rate identification system allows the user device 1101 to follow the preliminary instructions and the user device 1101 is caused to stop transmitting and receiving low priority data.
- the user device 1101 has travelled along the route and is present in sector 1103 b .
- the predicted rate is $9 per gigabyte, and it has been determined that the user device should only transmit or receive medium or high priority data.
- the actual dynamic rate is calculated at $20 per gigabyte because the network in sector 1103 b is experiencing unusually high network loads.
- the user device should stop transmitting and receiving any data that isn't of the highest priority, even though the predicted rate indicated that the user device should be able to transmit medium priority data in this sector at the second time.
- the user device is caused to stop receiving and transmitting any data that isn't of the highest priority.
- the actual dynamic rate may be calculated again to change to $8 per gigabyte, compared to the predicted rate of $9 per gigabyte.
- the dynamic rate identification system predicted that the user device 1101 would be able to transmit or receive medium priority data, and because the actual rate is lower, the user device 1101 is still able to transmit or receive the medium priority data. Thus, at this rate the user device 1101 is able to resume transmitting and receiving medium priority data, and the user device 1101 is caused to do so.
- the user device 1101 has travelled to sector 1103 c , which is experiencing a low network load at this time.
- the dynamic rate identification system predicted that sector 1103 c would experience a low network load at this time, resulting in a predicted rate of $2 per gigabyte, which is used to determine that the user device can transmit and receive any type of data regardless of priority.
- the actual dynamic rate is also calculated to be $2 per gigabyte, and it is determined that the user device is able to follow the preliminary instructions to transmit and receive any type of data at this rate.
- the user device is caused to resume transmission and reception of all types of data regardless of priority.
- the dynamic rate identification system may use the predicted dynamic rates to: preliminarily plan when the user device is able to transmit or receive certain types of data; when the user device should transmit or receive large amounts of certain types of data based on their priority (such as ensuring that large amounts of low priority data is transmitted when the dynamic rate is low, ensuring that no low priority data is transmitted when the dynamic rate is high, etc.); alter the route based on predicted dynamic rates for other sectors in order to ensure the dynamic rate does not exceed a certain threshold dynamic rate; or use the predicted dynamic rates in other manners which affect one or more of: the network load of one or more sectors, the price paid by a user for networking services provided to a user device and the ability of the user device to transmit or receive certain types of data.
- the dynamic rate identification system calculates an actual dynamic rate when the user device enters a sector, and the actual dynamic rate is used to determine which types of data the user device should stop or resume transmitting or receiving. In some embodiments, the dynamic rate identification system periodically adjusts the dynamic rate for the user device.
- one or more user devices are drones.
- a new dynamic rate is applied to the drone as the drone moves throughout sectors, such as the sectors 1103 a , 1103 b , and 1103 c .
- the dynamic rate may be calculated based on the altitude of the drone.
- a delivery drone may have a different dynamic rate applied when taking off, when traveling at a certain altitude, and when landing.
- the dynamic rate may be calculated based on three-dimensional movement of the user device.
- one or more user devices are robots or other automated equipment, such as mining equipment, construction equipment, autonomous vehicles, or other robotic or autonomous equipment.
- a mining robot may have various sensors which collect data related to whether a mine is safe for humans to enter, moving the mining robot within a mine or worksite, or other data related to the functionality of such a robot.
- the mining robot may receive a dynamic rate during the day which is higher than a dynamic rate during the night.
- the mining robot may transmit high volumes of data which is critical, such as data related to the safety of the mine regardless of the dynamic rate, but may transmit other non-critical data when the dynamic rate is lower, such as during the night.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
- Network operators, such as telecommunication network operators, 4G/5G network operators, private network operators, or other types of network operators that provide user devices with access to networking services, typically bill users for accessing networking services via user devices (or “user equipment”) based on a predetermined rate. The predetermined rate does not change even when the network load, device location, or other aspects of the user device, network, or networking services change.
- Network operators typically bill users based on a predetermined, or pre-negotiated, rate for access to a network operated by the network operator. The rate may include a variety of aspects, such as a price paid by a user to access the network via devices associated with the user (“user devices”), an amount of data which the user device is able to transmit or receive, or other aspects of a rate set by a network operator for access to a network. However, network operators are unable to dynamically adjust these predetermined rates based on factors affecting the service provided to user devices. These factors may be one or more of: the cost to provide networking services, such as bandwidth costs, costs per byte, kilobyte, megabyte, gigabyte, etc., of transmitting data, and other costs to provide networking services; the location of the user device, such as whether the user device is in an area within which a large number of other user devices are connected to the network, a small number of other user devices are connected to the network, etc.; the effect of the day, time of day, time of week, time of month, time of year, etc., on one or more factors affecting the service; and other factors affecting the service provided to user devices.
- Furthermore, user devices are unable to take these factors into account when choosing which data to transmit or receive by using the network services provided by a network. For example, a user device may have data that is of a higher priority, and must frequently be transmitted or received in order for the user device to function. Likewise, a user device may have data which is of a lower priority that does not need to be frequently transmitted or received in order for the device to function. The user device in this example is unable to prioritize the higher priority data, ensure that the higher priority data is processed in a timely manner, etc., when certain factors affecting the network impair the user device's ability to quickly, reliably, etc., transmit and receive the higher priority data.
- The embodiments disclosed herein address the issues above and thus help solve the above technical problems and improve the technology for identifying rates for services provided by a network by identifying a dynamic rate based on a variety of factors related to a network. Additionally, the embodiments disclosed herein can enable a user device to change the types of data transmitted by the user device based on the dynamic rate.
- In some embodiments, a dynamic rate identification system identifies a user device, receives data from the user device, the data including data describing a location of the user device, identifies a current time, identifies a cost for networking services to be provided to the user device, and determines a dynamic rate for the user device to use the networking services based on the current time, user device data, and the cost for networking services. The dynamic rate may be a price charged to a user associated with the user device for the use of networking services provided by the network.
- In some embodiments, a user device transmits one or more types of data via a network, each type of data having a priority, transmits location data to a dynamic rate identification system, receives a dynamic rate from the dynamic rate identification system, determines whether at least one type of data of the one or more types of data should not be transmitted by the user device based on at least the priority of each type of data and the dynamic rate, and causes the user device to temporarily stop transmitting the at least one type of data.
-
FIG. 1 is a diagram depicting an example environment in which the dynamic rate identification system is implemented. -
FIG. 2 is a block diagram depicting example components incorporated in a dynamic rate identification system, according to various embodiments described herein. -
FIG. 3 is a graph diagram depicting a multi-dimensional graph of a dynamic rate, according to various embodiments described herein. -
FIG. 4 is a display diagram depicting a sample network utilization over time, according to various embodiments described herein. -
FIG. 5 is a flow diagram depicting a process to determine a dynamic rate for a user device, according to various embodiments described herein. -
FIG. 6 is a flow diagram depicting a process to determine a dynamic rate for a user device based on a sector within which the user device is located, according to various embodiments described herein. -
FIG. 7 is a flow diagram depicting a process for causing a user device not to transmit or receive at least one type of data, according to various embodiments described herein. -
FIG. 8 is a flow diagram depicting a process to determine a dynamic rate for a user device based on a route of the user device, according to various embodiments described herein. -
FIG. 9 is a flow diagram depicting a process for a user device to receive a dynamic rate and stop transmitting at least one type of data, according to various embodiments described herein. -
FIG. 10 is a flow diagram depicting a process to use a hotspot within a sector to transmit data which a user device is not transmitting based on a dynamic rate, according to various embodiments described herein. -
FIG. 11 is a diagram depicting an example of using a dynamic rate identification system to apply new dynamic rates to data transmitted from or received by a user device as it travels along a route, according to various embodiments described herein. - Network operators, network providers, etc., (“network operators”) typically bill users based on predetermined rates for access to a network, or networking services, operated by the network operator. The rate may include various aspects, such as a price paid by a user to access the network via user devices, an amount of data which the user device is able to transmit or receive, or other aspects of a rate set by a network operator for access to a network. However, network operators are unable to dynamically adjust these predetermined rates based on factors affecting the service provided to user devices, such as the location of the user device, the cost to provide networking services, the presence of other devices which are also using the network near the location of the user device, the time that the user device accesses the network, and other factors which may affect the service provided to a user device.
- Furthermore, neither the user devices nor the network itself are able to take these factors into account when choosing which data the user device should transmit or receive by using the network services provided by a network. A user device may have different tiers of priority for data transmitted or received by the user device, such as a higher tier for data required to operate the user device or for high-priority functions of the user device, and a lower tier for data related to low-priority functions of the user device. Furthermore, user devices may be required to transmit or receive large quantities of data in order to properly function.
- As an example, smart or automated cars typically transmit and receive large amounts of data, in some cases transmitting or receiving multiple gigabytes of data per hour, related to automatically driving or operating the car, such as data collected by sensors included in the car to sense the car's surroundings. The car may transmit and receive the large amount of sensor data, in addition to other data, such as data regarding media consumed by the driver, data regarding maintenance or the status of one or more parts of the car, or other data collected by a car. Without the dynamic rate provided by the dynamic rate identification system, the car is forced to transmit and receive all of these types of data without any clear indication of the current load on the network. Thus, the car may receive and transmit data related to its surroundings at a slower rate than needed in order to automatically drive the car because of the high load on the network and because the car is transmitting and receiving all types of data at once. However, the dynamic rate identification system can calculate a dynamic rate for the car based on the car's location. This dynamic rate can be used to determine whether the car should stop transmitting and receiving lower priority data for a period of time, until the car reaches a certain location, until the car is able to connect to a Wi-Fi network or hotspot, etc., and then resume receiving and transmitting the lower priority data. Thus, the car's high-priority functionality is not impacted, or is minimally impacted, by the network load.
- As another example, a user device which is a cellular telephone may transmit and receive data regarding phone calls, applications, SMS or MMS messages, etc., for a user. The user may be entering an urban area during their commute, and may have queued a movie download during their commute, which may be assigned a low priority. A dynamic rate may be used to cause the cellular telephone to pause the movie download until the cellular telephone is able to connect to a less busy cell tower, a Wi-Fi network or hotspot, etc., and then resume downloading the movie, in order to ensure that higher priority functions of the cellular telephone, such as making calls, are able to be minimally impacted by a high network load caused by a large number of commuters traveling to the same urban area.
- The embodiments disclosed herein address the issues above and thus help solve the technical problems and improve the technology for identifying rates for services provided by a network by identifying a dynamic rate based on a variety of factors related to a network. Additionally, the embodiments disclosed herein are able to cause a user device to change the types of data transmitted by the user device based on the dynamic rate.
- By changing the types of data transmitted by user devices based on the dynamic rate, the embodiments disclosed herein can improve the performance of network resources by ensuring that the overall network load is better distributed over time. For example, applying the dynamic rate to user devices may cause user devices to stop transmitting certain types of data during periods with high network load, and to instead transmit those types of data during times of low network load. As such, the use of dynamic rate described herein can result in reducing the network load during periods of relatively high network loads. Distributing the network load in such a manner can improve the quality of networking services being provided to user devices across the network. Furthermore, applying the dynamic rate to user devices can increase the usage of the network during periods of relatively lower network load, thus ensuring that resources used to ensure that the network is still able to offer a certain quality of service are utilized as much as possible. A period of relatively high network load may include a period of time in which a measure of the network load is greater than a selected threshold measure of the network load. A period of relatively low network load may include a period of time in which a measure of the network load is less than a selected threshold measure of the network load.
- In some embodiments, a dynamic rate identification system identifies a user device, receives data from the user device, the data including data describing a location of the user device, identifies a current time, identifies a cost for networking services to be provided to the user device, and determines a dynamic rate for the user device to use the networking services based on the current time, user device data, and the cost for networking services.
- In some embodiments, a dynamic rate identification system identifies one or more sectors of a network, each sector representing a geographic area within which the network is able to provide networking services to user devices, identifies a cost for providing networking services to user devices located within each sector, identifies a change in the cost for providing networking service over time for each sector, identifies a user device, receives data from the user device, the user data including data describing a location of the user device, data describing one or more types of data for which the user device requires or consumes networking services, and data describing a priority measure for each type of data of the one or more types of data, identifies a current time, determines a sector within which the user device is located based on the location of the user device and the identified sectors, determines a dynamic rate for providing networking services to the user based on the current time, the cost for providing networking services to user devices located within the determined sector, and the change in the cost for providing networking services over time within the determined sector, determines whether the user device should not transmit at least one type of data of the one or more types of data based on the priority measure for each type of data and the dynamic rate, and causes the user device to not transmit the at least one type of data.
- In some embodiments, the dynamic rate identification system receives updates regarding the location of the user device. The updates may be received over a period of time, received periodically, received for a predetermined amount of time, received at predetermined time intervals, etc. The dynamic rate identification system may use an update to determine a new sector within which the user device is located, determine a new current time, determine a new dynamic rate for the user device, or any combination of the three.
- In some embodiments, the dynamic rate identification system receives an indication of a route of the user device, the route including one or more potential future locations of the user device. The dynamic rate identification system may determine a dynamic rate based on the potential future locations included in the route. The dynamic rate identification system may predict a plurality of dynamic rates for the user device. The predicted dynamic rates may be used to cause the user devices to pause or resume transmitting or receiving data as the user device moves along the route. For example, the user device may pause transmitting and receiving low priority data between locations A and B, resume transmitting and receiving low priority data between locations B and C, and pause transmitting and receiving the low priority data again between locations C and D. The route may be a predicted route of the user device, a known route of the user device, a planned route of the user device, or any other type of route taken by the user device.
- In some embodiments, a user device transmits one or more types of data via a network, each type of data having a priority, transmits location data to a dynamic rate identification system, receives a dynamic rate from the dynamic rate identification system, determines whether at least one type of data of the one or more types of data should not be transmitted by the user device based on at least the priority of each type of data and the dynamic rate, and causes the user device to temporarily stop transmitting the at least one type of data.
- In some embodiments, the dynamic rate identification system identifies one or more low-cost networks, hotspots, etc., such as, for example, a user's home Wi-Fi network, a public Wi-Fi network made available for free by an entity other than a user, or other low-cost networks or hotspots which a device can use to access the Internet, (collectively “hotspots”) within a sector. The dynamic rate identification system may cause the user device to connect to a hotspot and resume transmitting and receiving types of data whose transmission and reception have been paused due to the dynamic rate. The dynamic rate identification system may pause the transmission and reception of the types of data after the user device is disconnected from the hotspot. The dynamic rate identification system may identify the hotspots based on data stored by the user device indicating one or more hotspots to which the user device has previously connected. The dynamic rate identification system may identify the hotspots through a partnership between the network operator, the user, a manufacturer of the user device, etc., and an entity providing the hotspots.
- Unless the context requires otherwise, throughout the specification and claims which follow, the word “comprise” and variations thereof, such as, “comprises” and “comprising” are to be construed in an open, inclusive sense, for example “including, but not limited to.”
- Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
- As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” include plural referents unless the content clearly dictates otherwise. The term “or” is generally employed in its sense including “and/or” unless the content clearly dictates otherwise.
- The headings and Abstract of the Disclosure provided herein are for convenience only and do not interpret the scope or meaning of the embodiments.
-
FIG. 1 is a diagram depicting anexample environment 100 in which the dynamicrate identification system 200 is implemented. Theenvironment 100 includes a user device 101, sectors 103 a-103 c, anetwork 105, and a dynamicrate identification system 200. The dynamicrate identification system 200 is further described with respect toFIG. 2 . It is to be appreciated thatFIG. 1 illustrates just one example of anenvironment 100 and that the various embodiments discussed herein are not limited to the use of such an environment. For example, in some embodiments, theenvironment 100 may include additional or fewer of each of the user devices, sectors, networks, and dynamic rate identification systems described in connection with theenvironment 100. - The user device 101 may be or include one or more devices, such as vehicles (for example, cars, trucks, autonomous vehicles, or another type of vehicle), cellular telephones, smartphones, tablets, personal computers, laptop computers, drones, or any other device configured to communicate over a
network 105 which may move through time and space. The user device 101 may interconnect to one or more communications media or sources, such as routers, network switches, modems, etc., to transmit communications to other devices. The user device 101 may include user device data 111. The user device data 111 includes data used by the user device to perform its functions, such as sensor data, user data, applications, an operating system, etc. The user device data 111 additionally includes data describing the types of data that the user device 101 transmits and receives via network services. The user device data 111 additionally includes data describing a priority measure for each type of data that the user device 101 transmits and receives via network services. The priority measure may indicate that the type of data is prioritized based on one or more tiers, such as, for example, high priority, medium priority, low priority, etc. Data from the same source may have multiple assignable priorities depending on the content of the data. For example, sensor data collected on a normally operating component of a vehicle may be assigned as low priority. However, data from the same sensor which detects an abnormal condition may be assigned a higher priority. - The sectors 103 a-103 c each represent a sector that receives networking services from a network, such as a
network 105. Each sector 103 represents a geographic area within which the network provides networking services, such as a city, an area of network coverage provided by one or more cell towers, or other types of geographic areas. A sector 103 may be described based on the network load of one or more particular cell towers within the sector. Further, each sector 103 may be described based on the type of area it represents, such as suburban, urban, rural, city center, city residential area, highway, or other types of area which describe a geographic location. - The
network 105 is a network, communication system, or networked system (not shown), which the user device 101 and other devices (not illustrated) may use to communicate via one or more wireless or wired communication technologies. Non-limiting examples of such anetwork 105 include, but are not limited to, an Ethernet system, twisted pair Ethernet system, an intranet, a local area network (LAN) system, short range wireless network (e.g., Bluetooth®), a personal area network (e.g., a Zigbee network based on the IEEE 802.15.4 specification), a Consumer Electronics Control (CEC) communication system, Wi-Fi, satellite communication systems and networks, cellular networks, cable networks, 4G/5G/6G network, or the like. One or more user devices 101, such as PCs, tablets, laptop computers, smartphones, personal assistants, Internet connection devices, wireless LAN, Wi-Fi, Worldwide Interoperability for Microwave Access (WiMAX) devices, or the like, may be communicatively coupled to thenetwork 105 and/or to each other so that the plurality of user devices are communicatively coupled together. Thus, such anetwork 105 enables the user device 101 to use thenetwork 105 to transmit or receive data from other computing devices, servers, user devices, or other devices, computers, or systems, connected to a network. - In the depiction of the
environment 100 inFIG. 1 , thenetwork 105 may collect data regarding each of the sectors 103 a-103 c, such as a number of user devices in a sector over a period of time (such as throughout a day, week, month, etc.), a cost to provide services to user devices over the period of time, and other data related to providing network services to user devices within each sector 103 a-103 c. The data regarding each sector 103 a-103 c may be analyzed by a dynamic rate identification system, such as by using statistical analysis, machine learning models, artificial intelligence, etc., to generate dynamic rates which may be billed to user devices when the user device uses network services within a sector at certain times. In some embodiments, the dynamicrate identification system 200 collects the data regarding each of the sectors 103 a-103 c. The dynamicrate identification system 200 may obtain the location of the user device 101, such as by receiving the location from the user device, triangulating the user device location, or other methods of obtaining the location of a user device. The dynamicrate identification system 200 may identify the sector within which the user device 101 is located and generate a dynamic rate for the user device based on the location of the user device and the data regarding the identified sector. The dynamic rate is used to determine whether the user device should pause transmitting or receiving one or more types of data. - In some embodiments, the dynamic rate is used to determine whether the user device should pause transmitting or receiving one or more types of data along with one or more of: a current network load of at least one cell tower, a predicted network load of at least one cell tower, a measure of the network coverage in an area in which the user device currently is located or is predicted to be located, a scheduled or predicted path of the user device, and other factors which may influence a determination of whether the user device should pause transmitting or receiving one or more types of data. For example, the user device may pause transmitting low priority data as it travels along a route, but may resume transmitting the low priority data while it is connected to a cell tower along the route which is currently experiencing a low network load. In another example, the user device may pause transmitting or receiving the data of a certain priority, such as the lowest priority data, unless the user device is connected to a hotspot or a cell tower experiencing unusually low network load. Furthermore, the network load of the cell towers may be predicted based on a future location of the user device, a predicted time the user device would be connected to the cell tower, historical data describing the network load of the cell tower, data describing the current network load of the cell tower, or other data used to predict network load for a cell tower. Additionally, while each of these examples describe individual cell towers, the dynamic rate identification system may use any description or representation of a geographic area, such as the sectors 103 described above, in the same or a similar manner.
- The above description of the
environment 100, and the various networks, devices, and functions therein, is intended as a broad, non-limiting overview of an example environment in which various embodiments of a dynamic rate identification system can operate. Theenvironment 100, and the various devices therein, may contain other devices, systems and/or media not specifically described herein. Theenvironment 100, and the various functions therein, may contain other functions, systems and/or media not specifically described herein. - Example embodiments described herein provide applications, tools, data structures, and other support to implement systems and methods for identifying a dynamic rate for a user device to use network services, such as the user device 101 and
network 105 respectively. The example embodiments described herein additionally provide applications tools, data structures, and other support to implement systems and methods for determining whether the device should stop transmitting or receiving one or more types of data based on the dynamic rate. Other embodiments of the described techniques may be used for other purposes, such as determining a plurality of dynamic rates for a route traveled by a user device. The embodiments described herein may also be used for determining when the device should resume transmitting or receiving the one or more types of data. In the description provided herein, numerous specific details are set forth in order to provide a thorough understanding of the described techniques. The embodiments described also can be practiced without some of the specific details described herein, or with other specific details, such as changes with respect to the ordering of processes or devices, different processes or devices, and the like. Thus, the scope of the techniques and/or functions described are not limited by the particular order, selection, or decomposition of steps described with reference to any particular module, component, or routine. -
FIG. 2 is a block diagram depicting example components incorporated in a dynamicrate identification system 200, according to various embodiments described herein. In various embodiments, the dynamicrate identification system 200 includes one or more of the following: acomputer memory 201 for storing programs and data while they are being used, including data associated with sectors of the network, such as sectors 103 a-103 c, a network, such as thenetwork 105, user devices, such as the user device 101, an operating system including a kernel, and device drivers; a central processing unit (CPU) 202 for executing computer programs; apersistent storage device 203, such as a hard drive or flash drive for persistently storing programs and data; and anetwork connection 204 for connecting to one or more computer devices, functions or components of thenetwork 105, user devices, such as the user device 101, devices implementing a hotspot, other systems in the telecommunication network, and/or other computer systems, to send and/or receive data, such as via the Internet or another network and associated networking hardware, such as switches, routers, repeaters, electrical cables and optical fibers, light emitters and receivers, radio transmitters and receivers, and the like. In various embodiments, the dynamicrate identification system 200 additionally includes input and output devices, such as a keyboard, a mouse, display devices, etc. Aspects of the dynamicrate identification system 200 may be implemented as part of the network (such as a network core, an edge computing resource for the network, or other computing resources available to a network), the user device, or some combination thereof. - While a dynamic
rate identification system 200 configured as described may be used in some embodiments, in various other embodiments, the dynamicrate identification system 200 may be implemented using devices of various types and configurations, and having various components. Thememory 201 may include a roaming dynamicrate identification controller 210 which contains computer-executable instructions that, when executed by theCPU 202, cause the dynamicrate identification system 200 to perform the operations and functions described herein. For example, the programs referenced above, which may be stored incomputer memory 201, may include or be comprised of such computer-executable instructions. - The dynamic
rate identification controller 210 performs the core functions of the dynamicrate identification system 200, as discussed herein and also with respect toFIGS. 3 through 11 . Aspects of the dynamicrate identification controller 210 which perform the functions of the dynamicrate identification system 200 may be implemented as part of the network (such as a network core, an edge computing resource for the network, or other computing resources available to a network), the user device, or some combination thereof. In particular, the dynamicrate identification controller 210 determines a dynamic rate for a user device based on the current attributes of a sector, such as a cost for providing network services to user devices located within the sector, a change in the cost for providing networking services over time, and a current time that the user device is located within the sector. Additionally, the dynamicrate identification controller 210 may determine a type of data the user device should pause or stop transmitting or receiving based on the determined dynamic rate and a priority measure of the type of data. Furthermore, the dynamicrate identification controller 210 may determine one or more dynamic rates for a user device based on a path or route of the user device. The dynamicrate identification controller 210 may determine a dynamic rate based on statistical analysis, artificial intelligence, a machine learning model, etc. For example, the dynamicrate identification controller 210 may train a machine learning model to predict a dynamic rate based on one or more of: a change in the cost for providing networking network services to a user device within a sector; a location of a sector; a temporal variable for determining the rate, such as a day, time of day, etc.; a speed of the user device; or other attributes used to determine a dynamic rate for a user device. As another example, the dynamicrate identification controller 210 may perform statistical analysis on the data used to determine dynamic rates to identify an equation or curve used to calculate a dynamic rate based on one or more of: a change in the cost for providing networking network services to a user device within a sector; a location of a sector; a temporal variable for determining the rate, such as a day, time of day, etc.; a speed of a user device; or other attributes used to determine a dynamic rate for a user device. - The dynamic
rate identification controller 210 may include alocation identifier 211. Thelocation identifier 211 may be used to determine a current location of a user device, a change in the location of a user device over time, or other aspects of the user device related to its location. Thelocation identifier 211 may determine a location of the user device based on one or more of: a location provided by the user device, such as via GPS or other spatial coordinates; a location determined by network equipment within the sector which transmits or receives data related to the user device; and other methods of determining a location of a user device. - In some embodiments, the data collected by the
location identifier 211 is used to determine a speed of the user device. The dynamicrate identification system 200 may use the data collected by thelocation identifier 211 to determine a speed of the user device by identifying the distance traveled by the user device over a period of time. The determined speed of the user device may be used to determine the dynamic rate applied to the user device. For example, a first dynamic rate may be applied to the user device while it is moving at 60 miles per hour, and a second dynamic rate may be applied to the user device while it is stationary. - In an example embodiment, the dynamic
rate identification controller 210 and/or computer-executable instructions stored onmemory 201 of the dynamicrate identification system 200 are implemented using standard programming techniques. For example, the dynamicrate identification controller 210 and/or computer-executable instructions stored onmemory 201 of the dynamicrate identification system 200 may be implemented as a “native” executable running onCPU 202, along with one or more static or dynamic libraries. In other embodiments, the dynamicrate identification controller 210 and/or computer-executable instructions stored onmemory 201 of the dynamicrate identification system 200 may be implemented as instructions processed by a virtual machine that executes as some other program. - The embodiments described above may also use synchronous or asynchronous client-server computing techniques. However, the various components may be implemented using more monolithic programming techniques as well, for example, as an executable running on a single CPU computer system, or alternatively decomposed using a variety of structuring techniques known in the art, including but not limited to, multiprogramming, multithreading, client-server, or peer-to-peer, running on one or more computer systems each having one or more CPUs. Some embodiments may execute concurrently and asynchronously, and communicate using message passing techniques. Equivalent synchronous embodiments are also supported. Also, other functions could be implemented or performed by each component or module, and in different orders, and by different components/modules, yet still achieve the functions of the dynamic
rate identification system 200. - In addition, programming interfaces to the data stored as part of the dynamic
rate identification controller 210 can be available by standard mechanisms such as through C, C++, C #, Java, and Web APIs; libraries for accessing files, databases, or other data repositories; through scripting languages such as JavaScript and VBScript; or through Web servers, FTP servers, or other types of servers providing access to stored data. The dynamicrate identification controller 210 may be implemented by using one or more database systems, file systems, or any other technique for storing such information, or any combination of the above, including implementations using distributed computing techniques. - Different configurations and locations of programs and data are contemplated for use with techniques described herein. A variety of distributed computing techniques are appropriate for implementing the components of the embodiments in a distributed manner including but not limited to TCP/IP sockets, RPC, RMI, HTTP, Web Services (XML-RPC, JAX-RPC, SOAP, and the like). Other variations are possible. Also, other functionality could be provided by each component/module, or existing functionality could be distributed amongst the components/modules in different ways, yet still achieve the functions of the dynamic
rate identification system 200, user device 101, andnetwork 105. - Furthermore, in some embodiments, some or all of the components/portions of the dynamic
rate identification controller 210, and/or functionality provided by the computer-executable instructions stored onmemory 201 of the dynamicrate identification system 200 may be implemented or provided in other manners, such as at least partially in firmware and/or hardware, including, but not limited to, one or more application-specific integrated circuits (ASICs), standard integrated circuits, controllers (e.g., by executing appropriate instructions, and including microcontrollers and/or embedded controllers), field-programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), and the like. Some or all of the system components and/or data structures may also be stored as contents (e.g., as executable or other machine-readable software instructions or structured data) on a computer-readable medium (e.g., as a hard disk; a memory; a computer network or cellular wireless network; or a portable media article to be read by an appropriate drive or via an appropriate connection, such as a DVD or flash memory device) so as to enable or configure the computer-readable medium and/or one or more associated computing systems or devices to execute or otherwise use or provide the contents to perform at least some of the described techniques. Such computer program products may also take other forms in other embodiments. Accordingly, embodiments of this disclosure may be practiced with other computer system configurations. - In general, a range of programming languages may be employed for implementing any of the functionality of the servers, functions, user equipment, etc., present in the example embodiments, including representative implementations of various programming language paradigms and platforms, including but not limited to, object-oriented (e.g., Java, C++, C #, Visual Basic.NET, Smalltalk, and the like), functional (e.g., ML, Lisp, Scheme, and the like), procedural (e.g., C, Pascal, Ada, Modula, and the like), scripting (e.g., Perl, Ruby, PHP, Python, JavaScript, VBScript, and the like) and declarative (e.g., SQL, Prolog, and the like).
-
FIG. 3 is a graph diagram depicting amulti-dimensional graph 300 of a dynamic rate, according to various embodiments described herein. Although thegraph 300 includes three axes each representing an attribute of a sector used to determine the dynamic rate, additional or fewer axes representing one or more other attributes of a sector may be used to determine the dynamic rate. Furthermore, while themulti-dimensional graph 300 shows a representation of a relationship between the attributes which could be used to determine the dynamic rate, the dynamicrate identification system 200 may use other methods of determining a dynamic rate, and is not required to use a graph, such as themulti-dimensional graph 300, to determine the dynamic rate. Thus, while a graph such as themulti-dimensional graph 300 may be used to determine the dynamic rate, themulti-dimensional graph 300 is used to visually depict the relationship between attributes used to determine the dynamic rate. - The
multi-dimensional graph 300 includes a temporalvariable axis 301, alocation axis 303, and a cost fornetwork services axis 305. Themulti-dimensional graph 300 additionally includes adynamic rate line 307. The temporalvariable axis 301 represents temporal data, such as a time of day, day of week, week of month, day of month, etc. Thelocation axis 303 represents a location, such as a geographic location, spatial coordinates, a group of coordinates representing a location, an altitude, or other methods of identifying a geographic location or area. The cost fornetwork services axis 305 represents the cost to provide networking services to a user, such as: a cost per byte, kilobyte, megabyte, gigabyte, terabyte, etc.; a cost for network infrastructure; a measure of the current load on the network; or other costs which may be related to providing networking services to a user. Thedynamic rate line 307 represents a function of cost to provide network services, location of a user device, and a time. - In some embodiments, the multi-dimensional graph includes additional axes representing additional attributes used for determining the dynamic rate. For example, the multi-dimensional graph may include a representation of the historical behavior of the user device to which the dynamic rate is to be applied. In another example, the multi-dimensional graph may include a representation of the speed of the user device. By taking into account the speed of the user device, the dynamic rate is able to represent the rate at which new resources need to be allocated to the device as it travels through network sectors.
-
FIG. 4 is a display diagram depicting a sample network utilization overtime 400, according to various embodiments described herein.FIG. 4 includesusage indicators 401, a representation of a 403 a and 403 b, and a representation ofdowntown core 405 a and 405 b. Thesuburbs usage indicators 401 indicate the utilization of network services in each of the 403 a and 403 b anddowntown core 405 a and 405 b. Thesuburbs 403 a and 403 b and thecores 405 a and 405 b are example embodiments of the sectors 103 a-103 c described above in connection withsuburbs FIG. 1 . - In the example depicted in
FIG. 4 , at 9:00 AM on Monday morning, a majority of thedowntown core 403 a experiences high network utilization, as depicted by the utilization indicators in each of the depicted buildings in thedowntown core 403 a. Likewise, at the same time the majority of thesuburbs 405 a experience low network utilization. In contrast, at 7:00 PM on Saturday evening, the majority of thedowntown core 403 b experiences low utilization, while the majority of thesuburbs 405 b experience high utilization. - Thus, in this example, the dynamic rate identification system may calculate a higher dynamic rate for a user device located in the
downtown core 403 a orsuburbs 405 b and a lower dynamic rate for a user device located in thesuburbs 405 a anddowntown core 403 b. These dynamic rates may be used to determine whether user devices in each of the areas should pause or resume transmitting or receiving certain types of data. Furthermore, the dynamic rates may be used to instruct user devices to transmit or receive certain types of data only when the user device is connected to a hotspot. -
FIG. 5 is a flow diagram depicting a process to determine a dynamic rate for a user device, according to various embodiments described herein. The process described inFIG. 5 may be performed by a dynamic rate identification system, such as the dynamicrate identification system 200. First, atact 501, a dynamic rate identification system, such as the dynamicrate identification system 200 inFIGS. 1 and 2 , identifies a user device. The user device may be a car, cellular telephone, laptop, tablet, drone, or any other type of user device, such as the user device 101 inFIG. 1 . - At
act 503, the dynamic rate identification system receives data from the user device, including data describing a location of the user device, and, if available, a projected path of travel for the user device. The data received from the user device may include one or more of: an indication of the type of data that the user device transmits or receives and an indication of one or more priority measures for a plurality of the types of data that the user device transmits or receives. In some embodiments, the dynamic rate identification system determines at least one priority measure for at least one type of data that the user device transmits or receives based on one or more of: one or more functions of the user device, the type of data, an indication from a user of the user device that the type of data should be prioritized, or other indicators of the importance of a type of data for the functionality of a user device. - At
act 505, the dynamic rate identification system identifies a current network load of a sector in which the user device is located. In some embodiments, the dynamic rate identification system identifies the sector in which the user device is located based on the data received inact 503. Atact 507, the dynamic rate identification system identifies a cost for networking services to be provided to the user device. In some embodiments, the cost for networking services to be provided to the user device is determined based on the current network load of the sector in which the user device is located. - At
act 509, the dynamic rate identification system determines a dynamic rate for the user device based on one or more of: the current network load, the user device data, and the cost for networking services. In some embodiments, the dynamic rate identification system uses historical usage data for the user device to determine the dynamic rate. The historical usage data may include data describing when the user device typically accesses the network, the type of data transmitted or received when the user device accesses the network, the amount of data transmitted or received when the user device accesses the network, the length of time that the user device spends transmitting or receiving data, or other data that indicates a pattern of the user device's usage of network resources. For example, a user device which typically uses network resources in the morning, but not at night, may receive a dynamic rate that is higher in the morning and lower at night. - In some embodiments, at
act 509, the dynamic rate identification system uses a speed of the user device to determine the dynamic rate. For example, a user device which is predicted to travel through network sectors at high speed based on the current speed of the user device may have a higher dynamic rate than if the user device was predicted to travel through network sectors at a lower speed. - At
act 511, the dynamic rate identification system causes the user device to transmit data based on the dynamic rate. In some embodiments, causing the user device to transmit data based on the dynamic rate includes one or more of: transmitting an indication of the dynamic rate to the user device, transmitting an indication of one or more types of data which the user device should pause or resume transmitting, transmitting instructions to the user device to determine one or more types of data which the user device should stop or resume transmitting based on the dynamic rate, or other methods of causing a user device to transmit data based on a dynamic rate. - In some embodiments, the dynamic rate determined in
act 509 may be used to reserve network capacity for the user device. The dynamic rate may be used to reserve network capacity based on movement of the user device, an indication of the user device's usage of network capacity, or other methods of determining whether to reserve network capacity based on a dynamic rate. For example, a dynamic rate which indicates that the user device is likely to travel through multiple network sectors may be used to reserve network capacity for the user device at those network sectors when the user device is predicted to pass through the network sectors. In some embodiments, the dynamic rate identification system reserves network capacity by using network slices. - After
act 509, the process ends. -
FIG. 6 is a flow diagram depicting a process to determine a dynamic rate for a user device based on a sector within which the user device is located, according to various embodiments described herein. The process described inFIG. 6 may be performed by a dynamic rate identification system, such as the dynamicrate identification system 200. First, atact 601, the dynamic rate identification system identifies one or more sectors of a network. The sectors may represent geographic areas within the network's coverage, such as urban areas, suburban areas, rural areas, areas which are provided networking services by one or more cell towers, etc. - At
act 603, the dynamic rate identification system identifies a cost for providing networking services and identifies a change in the cost to provide networking services over time for each sector. The dynamic rate identification system may performact 603 based on historical data describing the cost for providing networking services in the sector and/or based on a current, or “live,” usage of networking resources in the sector. The historical data may be periodically updated to include present costs for providing networking services. The historical data may be historical data for: an entire sector; a portion of a sector; multiple sectors which share an attribute, such as being rural, urban, suburban, etc.; for one or more locations defined by geographic coordinates, such as Global Positioning System coordinates; or other historical data which may be useful for determining a change in the cost over time to provide networking services for a user device. The historical data may include data related to the amount of user devices connected to the network during one or more periods of time. The historical data may include data related to the amount of bandwidth used by user devices connected to the network during one or more periods of time. In some embodiments, the historical data includes data describing a pattern of the user device's usage of network resources. - At
act 605, the dynamic rate identification system receives user device data from a user device. Atact 607, the dynamic rate identification system determines a sector within which the user device is located based on the user device data and the identified sectors. - At
act 609, the dynamic rate identification system determines a dynamic rate for the user device based on the identified sector. In some embodiments, the dynamic rate identification system may additionally determine the dynamic rate based on one or more of: a current time, the current cost for providing networking services in the identified sector, historical data related to the cost for providing networking services in the identified sector, and a path or route along which the user device travels or is expected to travel. - After
act 609, the process ends. -
FIG. 7 is a flow diagram depicting a process for causing a user device not to transmit or receive at least one type of data, according to various embodiments described herein. The process described inFIG. 7 may be performed by a dynamic rate identification system, such as the dynamicrate identification system 200. First, atact 701, the dynamic rate identification system receives data describing one or more types of data transmitted by a user device. - At
act 703, the dynamic rate identification system receives data describing a priority measure for each type of data of the one or more types of data. In some embodiments, the dynamic rate identification system receives data describing a priority measure for a portion of the one or more types of data. The priority measure may be a numeric measure, a textual indication of a measure, etc. The priority measure may indicate that a type of data is within one tier of priority of a plurality of tiers of priority. For example, types of data in a lower tier of priority may be less prioritized than types of data in a higher tier of priority. - At
act 705, the dynamic rate identification system receives an indication of a dynamic rate for providing networking services to the user devices. Atact 707, the dynamic rate identification system determines whether the user device should not transmit at least one type of data based on the priority measures for each of the one or more types of data and the dynamic rate. In some embodiments, the dynamic rate identification system additionally determines whether the user device should not transmit at least one type of data based on an indication of the current network load. The indication of the current network load may be obtained from the network, such as thenetwork 105. The indication of the current network load may be determined by the dynamic rate identification system based on at least the dynamic rate or the data used to determine the dynamic rate. For example the dynamic rate identification system may compare the dynamic rate to previous rates to determine the current load of the network. - At
act 709, the dynamic rate identification system causes the user device to not transmit or receive the at least one type of data. The dynamic rate system may cause the user device not to transmit or receive the at least one type of data for a period of time, until the device is nearby or connected to a hotspot, until the user device has changed locations or sectors, until a new dynamic rate is calculated for the user device, etc. - After
act 709, the process ends. While the process 700 is described as being performed by the dynamic rate identification system, in some embodiments, the user device performs all or some of the acts described in the process 700. -
FIG. 8 is a flow diagram depicting a process to determine a dynamic rate for a user device based on a route of the user device, according to various embodiments described herein. The process described inFIG. 8 may be performed by a dynamic rate identification system, such as the dynamicrate identification system 200. First, atact 801, the dynamic rate identification system receives an indication of a route of the user device. The route may be a planned route, a predicted route, a current route, etc., which will be, or is currently being, travelled by a user device. - At
act 803, the dynamic rate identification system predicts which sectors the user device will pass through based on the indication of the route, and the time that the user device will pass through the sectors. The dynamic rate identification system may predict the sectors that the user device will pass through the sectors based on location data describing the sectors and the route obtained inact 801. The dynamic rate identification system may predict the time that the user device will pass through the sectors based on the route obtained inact 801 and one or more of: a time that the user device began travelling along the route, a current time, a projected time that the user device will begin travelling along the route, etc. - At
act 805, the dynamic rate identification system generates a plurality of dynamic rates based on the prediction of which sectors the user device will pass through and the prediction of the time that the user device will pass through the sectors. Atact 807, the dynamic rate identification system determines which types of data the user devices should transmit or receive while travelling along the route based on the plurality of dynamic rates and the predictions obtained inact 803. In some embodiments, act 807 is performed by using the process 700 described above in connection withFIG. 7 . - After
act 807, the process ends. In some embodiments, the dynamic rate identification system changes one or more of: the route and the time that the user device begins travelling along the route, based on the plurality of dynamic rates to determine new dynamic rates. For example, the dynamic rate identification system may attempt to determine lower dynamic rates for the user device as it travels along the route. -
FIG. 9 is a flow diagram depicting a process for a user device to receive a dynamic rate and stop transmitting at least one type of data, according to various embodiments described herein. The process described inFIG. 9 may be performed by a dynamic rate identification system, such as the dynamicrate identification system 200. First, atact 901, the user device transmits or receives one or more types of data, each type of data having a priority measure. - At
act 903, the user device transmits location data to a dynamic rate identification system. In some embodiments, the user device transmits data indicating the one or more types of data transmitted or received by the user device to the dynamic rate identification system. Atact 905, the user device receives a dynamic rate from the dynamic rate identification system. - At 907, the user device determines, whether at least one type of data of the one or more types of data should not be transmitted based on at least the dynamic rate and the priority of each type of data. At
act 909, the user devices causes itself to temporarily stop transmitting the at least one type of data. In some embodiments, act 909 is performed similarly asact 709. - After
act 909, the process ends. -
FIG. 10 is a flow diagram depicting a process to use a hotspot within a sector to transmit data which a user device is not transmitting based on a dynamic rate, according to various embodiments described herein. The process described inFIG. 10 may be performed by a dynamic rate identification system, such as the dynamicrate identification system 200. First, atact 1001, the dynamic rate identification system identifies one or more hotspots within a sector. The hotspots may be identified based on one or more of: prior hotspots that a user device has connected to, a home network of a user associated with a user device, partnerships with one or more third party entities which have agreed to provide hotspots, or other methods of identifying a hotspot. - At
act 1003, the dynamic rate identification system identifies one or more types of data that the user device is not transmitting or receiving based on the dynamic rate. The dynamic rate identification system may receive an indication of the type of data that the user device is not transmitting from the user device. - At
act 1005, the dynamic rate identification system may cause the user device to transmit or receive the identified one or more types of data when the user device is connected to at least one hotspot within the sector. The dynamic rate identification system may cause the user device to transmit or receive the identified one or more types of data by performing one or more of: providing the one or more identified hotspots to the user device and providing instructions to the user device to only transmit or receive the identified types of data when the user device is connected to at least one of the identified hotspots. - After
act 1005, the process ends. - The following is an example implementation of the dynamic rate identification system when applied to a vehicle. While the following example relates to a vehicle, any user device may be used in the example. In a typical network environment, network providers manage the SIM cards, control the wireless connection, and provide pricing based on a rate card, with volume discounts based on consumption tiers. The rate cards are periodically renegotiated and the rate is “locked-in” to the network provider based on the SIM card and the limitations of a modem included in a vehicle.
- In contrast, the dynamic rate identification system uses dynamic pricing of network resources as a function of the time, location, and price per unit of capacity, based on real-time network utilization. These three dimensions shift based on the service level requirements of the vehicle. The dynamic rate identification system is able to optimize the total cost of connectivity by considering the time of day, location of the vehicle, and the network load.
- In this example, the network provided by the network provider may be equivalent to a “gigabyte factory” which has a fixed cost. Further, the network may have an average utilization of less than twenty-five percent based on the geography of the coverage area, customer density, time of utilization, etc. The utilization and efficiency of the network is increased by the dynamic rate identification system by using a dynamic rate determined by the dynamic rate identification system. The dynamic rate may be linked to a specific location of any connected device and the current time of day, such as the vehicle in this example.
- The network has varying loads throughout a day, and the density of consumption of network services may be variable based on the geography of the area serviced by the network and the time of the day. The dynamic rate identification system is able to consider an aggregate of the network load, individual sectors of the network load, etc.
- The dynamic rate identification system is thereby able to optimize the on-vehicle storage and movement of vehicle-generated data based on service requirements for the vehicle data. The service requirements may be determined based on input from a manufacturer of the vehicle, a user of the vehicle, the network provider, etc. This input may take the form of a priority measure used to determine which data is the highest priority to transmit or receive. In this example, the highest priority data is then able to always be transmitted and received, while relatively unimportant or low priority data is transmitted or received when the network load or utilization is low. By optimizing the movement and storage of data, the dynamic rate identification system may cause the vehicle to take advantage of the network when the calculated dynamic rate is lower as opposed to moving large amounts of data during peak hours in sectors with heavy utilization.
- The dynamic rate identification system uses intertemporal and interspatial price discrimination with dynamic adjustment due to demand for network resources to determine the dynamic rate. Thus, users of the network are able to experience a lower overall cost structure for certain service tiers of the network.
-
FIG. 11 is a diagram depicting an example 1100 of using a dynamic rate identification system to apply new dynamic rates to data transmitted from or received by a user device as it travels along a route, according to various embodiments described herein. The example 1100 includes auser device 1101, one or more sectors 1103 a-1103 c, apath 1105, astarting point 1107, and anending point 1109. Theuser device 1101 may be a user device, such as the user device 101 described above in connection withFIG. 1 . The one or more sectors 1103 a-1103 c may be network sectors, such as the sectors 103 a-103 c described above in connection withFIG. 1 . In this example, auser device 1101 travels along thepath 1105, and a new dynamic rate may be calculated for theuser device 1101 as it travels along thepath 1105. Thepath 1105 may be a route, a trajectory, or another type of course along which a user device may travel. - In the example 1100, the dynamic rate identification system receives an indication of the
path 1105, along which theuser device 1101 will travel. In some embodiments, the dynamic rate identification system also receives a time at which theuser device 1101 will travel along the route. The dynamic rate identification system identifies the sectors 1103 a-1103 c as sectors which the user device will pass through as it travels along the route, and calculates a predicted dynamic rate for the user device for each sector. The predicted dynamic rate is a prediction of the rate at which the user device will be charged to use networking services. The predicted dynamic rate for a particular sector may be based on one or more of: a network load, such as a predicted network load, current network load, etc., for the sector; and a predicted time that the user device will be located in the sector. The dynamic rate identification system may use the predicted dynamic rate to determine which types of data are transmitted at certain times along the route travelled by the user device. - In the example 1100, the dynamic rate identification system has predicted that the
path 1105 travelled by the user device will result in a predicted rate of $5 per gigabyte at a first time, $9 per gigabyte at a second and third time, and $2 per gigabyte at a fourth time. The dynamic rate identification system may use these predicted rates to preliminarily instruct the user device to stop or resume transmitting or receiving certain types of data at those times. These preliminary instructions may change based on changes in the dynamic rate as the user device travels along thepath 1105. - In the example 1100, at a first period of time, the
user device 1101 is present insector 1103 a. At the first time, the dynamic rate identification system has predicted that the rate will be $5 per gigabyte. Based on this rate, the dynamic rate identification system has determined that theuser device 1101 should stop transmitting or receiving low priority data. The dynamic rate identification system calculates a dynamic rate for the user device as it enters thesector 1103 a and determines which types of data the user device should stop or resume transmitting or receiving. As seen in the example 1100, at time “1,” while the user device is insector 1103 a, the dynamic rate is calculated at $5 per gigabyte. The dynamic rate identification system may use this rate to determine which types of data theuser device 1101 should stop or resume transmitting or alter the preliminary instructions given to the user device. Because the actual rate and predicted rate are the same, the dynamic rate identification system allows theuser device 1101 to follow the preliminary instructions and theuser device 1101 is caused to stop transmitting and receiving low priority data. - At a second period of time which is after the first period of time, the
user device 1101 has travelled along the route and is present insector 1103 b. At this second time, the predicted rate is $9 per gigabyte, and it has been determined that the user device should only transmit or receive medium or high priority data. However, the actual dynamic rate is calculated at $20 per gigabyte because the network insector 1103 b is experiencing unusually high network loads. At this rate, it is determined that the user device should stop transmitting and receiving any data that isn't of the highest priority, even though the predicted rate indicated that the user device should be able to transmit medium priority data in this sector at the second time. As a result, at the second time, the user device is caused to stop receiving and transmitting any data that isn't of the highest priority. - At a third period of time that is after the second period of time, while the
user device 1101 is still present insector 1103 b and the network load is lower than it was at the second time, the actual dynamic rate may be calculated again to change to $8 per gigabyte, compared to the predicted rate of $9 per gigabyte. The dynamic rate identification system predicted that theuser device 1101 would be able to transmit or receive medium priority data, and because the actual rate is lower, theuser device 1101 is still able to transmit or receive the medium priority data. Thus, at this rate theuser device 1101 is able to resume transmitting and receiving medium priority data, and theuser device 1101 is caused to do so. - Finally, at a fourth period of time after the third period of time, the
user device 1101 has travelled tosector 1103 c, which is experiencing a low network load at this time. The dynamic rate identification system predicted thatsector 1103 c would experience a low network load at this time, resulting in a predicted rate of $2 per gigabyte, which is used to determine that the user device can transmit and receive any type of data regardless of priority. The actual dynamic rate is also calculated to be $2 per gigabyte, and it is determined that the user device is able to follow the preliminary instructions to transmit and receive any type of data at this rate. Thus, at the fourth time, the user device is caused to resume transmission and reception of all types of data regardless of priority. - In some embodiments, the dynamic rate identification system may use the predicted dynamic rates to: preliminarily plan when the user device is able to transmit or receive certain types of data; when the user device should transmit or receive large amounts of certain types of data based on their priority (such as ensuring that large amounts of low priority data is transmitted when the dynamic rate is low, ensuring that no low priority data is transmitted when the dynamic rate is high, etc.); alter the route based on predicted dynamic rates for other sectors in order to ensure the dynamic rate does not exceed a certain threshold dynamic rate; or use the predicted dynamic rates in other manners which affect one or more of: the network load of one or more sectors, the price paid by a user for networking services provided to a user device and the ability of the user device to transmit or receive certain types of data. In some embodiments, the dynamic rate identification system calculates an actual dynamic rate when the user device enters a sector, and the actual dynamic rate is used to determine which types of data the user device should stop or resume transmitting or receiving. In some embodiments, the dynamic rate identification system periodically adjusts the dynamic rate for the user device.
- In an example embodiment, one or more user devices, such as the
user device 1101, are drones. In such an embodiment, a new dynamic rate is applied to the drone as the drone moves throughout sectors, such as the 1103 a, 1103 b, and 1103 c. Furthermore, the dynamic rate may be calculated based on the altitude of the drone. For example, a delivery drone may have a different dynamic rate applied when taking off, when traveling at a certain altitude, and when landing. Thus, the dynamic rate may be calculated based on three-dimensional movement of the user device.sectors - In some embodiments, one or more user devices, such as the
user device 1101, are robots or other automated equipment, such as mining equipment, construction equipment, autonomous vehicles, or other robotic or autonomous equipment. For example, a mining robot may have various sensors which collect data related to whether a mine is safe for humans to enter, moving the mining robot within a mine or worksite, or other data related to the functionality of such a robot. The mining robot may receive a dynamic rate during the day which is higher than a dynamic rate during the night. Thus, the mining robot may transmit high volumes of data which is critical, such as data related to the safety of the mine regardless of the dynamic rate, but may transmit other non-critical data when the dynamic rate is lower, such as during the night. Furthermore, it may be determined that the mining robot should be used at night to take advantage of the lower dynamic rate for transmitting or receiving data related to the movement of the mining robot, which may require high volume of data transmission and reception. - The various embodiments described above can be combined to provide further embodiments. All of the U.S. patents, U.S. patent application publications, U.S. patent applications, foreign patents, foreign patent applications and non-patent publications referred to in this specification and/or listed in the Application Data Sheet are incorporated herein by reference, in their entirety. Aspects of the embodiments can be modified, if necessary to employ concepts of the various patents, applications and publications to provide yet further embodiments.
- These and other changes can be made to the embodiments in light of the above-detailed description. In general, in the following claims, the terms used should not be construed to limit the claims to the specific embodiments disclosed in the specification and the claims, but should be construed to include all possible embodiments along with the full scope of equivalents to which such claims are entitled. Accordingly, the claims are not limited by the disclosure.
Claims (20)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/060,373 US20230412407A1 (en) | 2022-06-15 | 2022-11-30 | Systems and methods for dynamic rate identification |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202263352568P | 2022-06-15 | 2022-06-15 | |
| US18/060,373 US20230412407A1 (en) | 2022-06-15 | 2022-11-30 | Systems and methods for dynamic rate identification |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20230412407A1 true US20230412407A1 (en) | 2023-12-21 |
Family
ID=89168532
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/060,373 Pending US20230412407A1 (en) | 2022-06-15 | 2022-11-30 | Systems and methods for dynamic rate identification |
| US18/170,320 Pending US20230413155A1 (en) | 2022-06-15 | 2023-02-16 | Systems and methods for dynamic rate and hotspot identification for a user device |
| US18/170,317 Active 2043-12-27 US12489650B2 (en) | 2022-06-15 | 2023-02-16 | Systems and methods for dynamic rate identification along a route of a user device |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/170,320 Pending US20230413155A1 (en) | 2022-06-15 | 2023-02-16 | Systems and methods for dynamic rate and hotspot identification for a user device |
| US18/170,317 Active 2043-12-27 US12489650B2 (en) | 2022-06-15 | 2023-02-16 | Systems and methods for dynamic rate identification along a route of a user device |
Country Status (1)
| Country | Link |
|---|---|
| US (3) | US20230412407A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20240089799A1 (en) * | 2022-09-13 | 2024-03-14 | T-Mobile Usa, Inc. | Intelligent allocation of internet protocol (ip) multimedia subsystem (ims) resources |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060030291A1 (en) * | 2004-08-05 | 2006-02-09 | International Business Machines Corporation | Traffic shaping of cellular service consumption through modification of consumer behavior encouraged by cell-based pricing advantages |
| US20160337525A1 (en) * | 2014-01-15 | 2016-11-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for subscription adaptation |
| US20170272972A1 (en) * | 2016-03-18 | 2017-09-21 | Dell Products, Lp | Method and apparatus for adaptive transmission techniques with connection context aware radio communication management and path prediction |
| US20180270073A1 (en) * | 2017-03-17 | 2018-09-20 | Huawei Technologies Co., Ltd. | Method and apparatus for charging operations in a communication network |
| US20190222527A1 (en) * | 2016-08-18 | 2019-07-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and wireless device for handling transmission of data |
| US20210212017A1 (en) * | 2012-05-18 | 2021-07-08 | Comcast Cable Communications, Llc | Wireless Network Supporting Extended Coverage of Service |
| US20230199612A1 (en) * | 2021-12-20 | 2023-06-22 | Rivian Ip Holdings, Llc | Systems and methods for providing robust connectivity to vehicles |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7466986B2 (en) | 2006-01-19 | 2008-12-16 | International Business Machines Corporation | On-device mapping of WIFI hotspots via direct connection of WIFI-enabled and GPS-enabled mobile devices |
| JP5691548B2 (en) * | 2011-01-21 | 2015-04-01 | ソニー株式会社 | Communication charge prediction apparatus, communication apparatus, and communication system |
| US8762048B2 (en) * | 2011-10-28 | 2014-06-24 | At&T Mobility Ii Llc | Automatic travel time and routing determinations in a wireless network |
| US9374289B2 (en) * | 2012-02-28 | 2016-06-21 | Verizon Patent And Licensing Inc. | Dynamically provisioning subscribers to manage network traffic |
| US20140369190A1 (en) | 2013-06-18 | 2014-12-18 | Verizon Patent And Licensing Inc. | Tier-based congestion control for multimode user equipment |
| US9226197B2 (en) * | 2013-10-21 | 2015-12-29 | At&T Intellectual Property I, L.P. | Network based speed dependent load balancing |
| US9532259B2 (en) * | 2013-11-20 | 2016-12-27 | Sony Corporation | Dynamic network-controlled formation of mobile cells |
| US9843687B2 (en) * | 2014-11-09 | 2017-12-12 | Cisco Technology, Inc. | System and method for radio aware traffic management based wireless authorization |
| US20160380820A1 (en) * | 2015-06-29 | 2016-12-29 | Microsoft Technology Licensing, Llc | Reconfiguring Wireless Networks By Predicting Future User Locations and Loads |
| EP3239659B1 (en) * | 2016-04-26 | 2019-02-27 | Volvo Car Corporation | Method and system for in a timed manner enabling a user device on the move to utilize digital content associated with entities ahead |
| US9674374B1 (en) | 2016-08-24 | 2017-06-06 | Verizon Patent And Licensing Inc. | Tracking data usage in wireless networks |
| US9924045B1 (en) * | 2016-08-24 | 2018-03-20 | Verizon Patent And Licensing Inc. | Identifying unused capacity in wireless networks |
| EP3580929B1 (en) * | 2017-05-18 | 2023-08-16 | DriveU Tech Ltd. | Device, system, and method of wireless multiple-link vehicular communication |
| US10587426B2 (en) | 2018-05-17 | 2020-03-10 | At&T Intellectual Property I, L.P. | System and method for optimizing revenue through bandwidth utilization management |
| US11089534B2 (en) * | 2018-12-03 | 2021-08-10 | At&T Intellectual Property I, L.P. | Optimization of access technology search in multiple equivalent home public land mobile network (EHPLMN) deployments |
| US11375432B2 (en) * | 2019-05-01 | 2022-06-28 | At&T Intellectual Property I, L.P. | Flexible framework for multi-hop routing in an integrated access and backhaul network for 5G or other next generation network |
| US10932180B2 (en) * | 2019-07-22 | 2021-02-23 | Microsoft Technology Licensing, Llc | Route planning using crowd-sourced network data |
| US10749699B1 (en) * | 2019-09-25 | 2020-08-18 | Guavus, Inc. | Predictive indicator based on network performance |
| US11490317B2 (en) * | 2020-02-18 | 2022-11-01 | At&T Intellectual Property I, L.P. | Selectively shedding processing loads associated with updates to a routing table in a fifth generation (5G) or other next generation network |
| US11553502B2 (en) * | 2020-02-28 | 2023-01-10 | At&T Intellectual Property I, L.P. | Recalibrating resource profiles for network slices in a 5G or other next generation wireless network |
| US11516724B2 (en) | 2020-11-09 | 2022-11-29 | Dish Wireless L.L.C. | Geographic routing based on 5G network slice availability |
-
2022
- 2022-11-30 US US18/060,373 patent/US20230412407A1/en active Pending
-
2023
- 2023-02-16 US US18/170,320 patent/US20230413155A1/en active Pending
- 2023-02-16 US US18/170,317 patent/US12489650B2/en active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060030291A1 (en) * | 2004-08-05 | 2006-02-09 | International Business Machines Corporation | Traffic shaping of cellular service consumption through modification of consumer behavior encouraged by cell-based pricing advantages |
| US20210212017A1 (en) * | 2012-05-18 | 2021-07-08 | Comcast Cable Communications, Llc | Wireless Network Supporting Extended Coverage of Service |
| US20160337525A1 (en) * | 2014-01-15 | 2016-11-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for subscription adaptation |
| US20170272972A1 (en) * | 2016-03-18 | 2017-09-21 | Dell Products, Lp | Method and apparatus for adaptive transmission techniques with connection context aware radio communication management and path prediction |
| US20190222527A1 (en) * | 2016-08-18 | 2019-07-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and wireless device for handling transmission of data |
| US20180270073A1 (en) * | 2017-03-17 | 2018-09-20 | Huawei Technologies Co., Ltd. | Method and apparatus for charging operations in a communication network |
| US20230199612A1 (en) * | 2021-12-20 | 2023-06-22 | Rivian Ip Holdings, Llc | Systems and methods for providing robust connectivity to vehicles |
Also Published As
| Publication number | Publication date |
|---|---|
| US12489650B2 (en) | 2025-12-02 |
| US20230412409A1 (en) | 2023-12-21 |
| US20230413155A1 (en) | 2023-12-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11653222B2 (en) | Optimizing wireless networking using a virtual geographic information system overlay | |
| EP3949459B1 (en) | Vehicular cloud slicing | |
| US12045738B2 (en) | Transportation operator collaboration system | |
| Zhou et al. | BEGIN: Big data enabled energy-efficient vehicular edge computing | |
| EP3594811B1 (en) | Managing computational tasks in vehicle context | |
| Bagheri et al. | Cloud-based pedestrian road-safety with situation-adaptive energy-efficient communication | |
| EP3681132A1 (en) | On-demand formation of stationary vehicular micro clouds | |
| US20180288502A1 (en) | Information collection system and information collection apparatus | |
| US10957195B2 (en) | Apparatuses, systems, and methods for graphical progress interfaces for dynamic transportation networks | |
| US12483620B2 (en) | Edge synchronization systems and methods | |
| US20250128708A1 (en) | Eco-pilot-energy-efficient vehicle speed advisory through vehicle-to-infrastructure communications | |
| Senapati et al. | Automatic parking service through vanet: A convenience application | |
| US20230412407A1 (en) | Systems and methods for dynamic rate identification | |
| JP2022521665A (en) | Transportation method and equipment | |
| US20210120491A1 (en) | Information processing apparatus, control method, and program | |
| Chebaane et al. | Time‐Critical Fog Computing for Vehicular Networks | |
| Rawlley et al. | Artificial intelligence inspired task offloading and resource orchestration in intelligent transportation systems | |
| JP2022519818A (en) | Delegation of cloud-side roles to devices (delivery) | |
| Jaworski | Cloud computing based adaptive traffic control and management | |
| Spring et al. | MACH: Multi-Agent Coordination for RSU-centric Handovers | |
| JP2022502898A (en) | How to reallocate data processing peripheral servers | |
| Jotanovic et al. | Smart city iot on-demand monitoring system using a drone fleet | |
| Chan | Telecommunications-and information technology–inspired analyses: review of an intelligent transportation systems experience | |
| US20240426619A1 (en) | Data management of a vehicle system | |
| US20250027778A1 (en) | Remote support method and remote support system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: DISH WIRELESS L.L.C., COLORADO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BYE, STEPHEN;REEL/FRAME:061945/0521 Effective date: 20221128 Owner name: DISH WIRELESS L.L.C., COLORADO Free format text: ASSIGNMENT OF ASSIGNOR'S INTEREST;ASSIGNOR:BYE, STEPHEN;REEL/FRAME:061945/0521 Effective date: 20221128 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION COUNTED, NOT YET MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION COUNTED, NOT YET MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
| AS | Assignment |
Owner name: BOOST SUBSCRIBERCO L.L.C., COLORADO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DISH WIRELESS L.L.C.;REEL/FRAME:073066/0001 Effective date: 20251007 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION COUNTED, NOT YET MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |