Patent application number | Description | Published |
20090199297 | THREAD SCANNING AND PATCHING TO DISABLE INJECTED MALWARE THREATS - An arrangement for scanning and patching injected malware code that is executing in otherwise legitimate processes running on a computer system is provided in which malware code is located in the memory of processes by extracting the start addresses of processes' threads and then searching near these addresses. Additional blocks of code in memory that are invoked by the code identified by each start address are also identified and the blocks are then matched against scanning signatures associated with known malware threads. If the entire signature can be matched against a subset of the blocks, then the thread is determined to be infected. The infected thread is suspended and in-memory modifications are performed to patch the injected code to render it harmless. The thread can be resumed or terminated to disable the protection mechanisms of the malware without causing any harm to the process in which the thread is injected. | 08-06-2009 |
20110225128 | CLEAN STORE FOR OPERATING SYSTEM AND SOFTWARE RECOVERY - Systems, methods and apparatus for automatically identifying a version of a file that is expected to be present on a computer system and for automatically replacing a potentially corrupted copy of the file with a clean (or undamaged) copy of the expected version. Upon identifying a file on the computer system as being potentially corrupted, a clean file agent may perform an analysis based on the identity of the file and one or more other properties of the system to determine the version of the file that is expected to be present on the system. Once the expected version is identified, a clean replacement copy of the file may be obtained from a clean file repository by submitting a version identifier of the expected version. The version identifier may be a hash value, which may additionally be used to verify integrity of the clean copy. | 09-15-2011 |
20130160126 | MALWARE REMEDIATION SYSTEM AND METHOD FOR MODERN APPLICATIONS - A system is described for remediating a malicious modern application installed on an end user device. In an embodiment, the system includes an antimalware program executing on the end user device that can detect and attempt to remediate the malicious modern application, an operating system executing on the end user device that is configured to interact with the antimalware program for the purpose of facilitating the establishment of a connection between the end user device and an application support system in response to determining that the antimalware program has detected and attempted to remediate the malicious modern application, and the application support system that can perform remediation operations beyond those that can be performed by the antimalware program. | 06-20-2013 |
20140137249 | Dynamic Selection and Loading of Anti-Malware Signatures - An anti-malware system dynamically loads and unloads additional malware detection signatures based on a collection of data sources that indicate what signatures are relevant to a host machine in its current environment. A signature selector component determines what relevant signatures should be loaded. The signature selector component uses a variety of data sources either individually, or in combination, to determine relevancy of the available malware detection signatures. The anti-malware system dynamically determines which of the available malware detection signatures and classes of signatures are relevant and should be provided to a machine based on available information. The malware detection signatures are obtained and loaded automatically from one or more sources when a threat becomes relevant. A program or application may be blocked from accessing files until the relevant malware detection signatures have been loaded onto the machine. | 05-15-2014 |
20150096029 | Dynamic Selection and Loading of Anti-Malware Signatures - An anti-malware system dynamically loads and unloads additional malware detection signatures based on a collection of data sources that indicate what signatures are relevant to a host machine in its current environment. A signature selector component determines what relevant signatures should be loaded. The signature selector component uses a variety of data sources either individually, or in combination, to determine relevancy of the available malware detection signatures. The anti-malware system dynamically determines which of the available malware detection signatures and classes of signatures are relevant and should be provided to a machine based on available information. The malware detection signatures are obtained and loaded automatically from one or more sources when a threat becomes relevant. A program or application may be blocked from accessing files until the relevant malware detection signatures have been loaded onto the machine. | 04-02-2015 |
Patent application number | Description | Published |
20090044272 | RESOURCE-REORDERED REMEDIATION OF MALWARE THREATS - Systems and methods that mitigate affects of malware and facilitate remediation processes. An analysis engine generates a list of actions for resources associated with the malware, and prioritizes/sorts the actions for execution. Such list of actions can be generated automatically via an action list generation component associated with the analysis engine. Likewise, a sorting component as part of the analysis engine can prioritize operations between detected malware to typically ensure a smooth operation during remediation processes (e.g., avoid conflicts). | 02-12-2009 |
20090217378 | Boot Time Remediation of Malware - Aspects of the subject matter described herein relate to removing malware from a computer system. In aspects, an anti-malware engine detects malware and writes a tool onto a storage device. The anti-malware engine disguises the tool to make it more difficult for malware to detect that the tool is on the storage device. In addition, the anti-malware engine encrypts and writes remediation actions to be taken by the tool to the storage device and requests that the computer reboot. After rebooting, the computer executes the tool which takes the remediation actions including removing the malware. | 08-27-2009 |
20120144489 | Antimalware Protection of Virtual Machines - The subject disclosure is directed towards protecting virtual machines on guest partitions from malware in a resource-efficient manner. Antimalware software is divided into lightweight agents that run on each malware-protected guest partition, a shared scanning and signature update mechanism, and a management component. Each agent provides the scanning mechanism with files to scan for malware, such as by running a script, and receives results from the scanning mechanism including possible remediation actions to perform. The management component provides the scanning mechanism with access to virtual machine services, such as to pause, resume, snapshot and rollback guest partitions as requested by the scanning mechanism. | 06-07-2012 |
20120151582 | Offline Scan, Clean and Telemetry Using Installed Antimalware Protection Components - The subject disclosure relates to antimalware scanning, and more particularly to offline antimalware scanning of a host environment via an alternate, known safe operating system. An offline scanning product obtains data previously written by the host environment online antimalware scanning tool, e.g., configuration data and antimalware signatures in shared data stores accessible to the offline and online products, and uses that data to perform the offline antimalware scan. The offline scanning product writes results information and any quarantined files to other shared data stores, whereby the online environment, when rebooted, has access to the information, such as for review and to upload telemetry information to an online service for analysis. Also described is offline replacement of operating system files that cannot be cleaned or removed when online. | 06-14-2012 |
20120297488 | Discovering Malicious Input Files and Performing Automatic and Distributed Remediation - The subject disclosure is directed towards detecting malware or possible malware in an input file by allowing the input file to be opened, and by monitoring for one or more behaviors corresponding to the open file that likely indicate malware. Only certain executable files and/or file types opened thereby may be monitored, with various collected event data used for antimalware purposes when improper behavior is observed. Example behaviors include writing of a file to storage, generation of network traffic, injection of a process, running of script, and/or writing system registry data. Telemetry data and/or a sample of the file may be sent to an antimalware service, and malware remediation may be performed. Data (e.g., the collected events) may be distributed to other nodes for use in antimalware detection, e.g., to block execution of a similar file. | 11-22-2012 |
Patent application number | Description | Published |
20130067394 | POINTER INVOCABLE NAVIGATIONAL USER INTERFACE - Systems and methods for use with a pointer invocable navigational user interface are provided. The system may include a navigational module configured to provide a navigational user interface having a hidden invocation region positioned along a logical left edge of a display. Application program graphical user interfaces (GUIs) may be ordered in an application order. The navigational module may be configured to detect an invocation pointer input in the hidden invocation region. Upon detecting the invocation pointer input, the navigational module may be to configured display a visible GUI selector element of the navigational user interface including a preview of a most recently used application program GUI not currently in focus. While the preview is displayed, a focus switching input from the pointer device may be received. In response to the focus switching input, focus may be switched to the application program GUI for which the preview is displayed. | 03-14-2013 |
20130179781 | EDGE-BASED HOOKING GESTURES FOR INVOKING USER INTERFACES - Presented herein are techniques for invoking user interfaces in graphical computing environments involving “hooking” gestures applicable to an edge of a display. These gestures involve positioning a pointer near an edge of the display depicting the environment, and then moving the cursor to a second location that is distanced from but near the first location (e.g., moving the pointer into a corner of the display, and then toward the center of the display, or to a midpoint of an adjacent edge of the display), resulting in the presentation of the user interface under the pointer at the second location. Variations include presenting a preview of the user interface (e.g., a subset of a user interface menu) at the second location while the pointer is in the first location, and refraining from presenting the user interface upon failing to complete the gesture or receiving extraneous input before completing the gesture. | 07-11-2013 |
20140310661 | DYNAMIC MANAGEMENT OF EDGE INPUTS BY USERS ON A TOUCH DEVICE - Systems and methods of blocking, ignoring, suspending, or otherwise altering edge-related UI gestures on touch-sensitive computing devices or on non-touch sensitive computing devices having active edge I/O commands in certain situations are disclosed. In one embodiment, a second UI gesture coming from an outside edge may be altered after a first UI gesture from a user using an running application under certain conditions—e.g., if the second UI gesture is made within a certain time period after the first UI gesture, the second UI gesture is made within a certain proximity of the first UI gesture, etc. In another embodiment, a computing device is disclosed that comprises a controller, a display screen and an operating system that alters certain edge-related UI gestures that might be made by an operating system if, e.g., certain conditions are present. | 10-16-2014 |
20140325431 | AUTO-GROUPING OF APPLICATION WINDOWS - Described herein are techniques for automatically forming groups of application windows. The techniques may be performed with a computing device executing a windowing system, the windowing system having a user interface element that can be interacted with by a user to manage applications executing on the computing device. Each application may correspond to a separate process and application window. It may be determined that an operation has occurred that will evict the application windows of target applications from the display, and in response an application group may be automatically formed. The application group may have indicia of the evicted target applications. The application group may be provided to the user interface element, and when the user interface element is interacted with by the user the user interface element displays user-selectable graphic application indicators for both the application group and applications other than the target applications. | 10-30-2014 |
20150378554 | EDGE-BASED HOOKING GESTURES FOR INVOKING USER INTERFACES - Presented herein are techniques for invoking user interfaces in graphical computing environments involving “hooking” gestures applicable to an edge of a display. These gestures involve positioning a pointer near an edge of the display depicting the environment, and then moving the cursor to a second location that is distanced from but near the first location (e.g., moving the pointer into a corner of the display, and then toward the center of the display, or to a midpoint of an adjacent edge of the display), resulting in the presentation of the user interface under the pointer at the second location. Variations include presenting a preview of the user interface (e.g., a subset of a user interface menu) at the second location while the pointer is in the first location, and refraining from presenting the user interface upon failing to complete the gesture or receiving extraneous input before completing the gesture. | 12-31-2015 |
20160103600 | AUTO-GROUPING OF APPLICATION WINDOWS - Described herein are techniques for automatically forming groups of application windows. The techniques may be performed with a computing device executing a windowing system, the windowing system having a user interface element that can be interacted with by a user to manage applications executing on the computing device. Each application may correspond to a separate process and application window. It may be determined that an operation has occurred that will evict the application windows of target applications from the display, and in response an application group may be automatically formed. The application group may have indicia of the evicted target applications. The application group may be provided to the user interface element, and when the user interface element is interacted with by the user the user interface element displays user-selectable graphic application indicators for both the application group and applications other than the target applications. | 04-14-2016 |
Patent application number | Description | Published |
20090193364 | DISPLAYING THUMBNAIL COPIES OF RUNNING ITEMS - Methods, user interfaces, and computer-readable media for displaying thumbnail copies of running items for a particular running application on a display are provided. The displayed thumbnail copies are interactive, and provide the user with an easy and efficient way to identify and manage multiple items, such as windows, that are concurrently running. The thumbnail copies are either snapshots or real-time displays of the corresponding running items, depending on whether the running item is minimized or maximized at the time the thumbnail copies are displayed. The user interacts with the thumbnail copies by choosing to either close a particular running item by selecting the closing icon on the corresponding thumbnail copy, or view a particular running item on the display by selecting the corresponding thumbnail in any location other than the closing icon. | 07-30-2009 |
20100122205 | SCROLLING WEB PAGES USING DIRECT INTERACTION - Aspects of the present invention provide a system and method for scrolling or dragging information on a display. A panning tool is provided that may scroll information, such as a web page, on a display in tandem with movement of a cursor. If interactive elements are present on the page or document, an interactive element may be activated as desired. Scrolling may be accomplished with the panning tool either on non-interactive elements or interactive elements that are not required to be activated. Furthermore, inertia of movement of the information on a display is optimized and autoscrolling is provided in which a page or document may be scrolled without dragging. | 05-13-2010 |
20100207904 | TARGETING IN A STYLUS-BASED USER INTERFACE - Aspects of the invention provide virtual hover zones. When a user lowers a hovering stylus while remaining within a hover zone, cursor control is modified to be more easily controllable by the user. If the user pauses the stylus in mid-air before lowering the stylus, and if the stylus remains within the hover zone, then upon touchdown the cursor may be moved to the projection of the location where the stylus was paused. Any action that may be taken in response to the touch down may be sent to the projection location as well. Also provided are cursor control zones. A dampening zone may be used to provide dampened cursor movement feedback in response to movement input provided by a pointing device. Also, a dead zone may be used to prohibit cursor movement in response to movement input provided by the pointing device. | 08-19-2010 |
20100251116 | Flick Gesture - A system and method for determining whether a flick gesture has occurred is described. A flick gesture is a simple gesture that may be easily detected and is characterized by minimal interference with other applications or gestures. | 09-30-2010 |
20110096077 | CONTROLLING ANIMATION FRAME RATE OF APPLICATIONS - Many computer applications incorporate and support animation (e.g., interactive user interfaces). Unfortunately, it may be challenging for computer applications and rendering systems to render animation frames at a smooth and consistent rate while conserving system resources. Accordingly, a technique for controlling animation rendering frame rate of an application is disclosed herein. An animation rendering update interval of an animation timer may be adjusted based upon a rendering system state (e.g., a rate of compositing visual layouts from animation frames) of a rendering system and/or an application state (e.g., a rate at which an application renders frames) of an application. Adjusting the animation rendering update interval allows the animation timer to adjust the frequency of performing rendering callback notifications (work requests to an application to render animation frames) to an application based upon rendering system performance and application performance. | 04-28-2011 |
20120159382 | MANAGING AN IMMERSIVE ENVIRONMENT - This document describes techniques and apparatuses for managing an immersive environment. These techniques and/or apparatuses enable a user to select when, where, or under what conditions to present applications in this immersive environment. | 06-21-2012 |
20120299968 | MANAGING AN IMMERSIVE INTERFACE IN A MULTI-APPLICATION IMMERSIVE ENVIRONMENT - This document describes techniques and apparatuses for managing an immersive interface in a multi-application immersive environment. In some embodiments, these techniques and apparatuses enable a user to alter sizes and/or a layout of multiple immersive interfaces with as little as one selection. | 11-29-2012 |
20120304092 | MULTI-APPLICATION ENVIRONMENT - This document describes techniques and apparatuses enabling a multi-application environment. In some embodiments, these techniques and apparatuses enable multi-application environments having combinations of immersive interfaces, windows-based interfaces, and a desktop treated as an immersive interface. | 11-29-2012 |
20120304107 | Edge gesture - This document describes techniques and apparatuses enabling an edge gesture. In some embodiments, these techniques and apparatuses enable selection of a user interface not currently exposed on a display through an edge gesture that is easy-to-use and remember. | 11-29-2012 |
20120304108 | MULTI-APPLICATION ENVIRONMENT - This document describes techniques and apparatuses enabling a multi-application environment. In some embodiments, these techniques and apparatuses enable multi-application environments having combinations of immersive interfaces, windows-based interfaces, and a desktop treated as an immersive interface. | 11-29-2012 |
20120304114 | MANAGING AN IMMERSIVE INTERFACE IN A MULTI-APPLICATION IMMERSIVE ENVIRONMENT - This document describes techniques and apparatuses for managing an immersive interface in a multi-application immersive environment. In some embodiments, these techniques and apparatuses enable a user to alter sizes and/or a layout of multiple immersive interfaces with as little as one selection. | 11-29-2012 |
20120304131 | EDGE GESTURE - This document describes techniques and apparatuses enabling an edge gesture. In some embodiments, these techniques and apparatuses enable selection of a user interface not currently exposed on a display through an edge gesture that is easy-to-use and remember. | 11-29-2012 |
20120304132 | SWITCHING BACK TO A PREVIOUSLY-INTERACTED-WITH APPLICATION - This document describes techniques and apparatuses for switching back to a previously-interacted-with application. In some embodiments, these techniques and apparatuses enable selection of a user interface not currently exposed on a display through a simple gesture that is both easy-to-use and remember. | 11-29-2012 |
20120304133 | EDGE GESTURE - This document describes techniques and apparatuses enabling an edge gesture. In some embodiments, these techniques and apparatuses enable selection of a user interface not currently exposed on a display through an edge gesture that is easy-to-use and remember. | 11-29-2012 |
20130042203 | MANAGING AN IMMERSIVE INTERFACE IN A MULTI-APPLICATION IMMERSIVE ENVIRONMENT - This document describes techniques and apparatuses for managing an immersive interface in a multi-application immersive environment. In some embodiments, these techniques and apparatuses enable a user to alter sizes and/or a layout of multiple immersive interfaces with as little as one selection. | 02-14-2013 |
20130047105 | MULTI-APPLICATION ENVIRONMENT - This document describes techniques and apparatuses enabling a multi-application environment. In some embodiments, these techniques and apparatuses enable multi-application environments having combinations of immersive interfaces, windows-based interfaces, and a desktop treated as an immersive interface. | 02-21-2013 |
20130047126 | SWITCHING BACK TO A PREVIOUSLY-INTERACTED-WITH APPLICATION - This document describes techniques and apparatuses for switching back to a previously-interacted-with application. In some embodiments, these techniques and apparatuses enable selection of a user interface not currently exposed on a display through a simple gesture that is both easy-to-use and remember. | 02-21-2013 |
20130113703 | SHARED EDGE FOR A DISPLAY ENVIRONMENT - A shared edge for a display environment is described. In one or more implementations, a display environment of a computing device that is implemented using a plurality of display devices is configured to include a shared edge defined through a described arrangement of at least two of the display devices in relation to each other. Responsive to an input that describes movement of a cursor across at least a portion of the shared edge, an element is displayed in the display environment. | 05-09-2013 |
20130152012 | SCROLLING WEB PAGES USING DIRECT INTERACTION - Scrolling or dragging information on a display includes various elements. A panning tool is provided that may scroll information, such as a web page, on a display in tandem with movement of a cursor. If interactive elements are present on the page or document, an interactive element may be activated as desired. Scrolling may be accomplished with the panning tool either on non-interactive elements or interactive elements that are not required to be activated. Furthermore, inertia of movement of the information on a display is optimized and autoscrolling is provided in which a page or document may be scrolled without dragging. | 06-13-2013 |
20130219343 | THUMBNAIL-IMAGE SELECTION OF APPLICATIONS - This document describes techniques and apparatuses enabling thumbnail-image selection of applications. In some embodiments, these techniques and apparatuses enable a user interface having selectable thumbnail images for applications not currently exposed on a display. The techniques and apparatuses may enable selection of this user interface through a simple gesture that is both easy-to-use and remember. Further, selection of applications not currently exposed on the display may be selected through thumbnail images representing each application's application interface as it will appear on selection. | 08-22-2013 |
20130314316 | TARGETING IN A STYLUS-BASED USER INTERFACE - Aspects of the invention provide virtual hover zones. When a user lowers a hovering stylus while remaining within a hover zone, cursor control is modified to be more easily controllable by the user. If the user pauses the stylus in mid-air before lowering the stylus, and if the stylus remains within the hover zone, then upon touchdown the cursor may be moved to the projection of the location where the stylus was paused. Any action that may be taken in response to the touch down may be sent to the projection location as well. Also provided are cursor control zones. A dampening zone may be used to provide dampened cursor movement feedback in response to movement input provided by a pointing device. Also, a dead zone may be used to prohibit cursor movement in response to movement input provided by the pointing device. | 11-28-2013 |
20150317062 | Multi-Application Environment - This document describes techniques and apparatuses enabling a multi-application environment. In some embodiments, these techniques and apparatuses enable multi-application environments having combinations of immersive interfaces, windows-based interfaces, and a desktop treated as an immersive interface. | 11-05-2015 |
Patent application number | Description | Published |
20090199127 | PREVIEWING TARGET DISPLAY AREAS - Systems, methods, computer-readable media, and graphical user interfaces for previewing target display areas are provided. A preview indication that indicates a desire to preview a target display area is detected. Upon detecting a preview indication, events are associated with display areas. The preview events associated with the respective display areas are applied to the display areas such that a preview of the target display area is temporarily presented in an inactive state. In one embodiment, the preview events include changing relative opacity and/or transparency such that the target display area is visibly presented. | 08-06-2009 |
20100060605 | PRESSURE SENSITIVE CONTROLS - The use of pressure-sensitive controls is disclosed in which controls respond differently to different pressure applied by a stylus on a digitizer. Users interacting with displayed controls may modify the speed, increment, or other property of the control by pressing harder or softer. Devices that allow for the input of location and pressure information may use embodiments of the invention, including computers with pressure sensitive mice or digitizer tablets, PDAs, or tablet computers. Controls that may use pressure to augment their behavior include scrollbars, spinner controls, resize handles, buttons, drop down menus and so forth. | 03-11-2010 |
20100153879 | PRESSURE BASED SELECTION - The use of pressure-sensitive selection tools in a graphical user interface is disclosed in which the amount of pressure during a selection operation may modify selection behavior. Upon receiving a selection input, the pressure applied is determined and the selection behavior modified. In some embodiments, the number of objects selected is increased when more pressure is applied and decreased when less pressure is applied. | 06-17-2010 |
20120274591 | PRESSURE SENSITIVE CONTROLS - The use of pressure-sensitive controls is disclosed in which controls respond differently to different pressure applied by a stylus on a digitizer. Users interacting with displayed controls may modify the speed, increment, or other property of the control by pressing harder or softer. Devices that allow for the input of location and pressure information may use embodiments of the invention, including computers with pressure sensitive mice or digitizer tablets, PDAs, or tablet computers. Controls that may use pressure to augment their behavior include scrollbars, spinner controls, resize handles, buttons, drop down menus and so forth. | 11-01-2012 |
Patent application number | Description | Published |
20130179838 | MAINTANENCE OF TERMINATED APPLICATIONS WITHIN THE BACKSTACK - The claimed subject matter provides for systems and/or methods for affecting the maintenance of applications, and re-launching of applications, on a backstack in a computing environment in which the applications have been killed and/or terminated. The backstack comprises a list of application that have been recently used or otherwise invoked by the computing environment or the user via the computing environment. In one embodiment, the computing environment comprises a graphical user interface (GUI) in which the user may engage in deliberate gestures to interact with applications, including the re-launching of killed or otherwise terminated applications. Upon a user command intending such relaunching, the computing environment may present to the user a temporary UI screen associated with the killed application and present a more fully functioning screen upon a commit signal to execute the killed application. | 07-11-2013 |
20140310642 | DEFERRED PLACEMENT PROMPT - A deferred placement prompt is provided in a user interface when an application window is launched. Responsive to the presentation of the deferred placement prompt, the user can provide a directional placement instruction (e.g., a “drag” of the prompt, a selection of a screen region, a keyboard input) to indicate the user's preference for placement of the launched window. The user interface can give cooperative feedback to the user during the deferred placement prompt operation, such as highlighting an application window to be replaced, responsive to a directional placement instruction, animating the deferred placement prompt, etc. | 10-16-2014 |
20140310646 | Application Window Divider Control for Window Layout Management - An application window divider control is shared by a first application window and a second application window in a user interface. Based on a received directional instruction that moves the application window divider control along an axis of the user interface, placement of the first application window and the second application window may be positioned across a range of consistently spaced points along an axis of the user interface. Placement adjustment can also impact other application windows in the user interface. The application window divider control may also snap to provide “magnetic” points along the axis when certain conditions are satisfied. | 10-16-2014 |
20140325430 | CONTENT-BASED DIRECTIONAL PLACEMENT APPLICATION LAUNCH - A user can select content on an interface screen and provide an associated directional placement instruction to launch a new application window that displays the selected content or information associated with the selected content. The directional placement instruction may indicate an area of the screen where the user prefers to display the new application window. Responsive to the initiation of the directional placement instruction, a conversion module converts the selected content into a placeable representation of the new application. Responsive to receipt of the directional placement instruction, a window management system presents the new application window in the user interface in a location based on the directional placement instruction. | 10-30-2014 |