US20220150177A1 - Maximum transmission unit size selection for wireless data transfer - Google Patents
Maximum transmission unit size selection for wireless data transfer Download PDFInfo
- Publication number
- US20220150177A1 US20220150177A1 US17/648,435 US202217648435A US2022150177A1 US 20220150177 A1 US20220150177 A1 US 20220150177A1 US 202217648435 A US202217648435 A US 202217648435A US 2022150177 A1 US2022150177 A1 US 2022150177A1
- Authority
- US
- United States
- Prior art keywords
- transmission unit
- data
- unit packet
- packet size
- user equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 107
- 238000012546 transfer Methods 0.000 title claims abstract description 64
- 230000003247 decreasing effect Effects 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 16
- 238000005259 measurement Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 abstract description 68
- 238000005516 engineering process Methods 0.000 abstract description 33
- 238000012360 testing method Methods 0.000 abstract description 5
- 238000003860 storage Methods 0.000 description 56
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 18
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 18
- 238000012545 processing Methods 0.000 description 17
- 102100036409 Activated CDC42 kinase 1 Human genes 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- 230000001413 cellular effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000001902 propagating effect Effects 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 5
- 238000004220 aggregation Methods 0.000 description 5
- 239000002609 medium Substances 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000005055 memory storage Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 239000003607 modifier Substances 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000007723 transport mechanism Effects 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 239000006163 transport media Substances 0.000 description 2
- 101100494773 Caenorhabditis elegans ctl-2 gene Proteins 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000760358 Enodes Species 0.000 description 1
- 101100112369 Fasciola hepatica Cat-1 gene Proteins 0.000 description 1
- 101100005271 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) cat-1 gene Proteins 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
-
- 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/0231—Traffic management, e.g. flow control or congestion control based on communication conditions
- H04W28/0236—Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/244—Connectivity information management, e.g. connectivity discovery or connectivity update using a network of reference devices, e.g. beaconing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B17/00—Monitoring; Testing
- H04B17/30—Monitoring; Testing of propagation channels
- H04B17/309—Measuring or estimating channel quality parameters
- H04B17/318—Received signal strength
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/10—Scheduling measurement reports ; Arrangements for measurement reports
Definitions
- the subject application is related to wireless communication systems, and, for example, to dynamic selection of a maximum transmission unit (MTU) packet size for wireless communications, such as for use in category-M (cat-M) devices.
- MTU maximum transmission unit
- MTC machine-type communications
- Category-M devices typically refer to user equipment machines that are part of the Internet of Things (IoT) and communicate relatively small amounts of data with other machines via a wireless LTE network using the Transmission Control Protocol (TCP)/Internet Protocol (IP).
- TCP Transmission Control Protocol
- IP Internet Protocol
- Category-M devices include smart metering devices, sensors, healthcare devices, wearables and the like.
- the IP packet For MTC data transmission, the IP packet is broken into smaller radio resource blocks (RBs); the maximum number of RBs assigned to Cat-M devices is six, shared with other Cat-M devices at the time domain. If any one of the radio blocks is not received, the TCP packet cannot be reassembled, and retransmission of the radio block is required. Under poor radio signal conditions, because of radio block retransmissions and TCP server timeout, when two or more Cat-M devices concurrently download/upload data, the TCP session failure rate is high.
- RBs radio resource blocks
- FIG. 1 illustrates an example wireless communication system in which a network node device (e.g., network device) and various user equipment (UE), including a UE operating as a local manager, can implement various aspects and implementations of the subject disclosure.
- a network node device e.g., network device
- UE user equipment
- FIG. 2 illustrates an example communications sequence including communications to select a maximum transmission unit (MTU) packet size based on radio signal conditions, in accordance with various aspects and implementations of the subject disclosure.
- MTU maximum transmission unit
- FIG. 3 illustrates an example of selecting an MTU packet size from a data store (table) based on received reference signals, in accordance with various aspects and implementations of the subject disclosure.
- FIGS. 4-6 comprise an example flow diagram of operations of a user equipment, including operations to select (and possibly vary based on performance) an MTU packet size based on radio signal conditions, in accordance with various aspects and implementations of the subject disclosure.
- FIG. 7 illustrates an example flow diagram of a user equipment's example operations for selecting an MTU packet size based on received reference signals, in accordance with various aspects and implementations of the subject disclosure.
- FIG. 8 illustrates a block diagram of a user equipment's example operations, comprising operations for selecting an MTU packet size based on received reference signals, in accordance with various aspects and implementations of the subject disclosure.
- FIG. 9 illustrates an example flow diagram of a user equipment's example operations for selecting an MTU packet size based on received reference signals, in accordance with various aspects and implementations of the subject disclosure.
- FIG. 10 illustrates an example block diagram of an example mobile handset operable to engage in a system architecture that facilitates wireless communications according to one or more embodiments described herein.
- FIG. 11 illustrates an example block diagram of an example computer operable to engage in a system architecture that facilitates wireless communications according to one or more embodiments described herein.
- one or more aspects of the technology described herein are generally directed towards dynamically selecting a user equipment device's maximum transmission unit (MTU) packet size based on radio signal conditions.
- MTU maximum transmission unit
- the technology operates to use a smaller MTU size when radio signal conditions are relatively poor, and use a larger MTU size when signal conditions are relatively good. This reduces the TCP round trip time, and improves MTC device communication performance.
- a smaller MTU size is selected for use, which reduces the number of radio blocks needed for transmitting a TCP packet. This in turn reduces the TCP retransmission rate and time out rate, and thus reduces data download/upload failures, including for Cat-M devices, due to the limited radio resources available and the long round trip delays that otherwise result from a large number of repetitions.
- the mapping of radio signal conditions to a suitable MTU size can be established by field testing or the like.
- the technology described herein of selective MTU sizes based on radio signal conditions reduces the TCP packet retransmission rate and session time out rate, and therefore improves the data transfer (download/upload) success rate.
- any of the examples and terms used herein are non-limiting.
- Cat-M devices are examples of devices, the technology is not limited to Cat-M, but rather the technology may provide benefits with Cat-0, Cat-1, LTE-M, NB-IoT, EC-GSM, and New Radio (NR, sometimes referred to as 5G) applications.
- any wireless-capable user equipment may benefit from the technology described herein, including smartphones, tablets, notebooks, modems (cards, dongles/adapters (e.g., USB)) and so on.
- any of the examples herein are non-limiting examples, and any of the embodiments, aspects, concepts, structures, functionalities or examples described herein are non-limiting, and the technology may be used in various ways that provide benefits and advantages in radio communications in general.
- radio network node or simply “network node,” “radio network device or simply “network device” is used herein. These terms may be used interchangeably, and refer to any type of network node that serves user equipment and/or connected to other network node or network element or any radio node from where user equipment receives signal.
- radio network nodes are Node B, base station (BS), multi-standard radio (MSR) node such as MSR BS, gNodeB, eNode B, network controller, radio network controller (RNC), base station controller (BSC), relay, donor node controlling relay, base transceiver station (BTS), access point (AP), transmission points, transmission nodes, RRU, RRH, nodes in distributed antenna system (DAS) etc.
- BS base station
- MSR multi-standard radio
- RNC radio network controller
- BSC base station controller
- relay donor node controlling relay
- BTS base transceiver station
- AP access point
- transmission points transmission nodes
- RRU RRU
- RRH nodes in distributed antenna system
- the non-limiting term user equipment refers to any type of wireless device that communicates with a radio network node in a cellular or mobile communication system.
- user equipment are target device, device to device (D2D) user equipment, machine type communication(s) (MTC) user equipment or user equipment capable of machine to machine (M2M) communication, PDA, Tablet, mobile terminals, smart phone, laptop embedded equipped (LEE), laptop mounted equipment (LME), USB dongles etc.
- FIG. 1 illustrates an example wireless communication system 100 in accordance with various aspects and embodiments of the subject technology.
- the system 100 can comprise one or more user equipment UEs 102 ( 1 )- 102 ( n ).
- One or more of the user equipments e.g., 102 ( 1 ) and 102 ( 2 )
- the system 100 is or comprises a wireless communication network serviced by one or more wireless communication network providers.
- a UE 102 can be communicatively coupled to the wireless communication network via a network device 104 (e.g., network node).
- the network device 104 can communicate with the user equipment (UE) 102 , thus providing connectivity between the UE and the wider cellular network.
- UE user equipment
- each UE 102 such as the UE 102 ( 1 ) is able to send and/or receive communication data via a wireless link to the network device 104 .
- the dashed arrow lines from the network device 104 to the UE 102 represent downlink (DL) communications and the solid arrow lines from the UEs 102 to the network device 104 represents uplink (UL) communications.
- the system 100 can further include one or more communication service provider networks 106 that facilitate providing wireless communication services to various user equipment, including UEs 102 ( 1 )- 102 ( n ), via the network device 104 and/or various additional network devices (not shown) included in the one or more communication service provider networks 106 .
- the one or more communication service provider networks 106 can include various types of disparate networks, including but not limited to: cellular networks, femto networks, picocell networks, microcell networks, internet protocol (IP) networks Wi-Fi service networks, broadband service network, enterprise networks, cloud based networks, and the like.
- system 100 can be or include a large scale wireless communication network that spans various geographic areas.
- the one or more communication service provider networks 106 can be or include the wireless communication network and/or various additional devices and components of the wireless communication network (e.g., additional network devices and cell, additional UEs, network server devices, etc.).
- the network device 104 can be connected to the one or more communication service provider networks 106 via one or more backhaul links 108 .
- the one or more backhaul links 108 can comprise wired link components, such as a T1/E1 phone line, a digital subscriber line (DSL) (e.g., either synchronous or asynchronous), an asymmetric DSL (ADSL), an optical fiber backbone, a coaxial cable, and the like.
- the one or more backhaul links 108 can also include wireless link components, such as but not limited to, line-of-sight (LOS) or non-LOS links which can include terrestrial air-interfaces or deep space links (e.g., satellite communication links for navigation).
- LOS line-of-sight
- non-LOS links which can include terrestrial air-interfaces or deep space links (e.g., satellite communication links for navigation).
- the wireless communication system 100 can employ various cellular systems, technologies, and modulation schemes to facilitate wireless radio communications between devices (e.g., the user equipment 102 and the network device 104 ). While example embodiments might be described for 4 G LTE and 5G new radio (NR) systems, the embodiments can be applicable to any radio access technology (RAT) or multi-RAT system where the user equipment operates using multiple carriers e.g. LTE FDD/TDD, GSM/GERAN, CDMA2000 etc.
- RAT radio access technology
- the system 100 can operate in accordance with global system for mobile communications (GSM), universal mobile telecommunications service (UMTS), long term evolution (LTE), LTE frequency division duplexing (LTE FDD, LTE time division duplexing (TDD), high speed packet access (HSPA), code division multiple access (CDMA), wideband CDMA (WCMDA), CDMA2000, time division multiple access (TDMA), frequency division multiple access (FDMA), multi-carrier code division multiple access (MC-CDMA), single-carrier code division multiple access (SC-CDMA), single-carrier FDMA (SC-FDMA), orthogonal frequency division multiplexing (OFDM), discrete Fourier transform spread OFDM (DFT-spread OFDM) single carrier FDMA (SC-FDMA), Filter bank based multi-carrier (FBMC), zero tail DFT-spread-OFDM (ZT DFT-s-OFDM), generalized frequency division multiplexing (GFDM), fixed mobile convergence (FMC), universal fixed mobile convergence (UFMC), unique
- system 100 various features and functionalities of system 100 are particularly described wherein the devices (e.g., the user equipments 102 and the network device 104 ) of system 100 are configured to communicate wireless signals using one or more multi carrier modulation schemes, wherein data symbols can be transmitted simultaneously over multiple frequency subcarriers (e.g., OFDM, CP-OFDM, DFT-spread OFMD, UFMC, FMBC, etc.).
- the embodiments are applicable to single carrier as well as to multicarrier (MC) or carrier aggregation (CA) operation of the user equipment.
- MC multicarrier
- CA carrier aggregation
- CA carrier aggregation
- CA carrier aggregation
- multi-carrier system interchangeably called
- multi-cell operation interchangeably called
- multi-carrier operation transmission and/or reception.
- Multi RAB radio bearers
- a user equipment e.g., 102 ( 1 ) is configured to determine radio signal conditions based on radio reference signals 110 from the network device 104 . Based on the radio signal conditions, the user equipment (e.g., 102 ( 1 )) selects an MTU packet size as described herein for use in sending uplink packets 112 and/or receiving downlink packets 114 . So that the network device knows the MTU size to use for downlink packets, in the example implementation of FIG. 1 , at least for download data transfers, the user equipment sends MTU data 116 to the network device.
- FIG. 2 shows timing/data communications between a network device 104 and a user equipment 102 .
- the network device After an initial connection, the network device sends reference signals to the user equipment.
- the user equipment 102 typically measures and returns a reference signal report to the network device.
- the user equipment 102 comprises measurement, calculation and MTU selection logic 240 , which based on the received reference signals from the network device 104 , determines the radio signal conditions and selects an MTU packet size for data transfers as described herein.
- the user equipment's logic 240 measures the reference signal received power (RSRP) data corresponding to a power of a reference signal, and measures (that is, computes) the reference signal received quality (RSRQ) data corresponding to a received quality of the reference signal.
- RSRP reference signal received power
- RSSQ reference signal received quality
- the measurement, calculation and MTU selection logic 240 of the user equipment 102 obtains a MTU packet size, e.g., from an MTU data store 242 . It is also feasible to calculate the MTU size as a function of the RSRP and RSRQ values. If the network device 104 needs to know the MTU packet size, e.g., for download data transfers, the packet size can be returned as MTU data to the network device. Note that the RSRP and RSRQ values can be returned in the reference signal report to the network device, in which event the network device can similarly determine the MTU packet size, (provided that there are not different data stores 242 or functions for different types of user equipments).
- the data store 242 comprises a two-dimensional array/lookup table. Given the RSRP and RSRQ values, each of which can be rounded/quantized into a range or the like, indices to the lookup table are obtained and used to select the MTU packet size.
- the extended acknowledgement delay is influenced by larger IP packet size (1500 bytes) being broken into a large number of smaller radio blocks. If any one of the radio blocks is not received by a user equipment, the TCP packet cannot be reassembled, and retransmission of the radio block is required.
- the TCP server time out rate can be very high. In order to reduce server time out rate (increase data download success rate), described herein is reducing the MTU size when the signal quality is poor. For example, for one IP packet of 1500 bytes, the IP packet is broken into smaller radio block for transmission, totaling about 20 radio blocks.
- radio block If any one of the radio blocks has a transmission error, the radio block are retransmitted, up to 32 additional times, which gives minimum of a 256 millisecond retransmission delay. If retransmission fails, RLC (Radio Link Control) retransmission starts.
- the technology described herein reduces the number of radio blocks required for a TCP packet under poor radio signal conditions, by setting the MTU size dynamically based on the radio signal conditions. Under poor radio signal conditions, a smaller MTU size is assigned, whereby the total transmission time is reduced, which in turns reduces the TCP retransmission rate and time out rate.
- the mapping of radio signal conditions to each of the MTU sizes for populating the data store 242 can be established by (prior offline) field testing, as represented in FIG. 3 by the offline population process 344 .
- field testing can vary the MTU size (e.g., from 500 to 1500 bytes in steps of 100 bytes), and find the TCP IP packet retransmission rate as a function of RSRP and RSRQ. This can be repeated for two and more concurrent Cat-M devices, for example.
- the MTU size can then be optimized according to optimization criteria, such as optimized to minimize the retransmission rate and to minimize the TCP session time out rate at the cell edge.
- FIGS. 4-6 comprise a flow diagram showing some example operations that a user equipment can perform with respect to selecting an MTU packet size for data transfers.
- operation 402 represents obtaining (measuring) the RSRP data.
- Operation 404 represents obtaining (e.g. computing) and the RSRQ data.
- Operation 406 represents looking up the MTU packet size to select based on the RSRP data and the RSRQ data.
- Operation 408 represents selecting the MTU, and if appropriate, providing the selected MTU packet size to the network device.
- the selected MTU packet size can be varied from what is stored in the table, such as for the next file download/upload, by adding/subtracting a delta value from the stored MTU lookup table; (it is also feasible to change the MTU size during a TCP session, however the MTU size is usually set in the first TCP packet header field (SYN and MSS) and remains unchanged afterward).
- the RSRP data and RSRQ data can be re-measured, such as periodically or on demand, and use to select a possibly a different MTU packet size.
- the actual performance of an upload data transfer can be evaluated, e.g., by tracking ACK and NACK signals corresponding to the success or failure of data packet transfers, respectively. For example, ACK and NACK signals can be counted and if the performance of the data transfer is good, the MTU packet size can be increased for subsequent data transfer sessions. Conversely, if the performance of the data transfer is poor, the MTU packet size can be decreased for subsequent data transfer sessions. Thus, in one or more example implementations, counts of the ACK and NACK signals can be used to track performance of a data transfer operation. Operation 410 initializes (e.g., zeroes) these counts.
- Operation 412 represents starting (or if already started, continuing) the data transfer, e.g., sending or receiving some portion of the data.
- the operations continue as represented in the flow diagram of FIG. 5 until the data transfer is done (operation 414 ), including when successfully completed or because of failure.
- Operation 502 of FIG. 5 represents receiving (or if downloading, sending) an ACK or NACK signal.
- operation 504 branches to operation 506
- operation 504 branches to the operations of FIG. 6 , described below.
- Operation 506 represents incriminating the NACK count, and operation 508 evaluates the NACK count against a NACK count threshold value.
- the threshold value can be determined via field testing or the like, and can be such that even a single NACK is considered to be indicative of a need for a smaller MTU packet size, if possible. Further note that the NACK threshold value in use can differ for uploads versus downloads, and can be changed based on the current MTU packet size and/or other factors.
- the threshold value can allow for more aggressive or less aggressive changes in the MTU packet size in use based on whether the current MTU packet size is already near the lower end or upper end, whether the RSRP and/or RSRQ were closer to one end of a range versus closer to the center of the range, whether there already has been an adjustment (or adjustments) to the MTU packet size for a next TPC session, and so on.
- Operation 510 evaluates whether the MTU size is already at the minimum possible size. If not, operation 512 decreases the MTU size, e.g., by 100 bytes, which can be reported to the network device, if appropriate. Note that in one or more implementations this decrease adjustment is for the next TCP session, (although as set forth above, in alternative implementations the adjustment can be within the current session). Operation 514 represents adjusting the NACK count (e.g., such as re-zeroing the count) and/or adjusting the NACK threshold value in anticipation of a next NACK, if any.
- the NACK count e.g., such as re-zeroing the count
- Operation 516 represents performing appropriate actions to re-send a “NACK'ed” packet, or waiting to re-receive a packet; (or failing the data transfer, if appropriate). The process returns to FIG. 4 to repeat data transfer until successful or failed at operation 414 .
- FIG. 6 represents the general, example operations when an ACK is received (or sent). If there is more data to transfer, operation 602 branches to operation 604 , otherwise the process returns to end the data transfer operations (successfully, at operation 414 ).
- Operation 604 represents incrementing the ACK count, which is evaluated at operation 606 . If the threshold value is exceeded, then the data transfer performance is good, and the MTU size can be increased for the next TCP session (and reported to the network device, if appropriate). For example, some number (e.g., ten) successive ACKs (e.g., without an intervening NACK) can indicate good performance.
- operation 610 increases the MTU size, e.g., by 100 bytes.
- Operation 612 represents adjusting the ACK count and/or ACK threshold value, (similar to what was described above with respect to operation 514 of FIG. 5 ), in anticipation of one or more future ACKs.
- FIG. 7 represents general, example operations of a user equipment 102 .
- Operation 702 represents obtaining, by a user equipment comprising a processor, radio signal condition data representative of a condition of a radio signal.
- Operation 704 represents determining, by the user equipment, an initial maximum transmission unit packet size based on the radio signal condition data.
- Operation 706 represents using, by the user equipment, the initial maximum transmission unit packet size as a selected maximum transmission unit packet size to transfer data between the user equipment and a network device.
- Obtaining the radio signal condition data can comprise measuring reference signal received power data corresponding to a power of a reference signal and determining reference signal received quality data corresponding to a received quality of the reference signal.
- Determining the initial maximum transmission unit packet size can comprise using the reference signal received power data and the reference signal received quality data to retrieve the initial maximum transmission unit packet size from a data store of predetermined initial maximum transmission unit packet sizes.
- aspects can comprise populating the data store of predetermined maximum transmission unit packet sizes, comprising selecting maximum transmission unit packet sizes for inclusion in the data store based on determining transmission control protocol IP packet retransmission rates and determining transmission control protocol session time out rates at a cell edge, as a function of respective received powers and respective received qualities, for respective reference signals of a group of candidate maximum transmission unit packet sizes.
- aspects can comprise determining, by the user equipment, that a negative acknowledgement count applicable to packet transmissions is below a threshold value, and in response to the determining that the negative acknowledgement count is below the threshold value, increasing the selected maximum transmission unit packet size to an increased maximum transmission unit packet size, and using the increased maximum transmission unit packet size to transfer subsequent data (e.g., in a next TCP session) between the user equipment and the network device.
- aspects can comprise determining, by the user equipment, that a negative acknowledgement count applicable to packet transmissions is above a threshold value, and in response to the determining that the negative acknowledgement count is above the threshold value, decreasing the selected maximum transmission unit packet size to a decreased maximum transmission unit packet size, and using the decreased maximum transmission unit packet size to transfer data between the user equipment and the network device, e.g., in a subsequent file transfer.
- Using the selected maximum transmission unit packet size to transfer the data between the user equipment and the network device can comprise using the selected maximum transmission unit packet size to transfer the data between a category-M device and the network device.
- FIG. 8 is a block diagram of a radio user equipment device 102 , comprising processor; and a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations.
- Example operations comprise measuring radio signal condition data representative of a condition of a radio signal (operation 802 ) and selecting an initial maximum transmission unit packet size based on the radio signal condition data as a selected maximum transmission unit packet size (operation 804 ).
- Operation 806 represents transferring data between the radio user equipment device and a network device based on the selected maximum transmission unit packet size.
- Measuring the radio signal condition data can comprise measuring a received power of a reference signal and determining a received quality of the reference signal.
- Selecting the initial maximum transmission unit packet size can comprise retrieving the initial maximum transmission unit packet size from a data store of predetermined initial maximum transmission unit packet sizes via a first lookup index based on the received power of the reference signal and a second lookup index based on the received quality of the reference signal.
- aspects can comprise changing the selected maximum transmission unit packet size based on actual performance measurement data with respect to transferring the data, e.g., in a subsequent data transfer session.
- Changing the selected maximum transmission unit packet size based on the actual performance measurement data can comprise tracking negative acknowledgments received with respect to transferring the data.
- Changing the selected maximum transmission unit packet size based on the actual performance measurement data can comprise increasing the selected maximum transmission unit packet size.
- Changing the selected maximum transmission unit packet size based on the actual performance measurement data can comprise decreasing the selected maximum transmission unit packet size.
- the radio user equipment device can comprise a category-M device.
- FIG. 9 represents general, example operations of a machine-readable storage medium, comprising executable instructions that, when executed by a processor of a user equipment, facilitate performance of operations.
- Example operations can comprise selecting a selected maximum transmission unit packet size based on a reference signal received power and a reference signal received quality (operation 902 ), and using the selected maximum transmission unit packet size, transferring data between the user equipment and a network device operation 904 ).
- aspects can comprise determining the reference signal received power and determining the reference signal received quality at the user equipment, and retrieving the selected maximum transmission unit packet size from a data store of predetermined initial maximum transmission unit packet sizes via a first lookup index based on the reference signal received power and a second lookup index based on the reference signal received quality.
- aspects can comprise changing the selected maximum transmission unit packet size to a changed maximum transmission unit packet size based on a result of tracking negative acknowledgments received with respect to transferring the data.
- Changing the selected maximum transmission unit packet size can comprise increasing the selected maximum transmission unit packet size, e.g., for a subsequent data transfer session.
- Changing the selected maximum transmission unit packet size can comprise decreasing the selected maximum transmission unit packet size, e.g., for a subsequent data transfer session.
- described herein is dynamically selecting the MTU size based on radio signal quality, to reduce TCP round trip time and thereby improve machine-type (and other type) device communication performance.
- the technology reduces the TCP packet retransmission rate and session time out rate, and consequently improves the data download/upload success rate.
- the technology thus improves Cat-M device reliability.
- FIG. 10 illustrated is an example block diagram of an example mobile handset 1000 operable to engage in a system architecture that facilitates wireless communications according to one or more embodiments described herein.
- a mobile handset is illustrated herein, it will be understood that other devices can be a mobile device, and that the mobile handset is merely illustrated to provide context for the embodiments of the various embodiments described herein.
- the following discussion is intended to provide a brief, general description of an example of a suitable environment in which the various embodiments can be implemented. While the description includes a general context of computer-executable instructions embodied on a machine-readable storage medium, those skilled in the art will recognize that the innovation also can be implemented in combination with other program modules and/or as a combination of hardware and software.
- applications can include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
- applications e.g., program modules
- routines programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
- system configurations including single-processor or multiprocessor systems, minicomputers, mainframe computers, as well as personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which can be operatively coupled to one or more associated devices
- a computing device can typically include a variety of machine-readable media.
- Machine-readable media can be any available media that can be accessed by the computer and includes both volatile and non-volatile media, removable and non-removable media.
- Computer-readable media can comprise computer storage media and communication media.
- Computer storage media can include volatile and/or non-volatile media, removable and/or non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data.
- Computer storage media can include, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, solid state drive (SSD) or other solid-state storage technology, Compact Disk Read Only Memory (CD ROM), digital video disk (DVD), Blu-ray disk, or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer.
- SSD solid state drive
- CD ROM Compact Disk Read Only Memory
- DVD digital video disk
- Blu-ray disk or other optical disk storage
- magnetic cassettes magnetic tape
- magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer.
- tangible or “non-transitory” herein as applied to storage, memory or computer-readable media, are to be understood to exclude only propagating transitory signals per se as modifiers and do not relinquish rights to all standard storage, memory or computer-readable media that are not only propagating transitory signals per se.
- Communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and includes any information delivery media.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer-readable media
- the handset includes a processor 1002 for controlling and processing all onboard operations and functions.
- a memory 1004 interfaces to the processor 1002 for storage of data and one or more applications 1006 (e.g., a video player software, user feedback component software, etc.). Other applications can include voice recognition of predetermined voice commands that facilitate initiation of the user feedback signals.
- the applications 1006 can be stored in the memory 1004 and/or in a firmware 1008 , and executed by the processor 1002 from either or both the memory 1004 or/and the firmware 1008 .
- the firmware 1008 can also store startup code for execution in initializing the handset 1000 .
- a communications component 1010 interfaces to the processor 1002 to facilitate wired/wireless communication with external systems, e.g., cellular networks, VoIP networks, and so on.
- the communications component 1010 can also include a suitable cellular transceiver 1011 (e.g., a GSM transceiver) and/or an unlicensed transceiver 1011 (e.g., Wi-Fi, WiMax) for corresponding signal communications.
- the handset 1000 can be a device such as a cellular telephone, a PDA with mobile communications capabilities, and messaging-centric devices.
- the communications component 1010 also facilitates communications reception from terrestrial radio networks (e.g., broadcast), digital satellite radio networks, and Internet-based radio services networks
- the handset 1000 includes a display 1010 for displaying text, images, video, telephony functions (e.g., a Caller ID function), setup functions, and for user input.
- the display 1010 can also be referred to as a “screen” that can accommodate the presentation of multimedia content (e.g., music metadata, messages, wallpaper, graphics, etc.).
- the display 1010 can also display videos and can facilitate the generation, editing and sharing of video quotes.
- a serial I/O interface 1014 is provided in communication with the processor 1002 to facilitate wired and/or wireless serial communications (e.g., USB, and/or IEEE 1094) through a hardwire connection, and other serial input devices (e.g., a keyboard, keypad, and mouse).
- Audio capabilities are provided with an audio I/O component 1016 , which can include a speaker for the output of audio signals related to, for example, indication that the user pressed the proper key or key combination to initiate the user feedback signal.
- the audio I/O component 1016 also facilitates the input of audio signals through a microphone to record data and/or telephony voice data, and for inputting voice signals for telephone conversations.
- the handset 1000 can include a slot interface 1018 for accommodating a SIC (Subscriber Identity Component) in the form factor of a card Subscriber Identity Module (SIM) or universal SIM 1020 , and interfacing the SIM card 1020 with the processor 1002 .
- SIM Subscriber Identity Module
- the SIM card 1020 can be manufactured into the handset 1000 , and updated by downloading data and software.
- the handset 1000 can process IP data traffic through the communications component 1010 to accommodate IP traffic from an IP network such as, for example, the Internet, a corporate intranet, a home network, a person area network, etc., through an ISP or broadband cable provider.
- IP network such as, for example, the Internet, a corporate intranet, a home network, a person area network, etc.
- VoIP traffic can be utilized by the handset 1000 and IP-based multimedia content can be received in either an encoded or a decoded format.
- a video processing component 1022 (e.g., a camera) can be provided for decoding encoded multimedia content.
- the video processing component 1022 can aid in facilitating the generation, editing, and sharing of video quotes.
- the handset 1000 also includes a power source 1024 in the form of batteries and/or an AC power subsystem, which power source 1024 can interface to an external power system or charging equipment (not shown) by a power I/O component 1026 .
- the handset 1000 can also include a video component 1030 for processing video content received and, for recording and transmitting video content.
- the video component 1030 can facilitate the generation, editing and sharing of video quotes.
- a location tracking component 1032 facilitates geographically locating the handset 1000 . As described hereinabove, this can occur when the user initiates the feedback signal automatically or manually.
- a user input component 1034 facilitates the user initiating the quality feedback signal.
- the user input component 1034 can also facilitate the generation, editing and sharing of video quotes.
- the user input component 1034 can include such conventional input device technologies such as a keypad, keyboard, mouse, stylus pen, and/or touch screen, for example.
- a hysteresis component 1036 facilitates the analysis and processing of hysteresis data, which is utilized to determine when to associate with the access point.
- a software trigger component 1038 can be provided that facilitates triggering of the hysteresis component 1036 when the Wi-Fi transceiver 1011 detects the beacon of the access point.
- a SIP client 1040 enables the handset 1000 to support SIP protocols and register the subscriber with the SIP registrar server.
- the applications 1006 can also include a client 1042 that provides at least the capability of discovery, play and store of multimedia content, for example, music.
- the handset 1000 includes an indoor network radio transceiver 1011 (e.g., Wi-Fi transceiver). This function supports the indoor radio link, such as IEEE 802.11, for the dual-mode GSM handset 1000 .
- the handset 1000 can accommodate at least satellite radio services through a handset that can combine wireless voice and digital radio chipsets into a single handheld device.
- FIG. 11 illustrated is an example block diagram of an example computer 1100 operable to engage in a system architecture that facilitates wireless communications according to one or more embodiments described herein.
- the computer 1100 can provide networking and communication capabilities between a wired or wireless communication network and a server (e.g., Microsoft server) and/or communication device.
- a server e.g., Microsoft server
- FIG. 11 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the various aspects of the innovation can be implemented to facilitate the establishment of a transaction between an entity and a third party. While the description above is in the general context of computer-executable instructions that can run on one or more computers, those skilled in the art will recognize that the innovation also can be implemented in combination with other program modules and/or as a combination of hardware and software.
- program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
- program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
- program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
- program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
- program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
- the illustrated aspects of the innovation can also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network.
- program modules can be located in both local and remote memory storage devices.
- Computing devices typically include a variety of media, which can include computer-readable storage media or communications media, which two terms are used herein differently from one another as follows.
- Computer-readable storage media can be any available storage media that can be accessed by the computer and includes both volatile and nonvolatile media, removable and non-removable media.
- Computer-readable storage media can be implemented in connection with any method or technology for storage of information such as computer-readable instructions, program modules, structured data, or unstructured data.
- Computer-readable storage media can include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other tangible and/or non-transitory media which can be used to store desired information.
- Computer-readable storage media can be accessed by one or more local or remote computing devices, e.g., via access requests, queries or other data retrieval protocols, for a variety of operations with respect to the information stored by the medium.
- Communications media can embody computer-readable instructions, data structures, program modules, or other structured or unstructured data in a data signal such as a modulated data signal, e.g., a carrier wave or other transport mechanism, and includes any information delivery or transport media.
- modulated data signal or signals refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in one or more signals.
- communication media include wired media, such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
- the techniques described herein can be applied to any device or set of devices (machines) capable of running programs and processes. It can be understood, therefore, that servers including physical and/or virtual machines, personal computers, laptops, handheld, portable and other computing devices and computing objects of all kinds including cell phones, tablet/slate computers, gaming/entertainment consoles and the like are contemplated for use in connection with various implementations including those exemplified herein. Accordingly, the general purpose computing mechanism described below with reference to FIG. 11 is but one example of a computing device.
- FIG. 11 and the following discussion are intended to provide a brief, general description of a suitable environment in which the various aspects of the disclosed subject matter can be implemented. While the subject matter has been described above in the general context of computer-executable instructions of a computer program that runs on a computer and/or computers, those skilled in the art will recognize that the disclosed subject matter also can be implemented in combination with other program modules. Generally, program modules include routines, programs, components, data structures, etc. that perform particular tasks and/or implement particular abstract data types.
- nonvolatile memory can be included in read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory.
- Volatile memory can include random access memory (RAM), which acts as external cache memory.
- RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM).
- SRAM synchronous RAM
- DRAM dynamic RAM
- SDRAM synchronous DRAM
- DDR SDRAM double data rate SDRAM
- ESDRAM enhanced SDRAM
- SLDRAM Synchlink DRAM
- DRRAM direct Rambus RAM
- the disclosed memory components of systems or methods herein are intended to comprise, without being limited to comprising, these and any other suitable types of memory.
- the disclosed subject matter can be practiced with other computer system configurations, including single-processor or multiprocessor computer systems, mini-computing devices, mainframe computers, as well as personal computers, hand-held computing devices (e.g., PDA, phone, watch, tablet computers, netbook computers, . . . ), microprocessor-based or programmable consumer or industrial electronics, and the like.
- the illustrated aspects can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network; however, some if not all aspects of the subject disclosure can be practiced on stand-alone computers.
- program modules can be located in both local and remote memory storage devices.
- FIG. 11 illustrates a block diagram of a computing system 1100 operable to execute the disclosed systems and methods in accordance with an embodiment.
- Computer 1110 which can be, for example, part of the hardware of system 1100 , includes a processing unit 1114 , a system memory 1116 , and a system bus 1118 .
- System bus 1118 couples system components including, but not limited to, system memory 1116 to processing unit 1114 .
- Processing unit 1114 can be any of various available processors. Dual microprocessors and other multiprocessor architectures also can be employed as processing unit 1114 .
- System bus 1118 can be any of several types of bus structure(s) including a memory bus or a memory controller, a peripheral bus or an external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics , VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Card Bus, Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association bus (PCMCIA), Firewire (IEEE 1194), and Small Computer Systems Interface (SCSI).
- ISA Industrial Standard Architecture
- MSA Micro-Channel Architecture
- EISA Extended ISA
- VLB VESA Local Bus
- PCI Peripheral Component Interconnect
- Card Bus Universal Serial Bus
- USB Universal Serial Bus
- AGP Advanced Graphics Port
- PCMCIA Personal Computer Memory Card International Association bus
- Firewire IEEE 1194
- SCSI Small Computer Systems Interface
- System memory 1116 can include volatile memory 1100 and nonvolatile memory 1102 .
- a basic input/output system (BIOS) containing routines to transfer information between elements within computer 1110 , such as during start-up, can be stored in nonvolatile memory 1102 .
- nonvolatile memory 1102 can include ROM, PROM, EPROM, EEPROM, or flash memory.
- Volatile memory 1100 includes RAM, which acts as external cache memory.
- RAM is available in many forms such as SRAM, dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct Rambus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM).
- DRAM dynamic RAM
- SDRAM synchronous DRAM
- DDR SDRAM double data rate SDRAM
- ESDRAM enhanced SDRAM
- SLDRAM Synchlink DRAM
- RDRAM Rambus direct RAM
- DRAM direct Rambus dynamic RAM
- RDRAM Rambus dynamic RAM
- Computer 1110 can also include removable/non-removable, volatile/non-volatile computer storage media.
- FIG. 11 illustrates, for example, disk storage 1104 .
- Disk storage 1104 includes, but is not limited to, devices like a magnetic disk drive, floppy disk drive, tape drive, flash memory card, or memory stick.
- disk storage 1104 can include storage media separately or in combination with other storage media including, but not limited to, an optical disk drive such as a compact disk ROM device (CD-ROM), CD recordable drive (CD-R Drive), CD rewritable drive (CD-RW Drive) or a digital versatile disk ROM drive (DVD-ROM).
- CD-ROM compact disk ROM device
- CD-R Drive CD recordable drive
- CD-RW Drive CD rewritable drive
- DVD-ROM digital versatile disk ROM drive
- a removable or non-removable interface is typically used, such as interface 1106 .
- Computing devices typically include a variety of media, which can include computer-readable storage media or communications media, which two terms are used herein differently from one another as follows.
- Computer-readable storage media can be any available storage media that can be accessed by the computer and includes both volatile and nonvolatile media, removable and non-removable media.
- Computer-readable storage media can be implemented in connection with any method or technology for storage of information such as computer-readable instructions, program modules, structured data, or unstructured data.
- Computer-readable storage media can include, but are not limited to, random access memory (RAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, solid state drive (SSD) or other solid-state storage technology, compact disk read only memory (CD ROM), digital versatile disk (DVD), Blu-ray disc or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or other tangible and/or non-transitory media which can be used to store desired information.
- RAM random access memory
- ROM read only memory
- EEPROM electrically erasable programmable read only memory
- flash memory or other memory technology
- SSD solid state drive
- CD ROM compact disk read only memory
- DVD digital versatile disk
- Blu-ray disc or other optical disk storage magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or other tangible and/or non-transitory media which can be used to store desired information.
- tangible media can include non-transitory media wherein the term “non-transitory” herein as may be applied to storage, memory or computer-readable media, is to be understood to exclude only propagating transitory signals per se as a modifier and does not relinquish coverage of all standard storage, memory or computer-readable media that are not only propagating transitory signals per se.
- Computer-readable storage device is used and defined herein to exclude transitory media.
- Computer-readable storage media can be accessed by one or more local or remote computing devices, e.g., via access requests, queries or other data retrieval protocols, for a variety of operations with respect to the information stored by the medium.
- Communications media typically embody computer-readable instructions, data structures, program modules or other structured or unstructured data in a data signal such as a modulated data signal, e.g., a carrier wave or other transport mechanism, and includes any information delivery or transport media.
- modulated data signal or signals refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in one or more signals.
- communication media include wired media, such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
- FIG. 11 describes software that acts as an intermediary between users and computer resources described in suitable operating environment 1100 .
- Such software includes an operating system 1108 .
- Operating system 1108 which can be stored on disk storage 1104 , acts to control and allocate resources of computer system 1110 .
- System applications 1130 take advantage of the management of resources by operating system 1108 through program modules 1132 and program data 1134 stored either in system memory 1116 or on disk storage 1104 . It is to be noted that the disclosed subject matter can be implemented with various operating systems or combinations of operating systems.
- a user can enter commands or information into computer 1110 through input device(s) 1136 .
- a mobile device and/or portable device can include a user interface embodied in a touch sensitive display panel allowing a user to interact with computer 1110 .
- Input devices 1136 include, but are not limited to, a pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, TV tuner card, digital camera, digital video camera, web camera, cell phone, smartphone, tablet computer, etc. These and other input devices connect to processing unit 1114 through system bus 1118 by way of interface port(s) 1138 .
- Interface port(s) 1138 include, for example, a serial port, a parallel port, a game port, a universal serial bus (USB), an infrared port, a Bluetooth port, an IP port, or a logical port associated with a wireless service, etc.
- Output device(s) 1140 and a move use some of the same type of ports as input device(s) 1136 .
- a USB port can be used to provide input to computer 1110 and to output information from computer 1110 to an output device 1140 .
- Output adapter 1142 is provided to illustrate that there are some output devices 1140 like monitors, speakers, and printers, among other output devices 1140 , which use special adapters.
- Output adapters 1142 include, by way of illustration and not limitation, video and sound cards that provide means of connection between output device 1140 and system bus 1118 . It should be noted that other devices and/or systems of devices provide both input and output capabilities such as remote computer(s) 1144 .
- Computer 1110 can operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1144 .
- Remote computer(s) 1144 can be a personal computer, a server, a router, a network PC, cloud storage, cloud service, a workstation, a microprocessor based appliance, a peer device, or other common network node and the like, and typically includes many or all of the elements described relative to computer 1110 .
- Network interface 1148 encompasses wire and/or wireless communication networks such as local-area networks (LAN) and wide-area networks (WAN).
- LAN technologies include Fiber Distributed Data Interface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet, Token Ring and the like.
- WAN technologies include, but are not limited to, point-to-point links, circuit-switching networks like Integrated Services Digital Networks (ISDN) and variations thereon, packet switching networks, and Digital Subscriber Lines (DSL).
- ISDN Integrated Services Digital Networks
- DSL Digital Subscriber Lines
- wireless technologies may be used in addition to or in place of the foregoing.
- Communication connection(s) 1150 refer(s) to hardware/software employed to connect network interface 1148 to bus 1118 . While communication connection 1150 is shown for illustrative clarity inside computer 1110 , it can also be external to computer 1110 .
- the hardware/software for connection to network interface 1148 can include, for example, internal and external technologies such as modems, including regular telephone grade modems, cable modems and DSL modems, ISDN adapters, and Ethernet cards.
- processor can refer to substantially any computing processing unit or device comprising, but not limited to comprising, single-core processors; single-processors with software multithread execution capability; multi-core processors; multi-core processors with software multithread execution capability; multi-core processors with hardware multithread technology; parallel platforms; and parallel platforms with distributed shared memory.
- a processor can refer to an integrated circuit, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), a discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein.
- ASIC application specific integrated circuit
- DSP digital signal processor
- FPGA field programmable gate array
- PLC programmable logic controller
- CPLD complex programmable logic device
- processors can exploit nano-scale architectures such as, but not limited to, molecular and quantum-dot based transistors, switches and gates, in order to optimize space usage or enhance performance of user equipment.
- a processor may also be implemented as a combination of computing processing units.
- a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
- a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
- an application running on a server and the server can be a component.
- One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
- these components can execute from various computer readable media, device readable storage devices, or machine readable media having various data structures stored thereon.
- the components may communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal).
- a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry, which is operated by a software or firmware application executed by a processor, wherein the processor can be internal or external to the apparatus and executes at least a part of the software or firmware application.
- a component can be an apparatus that provides specific functionality through electronic components without mechanical parts, the electronic components can include a processor therein to execute software or firmware that confers at least in part the functionality of the electronic components.
- UE user equipment
- mobile station mobile
- subscriber station subscriber station
- subscriber equipment access terminal
- terminal terminal
- handset refers to a wireless device utilized by a subscriber or user of a wireless communication service to receive or convey data, control, voice, video, sound, gaming, or substantially any data-stream or signaling-stream.
- UE user equipment
- access point AP
- base station NodeB
- eNodeB evolved Node B
- HNB home Node B
- HAP home access point
- cell device cell device
- cell cell
- core-network can refer to components of a telecommunications network that typically provides some or all of aggregation, authentication, call control and switching, charging, service invocation, or gateways.
- Aggregation can refer to the highest level of aggregation in a service provider network wherein the next level in the hierarchy under the core nodes is the distribution networks and then the edge networks.
- User equipments do not normally connect directly to the core networks of a large service provider but can be routed to the core by way of a switch or radio area network.
- Authentication can refer to determinations regarding whether the user requesting a service from the telecom network is authorized to do so within this network or not.
- Call control and switching can refer determinations related to the future course of a call stream across carrier equipment based on the call signal processing.
- Charging can be related to the collation and processing of charging data generated by various network nodes.
- Two common types of charging mechanisms found in present day networks can be prepaid charging and postpaid charging.
- Service invocation can occur based on some explicit action (e.g. call transfer) or implicitly (e.g., call waiting). It is to be noted that service “execution” may or may not be a core network functionality as third party network/nodes may take part in actual service execution.
- a gateway can be present in the core network to access other networks. Gateway functionality can be dependent on the type of the interface with another network.
- the terms “user,” “subscriber,” “customer,” “consumer,” “prosumer,” “agent,” and the like are employed interchangeably throughout the subject specification, unless context warrants particular distinction(s) among the terms. It should be appreciated that such terms can refer to human entities or automated components (e.g., supported through artificial intelligence, as through a capacity to make inferences based on complex mathematical formalisms), that can provide simulated vision, sound recognition and so forth.
- Non-limiting examples of such technologies or networks include Geocast technology; broadcast technologies (e.g., sub-Hz, ELF, VLF, LF, MF, HF, VHF, UHF, SHF, THz broadcasts, etc.); Ethernet; X.25; powerline-type networking (e.g., PowerLine AV Ethernet, etc.); femto-cell technology; Wi-Fi; Worldwide Interoperability for Microwave Access (WiMAX); Enhanced General Packet Radio Service (Enhanced GPRS); Third Generation Partnership Project (3GPP or 3G) Long Term Evolution (LTE); 3GPP Universal Mobile Telecommunications System (UMTS) or 3GPP UMTS; Third Generation Partnership Project 2 (3GPP2) Ultra Mobile Broadband (UMB); High Speed Packet Access (HSPA); High Speed Downlink Packet Access (HSDPA); High Speed Uplink Pack
- Geocast technology e.g., sub-Hz, ELF, VLF, LF, MF, HF, VHF, UHF, SHF, THz broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
- The subject patent application is a continuation of, and claims priority to each of, U.S. patent application Ser. No. 16/735,875, filed Jan. 7, 2020, and entitled “MAXIMUM TRANSMISSION UNIT SIZE SELECTION FOR WIRELESS DATA TRANSFER,” which is a continuation of U.S. patent application Ser. No. 15/939,892 (now U.S. Pat. No. 10,567,297), filed Mar. 29, 2018, and entitled “MAXIMUM TRANSMISSION UNIT SIZE SELECTION FOR WIRELESS DATA TRANSFER,” the entireties of which applications are hereby incorporated by reference herein.
- The subject application is related to wireless communication systems, and, for example, to dynamic selection of a maximum transmission unit (MTU) packet size for wireless communications, such as for use in category-M (cat-M) devices.
- In LTE wireless communication systems, machine-type communications (MTC), including massive machine-type communications, refers to machine devices communicating with one another through wireless networks. Category-M devices (cat-M devices, sometimes referred to as LTE-M devices) typically refer to user equipment machines that are part of the Internet of Things (IoT) and communicate relatively small amounts of data with other machines via a wireless LTE network using the Transmission Control Protocol (TCP)/Internet Protocol (IP). Examples of Category-M devices include smart metering devices, sensors, healthcare devices, wearables and the like.
- For MTC data transmission, the IP packet is broken into smaller radio resource blocks (RBs); the maximum number of RBs assigned to Cat-M devices is six, shared with other Cat-M devices at the time domain. If any one of the radio blocks is not received, the TCP packet cannot be reassembled, and retransmission of the radio block is required. Under poor radio signal conditions, because of radio block retransmissions and TCP server timeout, when two or more Cat-M devices concurrently download/upload data, the TCP session failure rate is high.
- The technology described herein is illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:
-
FIG. 1 illustrates an example wireless communication system in which a network node device (e.g., network device) and various user equipment (UE), including a UE operating as a local manager, can implement various aspects and implementations of the subject disclosure. -
FIG. 2 illustrates an example communications sequence including communications to select a maximum transmission unit (MTU) packet size based on radio signal conditions, in accordance with various aspects and implementations of the subject disclosure. -
FIG. 3 illustrates an example of selecting an MTU packet size from a data store (table) based on received reference signals, in accordance with various aspects and implementations of the subject disclosure. -
FIGS. 4-6 comprise an example flow diagram of operations of a user equipment, including operations to select (and possibly vary based on performance) an MTU packet size based on radio signal conditions, in accordance with various aspects and implementations of the subject disclosure. -
FIG. 7 illustrates an example flow diagram of a user equipment's example operations for selecting an MTU packet size based on received reference signals, in accordance with various aspects and implementations of the subject disclosure. -
FIG. 8 illustrates a block diagram of a user equipment's example operations, comprising operations for selecting an MTU packet size based on received reference signals, in accordance with various aspects and implementations of the subject disclosure. -
FIG. 9 illustrates an example flow diagram of a user equipment's example operations for selecting an MTU packet size based on received reference signals, in accordance with various aspects and implementations of the subject disclosure. -
FIG. 10 illustrates an example block diagram of an example mobile handset operable to engage in a system architecture that facilitates wireless communications according to one or more embodiments described herein. -
FIG. 11 illustrates an example block diagram of an example computer operable to engage in a system architecture that facilitates wireless communications according to one or more embodiments described herein. - Briefly, one or more aspects of the technology described herein are generally directed towards dynamically selecting a user equipment device's maximum transmission unit (MTU) packet size based on radio signal conditions. For example, the technology operates to use a smaller MTU size when radio signal conditions are relatively poor, and use a larger MTU size when signal conditions are relatively good. This reduces the TCP round trip time, and improves MTC device communication performance.
- As described herein, under poor radio signal conditions, a smaller MTU size is selected for use, which reduces the number of radio blocks needed for transmitting a TCP packet. This in turn reduces the TCP retransmission rate and time out rate, and thus reduces data download/upload failures, including for Cat-M devices, due to the limited radio resources available and the long round trip delays that otherwise result from a large number of repetitions. The mapping of radio signal conditions to a suitable MTU size can be established by field testing or the like.
- In sum, the technology described herein of selective MTU sizes based on radio signal conditions reduces the TCP packet retransmission rate and session time out rate, and therefore improves the data transfer (download/upload) success rate.
- It should be understood that any of the examples and terms used herein are non-limiting. For instance, while Cat-M devices are examples of devices, the technology is not limited to Cat-M, but rather the technology may provide benefits with Cat-0, Cat-1, LTE-M, NB-IoT, EC-GSM, and New Radio (NR, sometimes referred to as 5G) applications. Further, any wireless-capable user equipment may benefit from the technology described herein, including smartphones, tablets, notebooks, modems (cards, dongles/adapters (e.g., USB)) and so on. Thus, any of the examples herein are non-limiting examples, and any of the embodiments, aspects, concepts, structures, functionalities or examples described herein are non-limiting, and the technology may be used in various ways that provide benefits and advantages in radio communications in general.
- In some embodiments the non-limiting term “radio network node” or simply “network node,” “radio network device or simply “network device” is used herein. These terms may be used interchangeably, and refer to any type of network node that serves user equipment and/or connected to other network node or network element or any radio node from where user equipment receives signal. Examples of radio network nodes are Node B, base station (BS), multi-standard radio (MSR) node such as MSR BS, gNodeB, eNode B, network controller, radio network controller (RNC), base station controller (BSC), relay, donor node controlling relay, base transceiver station (BTS), access point (AP), transmission points, transmission nodes, RRU, RRH, nodes in distributed antenna system (DAS) etc.
- In some embodiments the non-limiting term user equipment (UE) is used. It refers to any type of wireless device that communicates with a radio network node in a cellular or mobile communication system. Examples of user equipment are target device, device to device (D2D) user equipment, machine type communication(s) (MTC) user equipment or user equipment capable of machine to machine (M2M) communication, PDA, Tablet, mobile terminals, smart phone, laptop embedded equipped (LEE), laptop mounted equipment (LME), USB dongles etc.
-
FIG. 1 illustrates an examplewireless communication system 100 in accordance with various aspects and embodiments of the subject technology. In one or more embodiments, thesystem 100 can comprise one or more user equipment UEs 102(1)-102(n). One or more of the user equipments (e.g., 102(1) and 102(2)) can be Cat-M devices or the like. - In various embodiments, the
system 100 is or comprises a wireless communication network serviced by one or more wireless communication network providers. In example embodiments, a UE 102 can be communicatively coupled to the wireless communication network via a network device 104 (e.g., network node). Thenetwork device 104 can communicate with the user equipment (UE) 102, thus providing connectivity between the UE and the wider cellular network. - In example implementations, each UE 102 such as the UE 102(1) is able to send and/or receive communication data via a wireless link to the
network device 104. The dashed arrow lines from thenetwork device 104 to the UE 102 represent downlink (DL) communications and the solid arrow lines from theUEs 102 to thenetwork device 104 represents uplink (UL) communications. - The
system 100 can further include one or more communicationservice provider networks 106 that facilitate providing wireless communication services to various user equipment, including UEs 102(1)-102(n), via thenetwork device 104 and/or various additional network devices (not shown) included in the one or more communicationservice provider networks 106. The one or more communicationservice provider networks 106 can include various types of disparate networks, including but not limited to: cellular networks, femto networks, picocell networks, microcell networks, internet protocol (IP) networks Wi-Fi service networks, broadband service network, enterprise networks, cloud based networks, and the like. For example, in at least one implementation,system 100 can be or include a large scale wireless communication network that spans various geographic areas. According to this implementation, the one or more communicationservice provider networks 106 can be or include the wireless communication network and/or various additional devices and components of the wireless communication network (e.g., additional network devices and cell, additional UEs, network server devices, etc.). - The
network device 104 can be connected to the one or more communicationservice provider networks 106 via one ormore backhaul links 108. For example, the one ormore backhaul links 108 can comprise wired link components, such as a T1/E1 phone line, a digital subscriber line (DSL) (e.g., either synchronous or asynchronous), an asymmetric DSL (ADSL), an optical fiber backbone, a coaxial cable, and the like. The one ormore backhaul links 108 can also include wireless link components, such as but not limited to, line-of-sight (LOS) or non-LOS links which can include terrestrial air-interfaces or deep space links (e.g., satellite communication links for navigation). - The
wireless communication system 100 can employ various cellular systems, technologies, and modulation schemes to facilitate wireless radio communications between devices (e.g., theuser equipment 102 and the network device 104). While example embodiments might be described for 4G LTE and 5G new radio (NR) systems, the embodiments can be applicable to any radio access technology (RAT) or multi-RAT system where the user equipment operates using multiple carriers e.g. LTE FDD/TDD, GSM/GERAN, CDMA2000 etc. For example, thesystem 100 can operate in accordance with global system for mobile communications (GSM), universal mobile telecommunications service (UMTS), long term evolution (LTE), LTE frequency division duplexing (LTE FDD, LTE time division duplexing (TDD), high speed packet access (HSPA), code division multiple access (CDMA), wideband CDMA (WCMDA), CDMA2000, time division multiple access (TDMA), frequency division multiple access (FDMA), multi-carrier code division multiple access (MC-CDMA), single-carrier code division multiple access (SC-CDMA), single-carrier FDMA (SC-FDMA), orthogonal frequency division multiplexing (OFDM), discrete Fourier transform spread OFDM (DFT-spread OFDM) single carrier FDMA (SC-FDMA), Filter bank based multi-carrier (FBMC), zero tail DFT-spread-OFDM (ZT DFT-s-OFDM), generalized frequency division multiplexing (GFDM), fixed mobile convergence (FMC), universal fixed mobile convergence (UFMC), unique word OFDM (UW-OFDM), unique word DFT-spread OFDM (UW DFT-Spread-OFDM), cyclic prefix OFDM CP-OFDM, resource-block-filtered OFDM, Wi Fi, WLAN, WiMax, and the like. However, various features and functionalities ofsystem 100 are particularly described wherein the devices (e.g., theuser equipments 102 and the network device 104) ofsystem 100 are configured to communicate wireless signals using one or more multi carrier modulation schemes, wherein data symbols can be transmitted simultaneously over multiple frequency subcarriers (e.g., OFDM, CP-OFDM, DFT-spread OFMD, UFMC, FMBC, etc.). The embodiments are applicable to single carrier as well as to multicarrier (MC) or carrier aggregation (CA) operation of the user equipment. The term carrier aggregation (CA) is also called (e.g. interchangeably called) “multi-carrier system”, “multi-cell operation”, “multi-carrier operation”, “multi-carrier” transmission and/or reception. Note that some embodiments are also applicable for Multi RAB (radio bearers) on some carriers (that is data plus speech is simultaneously scheduled). - In
FIG. 1 , as described herein, a user equipment (e.g., 102(1)) is configured to determine radio signal conditions based on radio reference signals 110 from thenetwork device 104. Based on the radio signal conditions, the user equipment (e.g., 102(1)) selects an MTU packet size as described herein for use in sendinguplink packets 112 and/or receivingdownlink packets 114. So that the network device knows the MTU size to use for downlink packets, in the example implementation ofFIG. 1 , at least for download data transfers, the user equipment sendsMTU data 116 to the network device. -
FIG. 2 shows timing/data communications between anetwork device 104 and auser equipment 102. After an initial connection, the network device sends reference signals to the user equipment. Theuser equipment 102 typically measures and returns a reference signal report to the network device. - As represented in
FIG. 2 , theuser equipment 102 comprises measurement, calculation andMTU selection logic 240, which based on the received reference signals from thenetwork device 104, determines the radio signal conditions and selects an MTU packet size for data transfers as described herein. In one or more implementations, the user equipment'slogic 240 measures the reference signal received power (RSRP) data corresponding to a power of a reference signal, and measures (that is, computes) the reference signal received quality (RSRQ) data corresponding to a received quality of the reference signal. In general, these measurements (generally related to the current signal-to-interference-plus-noise ratio (SINR)) are well known and not described herein in detail, except to note that the “measured” RSRQ is computed from the RSRP, RSSI (Received Signal Strength Indicator) and the number of used resource blocks (N): RSRQ=(N*RSRP)/RSSI, measured over the same bandwidth as RSRP and RSSI. - In one or more implementations, with the RSRP and RSRQ values, the measurement, calculation and
MTU selection logic 240 of theuser equipment 102 obtains a MTU packet size, e.g., from anMTU data store 242. It is also feasible to calculate the MTU size as a function of the RSRP and RSRQ values. If thenetwork device 104 needs to know the MTU packet size, e.g., for download data transfers, the packet size can be returned as MTU data to the network device. Note that the RSRP and RSRQ values can be returned in the reference signal report to the network device, in which event the network device can similarly determine the MTU packet size, (provided that there are notdifferent data stores 242 or functions for different types of user equipments). - As generally represented in
FIG. 3 , in one or more implementations, thedata store 242 comprises a two-dimensional array/lookup table. Given the RSRP and RSRQ values, each of which can be rounded/quantized into a range or the like, indices to the lookup table are obtained and used to select the MTU packet size. - In general, analysis of data transfers shows that the extended acknowledgement delay is influenced by larger IP packet size (1500 bytes) being broken into a large number of smaller radio blocks. If any one of the radio blocks is not received by a user equipment, the TCP packet cannot be reassembled, and retransmission of the radio block is required. When another Cat-M user is downloading the data at the same time in the same cell, the TCP server time out rate can be very high. In order to reduce server time out rate (increase data download success rate), described herein is reducing the MTU size when the signal quality is poor. For example, for one IP packet of 1500 bytes, the IP packet is broken into smaller radio block for transmission, totaling about 20 radio blocks. If any one of the radio blocks has a transmission error, the radio block are retransmitted, up to 32 additional times, which gives minimum of a 256 millisecond retransmission delay. If retransmission fails, RLC (Radio Link Control) retransmission starts. The technology described herein reduces the number of radio blocks required for a TCP packet under poor radio signal conditions, by setting the MTU size dynamically based on the radio signal conditions. Under poor radio signal conditions, a smaller MTU size is assigned, whereby the total transmission time is reduced, which in turns reduces the TCP retransmission rate and time out rate.
- The mapping of radio signal conditions to each of the MTU sizes for populating the
data store 242 can be established by (prior offline) field testing, as represented inFIG. 3 by theoffline population process 344. For example, to build the MTU and RSRP/RSRQ (Reference Signal Received Power/Reference Signal Received Quality)mapping data store 242, field testing can vary the MTU size (e.g., from 500 to 1500 bytes in steps of 100 bytes), and find the TCP IP packet retransmission rate as a function of RSRP and RSRQ. This can be repeated for two and more concurrent Cat-M devices, for example. The MTU size can then be optimized according to optimization criteria, such as optimized to minimize the retransmission rate and to minimize the TCP session time out rate at the cell edge. -
FIGS. 4-6 comprise a flow diagram showing some example operations that a user equipment can perform with respect to selecting an MTU packet size for data transfers. After connecting to a network device and receiving the radio reference signals,operation 402 represents obtaining (measuring) the RSRP data.Operation 404 represents obtaining (e.g. computing) and the RSRQ data. -
Operation 406 represents looking up the MTU packet size to select based on the RSRP data and the RSRQ data.Operation 408 represents selecting the MTU, and if appropriate, providing the selected MTU packet size to the network device. - As will be understood, in one or more implementations, the selected MTU packet size can be varied from what is stored in the table, such as for the next file download/upload, by adding/subtracting a delta value from the stored MTU lookup table; (it is also feasible to change the MTU size during a TCP session, however the MTU size is usually set in the first TCP packet header field (SYN and MSS) and remains unchanged afterward). As one straightforward example, the RSRP data and RSRQ data can be re-measured, such as periodically or on demand, and use to select a possibly a different MTU packet size. As another example, as described herein, the actual performance of an upload data transfer can be evaluated, e.g., by tracking ACK and NACK signals corresponding to the success or failure of data packet transfers, respectively. For example, ACK and NACK signals can be counted and if the performance of the data transfer is good, the MTU packet size can be increased for subsequent data transfer sessions. Conversely, if the performance of the data transfer is poor, the MTU packet size can be decreased for subsequent data transfer sessions. Thus, in one or more example implementations, counts of the ACK and NACK signals can be used to track performance of a data transfer operation.
Operation 410 initializes (e.g., zeroes) these counts. -
Operation 412 represents starting (or if already started, continuing) the data transfer, e.g., sending or receiving some portion of the data. The operations continue as represented in the flow diagram ofFIG. 5 until the data transfer is done (operation 414), including when successfully completed or because of failure. -
Operation 502 ofFIG. 5 represents receiving (or if downloading, sending) an ACK or NACK signal. For a NACK,operation 504 branches tooperation 506, while for an ACK,operation 504 branches to the operations ofFIG. 6 , described below. -
Operation 506 represents incriminating the NACK count, andoperation 508 evaluates the NACK count against a NACK count threshold value. Note that the threshold value can be determined via field testing or the like, and can be such that even a single NACK is considered to be indicative of a need for a smaller MTU packet size, if possible. Further note that the NACK threshold value in use can differ for uploads versus downloads, and can be changed based on the current MTU packet size and/or other factors. For example, the threshold value can allow for more aggressive or less aggressive changes in the MTU packet size in use based on whether the current MTU packet size is already near the lower end or upper end, whether the RSRP and/or RSRQ were closer to one end of a range versus closer to the center of the range, whether there already has been an adjustment (or adjustments) to the MTU packet size for a next TPC session, and so on. -
Operation 510 evaluates whether the MTU size is already at the minimum possible size. If not,operation 512 decreases the MTU size, e.g., by 100 bytes, which can be reported to the network device, if appropriate. Note that in one or more implementations this decrease adjustment is for the next TCP session, (although as set forth above, in alternative implementations the adjustment can be within the current session).Operation 514 represents adjusting the NACK count (e.g., such as re-zeroing the count) and/or adjusting the NACK threshold value in anticipation of a next NACK, if any. Note that ACK counts and NACK counts can be related, e.g., as little as a single NACK can reset the ACK count, or some number of ACK(s) can reset the NACK count.Operation 516 represents performing appropriate actions to re-send a “NACK'ed” packet, or waiting to re-receive a packet; (or failing the data transfer, if appropriate). The process returns toFIG. 4 to repeat data transfer until successful or failed atoperation 414. -
FIG. 6 represents the general, example operations when an ACK is received (or sent). If there is more data to transfer,operation 602 branches tooperation 604, otherwise the process returns to end the data transfer operations (successfully, at operation 414). -
Operation 604 represents incrementing the ACK count, which is evaluated atoperation 606. If the threshold value is exceeded, then the data transfer performance is good, and the MTU size can be increased for the next TCP session (and reported to the network device, if appropriate). For example, some number (e.g., ten) successive ACKs (e.g., without an intervening NACK) can indicate good performance. - If good performance is determined and the MTU size is not already at the maximum size (operation 608),
operation 610 increases the MTU size, e.g., by 100 bytes.Operation 612 represents adjusting the ACK count and/or ACK threshold value, (similar to what was described above with respect tooperation 514 ofFIG. 5 ), in anticipation of one or more future ACKs. -
FIG. 7 represents general, example operations of auser equipment 102.Operation 702 represents obtaining, by a user equipment comprising a processor, radio signal condition data representative of a condition of a radio signal.Operation 704 represents determining, by the user equipment, an initial maximum transmission unit packet size based on the radio signal condition data.Operation 706 represents using, by the user equipment, the initial maximum transmission unit packet size as a selected maximum transmission unit packet size to transfer data between the user equipment and a network device. - Obtaining the radio signal condition data can comprise measuring reference signal received power data corresponding to a power of a reference signal and determining reference signal received quality data corresponding to a received quality of the reference signal.
- Determining the initial maximum transmission unit packet size can comprise using the reference signal received power data and the reference signal received quality data to retrieve the initial maximum transmission unit packet size from a data store of predetermined initial maximum transmission unit packet sizes.
- Aspects can comprise populating the data store of predetermined maximum transmission unit packet sizes, comprising selecting maximum transmission unit packet sizes for inclusion in the data store based on determining transmission control protocol IP packet retransmission rates and determining transmission control protocol session time out rates at a cell edge, as a function of respective received powers and respective received qualities, for respective reference signals of a group of candidate maximum transmission unit packet sizes.
- Aspects can comprise determining, by the user equipment, that a negative acknowledgement count applicable to packet transmissions is below a threshold value, and in response to the determining that the negative acknowledgement count is below the threshold value, increasing the selected maximum transmission unit packet size to an increased maximum transmission unit packet size, and using the increased maximum transmission unit packet size to transfer subsequent data (e.g., in a next TCP session) between the user equipment and the network device.
- Aspects can comprise determining, by the user equipment, that a negative acknowledgement count applicable to packet transmissions is above a threshold value, and in response to the determining that the negative acknowledgement count is above the threshold value, decreasing the selected maximum transmission unit packet size to a decreased maximum transmission unit packet size, and using the decreased maximum transmission unit packet size to transfer data between the user equipment and the network device, e.g., in a subsequent file transfer.
- Using the selected maximum transmission unit packet size to transfer the data between the user equipment and the network device can comprise using the selected maximum transmission unit packet size to transfer the data between a category-M device and the network device.
-
FIG. 8 is a block diagram of a radiouser equipment device 102, comprising processor; and a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations. Example operations comprise measuring radio signal condition data representative of a condition of a radio signal (operation 802) and selecting an initial maximum transmission unit packet size based on the radio signal condition data as a selected maximum transmission unit packet size (operation 804).Operation 806 represents transferring data between the radio user equipment device and a network device based on the selected maximum transmission unit packet size. - Measuring the radio signal condition data can comprise measuring a received power of a reference signal and determining a received quality of the reference signal. Selecting the initial maximum transmission unit packet size can comprise retrieving the initial maximum transmission unit packet size from a data store of predetermined initial maximum transmission unit packet sizes via a first lookup index based on the received power of the reference signal and a second lookup index based on the received quality of the reference signal.
- Aspects can comprise changing the selected maximum transmission unit packet size based on actual performance measurement data with respect to transferring the data, e.g., in a subsequent data transfer session. Changing the selected maximum transmission unit packet size based on the actual performance measurement data can comprise tracking negative acknowledgments received with respect to transferring the data. Changing the selected maximum transmission unit packet size based on the actual performance measurement data can comprise increasing the selected maximum transmission unit packet size. Changing the selected maximum transmission unit packet size based on the actual performance measurement data can comprise decreasing the selected maximum transmission unit packet size.
- The radio user equipment device can comprise a category-M device.
-
FIG. 9 represents general, example operations of a machine-readable storage medium, comprising executable instructions that, when executed by a processor of a user equipment, facilitate performance of operations. Example operations can comprise selecting a selected maximum transmission unit packet size based on a reference signal received power and a reference signal received quality (operation 902), and using the selected maximum transmission unit packet size, transferring data between the user equipment and a network device operation 904). - Aspects can comprise determining the reference signal received power and determining the reference signal received quality at the user equipment, and retrieving the selected maximum transmission unit packet size from a data store of predetermined initial maximum transmission unit packet sizes via a first lookup index based on the reference signal received power and a second lookup index based on the reference signal received quality.
- Aspects can comprise changing the selected maximum transmission unit packet size to a changed maximum transmission unit packet size based on a result of tracking negative acknowledgments received with respect to transferring the data. Changing the selected maximum transmission unit packet size can comprise increasing the selected maximum transmission unit packet size, e.g., for a subsequent data transfer session. Changing the selected maximum transmission unit packet size can comprise decreasing the selected maximum transmission unit packet size, e.g., for a subsequent data transfer session.
- As can be seen, described herein is dynamically selecting the MTU size based on radio signal quality, to reduce TCP round trip time and thereby improve machine-type (and other type) device communication performance. The technology reduces the TCP packet retransmission rate and session time out rate, and consequently improves the data download/upload success rate. The technology thus improves Cat-M device reliability.
- Referring now to
FIG. 10 , illustrated is an example block diagram of an examplemobile handset 1000 operable to engage in a system architecture that facilitates wireless communications according to one or more embodiments described herein. Although a mobile handset is illustrated herein, it will be understood that other devices can be a mobile device, and that the mobile handset is merely illustrated to provide context for the embodiments of the various embodiments described herein. The following discussion is intended to provide a brief, general description of an example of a suitable environment in which the various embodiments can be implemented. While the description includes a general context of computer-executable instructions embodied on a machine-readable storage medium, those skilled in the art will recognize that the innovation also can be implemented in combination with other program modules and/or as a combination of hardware and software. - Generally, applications (e.g., program modules) can include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the methods described herein can be practiced with other system configurations, including single-processor or multiprocessor systems, minicomputers, mainframe computers, as well as personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which can be operatively coupled to one or more associated devices
- A computing device can typically include a variety of machine-readable media. Machine-readable media can be any available media that can be accessed by the computer and includes both volatile and non-volatile media, removable and non-removable media. By way of example and not limitation, computer-readable media can comprise computer storage media and communication media. Computer storage media can include volatile and/or non-volatile media, removable and/or non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data. Computer storage media can include, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, solid state drive (SSD) or other solid-state storage technology, Compact Disk Read Only Memory (CD ROM), digital video disk (DVD), Blu-ray disk, or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer. In this regard, the terms “tangible” or “non-transitory” herein as applied to storage, memory or computer-readable media, are to be understood to exclude only propagating transitory signals per se as modifiers and do not relinquish rights to all standard storage, memory or computer-readable media that are not only propagating transitory signals per se.
- Communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer-readable media
- The handset includes a
processor 1002 for controlling and processing all onboard operations and functions. Amemory 1004 interfaces to theprocessor 1002 for storage of data and one or more applications 1006 (e.g., a video player software, user feedback component software, etc.). Other applications can include voice recognition of predetermined voice commands that facilitate initiation of the user feedback signals. Theapplications 1006 can be stored in thememory 1004 and/or in afirmware 1008, and executed by theprocessor 1002 from either or both thememory 1004 or/and thefirmware 1008. Thefirmware 1008 can also store startup code for execution in initializing thehandset 1000. Acommunications component 1010 interfaces to theprocessor 1002 to facilitate wired/wireless communication with external systems, e.g., cellular networks, VoIP networks, and so on. Here, thecommunications component 1010 can also include a suitable cellular transceiver 1011 (e.g., a GSM transceiver) and/or an unlicensed transceiver 1011 (e.g., Wi-Fi, WiMax) for corresponding signal communications. Thehandset 1000 can be a device such as a cellular telephone, a PDA with mobile communications capabilities, and messaging-centric devices. Thecommunications component 1010 also facilitates communications reception from terrestrial radio networks (e.g., broadcast), digital satellite radio networks, and Internet-based radio services networks - The
handset 1000 includes adisplay 1010 for displaying text, images, video, telephony functions (e.g., a Caller ID function), setup functions, and for user input. For example, thedisplay 1010 can also be referred to as a “screen” that can accommodate the presentation of multimedia content (e.g., music metadata, messages, wallpaper, graphics, etc.). Thedisplay 1010 can also display videos and can facilitate the generation, editing and sharing of video quotes. A serial I/O interface 1014 is provided in communication with theprocessor 1002 to facilitate wired and/or wireless serial communications (e.g., USB, and/or IEEE 1094) through a hardwire connection, and other serial input devices (e.g., a keyboard, keypad, and mouse). This supports updating and troubleshooting thehandset 1000, for example. Audio capabilities are provided with an audio I/O component 1016, which can include a speaker for the output of audio signals related to, for example, indication that the user pressed the proper key or key combination to initiate the user feedback signal. The audio I/O component 1016 also facilitates the input of audio signals through a microphone to record data and/or telephony voice data, and for inputting voice signals for telephone conversations. - The
handset 1000 can include aslot interface 1018 for accommodating a SIC (Subscriber Identity Component) in the form factor of a card Subscriber Identity Module (SIM) oruniversal SIM 1020, and interfacing theSIM card 1020 with theprocessor 1002. However, it is to be appreciated that theSIM card 1020 can be manufactured into thehandset 1000, and updated by downloading data and software. - The
handset 1000 can process IP data traffic through thecommunications component 1010 to accommodate IP traffic from an IP network such as, for example, the Internet, a corporate intranet, a home network, a person area network, etc., through an ISP or broadband cable provider. Thus, VoIP traffic can be utilized by thehandset 1000 and IP-based multimedia content can be received in either an encoded or a decoded format. - A video processing component 1022 (e.g., a camera) can be provided for decoding encoded multimedia content. The
video processing component 1022 can aid in facilitating the generation, editing, and sharing of video quotes. Thehandset 1000 also includes apower source 1024 in the form of batteries and/or an AC power subsystem, whichpower source 1024 can interface to an external power system or charging equipment (not shown) by a power I/O component 1026. - The
handset 1000 can also include avideo component 1030 for processing video content received and, for recording and transmitting video content. For example, thevideo component 1030 can facilitate the generation, editing and sharing of video quotes. Alocation tracking component 1032 facilitates geographically locating thehandset 1000. As described hereinabove, this can occur when the user initiates the feedback signal automatically or manually. A user input component 1034 facilitates the user initiating the quality feedback signal. The user input component 1034 can also facilitate the generation, editing and sharing of video quotes. The user input component 1034 can include such conventional input device technologies such as a keypad, keyboard, mouse, stylus pen, and/or touch screen, for example. - Referring again to the
applications 1006, ahysteresis component 1036 facilitates the analysis and processing of hysteresis data, which is utilized to determine when to associate with the access point. Asoftware trigger component 1038 can be provided that facilitates triggering of thehysteresis component 1036 when the Wi-Fi transceiver 1011 detects the beacon of the access point. ASIP client 1040 enables thehandset 1000 to support SIP protocols and register the subscriber with the SIP registrar server. Theapplications 1006 can also include a client 1042 that provides at least the capability of discovery, play and store of multimedia content, for example, music. - The
handset 1000, as indicated above related to thecommunications component 1010, includes an indoor network radio transceiver 1011 (e.g., Wi-Fi transceiver). This function supports the indoor radio link, such as IEEE 802.11, for the dual-mode GSM handset 1000. Thehandset 1000 can accommodate at least satellite radio services through a handset that can combine wireless voice and digital radio chipsets into a single handheld device. - Referring now to
FIG. 11 , illustrated is an example block diagram of an example computer 1100 operable to engage in a system architecture that facilitates wireless communications according to one or more embodiments described herein. The computer 1100 can provide networking and communication capabilities between a wired or wireless communication network and a server (e.g., Microsoft server) and/or communication device. In order to provide additional context for various aspects thereof,FIG. 11 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the various aspects of the innovation can be implemented to facilitate the establishment of a transaction between an entity and a third party. While the description above is in the general context of computer-executable instructions that can run on one or more computers, those skilled in the art will recognize that the innovation also can be implemented in combination with other program modules and/or as a combination of hardware and software. - Generally, program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the various methods can be practiced with other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which can be operatively coupled to one or more associated devices.
- The illustrated aspects of the innovation can also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.
- Computing devices typically include a variety of media, which can include computer-readable storage media or communications media, which two terms are used herein differently from one another as follows.
- Computer-readable storage media can be any available storage media that can be accessed by the computer and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable storage media can be implemented in connection with any method or technology for storage of information such as computer-readable instructions, program modules, structured data, or unstructured data. Computer-readable storage media can include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other tangible and/or non-transitory media which can be used to store desired information. Computer-readable storage media can be accessed by one or more local or remote computing devices, e.g., via access requests, queries or other data retrieval protocols, for a variety of operations with respect to the information stored by the medium.
- Communications media can embody computer-readable instructions, data structures, program modules, or other structured or unstructured data in a data signal such as a modulated data signal, e.g., a carrier wave or other transport mechanism, and includes any information delivery or transport media. The term “modulated data signal” or signals refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in one or more signals. By way of example, and not limitation, communication media include wired media, such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
- The techniques described herein can be applied to any device or set of devices (machines) capable of running programs and processes. It can be understood, therefore, that servers including physical and/or virtual machines, personal computers, laptops, handheld, portable and other computing devices and computing objects of all kinds including cell phones, tablet/slate computers, gaming/entertainment consoles and the like are contemplated for use in connection with various implementations including those exemplified herein. Accordingly, the general purpose computing mechanism described below with reference to
FIG. 11 is but one example of a computing device. - In order to provide a context for the various aspects of the disclosed subject matter,
FIG. 11 and the following discussion, are intended to provide a brief, general description of a suitable environment in which the various aspects of the disclosed subject matter can be implemented. While the subject matter has been described above in the general context of computer-executable instructions of a computer program that runs on a computer and/or computers, those skilled in the art will recognize that the disclosed subject matter also can be implemented in combination with other program modules. Generally, program modules include routines, programs, components, data structures, etc. that perform particular tasks and/or implement particular abstract data types. - In the subject specification, terms such as “store,” “storage,” “data store,” data storage,” “database,” and substantially any other information storage component relevant to operation and functionality of a component, refer to “memory components,” or entities embodied in a “memory” or components comprising the memory. It will be appreciated that the memory components described herein can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory, by way of illustration, and not limitation, volatile memory 1100 (see below), non-volatile memory 1102 (see below), disk storage 1104 (see below), and memory storage 1146 (see below). Further, nonvolatile memory can be included in read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM). Additionally, the disclosed memory components of systems or methods herein are intended to comprise, without being limited to comprising, these and any other suitable types of memory.
- Moreover, it will be noted that the disclosed subject matter can be practiced with other computer system configurations, including single-processor or multiprocessor computer systems, mini-computing devices, mainframe computers, as well as personal computers, hand-held computing devices (e.g., PDA, phone, watch, tablet computers, netbook computers, . . . ), microprocessor-based or programmable consumer or industrial electronics, and the like. The illustrated aspects can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network; however, some if not all aspects of the subject disclosure can be practiced on stand-alone computers. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.
-
FIG. 11 illustrates a block diagram of a computing system 1100 operable to execute the disclosed systems and methods in accordance with an embodiment. Computer 1110, which can be, for example, part of the hardware of system 1100, includes aprocessing unit 1114, asystem memory 1116, and asystem bus 1118.System bus 1118 couples system components including, but not limited to,system memory 1116 toprocessing unit 1114.Processing unit 1114 can be any of various available processors. Dual microprocessors and other multiprocessor architectures also can be employed asprocessing unit 1114. -
System bus 1118 can be any of several types of bus structure(s) including a memory bus or a memory controller, a peripheral bus or an external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics , VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Card Bus, Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association bus (PCMCIA), Firewire (IEEE 1194), and Small Computer Systems Interface (SCSI). -
System memory 1116 can include volatile memory 1100 andnonvolatile memory 1102. A basic input/output system (BIOS), containing routines to transfer information between elements within computer 1110, such as during start-up, can be stored innonvolatile memory 1102. By way of illustration, and not limitation,nonvolatile memory 1102 can include ROM, PROM, EPROM, EEPROM, or flash memory. Volatile memory 1100 includes RAM, which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as SRAM, dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct Rambus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM). - Computer 1110 can also include removable/non-removable, volatile/non-volatile computer storage media.
FIG. 11 illustrates, for example,disk storage 1104.Disk storage 1104 includes, but is not limited to, devices like a magnetic disk drive, floppy disk drive, tape drive, flash memory card, or memory stick. In addition,disk storage 1104 can include storage media separately or in combination with other storage media including, but not limited to, an optical disk drive such as a compact disk ROM device (CD-ROM), CD recordable drive (CD-R Drive), CD rewritable drive (CD-RW Drive) or a digital versatile disk ROM drive (DVD-ROM). To facilitate connection of thedisk storage devices 1104 tosystem bus 1118, a removable or non-removable interface is typically used, such asinterface 1106. - Computing devices typically include a variety of media, which can include computer-readable storage media or communications media, which two terms are used herein differently from one another as follows.
- Computer-readable storage media can be any available storage media that can be accessed by the computer and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable storage media can be implemented in connection with any method or technology for storage of information such as computer-readable instructions, program modules, structured data, or unstructured data. Computer-readable storage media can include, but are not limited to, random access memory (RAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, solid state drive (SSD) or other solid-state storage technology, compact disk read only memory (CD ROM), digital versatile disk (DVD), Blu-ray disc or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or other tangible and/or non-transitory media which can be used to store desired information. In this regard, the terms “tangible” or “non-transitory” herein as applied to storage, memory or computer-readable media, are to be understood to exclude only propagating transitory signals per se as modifiers and do not relinquish rights to all standard storage, memory or computer-readable media that are not only propagating transitory signals per se. In an aspect, tangible media can include non-transitory media wherein the term “non-transitory” herein as may be applied to storage, memory or computer-readable media, is to be understood to exclude only propagating transitory signals per se as a modifier and does not relinquish coverage of all standard storage, memory or computer-readable media that are not only propagating transitory signals per se. For the avoidance of doubt, the term “computer-readable storage device” is used and defined herein to exclude transitory media. Computer-readable storage media can be accessed by one or more local or remote computing devices, e.g., via access requests, queries or other data retrieval protocols, for a variety of operations with respect to the information stored by the medium.
- Communications media typically embody computer-readable instructions, data structures, program modules or other structured or unstructured data in a data signal such as a modulated data signal, e.g., a carrier wave or other transport mechanism, and includes any information delivery or transport media. The term “modulated data signal” or signals refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in one or more signals. By way of example, and not limitation, communication media include wired media, such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
- It can be noted that
FIG. 11 describes software that acts as an intermediary between users and computer resources described in suitable operating environment 1100. Such software includes anoperating system 1108.Operating system 1108, which can be stored ondisk storage 1104, acts to control and allocate resources of computer system 1110.System applications 1130 take advantage of the management of resources byoperating system 1108 throughprogram modules 1132 andprogram data 1134 stored either insystem memory 1116 or ondisk storage 1104. It is to be noted that the disclosed subject matter can be implemented with various operating systems or combinations of operating systems. - A user can enter commands or information into computer 1110 through input device(s) 1136. As an example, a mobile device and/or portable device can include a user interface embodied in a touch sensitive display panel allowing a user to interact with computer 1110.
Input devices 1136 include, but are not limited to, a pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, TV tuner card, digital camera, digital video camera, web camera, cell phone, smartphone, tablet computer, etc. These and other input devices connect toprocessing unit 1114 throughsystem bus 1118 by way of interface port(s) 1138. Interface port(s) 1138 include, for example, a serial port, a parallel port, a game port, a universal serial bus (USB), an infrared port, a Bluetooth port, an IP port, or a logical port associated with a wireless service, etc. Output device(s) 1140 and a move use some of the same type of ports as input device(s) 1136. - Thus, for example, a USB port can be used to provide input to computer 1110 and to output information from computer 1110 to an
output device 1140.Output adapter 1142 is provided to illustrate that there are someoutput devices 1140 like monitors, speakers, and printers, amongother output devices 1140, which use special adapters.Output adapters 1142 include, by way of illustration and not limitation, video and sound cards that provide means of connection betweenoutput device 1140 andsystem bus 1118. It should be noted that other devices and/or systems of devices provide both input and output capabilities such as remote computer(s) 1144. - Computer 1110 can operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1144. Remote computer(s) 1144 can be a personal computer, a server, a router, a network PC, cloud storage, cloud service, a workstation, a microprocessor based appliance, a peer device, or other common network node and the like, and typically includes many or all of the elements described relative to computer 1110.
- For purposes of brevity, only a
memory storage device 1146 is illustrated with remote computer(s) 1144. Remote computer(s) 1144 is logically connected to computer 1110 through anetwork interface 1148 and then physically connected by way ofcommunication connection 1150.Network interface 1148 encompasses wire and/or wireless communication networks such as local-area networks (LAN) and wide-area networks (WAN). LAN technologies include Fiber Distributed Data Interface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet, Token Ring and the like. WAN technologies include, but are not limited to, point-to-point links, circuit-switching networks like Integrated Services Digital Networks (ISDN) and variations thereon, packet switching networks, and Digital Subscriber Lines (DSL). As noted below, wireless technologies may be used in addition to or in place of the foregoing. - Communication connection(s) 1150 refer(s) to hardware/software employed to connect
network interface 1148 tobus 1118. Whilecommunication connection 1150 is shown for illustrative clarity inside computer 1110, it can also be external to computer 1110. The hardware/software for connection to networkinterface 1148 can include, for example, internal and external technologies such as modems, including regular telephone grade modems, cable modems and DSL modems, ISDN adapters, and Ethernet cards. - The above description of illustrated embodiments of the subject disclosure, including what is described in the Abstract, is not intended to be exhaustive or to limit the disclosed embodiments to the precise forms disclosed. While specific embodiments and examples are described herein for illustrative purposes, various modifications are possible that are considered within the scope of such embodiments and examples, as those skilled in the relevant art can recognize.
- In this regard, while the disclosed subject matter has been described in connection with various embodiments and corresponding Figures, where applicable, it is to be understood that other similar embodiments can be used or modifications and additions can be made to the described embodiments for performing the same, similar, alternative, or substitute function of the disclosed subject matter without deviating therefrom. Therefore, the disclosed subject matter should not be limited to any single embodiment described herein, but rather should be construed in breadth and scope in accordance with the appended claims below.
- As it employed in the subject specification, the term “processor” can refer to substantially any computing processing unit or device comprising, but not limited to comprising, single-core processors; single-processors with software multithread execution capability; multi-core processors; multi-core processors with software multithread execution capability; multi-core processors with hardware multithread technology; parallel platforms; and parallel platforms with distributed shared memory. Additionally, a processor can refer to an integrated circuit, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), a discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. Processors can exploit nano-scale architectures such as, but not limited to, molecular and quantum-dot based transistors, switches and gates, in order to optimize space usage or enhance performance of user equipment. A processor may also be implemented as a combination of computing processing units.
- In the subject specification, terms such as “store,” “storage,” “data store,” data storage,” “database,” and substantially any other information storage component relevant to operation and functionality of a component, refer to “memory components,” or entities embodied in a “memory” or components comprising the memory. It will be appreciated that the memory components described herein can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory.
- As used in this application, the terms “component,” “system,” “platform,” “layer,” “selector,” “interface,” and the like are intended to refer to a computer-related entity or an entity related to an operational apparatus with one or more specific functionalities, wherein the entity can be either hardware, a combination of hardware and software, software, or software in execution. As an example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration and not limitation, both an application running on a server and the server can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers. In addition, these components can execute from various computer readable media, device readable storage devices, or machine readable media having various data structures stored thereon. The components may communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal). As another example, a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry, which is operated by a software or firmware application executed by a processor, wherein the processor can be internal or external to the apparatus and executes at least a part of the software or firmware application. As yet another example, a component can be an apparatus that provides specific functionality through electronic components without mechanical parts, the electronic components can include a processor therein to execute software or firmware that confers at least in part the functionality of the electronic components.
- In addition, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is, unless specified otherwise, or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances. Moreover, articles “a” and “an” as used in the subject specification and annexed drawings should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form.
- Moreover, terms like “user equipment (UE),” “mobile station,” “mobile,” subscriber station,” “subscriber equipment,” “access terminal,” “terminal,” “handset,” and similar terminology, refer to a wireless device utilized by a subscriber or user of a wireless communication service to receive or convey data, control, voice, video, sound, gaming, or substantially any data-stream or signaling-stream. The foregoing terms are utilized interchangeably in the subject specification and related drawings. Likewise, the terms “access point (AP),” “base station,” “NodeB,” “evolved Node B (eNodeB),” “home Node B (HNB),” “home access point (HAP),” “cell device,” “sector,” “cell,” and the like, are utilized interchangeably in the subject application, and refer to a wireless network component or appliance that serves and receives data, control, voice, video, sound, gaming, or substantially any data-stream or signaling-stream to and from a set of subscriber stations or provider enabled devices. Data and signaling streams can include packetized or frame-based flows.
- Additionally, the terms “core-network”, “core”, “core carrier network”, “carrier-side”, or similar terms can refer to components of a telecommunications network that typically provides some or all of aggregation, authentication, call control and switching, charging, service invocation, or gateways. Aggregation can refer to the highest level of aggregation in a service provider network wherein the next level in the hierarchy under the core nodes is the distribution networks and then the edge networks. User equipments do not normally connect directly to the core networks of a large service provider but can be routed to the core by way of a switch or radio area network. Authentication can refer to determinations regarding whether the user requesting a service from the telecom network is authorized to do so within this network or not. Call control and switching can refer determinations related to the future course of a call stream across carrier equipment based on the call signal processing. Charging can be related to the collation and processing of charging data generated by various network nodes. Two common types of charging mechanisms found in present day networks can be prepaid charging and postpaid charging. Service invocation can occur based on some explicit action (e.g. call transfer) or implicitly (e.g., call waiting). It is to be noted that service “execution” may or may not be a core network functionality as third party network/nodes may take part in actual service execution. A gateway can be present in the core network to access other networks. Gateway functionality can be dependent on the type of the interface with another network.
- Furthermore, the terms “user,” “subscriber,” “customer,” “consumer,” “prosumer,” “agent,” and the like are employed interchangeably throughout the subject specification, unless context warrants particular distinction(s) among the terms. It should be appreciated that such terms can refer to human entities or automated components (e.g., supported through artificial intelligence, as through a capacity to make inferences based on complex mathematical formalisms), that can provide simulated vision, sound recognition and so forth.
- Aspects, features, or advantages of the subject matter can be exploited in substantially any, or any, wired, broadcast, wireless telecommunication, radio technology or network, or combinations thereof. Non-limiting examples of such technologies or networks include Geocast technology; broadcast technologies (e.g., sub-Hz, ELF, VLF, LF, MF, HF, VHF, UHF, SHF, THz broadcasts, etc.); Ethernet; X.25; powerline-type networking (e.g., PowerLine AV Ethernet, etc.); femto-cell technology; Wi-Fi; Worldwide Interoperability for Microwave Access (WiMAX); Enhanced General Packet Radio Service (Enhanced GPRS); Third Generation Partnership Project (3GPP or 3G) Long Term Evolution (LTE); 3GPP Universal Mobile Telecommunications System (UMTS) or 3GPP UMTS; Third Generation Partnership Project 2 (3GPP2) Ultra Mobile Broadband (UMB); High Speed Packet Access (HSPA); High Speed Downlink Packet Access (HSDPA); High Speed Uplink Packet Access (HSUPA); GSM Enhanced Data Rates for GSM Evolution (EDGE) Radio Access Network (RAN) or GERAN; UMTS Terrestrial Radio Access Network (UTRAN); or LTE Advanced.
- What has been described above includes examples of systems and methods illustrative of the disclosed subject matter. It is, of course, not possible to describe every combination of components or methods herein. One of ordinary skill in the art may recognize that many further combinations and permutations of the disclosure are possible. Furthermore, to the extent that the terms “includes,” “has,” “possesses,” and the like are used in the detailed description, claims, appendices and drawings such terms are intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.
- While the various embodiments are susceptible to various modifications and alternative constructions, certain illustrated implementations thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the various embodiments to the specific forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents falling within the spirit and scope of the various embodiments.
- In addition to the various implementations described herein, it is to be understood that other similar implementations can be used or modifications and additions can be made to the described implementation(s) for performing the same or equivalent function of the corresponding implementation(s) without deviating therefrom. Still further, multiple processing chips or multiple devices can share the performance of one or more functions described herein, and similarly, storage can be effected across a plurality of devices. Accordingly, the various embodiments are not to be limited to any single implementation, but rather are to be construed in breadth, spirit and scope in accordance with the appended claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/648,435 US20220150177A1 (en) | 2018-03-29 | 2022-01-20 | Maximum transmission unit size selection for wireless data transfer |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/939,892 US10567297B2 (en) | 2018-03-29 | 2018-03-29 | Maximum transmission unit size selection for wireless data transfer |
US16/735,875 US11265256B2 (en) | 2018-03-29 | 2020-01-07 | Maximum transmission unit size selection for wireless data transfer |
US17/648,435 US20220150177A1 (en) | 2018-03-29 | 2022-01-20 | Maximum transmission unit size selection for wireless data transfer |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/735,875 Continuation US11265256B2 (en) | 2018-03-29 | 2020-01-07 | Maximum transmission unit size selection for wireless data transfer |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220150177A1 true US20220150177A1 (en) | 2022-05-12 |
Family
ID=68055679
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/939,892 Expired - Fee Related US10567297B2 (en) | 2018-03-29 | 2018-03-29 | Maximum transmission unit size selection for wireless data transfer |
US16/735,875 Active 2038-07-24 US11265256B2 (en) | 2018-03-29 | 2020-01-07 | Maximum transmission unit size selection for wireless data transfer |
US17/648,435 Abandoned US20220150177A1 (en) | 2018-03-29 | 2022-01-20 | Maximum transmission unit size selection for wireless data transfer |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/939,892 Expired - Fee Related US10567297B2 (en) | 2018-03-29 | 2018-03-29 | Maximum transmission unit size selection for wireless data transfer |
US16/735,875 Active 2038-07-24 US11265256B2 (en) | 2018-03-29 | 2020-01-07 | Maximum transmission unit size selection for wireless data transfer |
Country Status (1)
Country | Link |
---|---|
US (3) | US10567297B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11190456B2 (en) * | 2018-11-30 | 2021-11-30 | International Business Machines Corporation | Real-time adjustment of packet size limit in virtual networks |
US11451485B2 (en) * | 2020-03-27 | 2022-09-20 | At&T Intellectual Property I, L.P. | Dynamic packet size adaptation to improve wireless network performance for 5G or other next generation wireless network |
CN111586158B (en) * | 2020-05-06 | 2023-04-14 | 山东汇贸电子口岸有限公司 | Audio and video fragment uploading and retransmitting method |
CN111641480B (en) * | 2020-05-22 | 2023-08-25 | 广东小天才科技有限公司 | Control method for TCP retransmission times, terminal equipment and storage medium |
CN114401257A (en) * | 2022-01-07 | 2022-04-26 | 中国联合网络通信集团有限公司 | Data transmission method, airborne terminal, electronic device, and computer-readable medium |
CN116016367B (en) * | 2022-12-05 | 2024-08-27 | 湖南智领通信科技有限公司 | Wireless intelligent network card driving system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9913157B1 (en) * | 2016-09-07 | 2018-03-06 | Qualcomm Incorporated | Techniques for generating a composite color to represent values of a communication metric |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7082467B2 (en) * | 2000-02-10 | 2006-07-25 | Hughes Network Systems | Method and device for selective transport level spoofing based on information in transport level packet |
US8085810B2 (en) | 2008-08-06 | 2011-12-27 | Movik Networks | Cross-layer pipelining optimizations for reduced roundtrips and improving quality of experience |
EP2234333B1 (en) | 2009-03-23 | 2015-07-15 | Corvil Limited | System and method for estimation of round trip times within a tcp based data network |
US9069727B2 (en) * | 2011-08-12 | 2015-06-30 | Talari Networks Incorporated | Adaptive private network with geographically redundant network control nodes |
US8332708B2 (en) * | 2010-05-07 | 2012-12-11 | Qualcomm Incorporated | Data transmission with multi-level ACK/NACK feedback |
EP2720401A1 (en) * | 2012-10-10 | 2014-04-16 | Panasonic Corporation | Dynamic TDD uplink/downlink configuration |
US9294409B2 (en) | 2013-01-22 | 2016-03-22 | Apple Inc. | Reducing round-trip times for TCP communications |
US9271164B2 (en) * | 2013-08-05 | 2016-02-23 | Acer Incorporated | Method of increasing data throughput of a wireless network system by dynamically adjusting MTU/fragmentation size according to current transmission status |
US9510208B2 (en) * | 2013-10-04 | 2016-11-29 | Qualcomm Incorporated | Sequence generation for shared spectrum |
US9974049B2 (en) * | 2015-01-29 | 2018-05-15 | Intel IP Corporation | Adaptive paging techniques for extended coverage-capable devices |
EP3295701B1 (en) | 2015-05-14 | 2022-01-26 | Sierra Wireless, Inc. | Method and apparatus for resource allocation for half duplex frequency division duplexing in a wireless communication system |
US11277223B2 (en) | 2016-05-20 | 2022-03-15 | Apple Inc. | Control channel design for category-A devices |
US10779283B2 (en) | 2016-05-31 | 2020-09-15 | Nokia Technologies Oy | Physical resource sharing on wireless interface |
US10660110B2 (en) | 2016-06-11 | 2020-05-19 | Apple Inc. | Adaptive throughput and bandwidth for enhanced category of mobile devices |
US20180034736A1 (en) | 2016-07-28 | 2018-02-01 | Qualcomm Incorporated | Differential scheduling for real-time communication services |
US20180041415A1 (en) | 2016-08-03 | 2018-02-08 | Qualcomm Incorporated | Mitigation of transmission control protocol throughput degradation in communication devices due to predictable radio impairment events |
US10251087B2 (en) | 2016-08-31 | 2019-04-02 | Qualcomm Incorporated | IP flow management for capacity-limited wireless devices |
CN108737045B (en) * | 2017-04-19 | 2021-05-04 | 华为技术有限公司 | Method and device for repeated transmission |
-
2018
- 2018-03-29 US US15/939,892 patent/US10567297B2/en not_active Expired - Fee Related
-
2020
- 2020-01-07 US US16/735,875 patent/US11265256B2/en active Active
-
2022
- 2022-01-20 US US17/648,435 patent/US20220150177A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9913157B1 (en) * | 2016-09-07 | 2018-03-06 | Qualcomm Incorporated | Techniques for generating a composite color to represent values of a communication metric |
Also Published As
Publication number | Publication date |
---|---|
US10567297B2 (en) | 2020-02-18 |
US20200145343A1 (en) | 2020-05-07 |
US11265256B2 (en) | 2022-03-01 |
US20190306072A1 (en) | 2019-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11265256B2 (en) | Maximum transmission unit size selection for wireless data transfer | |
US10951349B2 (en) | Adaptive configuration of modulation and coding scheme tables for new radio | |
US11197314B2 (en) | Configurable groups of control channel resource sets for wireless communication | |
US10827498B2 (en) | Joint procedure for beam management and partial control beam failure recovery | |
US20210328911A1 (en) | Lossless data delivery at route changes in wireless radio networks | |
US12003291B2 (en) | Indicating frequency and time domain resources in communication systems with multiple transmission points | |
US11539466B2 (en) | Scheduling downlink data with multiple slot feedback channel configuration in wireless communication systems | |
US11122442B2 (en) | Transferring coverage enhancement information from terminal adapter to terminal equipment | |
US10958373B2 (en) | Sequences for signaling acknowledgments and negative acknowledgements | |
US20220124720A1 (en) | Assisted resource allocation in a peer to peer wireless network | |
US20220256317A1 (en) | Centrally assisted associations with a local manager by peers in a peer to peer wireless network | |
US20240333436A1 (en) | Adaptive repetition in wireless communication systems | |
US20210321371A1 (en) | Contention level signaling for resource pools |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: AT&T MOBILITY II LLC, GEORGIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ZHOU, JIANCHUN;REEL/FRAME:058706/0309 Effective date: 20190409 Owner name: AT&T INTELLECTUAL PROPERTY I, L.P., GEORGIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHANG, MING;SANGAL, SAMEER;SIGNING DATES FROM 20190409 TO 20190411;REEL/FRAME:058706/0264 |
|
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 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |