Abstract:
A computing device incorporating memory such as mobile SDRAM, which is capable of conserving energy by being operated in a low-power self-refresh mode, is enabled to identify those regions of memory which are allocated but inactive. These regions are collected into specific banks of memory so as to create banks of memory containing only inactive data and which can then be placed in self-refresh. This reduces the power consumed by the computing device, and improves the energy efficiency of the device.
Abstract:
Data held in physical memory, such as random access memory, in a computing device is defragmented when a system operating code null thread, which is used for placing the computing device into a reduced power mode when no other thread in the system is ready to run, is scheduled to run.
Abstract:
An operating system for a computing device comprises a kernel portion having a punish and subscribe facility for retrieving a property published by a first process and notifying the retrieved property to one or more further processes requesting to subscribe to that property. By providing the publish and subscribe mechanism within the operating system kernel, changes to properties can be notified to subscribers in real time and without the need for dedicated client server mechanisms. The publish and subscribe mechanism may be provided with access control properties established when a property is defined. The mechanism may also be used for a message and message queue facility in the computing device.
Abstract:
A portable computing device, in which an internal non-volatile memory drive that is used to boot to a functional device GUI is automatically swapped with a temporary RAM drive if the internal non-volatile memory drive is found to be corrupted. The non-volatile memory is typically Flash memory, but the principle of the present invention can be applied to any kind of non-volatile memory that could become corrupted. Default configuration files may be automatically copied to the RAM drive. These may, for example, allow at least emergency voice calls to be made.
Abstract:
This invention relates to a mobile communications device programmed to provide logging of messaging activity. In one implementation, the programme provides near real-time notification and control of mobile phone messaging. The notification is to a back-end logging system.
Abstract:
An improved method of forming connections between Bluetooth devices is provided. A first device maintains a contacts database wherein the addresses of further Bluetooth devices are stored in the same records as the owners of those devices. When the first device wishes to connect to the device belonging to any persons in the contacts database, it simply retrieved the address from the database and starts sending Bluetooth packets; this eliminates the discovery and name request steps from the Bluetooth protocol, saving time and power.
Abstract:
Where a computing device is provided with executable programs in relatively slow non-volatile memory, such as ROM, the device performance can be improved by shadowing, a process by which those programs are copied into relatively fast volatile memory, such as RAM. Shadowing is often inefficient because code is copied that is too infrequently used to benefit from the procedure, wasting processing time and memory. The present invention determines which parts of the slow memory are most frequently accessed, either by profiling or by intimate knowledge of the working of the device, and then shadows only those pages of executable programs whose frequent use warrants it. In a preferred embodiment the most frequently used code areas are clustered together onto certain pages of the non-volatile memory and the least frequently used code areas are clustered onto other pages of non-volatile memory.
Abstract:
A remapping component is provided for facilitating a link between an executable and a function held in a new dynamic link library (DLL) in a computing device. The remapping component is provided with a relocation instruction arranged to update, upon loading, an export data table entry for the remapping component with the address location of the function in the new dynamic link library. In this way, the executable, when calling for the function at an address location in a known DLL, will automatically jump to the address location for the function in the new DLL. The additional subroutines usually associated with remapping DLLs can therefore be avoided, providing improved operation for the computing device.
Abstract:
An intermediate software layer, which is preferably provided by a device manufacturer, processes a list of commands and actions provided by a generic application, and assigns them to various input mechanisms, and constructs appropriate menus to display on the screen of the device. Where the application supports multiple windows, views or panes the intermediate layer is able to distinguish which part of the application has the focus and adjust the actions resulting from user inputs accordingly. Hence, the computing device is operated in such a way that a generic application, not specifically designed for the device, is able to take advantage of those unique input methods that the particular device possesses. A preferred implementation is on devices such as mobile telephones, which have no fixed paradigm for providing input and whose keyboards (where they exist) have no fixed number of input buttons.
Abstract:
A computing device is provided with a multiple process architecture for running plug-in code modules in their own dedicated processes for increasing both the security and reliability of software systems using plug-in design patterns.