Patents by Inventor Jeremiah C. Spradlin

Jeremiah C. Spradlin 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: 10203974
    Abstract: A performance monitoring system is described herein that works with a hypervisor to reserve resources outside of a virtual machine to monitor performance of an application running within the virtual machine. The application receives the guaranteed amount of resources specified by the virtual machine's specifications, and the monitoring consumes resources not associated with the virtual machine. The application running in the virtual machine is already isolated by the hypervisor from the physical machine, and thus additional burdens on the physical machine that allow the hypervisor to continue meeting guarantees to the virtual machine will not impact application performance. The performance monitoring system provides instrumentation of deployed applications that information technology (IT) personnel can dynamically turn on and off without affecting the performance of the deployed application.
    Type: Grant
    Filed: December 20, 2010
    Date of Patent: February 12, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Paul Barham, Joseph N. Figueroa, Jeremiah C. Spradlin
  • Patent number: 9946641
    Abstract: A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory.
    Type: Grant
    Filed: December 14, 2015
    Date of Patent: April 17, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jeremiah C. Spradlin, Galen Hunt, Akshay Johar, Steven Maillet
  • Patent number: 9785470
    Abstract: A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory.
    Type: Grant
    Filed: June 20, 2011
    Date of Patent: October 10, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jeremiah C. Spradlin, Galen Hunt, Anil F. Thomas, Steven Maillet
  • Patent number: 9558040
    Abstract: A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory.
    Type: Grant
    Filed: June 20, 2011
    Date of Patent: January 31, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Steven Maillet, Michael Hall, James Larus, Jeremiah C. Spradlin
  • Publication number: 20160188454
    Abstract: A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory.
    Type: Application
    Filed: December 14, 2015
    Publication date: June 30, 2016
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Jeremiah C. Spradlin, Galen Hunt, Akshay Johar, Steven Maillet
  • Patent number: 9218206
    Abstract: A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory.
    Type: Grant
    Filed: June 20, 2011
    Date of Patent: December 22, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jeremiah C. Spradlin, Galen Hunt, Akshay Johar, Steven Maillet
  • Patent number: 8909751
    Abstract: 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.
    Type: Grant
    Filed: December 28, 2010
    Date of Patent: December 9, 2014
    Assignee: Microsoft Corporation
    Inventors: Dominique Fortier, Jeremiah C. Spradlin, Poonam Sigroha, Alistair Fulton
  • Publication number: 20140201739
    Abstract: 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.
    Type: Application
    Filed: March 15, 2014
    Publication date: July 17, 2014
    Inventors: Dominique Fortier, Jeremiah C. Spradlin
  • Patent number: 8677355
    Abstract: 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.
    Type: Grant
    Filed: December 17, 2010
    Date of Patent: March 18, 2014
    Assignee: Microsoft Corporation
    Inventors: Jeremiah C. Spradlin, Dominique Fortier
  • Publication number: 20120324197
    Abstract: A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory.
    Type: Application
    Filed: June 20, 2011
    Publication date: December 20, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Jeremiah C. Spradlin, Galen Hunt, Anil F. Thomas, Steven Maillet
  • Publication number: 20120324196
    Abstract: A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory.
    Type: Application
    Filed: June 20, 2011
    Publication date: December 20, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Steven Maillet, Michael Hall, James Larus, Jeremiah C. Spradlin
  • Publication number: 20120324198
    Abstract: A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory.
    Type: Application
    Filed: June 20, 2011
    Publication date: December 20, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Jeremiah C. Spradlin, Galen Hunt, Akshay Johar, Steven Maillet
  • Publication number: 20120166604
    Abstract: 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.
    Type: Application
    Filed: December 28, 2010
    Publication date: June 28, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Dominique Fortier, Jeremiah C. Spradlin, Poonam Sigroha, Alistair Fulton
  • Publication number: 20120159478
    Abstract: 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.
    Type: Application
    Filed: December 17, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventors: Jeremiah C. Spradlin, Dominique Fortier
  • Publication number: 20120159454
    Abstract: A performance monitoring system is described herein that works with a hypervisor to reserve resources outside of a virtual machine to monitor performance of an application running within the virtual machine. The application receives the guaranteed amount of resources specified by the virtual machine's specifications, and the monitoring consumes resources not associated with the virtual machine. The application running in the virtual machine is already isolated by the hypervisor from the physical machine, and thus additional burdens on the physical machine that allow the hypervisor to continue meeting guarantees to the virtual machine will not impact application performance. The performance monitoring system provides instrumentation of deployed applications that information technology (IT) personnel can dynamically turn on and off without affecting the performance of the deployed application.
    Type: Application
    Filed: December 20, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventors: Paul Barham, Joseph N. Figueroa, Jeremiah C. Spradlin
  • Publication number: 20120159193
    Abstract: An opcode obfuscation system is described herein that varies the values of opcodes used by operating system or application code while the application is stored in memory. The system puts application code through a translation process as the application code is loaded, so that the code sits in memory with an altered instruction set. If new and potentially malicious code is injected into the process, its instruction set will not match that of the translated application code. As time to execute the application code approaches, the system puts the application code through a reverse translation process that converts the application code back to the original opcodes. Any malicious code injected into the process will also undergo the reverse translation, which will have the effect of making the malicious code detectable as invalid or erroneous.
    Type: Application
    Filed: December 18, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventor: Jeremiah C. Spradlin