Patents by Inventor John Hamby
John Hamby 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: 10104954Abstract: The portable tray for a folding chair is a table. The portable tray for a folding chair is configured for use with a drink holder. The portable tray for a folding chair attaches to the drink holder such that a portion of the load path of the portable tray for a folding chair transfers through the drink holder to the supporting surface that supports the structure containing the drink holder. The portable tray for a folding chair comprises a tray, a telescopic stanchion, and a stabilizer. The tray is a horizontal surface that is used to support objects. The telescopic stanchion is a vertical support that raises the tray above the supporting surface. The stabilizer is a device that attaches the tray to the drink holder. The vertical span of the telescopic stanchion is adjustable.Type: GrantFiled: October 24, 2017Date of Patent: October 23, 2018Inventor: John Hamby
-
Patent number: 7934380Abstract: One aspect relates to an apparatus having a combustion chamber and a duct in fluid flow communication with the combustion chamber. The apparatus includes at least one opening adapted for delivering a liquid fuel into the duct. The apparatus further includes at least one passage adapted for delivery of a gas upstream of the at least one opening for minimizing the entrance of a fluid other than the gas into the fuel delivery opening.Type: GrantFiled: October 26, 2007Date of Patent: May 3, 2011Assignee: Rolls-Royce Power Engineering plcInventors: Matthew Christopher Innes, Walter Kasimierz Omielan, Richard John Hamby
-
Patent number: 7620944Abstract: Techniques are disclosed to support the resolution of an operator which has been called with inconsistent typing and at least one operand of a user-defined type. In order to allow the compilation of such an operation, first all possible widening conversions for each operand are examined to determine if any widening conversions of any operands would result in types over which the operator is defined. If not, both the narrowing and the widening conversions of each operand are considered, to determine if any conversions of either or both operands would result in types for which the operator is defined. If only widening conversions are used, the most encompassed possible result type is selected as the target type. If a narrowing conversion is used, the most encompassing possible result type is selected as the target type. In order to use the target type, each operand is converted to the target type. The operation is then performed using the converted operands.Type: GrantFiled: October 31, 2003Date of Patent: November 17, 2009Assignee: Microsoft CorporationInventors: Cameron Beccario, Paul Vick, Harish Venkata Kantamneni, Amanda Silver, John Hamby
-
Publication number: 20060020446Abstract: The present invention adds support for concurrency to a mainstream object-oriented language. Language extensions are provided that can enable programs to be developed that can either be run in one address space, distributed across several process on a single computer, or distributed across a local-area or wide-area network, without recoding the program. Central to this aspect is the notion of a service, which can execute its own algorithmic (logical) thread. Services do not share memory or synchronize using explicit synchronization primitives. Rather, both data sharing and synchronization is accomplished via message-passing, e.g., a set of explicitly declared messages are sent between services. Messages can contain data that is shared, and the pattern of message exchange provide the necessary synchronization.Type: ApplicationFiled: July 9, 2004Publication date: January 26, 2006Applicant: Microsoft CorporationInventors: John Hamby, Niklas Gustafsson, Jason Allen
-
Publication number: 20050097532Abstract: Techniques are disclosed to support the resolution of an operator which has been called with inconsistent typing and at least one operand of a user-defined type. In order to allow the compilation of such an operation, first all possible widening conversions for each operand are examined to determine if any widening conversions of any operands would result in types over which the operator is defined. If not, both the narrowing and the widening conversions of each operand are considered, to determine if any conversions of either or both operands would result in types for which the operator is defined. If only widening conversions are used, the most encompassed possible result type is selected as the target type. If a narrowing conversion is used, the most encompassing possible result type is selected as the target type. In order to use the target type, each operand is converted to the target type. The operation is then performed using the converted operands.Type: ApplicationFiled: October 31, 2003Publication date: May 5, 2005Inventors: Cameron Beccario, Paul Vick, Harish Kantamneni, Amanda Silver, John Hamby
-
Publication number: 20050034109Abstract: 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. 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: ApplicationFiled: July 21, 2004Publication date: February 10, 2005Applicant: Microsoft CorporationInventors: Jennifer Hamilton, Michael Magruder, James Hogg, William Evans, Vance Morrison, Lawrence Sullivan, Sean Trowbridge, Jason Zander, Ian Carmichael, Patrick Dussud, John Hamby, John Rivard, Li Zhang, Mario Chenier, Douglas Rosen, Steven Steiner, Peter Hallam, Brian Crawford, James Miller, Sam Spencer, Habib Heydarian
-
Patent number: 6067413Abstract: Method for enabling the simultaneous use of a first and a second programming language within a computer program, and apparatus to practice the method. To enable this sharing of languages, the present invention first provides for a common runtime representation of the data between the several languages in a program as a shared object model. The shared object model includes the layout of complex data structures (e.g., classes), the creation of data, the calling conventions, the destruction of data, the runtime representation of type information, dynamic function call dispatch, and dynamic type conversions. The use of a shared object model enables the sharing of the several compilers' internal representation of data between the different languages as a persistent shared symbol table. This shared internal data representation enables the several compilers to define their respective internal data representations in terms common to each of the compilers.Type: GrantFiled: June 13, 1996Date of Patent: May 23, 2000Assignee: Instantations, Inc.Inventors: Niklas Gustafsson, John Hamby
-
Patent number: 5848274Abstract: An incremental byte code compiler which provides a high-performance execution environment for dynamically linked languages and for distributed target-independent applications. The execution environment provided by the present invention includes an incremental byte code compiler for generating IL symbols and code objects from a byte code source file, a persistent symbol table for storing the IL symbols and code objects, and an incremental imager for dynamically forming the image of the program from the code objects. The present invention further provides an extremely efficient methodology for dynamically adding program elements to a program under execution.Type: GrantFiled: May 10, 1996Date of Patent: December 8, 1998Assignee: Supercede, Inc.Inventors: John Hamby, Niklas Gustafsson, Patrick Lau
-
Patent number: 5764989Abstract: An interactive program development system which replaces compilers, linkers and debuggers required for conventional software development. The present invention comprises a new program compilation system for producing a novel type of translated structure called a code object, and an Incremental Image which forms the program image from code objects and their respective intermediate language symbols stored in a persistent symbol table. The new program compilation system operates on conventional computers having a CPU, monitor, memory system and input devices. The present invention obviates the need to halt execution of a program under development or during maintenance update to correct programming errors.Type: GrantFiled: February 29, 1996Date of Patent: June 9, 1998Assignee: Supercede, Inc.Inventors: Niklas Gustafsson, John Hamby, Patrick Lau