Multi-task system for controlling execution of application sessions and reservation of resources
AssigneeNokia Corporation
InventorPekka Lehtinen
Life of this patent
Estimating the term…
Loading patent…
AssigneeNokia Corporation
InventorPekka Lehtinen
Estimating the term…
Resource type specific Resource Handlers are provided for the reservation of resources for an application session, along with a Resource Allocation Manager for bookkeeping and analysis of a resource allocation situation, Application Session Management and Scheduling means for selecting a next application session and Activity Block at least on the basis of the resource allocation situation, and executing means for executing the Activity Block in the course of the selected application session. A system is provided with a protocol connecting said Resource Handlers, Resource Allocation Manager, Application Session Management and Scheduling means, and executing means to control the execution order and to implement the transfer of information between the resource reservation means, Resource Allocation Manager, Application Session Management and Scheduling means, and executing means. Also provided is a method for the execution of application sessions in an electronic device, as well as to an electronic device.
A system comprising one or more processors configured to execute application sessions in an electronic device, and to schedule resource reservation instances as well as to execute substantially simultaneous application sessions, wherein an application session to be executed comprises one or more activity blocks in one or more activity block containers, and an execution order is specified for said activity blocks;
A method for executing application sessions in an electronic device with one or more processors for synchronizing resource reservation instances as well as the execution of substantially simultaneous application sessions, wherein the application session to be executed comprises one or more activity blocks in one or more activity block containers, and an execution order is determined for said activity blocks, the method comprising at least the following:
An electronic device comprising one or more processors configured to execute application sessions, and configured to schedule resource reservation instances as well as the execution of substantially simultaneous application sessions, wherein the application session to be executed comprises one or more activity blocks in one or more activity block containers, and an execution order is determined for said activity blocks;
A wireless communication device comprising one or more processors configured to execute application sessions, and configured to schedule resource reservation instances as well as execution of substantially simultaneous application sessions, wherein an application session to be executed comprises one or more activity blocks in one or more activity block containers, and an execution order is determined for said activity blocks;
A computer readable medium having a computer program stored thereon comprising machine executable instructions for executing application sessions in an electronic device with one or more processors for synchronizing resource reservation instances as well as the execution of substantially simultaneous application sessions, wherein the application session to be executed comprises one or more activity blocks in one or more activity block containers, and an execution order is determined for said activity blocks, the computer program further comprising machine executable instructions for performing at least the following:
An electronic device comprising means for executing application sessions, one or more processors, and means for scheduling resource reservation instances as well as the execution of substantially simultaneous application sessions, wherein the application session to be executed comprises one or more activity blocks in one or more activity block containers, and an execution order is determined for said activity blocks;
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
To service a request: the resources being hardware resources other than CPUs, Servers and Terminals
By program, e.g. task dispatcher, supervisor, operating system: scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Multiprogramming arrangements: allocation of resources, e.g. of the central processing unit [CPU]
Network services: scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the…
Term ended 16 Nov 2025 (estimated)
This application claims priority under 35 USC §119 to Finnish Patent Application No. 20021204 filed on Jun. 20, 2002.
The current invention relates to a system comprising means for executing application sessions in an electronic device equipped with one or more processors and means for scheduling resource reservations and the execution of substantially simultaneous application sessions. The invention also relates to a method for executing application sessions in an electronic device in which the operation is controlled by one or more processors, with resource reservations and the execution of substantially simultaneous application sessions being scheduled in this method. Furthermore, the invention relates to an electronic device comprising means for executing application sessions, one or more processors, and means for scheduling resource reservations as well as the processing of substantially simultaneous application sessions. Furthermore, the invention relates to a software program comprising machine executable steps for executing application sessions in an electronic device with one or more processors for synchronizing Resource Reservation Instances as well as the execution of substantially simultaneous application sessions
As the capabilities of wireless communication devices get more and more rich, there is a need to develop systems for utilizing these capabilities in a sensible and versatile way. In modern wireless communication devices, it is even possible to execute several application sessions with different objectives, such as a calendar, a timer, a telephone directory, a notepad, etc. It may often be necessary to run several such sessions substantially simultaneously, wherein problems may occur, for example, when different sessions would require the same resources of the wireless communication device itself or resources available via various connections, at the same time. For example, there are operating systems which are intended for data processing devices, such as UNIX®, implementing a multi-task method, i.e. the processing of several Operating System tasks substantially simultaneously. Such a multi-task method is implemented, for example, in such a way that each session is implemented in the form of a single software process and the operating system allocates processing time to each process in a given order. Thus, during the execution of one session, the other sessions are in a suspension state. Consequently, in practice, the sessions are not executed simultaneously but one after the other. However, the processing time allocated to each session at a time is so short that there is a feeling of all the sessions being executed simultaneously. In such an arrangement, none of the sessions normally needs to wait for so long a time that the execution of the session would seem to be interrupted. However, in a situation in which the number of sessions executed simultaneously is increased, less and less processor time is left for each session, which will slow down the execution of all the sessions. In some systems, it is possible to classify the sessions in accordance with their importance (prioritization), wherein the sessions are allocated processor time according to their priorities. In this arrangement, the execution of less important sessions may be significantly delayed.
In the following, the invention will be described in more detail with references to the appended drawings, in which
FIG. 1 shows a Wireless Communication Device corresponding to a preferred embodiment of the invention in the form of a simplified block diagram,
FIG. 2 outlines a system corresponding to a preferred embodiment of the invention,
In the following, the invention will be described in such respects that the functions needed for implementing the invention will be disclosed. However, even though the various functionality of the system will be described in the following in a blockwise manner, it is obvious that several Functional Blocks co-operate to carry out several different functions by means of the Session Control Protocol.
FIG. 1 shows a simplified block diagram of a Wireless Communication Device 1, in compliance with a preferred embodiment of the invention. The Wireless Communication Device 1 comprises a Control Block 5 with preferably a Master Control Unit processor 2 (MCU) for controlling the functions of the Wireless Communication Device 1, for executing Operating System routines, etc. Furthermore, the Control Block 5 of the Wireless Communication Device 1 may include a Digital Signal Processor 3 (DSP) for signal processing functions. Processor 2 (MCU) and the Digital Signal Processor 3 (DSP) are also associated with a Memory Device 4 for storing information and data needed by the Operating System, the program code, etc. The Wireless Communication Device 1 also comprises a Communication Device 6, including means for performing the functions of a mobile phone. The information exchange between the user and the Wireless Communication Device 1 can take place via the User Interface 7 that preferably comprises a Display Device 8, a Keypad 9, and Audio Devices 10a, 10b, 10c. It should be evident that the Wireless Communication Device 1 described above is only a simplified example, and in practice, the Wireless Communication Device 1 may also comprise other Functional Blocks than those presented above. It is also true, that the Digital Signal Processor 3 is not necessarily needed in the Wireless Communication Device according to the invention, wherein the required signal processing functions are implemented in other blocks. In addition, the Wireless Communication Device 1 comprises a Clock Circuit 11 or the like, for example to generate the clock signals required for the functioning of the Control Block.
FIG. 2 shows simplified Functional Blocks of a system that is in accordance with a preferred embodiment of the invention. This system constitutes a kind of a control architecture for supervising the functions of software processes (OS tasks) involved in the execution of application sessions and the use of resources of a wireless terminal. A software process (OS task) refers to a software entity that can be scheduled independently in view of the task switching function of the Operating System. There are several resources and resource types for different uses. Some examples of these resources are to be mentioned here briefly: various functions of the User Interface 7, such as presenting data on the Display Device 8, retrieval of data from the Keypad 9, processing functions of audio signals; data transmission functions including the reception and generation of various messages and the generation of response messages; signal processing functions; stacks of protocol software; and other application sessions. In the system, the Memory Device 4 also includes, e.g. a Message Buffer B1 for all the messages that are transmitted by Resource Handlers RH(i), RH(j), RH(k), etc. to the Application Session Manager ASM, as well as another Message Buffer B2 particularly for holding session initiation request messages. The Memory Device 4 of the system also includes, e.g. memory space for holding a Resource Allocation Table RAT. It is obvious that in practical applications of the invention, also other (dynamic and/or fixed) memory areas can be reserved in the Memory Device 4 for different purposes.