Patents by Inventor Orion Hodson

Orion Hodson 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: 9817860
    Abstract: Methods of generating filters automatically from data processing jobs are described. In an embodiment, these filters are automatically generated from a compiled version of the data processing job using static analysis which is applied to a high-level representation of the job. The executable filter is arranged to suppress rows and/or columns within the data to which the job is applied and which do not affect the output of the job. The filters are generated by a filter generator and then stored and applied dynamically at a filtering proxy that may be co-located with the storage node that holds the data. In another embodiment, the filtered data may be cached close to a compute node which runs the job and data may be provided to the compute node from the local cache rather than from the filtering proxy.
    Type: Grant
    Filed: December 13, 2011
    Date of Patent: November 14, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Christos Gkantsidis, Dimitrios Vytiniotis, Orion Hodson, Dushyanth Narayanan, Antony Rowstron
  • Patent number: 8789063
    Abstract: Systems and methods establish communication and control between various heterogeneous processors in a computing system so that an operating system can run an application across multiple heterogeneous processors. With a single set of development tools, software developers can create applications that will flexibly run on one CPU or on combinations of central, auxiliary, and peripheral processors. In a computing system, application-only processors can be assigned a lean subordinate kernel to manage local resources. An application binary interface (ABI) shim is loaded with application binary images to direct kernel ABI calls to a local subordinate kernel or to the main OS kernel depending on which kernel manifestation is controlling requested resources.
    Type: Grant
    Filed: March 30, 2007
    Date of Patent: July 22, 2014
    Assignee: Microsoft Corporation
    Inventors: Orion Hodson, Haryadi Gunawi, Galen C. Hunt
  • Publication number: 20130152088
    Abstract: Methods of generating filters automatically from data processing jobs are described. In an embodiment, these filters are automatically generated from a compiled version of the data processing job using static analysis which is applied to a high-level representation of the job. The executable filter is arranged to suppress rows and/or columns within the data to which the job is applied and which do not affect the output of the job. The filters are generated by a filter generator and then stored and applied dynamically at a filtering proxy that may be co-located with the storage node that holds the data. In another embodiment, the filtered data may be cached close to a compute node which runs the job and data may be provided to the compute node from the local cache rather than from the filtering proxy.
    Type: Application
    Filed: December 13, 2011
    Publication date: June 13, 2013
    Applicant: Microsoft Corporation
    Inventors: Christos Gkantsidis, Dimitrios Vytiniotis, Orion Hodson, Dushyanth Narayanan, Antony Rowstron
  • Patent number: 8458514
    Abstract: Methods of memory management are described which can accommodate non-maskable failures in pages of physical memory. In an embodiment, when an impending non-maskable failure in a page of memory is identified, a pristine page of physical memory is used to replace the page containing the impending failure and memory mappings are updated to remap virtual pages from the failed page to the pristine page. When a new page of virtual memory is then allocated by a process, the failed page may be reused if the process identifies that it can accommodate failures and the process is provided with location information for impending failures. In another embodiment, a process may expose information on failure-tolerant regions of virtual address space such that a physical page of memory containing failures only in failure-tolerant regions may be used to store the data instead of using a pristine page.
    Type: Grant
    Filed: December 10, 2010
    Date of Patent: June 4, 2013
    Assignee: Microsoft Corporation
    Inventors: Timothy Harris, Karin Strauss, Orion Hodson, Dushyanth Narayanan
  • Publication number: 20120151252
    Abstract: Methods of memory management are described which can accommodate non- maskable failures in pages of physical memory. In an embodiment, when an impending non-maskable failure in a page of memory is identified, a pristine page of physical memory is used to replace the page containing the impending failure and memory mappings are updated to remap virtual pages from the failed page to the pristine page. When a new page of virtual memory is then allocated by a process, the failed page may be reused if the process identifies that it can accommodate failures and the process is provided with location information for impending failures. In another embodiment, a process may expose information on failure-tolerant regions of virtual address space such that a physical page of memory containing failures only in failure-tolerant regions may be used to store the data instead of using a pristine page.
    Type: Application
    Filed: December 10, 2010
    Publication date: June 14, 2012
    Applicant: Microsoft Corporation
    Inventors: Timothy Harris, Karin Strauss, Orion Hodson, Dushyanth Narayanan
  • Patent number: 8074231
    Abstract: In some implementations, the operations of a software system may include the execution of untrusted device drivers. The execution of an untrusted device driver may be initiated when an untrusted device driver that is a set of executable instructions is obtained. A computing resource for the execution of the device driver may be further determined from a device-driver manifest of the untrusted device driver. Computing resources may include one or more of a hardware resource, a memory, an input/output port, an interrupt request line, and an inter-process communication channel. Trusted local access objects may be used by the untrusted device driver to access the computing resources.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: December 6, 2011
    Assignee: Microsoft Corporation
    Inventors: Galen C. Hunt, James R. Larus, Manuel A Fähndrich, Orion Hodson, David R. Tarditi, Michael Spear, Michael Carbin, Steven P. Levi, Bjame Steensgaard
  • Publication number: 20080244507
    Abstract: Systems and methods establish communication and control between various heterogeneous processors in a computing system so that an operating system can run an application across multiple heterogeneous processors. With a single set of development tools, software developers can create applications that will flexibly run on one CPU or on combinations of central, auxiliary, and peripheral processors. In a computing system, application-only processors can be assigned a lean subordinate kernel to manage local resources. An application binary interface (ABI) shim is loaded with application binary images to direct kernel ABI calls to a local subordinate kernel or to the main OS kernel depending on which kernel manifestation is controlling requested resources.
    Type: Application
    Filed: March 30, 2007
    Publication date: October 2, 2008
    Applicant: Microsoft Corporation
    Inventors: Orion Hodson, Haryadi Gunawi, Galen C. Hunt
  • Publication number: 20080244599
    Abstract: Systems and methods establish communication and control between various heterogeneous processors in a computing system so that an operating system can run an application across multiple heterogeneous processors. With a single set of development tools, software developers can create applications that will flexibly run on one CPU or on combinations of central, auxiliary, and peripheral processors. In a computing system, application-only processors can be assigned a lean subordinate kernel to manage local resources. An application binary interface (ABI) shim is loaded with application binary images to direct kernel ABI calls to a local subordinate kernel or to the main OS kernel depending on which kernel manifestation is controlling requested resources.
    Type: Application
    Filed: March 30, 2007
    Publication date: October 2, 2008
    Applicant: Microsoft Corporation
    Inventors: Orion Hodson, Haryadi Gunawi, Galen C. Hunt
  • Publication number: 20070094673
    Abstract: Described herein are one or more implementations for describing and/or addressing the configuration requirements of applications, extensions, device drivers, and other components of a software system.
    Type: Application
    Filed: June 30, 2006
    Publication date: April 26, 2007
    Applicant: Microsoft Corporation
    Inventors: Galen Hunt, James Larus, Manuel Fanndrich, Orion Hodson, Steven Levi, Bjarne Steensgaard, David Tarditi, Michael Spear, Michael Carbin
  • Publication number: 20070094495
    Abstract: Described herein are one or more implementations of an operating system that provides for statically verifiable inter-process communication between isolated processes. Also, described herein are one or more implementations of programming tools that facilitate the development of statically verifiable isolated processes having inter-process communication.
    Type: Application
    Filed: June 30, 2006
    Publication date: April 26, 2007
    Applicant: Microsoft Corporation
    Inventors: Galen Hunt, James Larus, Martin Abadi, Mark Aiken, Paul Barham, Manuel Fahndrich, Chris Hawblitzel, Orion Hodson, Steven Levi, Nicholas Murphy, Bjarne Steensgaard, David Tarditi, Edward Wobber, Brian Zill