Patent application number | Description | Published |
20120159478 | VIRTUAL MACHINE BRANCHING AND PARALLEL EXECUTION - A state branching system is described herein that allows parallel execution of complex state transitions while leveraging time invested to setup a starting state. By allowing branching at the virtual machine level, the state branching system allows setup of a particular condition or state in a virtual machine, then copying and branching to parallel instances of the virtual machine to explore different possible subsequent states. Upon detecting a large state change with unknown outcome, the state branching system instructs the hypervisor to copy the executing virtual machine into one or more separate virtual machines. The system then allows divergent branching between the two or more virtual machines to explore different states from a similar starting point. Once the executions have reached the next state, the system coordinates to determine which copies will continue execution. Thus, the state branching system allows faster exploration of complex state changes. | 06-21-2012 |
20120166604 | FLEXIBLE POLICY BASED NETWORK DECISIONMAKING - A network policy system is described herein that allows computing devices to manage and control various networking decisions based on a specific policy defined by a policy administrator that may include the device manufacturer, information technology (IT) personnel maintaining the devices, or the network provider. The policies can include many factors defined by the policy administrator under various conditions, including cost, power consumption, central processing unit (CPU) time, battery life, use of pooled minutes, and so forth. Packet routing in the device happens today primarily based on hardcoded factors such as bandwidth availability or cost, but there may be other considerations that appeal to policy administrators. The network policy system allows the policy administrator to define one or more flexible policies suited to the administrator's purpose. | 06-28-2012 |
20120167044 | VIRTUALIZING EMBEDDED DEVICES - A device virtualization system is described herein that separates common computer processing tasks of an embedded device from the application-specific peripherals of the embedded device to allow at least some functions of the device to be offloaded to servers or other computing devices. The device virtualization system greatly simplifies management, configuration, and control of virtual embedded devices. Because much of the software of the device runs on the virtualization server, information technology (IT) personnel can be assigned to manage the virtualization server and to apply any updates and diagnose any problems that occur. Moreover, a single server or group of servers can be used to provide virtualization services for a wide variety of virtualized embedded devices for a wide variety of users. Thus, the system enhances the usefulness of embedded devices and allows a longer lifetime and wider variety of uses than embedded devices today. | 06-28-2012 |
20120240048 | IMAGING EXTENSIBILITY FOR DEVICE MANAGEMENT PLATFORMS - Techniques for managing a variety of types of client devices from a device management platform are provided herein. At least one client device is selected to have a management task performed, such as an imaging task. The client device(s) is/are coupled to a client administration system that administers the client device(s). A deployment job is generated for the management task. A begin request is transmitted to a plug-in module of the client administration system to begin the deployment job. The plug-in module is customized to be capable of managing received deployment jobs for the client administration system. The plug-in module enables the deployment job to be performed on the client device(s) in response to the begin request. | 09-20-2012 |
20120317645 | THREAT LEVEL ASSESSMENT OF APPLICATIONS - An application safety system is described herein that provides a scoring system of how dangerous an application is based on behavioral inspection of the application. Upon detecting installation of an application or first execution of the application, the application safety system performs static analysis before the new application is executed by the operating system. The system allows the user to approve running the application after displaying information about what the application does. Next, the system performs dynamic analysis as the application runs and alerts the user to any potentially harmful behavior. Over time, the system determines when the application may be acting in a manner that is out of character and informs the user. The system also allows users to restrict behavior that a particular application can perform. | 12-13-2012 |
20120323977 | STORAGE MEDIA ABSTRACTION FOR UNIFORM DATA STORAGE - A storage abstraction system is described herein that exposes storage from an operating system as a uniform storage device and abstracts from applications the selection of a particular storage location and different properties of storage devices. The application provides the data to store and some information about the application's goals for storing the data, and lets the operating system route the data to the right place based on the data's characteristics. The operating system may choose to store data anywhere from L2 cache to a cloud-based storage service and anything in between, based on information about the data's persistence requirements, expected usage, access frequency, security needs, and so forth. The system lets applications and users focus on expressing their goals and needs for the data, and lets the operating system manage the hardware. | 12-20-2012 |
20120324259 | POWER AND LOAD MANAGEMENT BASED ON CONTEXTUAL INFORMATION - A power context system is described herein that makes decisions related to device power usage based on factors such as location, load, available alternatives, cost of power, and cost of bandwidth. The system incorporates contextual knowledge about the situation in which a device is being used. Using the context of location, devices can make smarter decisions about deciding which processes to migrate to the cloud, load balancing between applications, and switching to power saving modes depending on how far the user is from a power source. As the cloud becomes more frequently used, load balancing by utilizing distributed data warehouses to move processes to different locations in the world depending on factors such as accessibility, locales, and cost of electricity are considerations for power management. Power management of mobile devices is becoming important as integration with the cloud yields expectations of devices being able to reliably access and persist data. | 12-20-2012 |
20120324434 | CONTEXT AWARE APPLICATION MODEL FOR CONNECTED DEVICES - An application management system is described herein that uses context information based on what the user is currently doing and what platform the user is using to determine which applications to offer to a user and to affect behavior of applications that the user invokes. The system provides a hardware/software driven policy manager coupled with context data in an application manifest to provide for device- and situation-specific application modes. Such a model leverages device-specific dynamics to create context aware installation, cataloging, management, interaction, and uninstallation of applications, hence providing better user engagement and experience. Thus, the application management system makes it easier for users to find relevant applications, configures applications to work well on the user's present device, and makes application experiences more relevant to what the user is currently doing. | 12-20-2012 |
20140201739 | VIRTUAL MACHINE BRANCHING AND PARALLEL EXECUTION - A state branching system is described herein that allows parallel execution of complex state transitions while leveraging time invested to setup a starting state. By allowing branching at the virtual machine level, the state branching system allows setup of a particular condition or state in a virtual machine, then copying and branching to parallel instances of the virtual machine to explore different possible subsequent states. Upon detecting a large state change with unknown outcome, the state branching system instructs the hypervisor to copy the executing virtual machine into one or more separate virtual machines. The system then allows divergent branching between the two or more virtual machines to explore different states from a similar starting point. Once the executions have reached the next state, the system coordinates to determine which copies will continue execution. Thus, the state branching system allows faster exploration of complex state changes. | 07-17-2014 |