Patents by Inventor Sean E. Trowbridge

Sean E. Trowbridge 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).

  • Publication number: 20140195862
    Abstract: Handing errors in program execution. The method includes identifying a set including a plurality of explicitly identified failure conditions. The method further includes determining that one or more of the explicitly identified failure conditions has occurred. As a result, the method further includes halting a predetermined first execution scope of computing, and notifying another scope of computing of the failure condition. An alternative embodiment may be practiced in a computing environment, and includes a method handing errors. The method includes identifying a set including a plurality of explicitly identified failure conditions. The method further includes determining that an error condition has occurred that is not in the set including a plurality of explicitly identified failure conditions. As a result, the method further includes halting a predetermined first execution scope of computing, and notifying another scope of computing of the failure condition.
    Type: Application
    Filed: January 4, 2013
    Publication date: July 10, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Martin Taillefer, Jinsong Yu, John J. Duffy, Sean E. Trowbridge, Alexander D. Bromfield
  • Patent number: 8245205
    Abstract: The techniques and mechanisms described herein are directed at sharing objects between applications executing in a virtual runtime environment. The techniques include compiling a cpu-independent file to create executable instructions that are associated with an application that is executable in a virtual runtime environment. A constructor associated with a shareable class defined within the cpu-independent file is executed to create an instance of a shareable object. The shareable object is then persisted in a manner such that other applications executing in the virtual runtime environment may access the shareable object. The technique may be performed during pre-JIT compilation or just-in-time compilation of the cpu-independent file. The execution of the constructor is performed at a restricted security level that prevents access to changeable information when generating static data for the static members of the shareable object.
    Type: Grant
    Filed: November 20, 2009
    Date of Patent: August 14, 2012
    Assignee: Microsoft Corporation
    Inventors: Rico Mariani, Christopher W. Brumme, Patrick H. Dussud, Sean E. Trowbridge
  • Patent number: 7941793
    Abstract: A system and method for mitigating problems associated with automatic execution of initialization code is provided. The system includes an initialization method activator that can call a class initialization method at a pre-determined execution point. The system also includes a deadlock analyzer that can determine whether calling the initialization method will create a deadlock, and, if a deadlock is detected that can resolve such a deadlock. The system also includes a semantic analyzing component that can analyze a semantic type associated with the initialization method and a domain uniqueness analyzer that can analyze the uniqueness of the domain with which the class will interact, to facilitate determining where to place code that will check whether a class is initialized, and if the class is not initialized that will invoke the class initializing method.
    Type: Grant
    Filed: August 16, 2006
    Date of Patent: May 10, 2011
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Christopher W. Brumme, James S. Miller, Vance P. Morrison, David S. Mortenson, Sean E. Trowbridge
  • Patent number: 7730464
    Abstract: The contents of a cache of specialized code interpreted into an intermediate language may be recompiled for execution in a managed execution environment in accordance with an automated process in such a manner to minimize any impact on machine resources.
    Type: Grant
    Filed: September 14, 2005
    Date of Patent: June 1, 2010
    Assignee: Microsoft Corporation
    Inventor: Sean E. Trowbridge
  • Patent number: 7730468
    Abstract: A system and method is provided for generating and executing specialized code executables. The system includes a virtual subsystem that processes a generic code image and logs information relating to an operating environment of the virtual subsystem. The logged information is employed as feedback to generate a specialized native executable, wherein the specialized native executable is utilized to provide improved performance of the virtual subsystem. The specialized native executable is selected for execution by the virtual subsystem by matching a current operating environment setting with the logged information.
    Type: Grant
    Filed: March 26, 2001
    Date of Patent: June 1, 2010
    Inventor: Sean E. Trowbridge
  • Patent number: 7685574
    Abstract: Authored code may include a notification that no tolerance for failure or corruption is expected for an identified sub-set of the code. Any potential failure point, which may be induced by a runtime environment routine or sub-routine, that is associated with the identified sub-set of code may then be identified and hoisted to a point apart from the identified sub-set of code.
    Type: Grant
    Filed: September 29, 2004
    Date of Patent: March 23, 2010
    Assignee: Microsoft Corporation
    Inventors: Christopher W Brumme, Sean E Trowbridge, Rudi Martin, WeiWen Liu, Brian M. Grunkemeyer, Mahesh Prakriya
  • Patent number: 7685589
    Abstract: Systems and methods to synchronize file loading operations are described. In one aspect, file loading operations are divided into multiple loading levels. The loading levels are incremental with respect to one another. The loading levels are executed in a sequential order. Each loading level includes operations that are independent and distinct of operations of all other loading levels. The systems and methods load a file to an allowed loading level. The allowed loading level includes operations associated with one or more of the multiple loading levels.
    Type: Grant
    Filed: October 14, 2004
    Date of Patent: March 23, 2010
    Assignee: Microsoft Corporation
    Inventor: Sean E. Trowbridge
  • Publication number: 20100070957
    Abstract: The techniques and mechanisms described herein are directed at sharing objects between applications executing in a virtual runtime environment. The techniques include compiling a cpu-independent file to create executable instructions that are associated with an application that is executable in a virtual runtime environment. A constructor associated with a shareable class defined within the cpu-independent file is executed to create an instance of a shareable object. The shareable object is then persisted in a manner such that other applications executing in the virtual runtime environment may access the shareable object. The technique may be performed during pre-JIT compilation or just-in-time compilation of the cpu-independent file. The execution of the constructor is performed at a restricted security level that prevents access to changeable information when generating static data for the static members of the shareable object.
    Type: Application
    Filed: November 20, 2009
    Publication date: March 18, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Rico Mariani, Christopher W. Brumme, Patrick H. Dussud, Sean E. Trowbridge
  • Patent number: 7665077
    Abstract: The techniques and mechanisms described herein are directed at sharing objects between applications executing in a virtual runtime environment. The techniques include compiling a cpu-independent file to create executable instructions that are associated with an application that is executable in a virtual runtime environment. A constructor associated with a shareable class defined within the cpu-independent file is executed to create an instance of a shareable object. The shareable object is then persisted in a manner such that other applications executing in the virtual runtime environment may access the shareable object. The technique may be performed during pre-JIT compilation or just-in-time compilation of the cpu-independent file. The execution of the constructor is performed at a restricted security level that prevents access to changeable information when generating static data for the static members of the shareable object.
    Type: Grant
    Filed: October 18, 2004
    Date of Patent: February 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Rico Mariani, Christopher W. Brumme, Patrick H. Dussud, Sean E. Trowbridge
  • Patent number: 7610579
    Abstract: A finalizer may include a notification that no tolerance for failure or corruption is expected. Any potential failure point, which may be induced by a runtime execution environment routine or subroutine that is associated with the finalizer may then be prepared apart from the finalizer.
    Type: Grant
    Filed: December 10, 2004
    Date of Patent: October 27, 2009
    Assignee: Microsoft Corporation
    Inventors: Sean E. Trowbridge, Brian M. Grunkemeyer, Christopher W. Brumme, Mahesh Prakriya, Patrick H. Dussud, Ian H. Carmichael
  • Patent number: 7581231
    Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: August 25, 2009
    Assignee: Microsoft Corporation
    Inventors: Adam W. Smith, Anthony J. Moore, Anders Hejlsberg, Brian A. LaMacchia, Blaine J. Dockter, Brian M. Grunkemeyer, Brian K. Pepin, Caleb L. Doise, Christopher W. Brumme, Chad W. Royal, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Dedu-Constantin, Daniel Takacs, David S. Ebbo, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Giovanni M. Della-Libera, Gopala Krishna R. Kakivaya, Gregory D. Fee, Hany E. Ramadan, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Jun Fang, Krzysztof J. Cwalina, Keith W. Ballinger, Lance E. Olson, Loren M. Kohnfelder, Luca Bolognese, Manu Vasandani, Mark T. Anders, Mark P. Ashton, Mark A. Boulter, Mark W. Fussell, Michael M. Magruder, Manish S. Prabhu, Neetu Rajpal, Nikhil Kothari, Nithyalakshmi Sampathkumar, Nicholas M. Kramer, Omri Gazitt, Radu Rares Palanca, Raja Krishnaswamy, Robert M. Howard, Ramasamy Krishnaswamy, Shawn P. Burke, Scott D. Guthrie, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Subhag P. Oak, Sreeram Nivarthi, Stefan H. Pharies, Suzanne M. Cook, Susan M. Warren, Tarun Anand, Travis J. Muhlestein, William A. Adams, Yan Leshinsky, Yann E. Christensen, Yung-shin Lin, Stephen J. Millet, Joseph Roxe, Alan Boshier, Henry L. Sanders, David Bau
  • Patent number: 7571428
    Abstract: Reliability contracts declare an intent of executable code, and may be associated with at least a portion of the executable code. The intent of the executable code in the face of particular conditions may be declared for the use in any one of a programming, execution, or testing environment.
    Type: Grant
    Filed: May 14, 2004
    Date of Patent: August 4, 2009
    Assignee: Microsoft Corporation
    Inventors: Rudi Martin, Mahesh Prakriya, Brian M. Grunkemeyer, Christopher W. Brumme, Sean E. Trowbridge, Weiwen Liu
  • Patent number: 7555757
    Abstract: An application program interface (API) provides a set of functions, including a set of base classes and types that are used in substantially all applications accessing the API, for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Grant
    Filed: June 23, 2005
    Date of Patent: June 30, 2009
    Assignee: Microsoft Corporation
    Inventors: Adam W. Smith, Anthony J. Moore, Brian A. LaMacchia, Anders Hejlsberg, Brian M. Grunkemeyer, Caleb L. Doise, Christopher W. Brumme, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Takacs, David S. Ebbo, David O. Driver, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Gopala Krishna R. Kakivaya, George D. Fee, Hany E. Ramadan, Henry L. Sanders, II, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Krzysztof J. Cwalina, Lance E. Olson, Loren M. Kohnfelder, Michael M. Magruder, Manish S. Prabhu, Radu Rares Palanca, Raja Krishnaswamy, Shawn P. Burke, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Stefan H. Pharies, Suzanne M. Cook, Tarun Anand, Travis J. Muhlestein, Yann E. Christensen, Yung-shin Lin, Ramasamy Krishnaswamy, Joseph Roxe, Alan Boshier, David Bau
  • Publication number: 20090100435
    Abstract: Scheduling system resources. A system resource scheduling policy for scheduling operations within a workload is accessed. The policy is specified on a workload basis such that the policy is specific to the workload. System resources are reserved for the workload as specified by the policy. Reservations may be hierarchical in nature where workloads are also hierarchically arranged. Further, dispatching mechanisms for dispatching workloads to system resources may be implemented independent from policies. Feedback regarding system resource use may be used to determine policy selection for controlling dispatch mechanisms.
    Type: Application
    Filed: October 11, 2007
    Publication date: April 16, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Efstathios Papaefstathiou, Sean E. Trowbridge, Eric Dean Tribble, Stanislav A. Oks
  • Patent number: 7516441
    Abstract: A system and method of providing edit and continue support in a software program debugging environment. “Edit and continue” support allows a user (e.g., programmer and/or developer) to update the code and/or data structure(s) of an executing program while it is running. After the user has finished editing their code and resumes execution, an integrated development environment (IDE) propagates the edit(s) into a common language runtime (CLR) environment before continuing. Therefore, from the CLR environment's perspective, an edit is a block of intermediate language code (IL) and/or metadata that is inserted into a running process. Moreover, The IDE can facilitate: determining “legality” of an edit; building the edit; sending the edit to the CLR environment; and/or, facilitating the CLR environment switch execution to the edited code.
    Type: Grant
    Filed: July 21, 2004
    Date of Patent: April 7, 2009
    Assignee: Microsoft Corporation
    Inventors: Jennifer A Hamilton, Michael M Magruder, James H Hogg, William G Evans, Vance P Morrison, Lawrence B Sullivan, Sean E Trowbridge, Jason L Zander, Ian H Carmichael, Patrick H Dussud, John L Hamby, John J Rivard, Li Zhang, Mario Chenier, Douglas Rosen, Steven J Steiner, Peter A Hallam, Brian R Crawford, James S Miller, Sam Spencer, Habib Heydarian
  • Patent number: 7487498
    Abstract: A strategy is described for assisting a supplier in updating code without negatively impacting preexisting applications that may interact with the original or updated code. In this strategy, a resource is transferred from a first code module to a second code module. So that the applications that utilize the resource can continue to access this resource, the strategy adds forwarding information to a new version of the first code module. The forwarding information provides a note which shows the Common Language Runtime (CLR) where to find the specified resource when the code modules are executed.
    Type: Grant
    Filed: November 12, 2003
    Date of Patent: February 3, 2009
    Assignee: Microsoft Corporation
    Inventors: James H. Hogg, William G. Evans, Suzanne M. Cook, Sean E. Trowbridge
  • Patent number: 7487380
    Abstract: Deterministic code execution may be recovered for programs or portions thereof by implementing a programmable policy on a system host to escalate the scope of a code discard based on various parameters.
    Type: Grant
    Filed: October 14, 2004
    Date of Patent: February 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Christopher W Brumme, WeiWen Liu, Mahesh Prakriya, Sean E Trowbridge, Ian H Carmichael, Patrick H Dussud, Brian M Grunkemeyer
  • Patent number: 7418718
    Abstract: Systems and methods for enhanced runtime hosting are described. In one aspect the runtime hosting interface includes a host abstraction interface. The HAI allowing the runtime to configure host execution environment parameters and/or notify the host of a runtime event. In particular, the host abstraction interface (HAI) corresponds to execution environment abstractions supported by a host application. Responsive to an action or event, the runtime invokes an identified HAI or an associated object during execution of runtime managed code.
    Type: Grant
    Filed: February 3, 2004
    Date of Patent: August 26, 2008
    Assignee: Microsoft Corporation
    Inventors: Weiwen Liu, Steven J. Pratschner, Ian H. Carmichael, Peter A. Carlin, Christopher W. Brumme, Mason K. Bendixen, Beysim Sezgin, Sean E. Trowbridge, Christopher James Brown, Mei-Chin Tsai, Mahesh Prakriya, Raja Krishnaswamy, Alan C. Shi, Suzanne Maurine Cook
  • Patent number: 7409675
    Abstract: Systems and methods provide for the rewriting and transformation of a code unit through an extensible, composable, set of code rewriters that can be implemented at various phases throughout the development, deployment, and execution of the code unit. The described systems and methods provide a powerful way for program developers and system administrators to implement code transformations at different stages throughout the development, deployment, and execution of programs that is largely independent of such programs and does not significantly increase the complexity of the source programs, compilers, or execution environments.
    Type: Grant
    Filed: February 27, 2004
    Date of Patent: August 5, 2008
    Assignee: Microsoft Corporation
    Inventors: Christopher W. Brumme, Jan Gray, Jonathan C. Hawkins, Alan C. Shi, Sean E. Trowbridge
  • Patent number: 7367015
    Abstract: A method and system are disclosed for editing a software program in a common language runtime environment, wherein the software program has a source code component, an intermediate language component, and a native code component. The method comprises executing a first portion of the native code component, suspending execution of the native code component at a first point, and allowing a user to edit the source code component to create an edited source code component. The edited source code component is compiled using a source compiler to create an edited intermediate language component, and the edited intermediate language component is compiled using an intermediate language compiler to create an edited native code component. The edited native code component is then executed beginning at the point where execution was previously suspended.
    Type: Grant
    Filed: August 25, 2004
    Date of Patent: April 29, 2008
    Assignee: Microsoft Corporation
    Inventors: William G. Evans, Jennifer A Hamilton, Michael M Magruder, Vance P Morrison, Lawrence B Sullivan, Sean E Trowbridge, Jason L Zander