transmission of delay tolerant data. An apparatus includes a processor configured to classify data, on the basis of its delay requirement, into delay tolerant data and into delay critical data, and to control transmission of the delay tolerant data with a transmitter in such a manner that the transmission of the delay tolerant data is timed to coincide with transmission of the delay critical data.
|
10. A method comprising:
classifying data, on the basis of its delay requirement, into delay tolerant data and into delay critical data; and
timing transmission of the delay tolerant data in such a manner that the transmission of the delay tolerant data is postponed until availability of the delay critical data so as to coincide with transmission of the delay critical data.
1. An apparatus comprising:
a processor configured to classify data, on the basis of its delay requirement, into delay tolerant data and into delay critical data, and to control transmission of the delay tolerant data with a transmitter in such a manner that the transmission of the delay tolerant data is postponed until availability of the delay critical data and to coincide with transmission of the delay critical data.
20. An apparatus comprising:
means for classifying data, on the basis of its delay requirement, into delay tolerant data and into delay critical data; and
means for controlling transmission of the delay tolerant data with transmitting means in such a manner that the transmission of the delay tolerant data is postponed until availability of the delay critical data and to coincide with transmission of the delay critical data.
18. A computer program, embodied on a non-transitory computer-readable medium, the computer program configured to control a processor to perform a method comprising:
classifying data, on the basis of its delay requirement, into delay tolerant data and into delay critical data; and
timing transmission of the delay tolerant data in such a manner that the transmission of the delay tolerant data is postponed until availability of the delay critical data so as to coincide with transmission of the delay critical data.
2. The apparatus of
3. The apparatus of
4. The apparatus of
5. The apparatus of
6. The apparatus of
7. The apparatus of
8. The apparatus of
if the timer expires before the transmission of the delay tolerant data is possible simultaneously with the transmission of the delay critical data, the processor is further configured to control the transmitter in such a manner that the transmission of the delay tolerant data is performed irrespective of the transmission of the delay critical data.
9. The apparatus of
11. The method of
classifying the data into the delay tolerant data whose delay requirement exceeds a predetermined delay threshold and into the delay critical data whose delay requirement falls below the predetermined delay threshold.
12. The method of
signaling to a receiver that the delay tolerant data is transmitted with a delay exceeding the predetermined delay threshold.
13. The method of
storing the delay tolerant data into a buffer; and
timing the transmission of the delay tolerant data in such a manner that, at transmission time of the delay critical data, a part of the delay tolerant data fitting with the simultaneous transmission of the delay critical data is taken out from the buffer.
14. The method of
timing the transmission of the delay tolerant data to coincide with the transmission of the delay critical data in such a manner that duration of a power save state of a mobile terminal is maximized.
15. The method of
timing the transmission of the delay tolerant data to coincide with the transmission of the delay critical data in such a manner that a number of radio setups and radio releases is minimized.
16. The method of
timing the transmission of the delay tolerant data to coincide with the transmission of the delay critical data in such a manner that the transmission of the delay tolerant data is in parallel with the transmission of the delay critical data.
17. The method of
starting a timer when detecting the delay tolerant data; and
performing the transmission of the delay tolerant data irrespective of the transmission of the delay critical data, if the timer expires before the transmission of the delay tolerant data is possible simultaneously with the transmission of the delay critical data.
19. The computer program of
classifying the data into the delay tolerant data whose delay requirement exceeds a predetermined delay threshold and into the delay critical data whose delay requirement falls below the predetermined delay threshold.
21. The apparatus of
|
The invention relates to transmission of delay tolerant data.
Data transmission with various kinds of apparatuses is becoming more and more common. However, data transmission strategies require further development.
The present invention seeks to provide an improved apparatus, an improved method, an improved computer program, and an improved computer-readable storage medium.
According to an aspect of the present invention, there is provided an apparatus comprising a processor configured to classify data, on the basis of its delay requirement, into delay tolerant data and into delay critical data, and to control transmission of the delay tolerant data with a transmitter in such a manner that the transmission of the delay tolerant data is timed to coincide with transmission of the delay critical data.
Embodiments of the present invention are described below, by way of example only, with reference to the accompanying drawings, in which
The following embodiments are exemplary. Although the specification may refer to “an” embodiment(s) in several locations, this does not necessarily mean that each such reference is to the same embodiment(s), or that the feature only applies to a single embodiment. Single features of different embodiments may also be combined to provide other embodiments. The present invention is applicable to any data transmission system that supports the functionality that will be described in the following. The protocols and specifications of data transmission systems develop rapidly. Such development may require extra changes to an embodiment. Therefore, all words and expressions should be interpreted broadly and they are intended to illustrate, not to restrict, the embodiment.
The apparatus 100 may be a mobile terminal or a network element, for example, i.e. the data transmission may be performed in the uplink direction (from the mobile terminal to the network element belonging to the fixed network infrastructure) or in the downlink direction (from the network element to the mobile terminal). In either case, duration of a battery 128 is an ever present problem with wireless mobile terminals. By timing the transmission of the delay tolerant data 118 in such a manner that it coincides with the transmission of the delay critical data 120, the data transmission capacity with one charge of the battery 128 will be maximized. The described timing may save the battery capacity of the mobile terminal both in the transmission of the delay tolerant data 118 and in the reception of the delay tolerant data 118. The network element may be a base station, a base station/radio network controller, a packet control unit, or any other unit capable of performing the described scheduling.
In an embodiment, the processor 102 is configured to control the transmission of the delay tolerant data 118 in such a manner that duration of a power save state of a mobile terminal is maximized.
In an embodiment, the processor 102 is configured to control the transmission of the delay tolerant 118 data in such a manner that the number of radio setups and radio releases is minimized.
In an embodiment, the processor 102 is configured to control the transmission of the delay tolerant data 118 in such a manner that the transmission of the delay tolerant data 118 is in parallel with the transmission of the delay critical data 120. In order to achieve battery power savings, it may be necessary to implement the parallel transmission in the physical layer, so that length of power save state and/or the number of radio setups and releases is optimized. Instead of parallel transmission also sequential transmission may be utilized. The sequential transmission is implemented as illustrated in
The data 112 may be wireless packet data. Packets may be generated in such a manner that delays between successive packets are relatively long and there may be high delay variation. After packet generation, the packet needs to be transmitted over a radio interface in uplink or downlink direction. The average data rate over a long period may be relatively small.
Two classes, the delay tolerant data 118 and the delay critical data 120, may be determined in relation to each other, rather than in absolute terms. Common sense may be applied to these definitions: “delay tolerant” implies that more delay is accepted than with “delay critical”. “Delay tolerant” may also imply that a relatively large delay variation is accepted.
The delay critical data 120 may be determined from the user's point of view: it may be data the user is not prepared to wait for. The delay critical data 120 may even be real-time or almost real-time data. Voice call, video call, web browsing, VoIP (Voice over Internet Protocol), push-to-talk, and instant messaging may be mentioned as examples of the delay critical data 120. Besides being user data, the delay critical data 120 may also be data of some other type, such as system data. One example of such system data is periodic location update signaling between the mobile terminal and the network element.
The delay tolerant data 118 determined from the user's point of view is data the user is prepared to wait for. The suitable waiting period depends on the type of the data, it could range from seconds to hours, for example. File download, push e-mail, presence information, and calendar data may be mentioned as examples of the delay tolerant data 118.
Another way to define the difference between the delay tolerant data 118 and the delay critical data 120 is to use the Quality of Service (QoS) classes. In UMTS (Universal Mobile Telephone System), an end-to-end service may belong to one of the four QoS classes:
Conversational class and streaming class may belong to the delay critical data 120. Background class may belong to the delay tolerant data 118. Interactive class may belong wholly to the delay tolerant data 120, or then a subdivision may also be made: some aspects of the web browsing belong to the delay critical data 120, whereas other aspect of the web browsing belong to the delay tolerant data 118. Web page fetching may be delay critical as the user is prepared to wait for only a few seconds, whereas with download of a file from a www server the user may be willing to wait even for minutes or longer.
Typically, data transfer needs are immediate and instantaneous: the sooner, the better. However, a given application 104 may be configured for background transfer. This may be done by the user, via a user interface of the mobile terminal, for example. The user may define “allow calendar synchronization as a background process”, “load selected files on background”, or “backup your files on background” instead of a default value of immediate action.
In an embodiment, the processor 102 is configured to signal with the transmitter 124 to a receiver 132 that the delay tolerant data 118 is transmitted with a delay exceeding the predetermined delay threshold. The peer application, with which the application 104 of the apparatus 100 is communicating, may need to understand as well that there are breaks in communication between peers, otherwise long scheduling waits (say minutes or tens of minutes) may lead to the termination of the connection and “unwanted break” of sessions. All data transfer may need to be started from the beginning, unless the application 104 has capability to start reasonably after the intermediate break.
What about if all delay tolerant data 118 is not yet transmitted and the transmission of the delay critical data 120 is ended? Such a situation may occur when the user ends a voice call, for example. The transmission of the delay tolerant data 118 may continue in a normal fashion, i.e. without the simultaneous transmission of the delay critical data 120. Another option is to suspend the transmission of the delay tolerant data 118 till transmission of the delay critical data 120 is started again. The application 104 may need to control that a break in the transmission is not too long. Ports may need to be closed after half an hour inactivity for the application 104. If the break is going to become too long, normal transmission may need to be used.
In an embodiment, the processor 102 is configured to classify the data into the delay tolerant data 118 whose delay requirement exceeds a predetermined delay threshold and into the delay critical data 120 whose delay requirement falls below the predetermined delay threshold. The delay threshold may be determined with units of time, such as seconds or minutes, for example.
In an embodiment, the processor 102 is configured to time the transmission of the delay tolerant data 118 in such a manner that the transmission of the delay tolerant data 118 is postponed to coincide with the transmission of the delay critical data 120.
In an embodiment, the apparatus 100 may comprise a buffer 126 configured to store the delay tolerant data 118. The processor 102 may be configured to control the transmission of the delay tolerant data 118 in such a manner that, at the transmission time of the delay critical data 120, a part of the delay tolerant data 118 fitting with the simultaneous transmission of the delay critical data 120 is taken out from the buffer 126. The filling of the buffer 126 may be controlled to prevent it from requiring too much memory space. The application 104 may inform or it may be asked whether there is delay tolerant data 118 to be transmitted. The scheduler 114 may even inform the application 104 whether the buffer 126 is capable of storing any delay tolerant data 118, or whether delaying of transmission is possible. If the buffer 126 becomes excessively full, the scheduler 114 may control 122 the transmitter 124 to transmit the delay tolerant data 118, or a portion of it, even without its transmission coinciding with the transmission of the delay critical data 120.
The mobile terminal presents information to the user and allows the user to input information. In other words, the mobile terminal may be any terminal capable of wirelessly receiving information from and/or wirelessly transmitting information to a (cellular) radio system. The mobile terminal may refer to a portable mobile communication device operating with or without a subscriber identification module (SIM), including, but not limited to, devices of the following type: mobile phone, smartphone, personal digital assistant (PDA), user equipment, or any other portable communication device possibly including computer functionalities or functionalities of other data processing devices.
The wireless connection 130 may be implemented with a wireless transceiver operating according to the GSM (Global System for Mobile Communications), WCDMA (Wideband Code Division Multiple Access), WLAN (Wireless Local Area Network) or Bluetooth® standard, or any other suitable standard/non-standard wireless communication means. Besides being implemented in a radio system with a fixed network infrastructure, the embodiments may be applied to ad hoc communication network as well. In an ad hoc communication network, a mobile terminal equipped with a short-range wireless transceiver operating without a fixed network infrastructure may communicate with another mobile terminal.
The apparatus 100 may be implemented as an electronic digital computer, which may comprise a working memory (RAM), a central processing unit (CPU), and a system clock. The CPU may comprise a set of registers, an arithmetic logic unit, and a control unit. The control unit is controlled by a sequence of program instructions transferred to the CPU from the RAM. The control unit may contain a number of microinstructions for basic operations. The implementation of microinstructions may vary, depending on the CPU design. The program instructions may be coded by a programming language, which may be a high-level programming language, such as C, Java, etc., or a low-level programming language, such as a machine language, or an assembler. The electronic digital computer may also have an operating system, which may provide system services to a computer program written with the program instructions. If the apparatus 100 is the mobile terminal, the electronic digital computer may naturally be miniaturized.
An embodiment provides a computer program comprising program code means for performing any of the earlier described operations when the program is run on the processor 102.
The computer program may be in source code form, object code form, or in some intermediate form, and it may be stored in some sort of carrier, which may be any entity or device capable of carrying the program, such as a computer-readable storage medium. Such carriers include a record medium, a computer memory, a read-only memory, an electrical carrier signal, a telecommunications signal, and a software distribution package, for example. Depending on the processing power needed, the computer program may be executed in a single electronic digital computer or it may be distributed amongst a number of computers.
The processor 102 may also be implemented as one or more integrated circuits, such as application-specific integrated circuits ASIC. Other hardware embodiments are also feasible, such as a circuit built of separate logic components. A hybrid of these different implementations is also feasible. When selecting the method of implementation, a person skilled in the art will consider the requirements set for the size and power consumption of the apparatus 100, necessary processing capacity, production costs, and production volumes, for example. The scheduler 114 may also be implemented as a software module in a radio modem coupled with the transmitter 124.
In an embodiment, the processor 102 is configured to start a timer when detecting the delay tolerant data, and if the timer expires before the transmission of the delay tolerant data 118 is possible simultaneously with the transmission of the delay critical data 120, to control the transmitter 124 in such a manner that the transmission of the delay tolerant data 118 is performed irrespective of the transmission of the delay critical data 120. In effect, the timer may be provided for such situation wherein there is no invocation of a real-time service during a long period. The best effort data may then be transmitted in a normal fashion after the timer expiration.
Next, a method will be described with reference to
In 502, data is classified, on the basis of its delay requirement, into delay tolerant data and into delay critical data. In 504, transmission of the delay tolerant data is timed to coincide with transmission of the delay critical data.
The method illustrated in
It will be obvious to a person skilled in the art that, as technology advances, the inventive concept can be implemented in various ways. The invention and its embodiments are not limited to the examples described above but may vary within the scope of the claims.
Rantala, Enrico, Sillasto, Eero, Karppanen, Arto, Granlund, Seppo
Patent | Priority | Assignee | Title |
10216549, | Jun 17 2013 | Seven Networks, Inc | Methods and systems for providing application programming interfaces and application programming interface extensions to third party applications for optimizing and minimizing application traffic |
11595901, | Jul 26 2010 | Seven Networks, LLC | Optimizing mobile network traffic coordination across multiple applications running on a mobile device |
9603049, | Jul 22 2013 | Seven Networks, LLC | Extending delay tolerance of mobile applications for optimizing mobile traffic management |
9603056, | Jul 26 2010 | Seven Networks, LLC | Mobile application traffic optimization |
9755977, | Jun 30 2008 | Nokia Technologies Oy | Transmission of delay tolerant data |
9832132, | Jun 30 2008 | Nokia Technologies Oy | Transmission of delay tolerant data |
Patent | Priority | Assignee | Title |
3778715, | |||
6408007, | Nov 18 1998 | UTSTARCOM KOREA LIMITED C O OF UTSTARCOM, INC | Queue allocation control method for real time data transmission delay compensation of mobile communication system |
6411813, | Jul 15 1998 | NEC Corporation | Data communication method and apparatus |
7043671, | Jan 16 2002 | Square 1 Bank | System and method for transmitting audio or video data using multiple levels of protection |
7277737, | Nov 13 1998 | Robert Bosch GmbH | Method for power-saving operation of communication terminals in a communication system in especially in a wireless communication systems |
7557606, | Apr 17 2008 | Lattice Semiconductor Corporation | Synchronization of data signals and clock signals for programmable logic devices |
20030152052, | |||
20070099677, | |||
20070133479, | |||
20080010434, | |||
20080234012, | |||
20090059828, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Aug 28 2008 | Nokia Technologies Oy | (assignment on the face of the patent) | / | |||
Oct 02 2008 | GRANLUND, SEPPO | Nokia Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021733 | /0946 | |
Oct 02 2008 | SILLASTO, EERO | Nokia Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021733 | /0946 | |
Oct 03 2008 | RANTALA, ENRICO | Nokia Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021733 | /0946 | |
Oct 10 2008 | KARPPANEN, ARTO | Nokia Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021733 | /0946 | |
Jan 16 2015 | Nokia Corporation | Nokia Technologies Oy | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 040812 | /0353 |
Date | Maintenance Fee Events |
Sep 01 2015 | ASPN: Payor Number Assigned. |
Sep 01 2015 | RMPN: Payer Number De-assigned. |
Feb 14 2019 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Feb 08 2023 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Aug 25 2018 | 4 years fee payment window open |
Feb 25 2019 | 6 months grace period start (w surcharge) |
Aug 25 2019 | patent expiry (for year 4) |
Aug 25 2021 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 25 2022 | 8 years fee payment window open |
Feb 25 2023 | 6 months grace period start (w surcharge) |
Aug 25 2023 | patent expiry (for year 8) |
Aug 25 2025 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 25 2026 | 12 years fee payment window open |
Feb 25 2027 | 6 months grace period start (w surcharge) |
Aug 25 2027 | patent expiry (for year 12) |
Aug 25 2029 | 2 years to revive unintentionally abandoned end. (for year 12) |