Abstract:
Various techniques are described to protect secrets held by closed computing devices. In an ecosystem where devices operate and are offered a wide range of services from a service provider, the service provider may want to prevent users from sharing services between devices. In order to guarantee that services are not shared between devices, each device can be manufactured with a different set of secrets such as per device identifiers. Unscrupulous individuals may try to gain access to the secrets and transfer secrets from one device to another. In order to prevent this type of attack, each closed computing system can be manufactured to include a protected memory location that is tied to the device.
Abstract:
A method and computer-readable medium perform a pre-boot scan of an emulated binary to detect a function that is above a predetermined complexity threshold. The detected function may then be precompiled during a boot-up process. The pre-boot scan may also detect a function that falls below a second predetermined complexity threshold. The detected function may be placed inline with the code body. Just-in-time translation may then be performed at runtime.
Abstract:
A JIT binary translator translates code at a function level of the source code rather than at an opcode level. The JIT binary translator of the invention grabs an entire x86 function out of the source stream, rather than an instruction, translates the whole function into an equivalent function of the target processor, and executes that function all at once before returning to the source stream, thereby reducing context switching. Also, since the JIT binary translator sees the entire source code function context at once the software emulator may optimize the code translation. For example, the JIT binary translator might decide to translate a sequence of x86 instructions into an efficient PPC equivalent sequence. Many such optimizations result in a tighter emulated binary.
Abstract:
The invention provides a circuit for reading data from a data carrier, the circuit comprising a reading unit for reading data from the data carrier; and a controller for controlling the circuit. The circuit further comprises a detection unit for detecting a format of the data carrier; and the controller is configurable to control the circuit to read data from the data carrier in accordance with the detected data carrier format. In this way, for example, an ATAPI engine can be used in a consumer electronics device to play back music from a Super Audio CD. The invention also provides an apparatus, method and data carrier.
Abstract:
A one-time-settable tamper resistant software repository may be used in any computing system to store system information such as security violations and policies for responding to them. A one-time-settable tamper resistant software repository may be cryptographically signed, encrypted with a per device key and accessible by only the most privileged software executed by a computing device, e.g., hypervisor or operating system kernel. A one-time-settable tamper resistant software repository may be mirrored in RAM for performance. Recordable event fields in a software repository may be one-time-settable without the ability to reset them in a field operation mode whereas they may be resettable in a different mode such as a manufacturing mode. Memory allocated to a one-time-settable tamper resistant software repository may be reset, reclaimed, reassigned, scaled and otherwise flexibly adapted to changing conditions and priorities in the lifespan of a computing device, which may be particularly useful for service-backed consumer devices.
Abstract:
A method and system for rendering a desktop on a computer using a composited desktop model operating system are provided. A composited desktop window manager, upon receiving base object and content object information for one or more content objects from an application program, draws the window to a buffer memory, and takes advantage of advanced graphics hardware and visual effects to render windows based on content on which they are drawn. The frame portion of each window may be generated by pixel shading a bitmap having the appearance of frosted glass based on the content of the desktop on top of which the frame is displayed. Legacy support is provided so that the operating system can draw and render windows generated by legacy applications to look consistent with non-legacy application windows.
Abstract:
Techniques for migrating content from a first set of conditions to a second set of conditions are disclosed herein. In particular, a content migration certificate is utilized to enable content migration and set forth under what conditions content may be accessed after migration. The content migration certificate may, for example, be stored as a file in a removable storage unit or transferred online once an indication that conditions have changed is received. The change in conditions may involve a new device attempting to access the content file, a new user attempting to access the content, or any other similar conditions. Access to the information in the content migration certificate may be protected by encryption so that only devices and/or users meeting the conditions of the certificate are permitted to transfer content. By accessing the content migration certificate in the prescribed manner, migration of content is enabled in a controlled and easy process.
Abstract:
Methods and arrangements are provided for use in multiple user computing environments. These methods and arrangements can be configured to allow for a plurality of separate and concurrent desktops and workspaces within the shared computing environment. One method includes creating a separate desktop thread for each user that is authenticated during a logon process, creating a separate desktop associated with each desktop thread, and maintaining a list of desktop threads that are created. In this manner, several users can be logged on simultaneously. In certain implementations, the method further includes establishing a separate user environment associated with each desktop and launching a separate user shell associated with each desktop. The list of desktop threads allows for selective and/or automatic switching from a first desktop to a second desktop without terminating a desktop thread associated with the first desktop. The methods and arrangements are also applicable to remote process logon and switching.
Abstract:
Methods and apparatuses are provided for controlling application software while switching between session in a multi-session computing environment. An apparatus includes memory coupled to switching logic and application program managing logic. The switching logic is configured to selectively switch console control of a computing device between at least two user kernel sessions that are maintained in the memory. The application program managing logic is configured to selectively control at least one application program that is operatively configured within at least one of the user kernel sessions. For example, the application program managing logic can be configured to stop the operation, restart certain application programs, notify application programs about switching events, and/or adjust the playback of audio and/or video signals associated certain application programs.
Abstract:
Asynchronous just-in-time (JIT) compilation is provided. An asynchronous code translation thread running on a second processor can be invoked by the synchronous thread or can be self-invoked in order to run ahead of user execution and pre-translate code. A translated code cache is present with contention-management structures where both the synchronous and asynchronous threads deposit translated code for delivery to the code execution thread.