Patents by Inventor Idan Avraham

Idan Avraham has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8984244
    Abstract: Various mechanisms are disclosed herein for the saving and restoring of virtual machine environment state. For example, virtual machine state can be either be saved or (multiple) snapshots can be taken of the virtual machine state. In the latter case, virtual processors can be allowed to run while the memory of the virtual machine state is being saved. In either case, virtual devices associated with the virtual machine environment can be quiesced such that these devices can prepare themselves to be saved. Once such virtual devices and memory are saved, they can also be restored. For example, restoration of memory can occur while virtual processors are running at the same time. And, moreover, restoration can occur in batches of pages, thus optimizing the response time for restoring saved data.
    Type: Grant
    Filed: November 13, 2013
    Date of Patent: March 17, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrew Ernest Nicholas, Aaron S. Giles, Eric P. Traut, Idan Avraham, Xiongjian Fu, Osama M. Salem
  • Publication number: 20140075141
    Abstract: Various mechanisms are disclosed herein for the saving and restoring of virtual machine environment state. For example, virtual machine state can be either be saved or (multiple) snapshots can be taken of the virtual machine state. In the latter case, virtual processors can be allowed to run while the memory of the virtual machine state is being saved. In either case, virtual devices associated with the virtual machine environment can be quiesced such that these devices can prepare themselves to be saved. Once such virtual devices and memory are saved, they can also be restored. For example, restoration of memory can occur while virtual processors are running at the same time. And, moreover, restoration can occur in batches of pages, thus optimizing the response time for restoring saved data.
    Type: Application
    Filed: November 13, 2013
    Publication date: March 13, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Andrew Ernest Nicholas, Aaron S. Giles, Eric P. Traut, Idan Avraham, Xiongjian Fu, Osama M. Salem
  • Patent number: 8607009
    Abstract: Various mechanisms are disclosed herein for the saving and restoring of virtual machine environment state. For example, virtual machine state can be either be saved or (multiple) snapshots can be taken of the virtual machine state. In the latter case, virtual processors can be allowed to run while the memory of the virtual machine state is being saved. In either case, virtual devices associated with the virtual machine environment can be quiesced such that these devices can prepare themselves to be saved. Once such virtual devices and memory are saved, they can also be restored. For example, restoration of memory can occur while virtual processors are running at the same time. And, moreover, restoration can occur in batches of pages, thus optimizing the response time for restoring saved data.
    Type: Grant
    Filed: July 13, 2006
    Date of Patent: December 10, 2013
    Assignee: Microsoft Corporation
    Inventors: Andrew Ernest Nicholas, Aaron S. Giles, Eric P. Traut, Idan Avraham, Xiongjian Fu, Osama M. Salem
  • Patent number: 8447936
    Abstract: A method for managing software modules of at least two operating systems sharing physical resources of a computing environment, but running in different partitions separated by a virtualization boundary comprises accumulating module information in a virtualization subsystem that directs the creation and management of the partitions. The accumulated module information is used across the virtualization boundary to manage the use of the software modules. Also, a method for managing software modules comprises making at least two operating systems aware that they are being hosted in a virtualized computing environment.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: May 21, 2013
    Assignee: Microsoft Corporation
    Inventors: Douglas A. Watkins, Idan Avraham
  • Patent number: 8214828
    Abstract: A method for managing software modules of at least two operating systems sharing physical resources of a computing environment, but running in different partitions separated by a virtualization boundary comprises accumulating module information in a virtualization subsystem that directs the creation and management of the partitions. The accumulated module information is used across the virtualization boundary to manage the use of the software modules. Also, a method for managing software modules comprises making at least two operating systems aware that they are being hosted in a virtualized computing environment.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: July 3, 2012
    Assignee: Microsoft Corporation
    Inventors: Douglas A. Watkins, Idan Avraham
  • Patent number: 8122361
    Abstract: Techniques are disclosed to provide security for graphical user interface elements being displayed in a system having a host operating system and a high assurance operating system. Graphical user interface elements associated with the high-assurance operating system may be prevented from being obscured and from any partial transparency. Additionally, a piece of secret information may be stored and displayed by graphical user interface elements associated with the high-assurance operating system. Coordinating certain elements of the graphical user interface elements associated with the high assurance operating system also helps to identify legitimate elements associated with the high assurance operating system. Public title information may be furnished to a host operating system windowing system to identify a window owned by a process running on a high-assurance operating system. Private title information associated with the same window may be used in the high assurance operating system.
    Type: Grant
    Filed: October 23, 2003
    Date of Patent: February 21, 2012
    Assignee: Microsoft Corporation
    Inventors: Idan Avraham, Christine M. Chew, Paul C. Roberts, Bryan Willman
  • Patent number: 7886353
    Abstract: Systems and methods for enabling trusted software to monitor and control USB traffic associated with a security extension of a host controller and devices in a USB topology is disclosed. A host controller proxy receives USB-related data from a host controller driver, determines whether the data is of a security interest, and if so, sends the data to a driver for a security extension executing in the trusted execution environment. Likewise, after software executing in the trusted execution environment evaluates and appropriately addresses data sent by the HCD proxy or data retrieved from a hardware security extension, the HCD proxy receives data from the trusted execution environment for further dissemination.
    Type: Grant
    Filed: March 25, 2005
    Date of Patent: February 8, 2011
    Assignee: Microsoft Corporation
    Inventors: Idan Avraham, John C. Dunn, Constantyn Koeman, Mark Williams, David R. Wooten
  • Patent number: 7882566
    Abstract: Methods for maintaining the security of a secured execution environment on a system comprising said secured execution environment and a second execution environment are disclosed. A maintained current state for the secured execution environment is selected from among a group of possible states including a standard input mode state and a nexus input mode state. A flow of user input is directed according to the current state through a secure kernel of both the second environment and the secured execution environment.
    Type: Grant
    Filed: November 25, 2008
    Date of Patent: February 1, 2011
    Assignee: Microsoft Corporation
    Inventors: Idan Avraham, Christine M. Chew, John E. Paff, Paul Roberts, Hirofumi Yamamoto
  • Patent number: 7761618
    Abstract: Protecting computer systems from attacks that attempt to change USB topology and for ensuring that the system's information regarding USB topology is accurate is disclosed. A software model is defined that, together with secure USB hardware, provides an ability to define policies using which USB traffic can be properly monitored and controlled. The implemented policy provides control over USB commands through a combination of software evaluation and hardware programming. Legitimate commands are evaluated and “allowed” to be sent to a USB device by a host controller. Illegitimate commands are evaluated and blocked. Additionally, the USB topology is audited to verify that the system's topology map matches the actual USB topology.
    Type: Grant
    Filed: March 25, 2005
    Date of Patent: July 20, 2010
    Assignee: Microsoft Corporation
    Inventors: Idan Avraham, Kenneth D. Ray, Mark Williams, David R. Wooten
  • Publication number: 20090083862
    Abstract: Methods for maintaining the security of a secured execution environment on a system comprising said secured execution environment and a second execution environment are disclosed. A maintained current state for the secured execution environment is selected from among a group of possible states including a standard input mode state and a nexus input mode state. A flow of user input is directed according to the current state through a secure kernel of both the second environment and the secured execution environment.
    Type: Application
    Filed: November 25, 2008
    Publication date: March 26, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Idan Avraham, Christine M. Chew, John E. Paff, Paul Roberts, Hirofumi Yamamoto
  • Patent number: 7475183
    Abstract: Provided are optimizations to the memory virtualization model employed in a virtual machine environment. An opportunistic hypervisor page mapping process is used in order to utilize large memory pages in a virtual machine environment. Using these optimizations, physical memory is being virtualized for the virtual machine in a manner that allows the operating system (OS) running within the virtual machine to take real and full advantage of large physical memory pages.
    Type: Grant
    Filed: December 12, 2005
    Date of Patent: January 6, 2009
    Assignee: Microsoft Corporation
    Inventors: Eric P. Traut, Idan Avraham, Matthew D. Hendel
  • Patent number: 7464412
    Abstract: Techniques are disclosed to provide security for user input in which a first, host operating system is used along with a second, high assurance operating system, where the first system provides at least some of the infrastructure for the second system. Two modes are presented. In a first mode, user data is passed to the host operating system. In a second mode, user data is retained in the second operating system for the use of the second operating system or processes running on the second operating system. Transitions between the nodes can be accomplished according to hypothecated user actions such as keystroke combinations, or when the user performs an action which indicates a programmatic activation of a process running in the second operating system.
    Type: Grant
    Filed: October 24, 2003
    Date of Patent: December 9, 2008
    Assignee: Microsoft Corporation
    Inventors: Idan Avraham, Christine M. Chew, John E. Paff, Paul Roberts, Hirofumi Yamamoto
  • Publication number: 20080022032
    Abstract: Various mechanisms are disclosed herein for the saving and restoring of virtual machine environment state. For example, virtual machine state can be either be saved or (multiple) snapshots can be taken of the virtual machine state. In the latter case, virtual processors can be allowed to run while the memory of the virtual machine state is being saved. In either case, virtual devices associated with the virtual machine environment can be quiesced such that these devices can prepare themselves to be saved. Once such virtual devices and memory are saved, they can also be restored. For example, restoration of memory can occur while virtual processors are running at the same time. And, moreover, restoration can occur in batches of pages, thus optimizing the response time for restoring saved data.
    Type: Application
    Filed: July 13, 2006
    Publication date: January 24, 2008
    Applicant: Microsoft Corporation
    Inventors: Andrew Ernest Nicholas, Aaron S. Giles, Eric P. Traut, Idan Avraham, Xiongjian Fu, Osama M. Salem
  • Publication number: 20080005488
    Abstract: A method for managing software modules of at least two operating systems sharing physical resources of a computing environment, but running in different partitions separated by a virtualization boundary comprises accumulating module information in a virtualization subsystem that directs the creation and management of the partitions. The accumulated module information is used across the virtualization boundary to manage the use of the software modules. Also, a method for managing software modules comprises making at least two operating systems aware that they are being hosted in a virtualized computing environment.
    Type: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: Microsoft Corporation
    Inventors: Douglas A. Watkins, Idan Avraham
  • Publication number: 20080005489
    Abstract: A method for managing software modules of at least two operating systems sharing physical resources of a computing environment, but running in different partitions separated by a virtualization boundary comprises accumulating module information in a virtualization subsystem that directs the creation and management of the partitions. The accumulated module information is used across the virtualization boundary to manage the use of the software modules. Also, a method for managing software modules comprises making at least two operating systems aware that they are being hosted in a virtualized computing environment.
    Type: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: Microsoft Corporation
    Inventors: Douglas A. Watkins, Idan Avraham
  • Publication number: 20070136506
    Abstract: Provided are optimizations to the memory virtualization model employed in a virtual machine environment. An opportunistic hypervisor page mapping process is used in order to utilize large memory pages in a virtual machine environment. Using these optimizations, physical memory is being virtualized for the virtual machine in a manner that allows the operating system (OS) running within the virtual machine to take real and full advantage of large physical memory pages.
    Type: Application
    Filed: December 12, 2005
    Publication date: June 14, 2007
    Applicant: Microsoft Corporation
    Inventors: Eric Traut, Idan Avraham, Matthew Hendel
  • Publication number: 20060218409
    Abstract: Systems and methods for enabling trusted software to monitor and control USB traffic associated with a security extension of a host controller and devices in a USB topology is disclosed. A host controller proxy receives USB-related data from a host controller driver, determines whether the data is of a security interest, and if so, sends the data to a driver for a security extension executing in the trusted execution environment. Likewise, after software executing in the trusted execution environment evaluates and appropriately addresses data sent by the HCD proxy or data retrieved from a hardware security extension, the HCD proxy receives data from the trusted execution environment for further dissemination.
    Type: Application
    Filed: March 25, 2005
    Publication date: September 28, 2006
    Applicant: Microsoft Corporation
    Inventors: Idan Avraham, John Dunn, Constantyn Koeman, Mark Williams, David Wooten
  • Publication number: 20060218320
    Abstract: Protecting computer systems from attacks that attempt to change USB topology and for ensuring that the system's information regarding USB topology is accurate is disclosed. A software model is defined that, together with secure USB hardware, provides an ability to define policies using which USB traffic can be properly monitored and controlled. The implemented policy provides control over USB commands through a combination of software evaluation and hardware programming. Legitimate commands are evaluated and “allowed” to be sent to a USB device by a host controller. Illegitimate commands are evaluated and blocked. Additionally, the USB topology is audited to verify that the system's topology map matches the actual USB topology.
    Type: Application
    Filed: March 25, 2005
    Publication date: September 28, 2006
    Applicant: Microsoft Corporation
    Inventors: Idan Avraham, Kenneth Ray, Mark Williams, David Wooten
  • Publication number: 20050091486
    Abstract: Techniques are disclosed to provide security for graphical user interface elements being displayed in a system in which a first, host operating system is used along with a second, high assurance operating system, where the first system provides at least some of the infrastructure for the second system. Graphical user interface elements associated with the high-assurance operating system are prevented from being obscured and from any partial transparency. Additionally, a piece of secret information is stored which can be displayed upon command by graphical user interface elements associated with the high-assurance operating system. Coordinating certain elements of the display of all graphical user interface elements associated with the high assurance operating system also helps to identify legitimate elements associated with the high assurance operating system, as opposed to impostor elements which are not.
    Type: Application
    Filed: October 23, 2003
    Publication date: April 28, 2005
    Inventors: Idan Avraham, Christine Chew, Paul Roberts, Bryan Willman
  • Publication number: 20050091530
    Abstract: Techniques are disclosed to provide security for user input in which a first, host operating system is used along with a second, high assurance operating system, where the first system provides at least some of the infrastructure for the second system. Two modes are presented. In a first mode, user data is passed to the host operating system. In a second mode, user data is retained in the second operating system for the use of the second operating system or processes running on the second operating system. Transitions between the nodes can be accomplished according to hypothecated user actions such as keystroke combinations, or when the user performs an action which indicates a programmatic activation of a process running in the second operating system.
    Type: Application
    Filed: October 24, 2003
    Publication date: April 28, 2005
    Inventors: Idan Avraham, Christine Chew, John Paff, Paul Roberts, Hirofumi Yamamoto