摘要:
Various internet content filtering mechanisms are disclosed. One such mechanism is a filtering service that uses a filter stack and at least two caches. The filter stack can access these caches during its execution of objects. One of the caches could be a cross-user cache that contains information relevant for internet content to a particular user, but this information could be also used by other users. The other cache could be a cross-application cache that contains information relevant for particular applications, but this information could also be used by other applications. The filtering service can be nicely integrated in an operating system to provide a centralized framework for the filtering of internet content.
摘要:
Mechanisms are disclosed for detecting protocols independently of the ports used by streams associated with the protocols or applications that may send out such streams. The detecting may entail using a content filter that is hosted on a networking stack, where the content filter may be composed of a stream buffer and handlers for detecting the protocols. The handlers may be further used to modify streams incoming to a port or streams outgoing from an application. The handlers can modify the streams in a variety of ways, including reading, inserting, replacing, deleting, and completing data in the streams according to some policy criteria, such as those set by parental controls. Individual handlers may be selected from a plurality or set of handlers so that they can be matched up to the appropriate streams.
摘要:
A compliance interface is disclosed that takes in queries from applications which may want to know if they are compliant with associated polices stored on a computing system. The interface can then interpret these queries and provide notifications and instructions to the applications. Notifications may give notice of how a policy may impact an application, and instructions may tell an application how to behave in order to stay compliant with the policies. In one aspect, the interface exposes policies set forth by parents. Via a management control panel, parents can set or alter various policies, stored in a settings store, to protect children from contact with undesirable content. The interface interprets these policies to ensure that applications, such as those provided by third party vendors, are compliant with the wishes set forth in the parents' policies.
摘要:
Electronic note taking is enhanced by automatically modifying an electronic document corresponding to a user's meeting notes to include at least some data from an electronic calendar or scheduling system in which the user's meeting is scheduled. For example, when an electronic note is created for a specific meeting, information about the meeting from the user's electronic calendar or scheduling system can automatically be included in the new electronic note. This information may be provided in the note in a form that allows it to be electronically searched and shared with others.
摘要:
Described is a method and system a system and method for dynamically and intelligently configuring a computer system's video-related settings upon connection of a monitor, and/or reconfiguring upon disconnection. A monitor configuration may include one or more display mechanisms, their video settings, relative positioning, and may include power scheme data. When a monitor is plugged into or unplugged from a computer system, a monitor manager component is notified and determines the current configuration, such as based on monitor identifiers. The current configuration is searched against persisted monitor configurations seeking a match. If previous monitor configuration data is found, the previous monitor configuration is applied. If not an exact match, configuration data is constructed based on similar configuration data that is persisted, or by querying for capabilities and iterating as necessary to find a video mode that the video card and monitor can use.
摘要:
Described is a system and method by which an auxiliary computing device having an auxiliary display platform that displays information corresponding to data that originated on the main computer system may be extended by a device manufacturer. Extended hardware is added to the device, such as a radio receiver and/or an audio decoder. The auxiliary display platform is layered and extensible at each layer, and includes an extensible hardware abstraction layer that is extensible to support extended hardware if needed, and a driver layer that is extensible by adding driver code for the extended hardware. A runtime layer is also extensible to support the extended hardware as needed, as are libraries, the auxiliary shell program and other managed code. The client API is also extensible to allow applications on the main computer system to communicate with extended hardware via the device runtime layer.
摘要:
Described is a system and method by which application programs running on a main computer system communicate with an auxiliary display device (such as a cell phone, pocket-sized computer, alarm clock, television, digital picture frame and so forth) to provide viewable information on the device, remote control capabilities, and notifications. Via API calls, programs provide information in the same format regardless of the device capabilities and/or the connection type. An auxiliary display platform converts the information into a format understood by a device driver, which then filters the information as desired for its particular hardware device before the information is communicated. Return communications return data such as status and user interaction with the displayed information. Software vendors may thus write code once to output information on auxiliary displays, while hardware manufacturers can have their devices work as auxiliary displays, with little or no modification to existing hardware.
摘要:
An auxiliary computing device wakes an associated main computer system to obtain data as needed, on-demand and/or in anticipation of demand. The wakeup operation is ordinarily temporary to fetch data, whereby only a small amount of power is consumed by the main computer system. In one implementation, a control channel between the auxiliary device and the main computer system is used to signal a wakeup. A main data channel is used to obtain the data, whereby the auxiliary device has access to a larger amount of data than it can cache. Moreover, the components of the main computer system may be leveraged, such as to use the main computer system's digital rights management mechanisms. Additional data may be intelligently requested by the auxiliary device while the main computer system is powered up, e.g., to buffer media, and/or request a synchronization of calendar data, email data, and so forth.
摘要:
Described is a mechanism that preserves the state of computer system shared resources and/or settings, and ensures that changes thereto are reverted when an application exits. A shared resource change bubble logically surrounds application code that causes system resource and/or setting data to change. The bubble preserves existing data before it gets changed, and restores the data when the application program code exits. In one implementation, the bubble is implemented as a library loaded by the application. In an alternative implementation, the bubble is run in a separate process, whereby the bubble can restore changed data even if the application program crashes. In another implementation, a bubble is automatically run for any application that the user has specified needs a bubble. Multiple settings and states may be preserved in a bubble for multiple applications, allowing changes to be undone and reapplied per application, e.g., whenever focus changes.
摘要:
Described is a system and method by which application programs running on a main computer system communicate with an auxiliary display device (such as a cell phone, pocket-sized computer, alarm clock, television, digital picture frame and so forth) to provide viewable information on the device, remote control capabilities, and notifications. Via API calls, programs provide information in the same format regardless of the device capabilities and/or the connection type. An auxiliary display platform converts a notification into a format understood by a device driver, which then filters the notification as desired for its particular hardware device before the notification is communicated. Return communications return data such as status and user interaction with the displayed information. Software vendors may thus write code once to output notifications on auxiliary displays, while hardware manufacturers can have their devices work as auxiliary displays, with little or no modification to existing hardware.