Patents by Inventor David A. Whitechapel

David A. Whitechapel 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: 10467069
    Abstract: In one embodiment, a computer system stores entries for one or more instances of an application with keys generated for the instances in storage. The instances of the application are instantiated on the computer system. The computer system receives a request from the application with a current key for a current instance and parses the storage to determine if the current key is stored in the keys associated with the application. The computer system returns a response to the application with an indication whether the current key is stored as an entry in the one or more entries. The application uses the response to determine a redirection action to one of the one or more instances of the application when the current key is associated with an instance other than the current instance.
    Type: Grant
    Filed: April 4, 2018
    Date of Patent: November 5, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David A. Whitechapel, Anis Mohammed Khaja Mohideen, Sergei Ognerubov, Timothy M. Kurtzman
  • Publication number: 20190310903
    Abstract: In one embodiment, a computer system stores entries for one or more instances of an application with keys generated for the instances in storage. The instances of the application are instantiated on the computer system. The computer system receives a request from the application with a current key for a current instance and parses the storage to determine if the current key is stored in the keys associated with the application. The computer system returns a response to the application with an indication whether the current key is stored as an entry in the one or more entries. The application uses the response to determine a redirection action to one of the one or more instances of the application when the current key is associated with an instance other than the current instance.
    Type: Application
    Filed: April 4, 2018
    Publication date: October 10, 2019
    Inventors: David A. WHITECHAPEL, Anis Mohammed KHAJA MOHIDEEN, Sergei OGNERUBOV, Timothy M. KURTZMAN
  • Patent number: 10182018
    Abstract: Resources used by a foreground process associated with an application as well as one or more background tasks associated with the application that are running as separate processes on the computing device are tracked. Historical data relating to resource usage by the application is utilized to predict a resource usage amount for the application which is then stored. A subsequent launch of the application can be conditioned upon whether the predicted resource usage amount is available. If the predicted resource usage amount is available, it can be allocated to the application and the application can be launched. If the application then exceeds the predicted resource usage amount, other processes executing concurrently therewith may be terminated to free up the resource. Regardless of how the application performs, new resource usage data is obtained for the application, which is then used to adjust the predicted resource usage amount.
    Type: Grant
    Filed: December 13, 2017
    Date of Patent: January 15, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Timothy M. Kurtzman, David A. Whitechapel, Abolade Gbadegesin, Adina M. Trufinescu, Jeremy P. Robinson, Samarth H. Shah, Akhilesh Kaza, Andrew Clinick
  • Publication number: 20180102981
    Abstract: Resources used by a foreground process associated with an application as well as one or more background tasks associated with the application that are running as separate processes on the computing device are tracked. Historical data relating to resource usage by the application is utilized to predict a resource usage amount for the application which is then stored. A subsequent launch of the application can be conditioned upon whether the predicted resource usage amount is available. If the predicted resource usage amount is available, it can be allocated to the application and the application can be launched. If the application then exceeds the predicted resource usage amount, other processes executing concurrently therewith may be terminated to free up the resource. Regardless of how the application performs, new resource usage data is obtained for the application, which is then used to adjust the predicted resource usage amount.
    Type: Application
    Filed: December 13, 2017
    Publication date: April 12, 2018
    Inventors: Timothy M. Kurtzman, David A. Whitechapel, Abolade Gbadegesin, Adina M. Trufinescu, Jeremy P. Robinson, Samarth H. Shah, Akhilesh Kaza, Andrew Clinick
  • Patent number: 9871741
    Abstract: Resources used by a foreground process associated with an application as well as one or more background tasks associated with the application that are running as separate processes on the computing device are tracked. Historical data relating to resource usage by the application is utilized to predict a resource usage amount for the application which is then stored. A subsequent launch of the application can be conditioned upon whether the predicted resource usage amount is available. If the predicted resource usage amount is available, it can be allocated to the application and the application can be launched. If the application then exceeds the predicted resource usage amount, other processes executing concurrently therewith may be terminated to free up the resource. Regardless of how the application performs, new resource usage data is obtained for the application, which is then used to adjust the predicted resource usage amount.
    Type: Grant
    Filed: April 29, 2014
    Date of Patent: January 16, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Timothy M. Kurtzman, David A. Whitechapel, Abolade Gbadegesin, Adina M. Trufinescu, Jeremy P. Robinson, Samarth H. Shah, Akhilesh Kaza, Andrew Clinick
  • Patent number: 9678797
    Abstract: Techniques are described that enable an application executing on a computing device to dynamically control how an allocated portion of a resource of the computing device is to be divided among multiple processes associated with the application. For example, an application executing on the computing device may interact with an operating system of the computing device to dynamically control how an allocated portion of a resource of the computing device is to be divided among a foreground process associated with the application and one or more background processes associated with the application.
    Type: Grant
    Filed: April 29, 2014
    Date of Patent: June 13, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Timothy M. Kurtzman, David A. Whitechapel, Abolade Gbadegesin, Adina M. Trufinescu, Jeremy P. Robinson, Samarth H. Shah, Akhilesh Kaza, Andrew Clinick
  • Publication number: 20150254108
    Abstract: Techniques are described that enable an application executing on a computing device to dynamically control how an allocated portion of a resource of the computing device is to be divided among multiple processes associated with the application. For example, an application executing on the computing device may interact with an operating system of the computing device to dynamically control how an allocated portion of a resource of the computing device is to be divided among a foreground process associated with the application and one or more background processes associated with the application.
    Type: Application
    Filed: April 29, 2014
    Publication date: September 10, 2015
    Applicant: Microsoft Corporation
    Inventors: Timothy M. Kurtzman, David A. Whitechapel, Abolade Gbadegesin, Adina M. Trufinescu, Jeremy P. Robinson, Samarth H. Shah, Akhilesh Kaza, Andrew Clinick
  • Publication number: 20150256476
    Abstract: Resources used by a foreground process associated with an application as well as one or more background tasks associated with the application that are running as separate processes on the computing device are tracked. Historical data relating to resource usage by the application is utilized to predict a resource usage amount for the application which is then stored. A subsequent launch of the application can be conditioned upon whether the predicted resource usage amount is available. If the predicted resource usage amount is available, it can be allocated to the application and the application can be launched. If the application then exceeds the predicted resource usage amount, other processes executing concurrently therewith may be terminated to free up the resource. Regardless of how the application performs, new resource usage data is obtained for the application, which is then used to adjust the predicted resource usage amount.
    Type: Application
    Filed: April 29, 2014
    Publication date: September 10, 2015
    Applicant: Microsoft Corporation
    Inventors: Timothy M. Kurtzman, David A. Whitechapel, Abolade Gbadegesin, Adina M. Trufinescu, Jeremy P. Robinson, Samarth H. Shah, Akhilesh Kaza, Andrew Clinick
  • Patent number: 8793676
    Abstract: A method and system for dynamically identifying and loading a version of a runtime for custom code of a host application without modifying the host application is provided. A loading system dynamically identifies the version of the runtime during execution of the host application. The loading system is also dynamically linked into the host application so that its algorithm for identifying the version of the runtime can be modified without modifying the host application. When requested by the host application to load custom code, the loading system identifies a version of the runtime to load, loads the identified version of the runtime, and then requests a load component of the loaded version of the runtime to load the custom code.
    Type: Grant
    Filed: February 15, 2007
    Date of Patent: July 29, 2014
    Assignee: Microsoft Corporation
    Inventors: Thomas E. Quinn, Richard A. Cook, Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
  • Patent number: 8370740
    Abstract: The invention enables document level controls to be added to applications which display documents by using an application level add-in. The application level add-in tracks document opening and closing and dynamically constructs the document level control accordingly to ensure that the document level control is active only while the document is open.
    Type: Grant
    Filed: March 11, 2008
    Date of Patent: February 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Igor Zinkovsky, Michael Shneerson, David A. Whitechapel
  • Patent number: 8181188
    Abstract: A method and architecture for increasing version resiliency between a host application that is unmanaged code and managed code is provided. A version resiliency technique specifies that the host application and the managed code communicate via an adapter that implements a protocol to access an object exposed by the host application. The version resiliency technique specifies that when a new version of the host application that impacts an interface exposed by the object of the host application is released, a new version of the adapter that executes within the application domain of the custom code is released. A version of managed code that adheres to the protocol will correctly interact with new versions of the host application that include a new version of the object because a new implementation of the adapter is also provided.
    Type: Grant
    Filed: February 15, 2007
    Date of Patent: May 15, 2012
    Assignee: Microsoft Corporation
    Inventors: Thomas E. Quinn, Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
  • Patent number: 8146109
    Abstract: A method and architecture for increasing version resiliency between a host application that is unmanaged code and custom code that is managed code is provided. A host application exposes an application-level object and a document-level object. A custom code runtime provides a wrapper for the document-level object within the application domain of the custom code runtime. The custom code runtime also provides a mechanism within the application domain of the custom code runtime for providing to custom code a reference to the application-level object directly, rather than through a wrapper. Custom code can then access functionality of the application-level object directly using the reference without having to use a wrapper provided by the custom code runtime.
    Type: Grant
    Filed: February 15, 2007
    Date of Patent: March 27, 2012
    Assignee: Microsoft Corporation
    Inventors: Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
  • Patent number: 8010970
    Abstract: The forms hosting system allows a developer to design custom Outlook form regions containing standard and custom managed controls using popular development tools. The forms hosting system provides a runtime wrapper that appears to Outlook as a normal ActiveX control. When Outlook invokes the runtime wrapper control, the runtime wrapper control loads the managed controls defined by the developer. The runtime wrapper control translates messages received from Outlook into messages understood by the managed controls.
    Type: Grant
    Filed: April 10, 2007
    Date of Patent: August 30, 2011
    Assignee: Microsoft Corporation
    Inventors: Dimitar Birov, Michael W. Morton, Daniel A. Molina, John Durant, Thomas E. Quinn, Michael Shneerson, David A. Whitechapel
  • Publication number: 20090235148
    Abstract: Document level add-ins. A computing environment may include one or more applications. The applications host documents. A method includes acts for facilitating an application level add-in to add document level controls. The method includes determining that a document has been opened or created. The method further includes determining from an application level add-in, a class of documents for which document level controls should be added. It is determined that the document that has been opened or created is in the class of documents. A document level control specified in the application level add-in is added to the document.
    Type: Application
    Filed: March 11, 2008
    Publication date: September 17, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Igor Zinkovsky, Michael Shneerson, David A. Whitechapel
  • Publication number: 20080256555
    Abstract: The forms hosting system allows a developer to design custom Outlook form regions containing standard and custom managed controls using popular development tools. The forms hosting system provides a runtime wrapper that appears to Outlook as a normal ActiveX control. When Outlook invokes the runtime wrapper control, the runtime wrapper control loads the managed controls defined by the developer. The runtime wrapper control translates messages received from Outlook into messages understood by the managed controls.
    Type: Application
    Filed: April 10, 2007
    Publication date: October 16, 2008
    Applicant: Microsoft Corporation
    Inventors: Dimitar Birov, Michael W. Morton, Daniel A. Molina, John Durant, Thomas E. Quinn, Michael Shneerson, David A. Whitechapel
  • Publication number: 20080201700
    Abstract: A method and architecture for increasing version resiliency between a host application that is unmanaged code and managed code is provided. A version resiliency technique specifies that the host application and the managed code communicate via an adapter that implements a protocol to access an object exposed by the host application. The version resiliency technique specifies that when a new version of the host application that impacts an interface exposed by the object of the host application is released, a new version of the adapter that executes within the application domain of the custom code is released. A version of managed code that adheres to the protocol will correctly interact with new versions of the host application that include a new version of the object because a new implementation of the adapter is also provided.
    Type: Application
    Filed: February 15, 2007
    Publication date: August 21, 2008
    Applicant: Microsoft Corporation
    Inventors: Thomas E. Quinn, Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
  • Publication number: 20080201691
    Abstract: A method and architecture for increasing version resiliency between a host application that is unmanaged code and custom code that is managed code is provided. A host application exposes an application-level object and a document-level object. A custom code runtime provides a wrapper for the document-level object within the application domain of the custom code runtime. The custom code runtime also provides a mechanism within the application domain of the custom code runtime for providing to custom code a reference to the application-level object directly, rather than through a wrapper. Custom code can then access functionality of the application-level object directly using the reference without having to use a wrapper provided by the custom code runtime.
    Type: Application
    Filed: February 15, 2007
    Publication date: August 21, 2008
    Applicant: Microsoft Corporation
    Inventors: Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
  • Publication number: 20080201759
    Abstract: A method and system for enforcing a security policy that is version-independent of a managed environment when loading custom code for a host application is provided. A security system of the managed environment receives an identifier of custom code to be loaded by the host application. Before loading the identified custom code, the managed environment enforces the security policy using the security system. The security system applies the security policy expressed using a version-independent indication of identifiers of untrusted custom code. If the security system determines that the trust of the custom code is unknown, then the security system requests a trust manager associated with the host application to enforce a host application-specific security policy. When the custom code is trusted, the managed environment loads the custom code.
    Type: Application
    Filed: February 15, 2007
    Publication date: August 21, 2008
    Applicant: Microsoft Corporation
    Inventors: Michael D. Downen, Darryn O. Lavery, Adriaan W. Canter, Sameer V. Bhangar, Thomas E. Quinn, Justin Kwak, David A. Whitechapel, Jeff Young, Shawn Farkas
  • Publication number: 20080201568
    Abstract: A method and system for dynamically identifying and loading a version of a runtime for custom code of a host application without modifying the host application is provided. A loading system dynamically identifies the version of the runtime during execution of the host application. The loading system is also dynamically linked into the host application so that its algorithm for identifying the version of the runtime can be modified without modifying the host application. When requested by the host application to load custom code, the loading system identifies a version of the runtime to load, loads the identified version of the runtime, and then requests a load component of the loaded version of the runtime to load the custom code.
    Type: Application
    Filed: February 15, 2007
    Publication date: August 21, 2008
    Applicant: Microsoft Corporation
    Inventors: Thomas E. Quinn, Richard A. Cook, Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah