Patents by Inventor James S. Miller
James S. Miller 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: 8762976Abstract: Various technologies and techniques are disclosed for generating add-in bridges that allow hosts to be extended using a dynamic language. The system programmatically determines static requirements that an add-in is required to implement in order to integrate with a particular host. The system programmatically generates the add-in bridge to conform to the requirements of the particular host and to operate like a compiled add-in while actually calling dynamic language script files that are executed by a scripting engine. The add-in bridge is generated by generating a component for the add-in that contains at least one class to conform to the host requirements. A constructor is then generated for the class. For each method the add-in is required to implement, a respective method is generated in the class that provides a stub implementation but that calls dynamic-language script files to perform a desired functionality.Type: GrantFiled: March 9, 2007Date of Patent: June 24, 2014Assignee: Microsoft CorporationInventors: Jesse D. Kaplan, John C. Gudenkauf, James S. Miller
-
Patent number: 8615743Abstract: In a managed execution environment, an error may be deferred until execution of the application, program, function, or other assemblage of code reaches a point at which calling the reference to a module associated with a missing type or type member becomes inevitable.Type: GrantFiled: February 27, 2006Date of Patent: December 24, 2013Assignee: Microsoft CorporationInventors: James S. Miller, Thomas E. Quinn
-
Patent number: 8490051Abstract: Various technologies and techniques are disclosed for providing a common generic interface for numeric types in statically typed languages. The common generic interface defines basic arithmetic operations, thereby allowing basic arithmetic operations to be performed on the numeric types. The common generic interface provides support for overflow detection when a result of an operation being performed on a particular numeric type will result in an overflow situation when the operation does not fit within a range supported by the particular numeric types. The common generic interface provides support for one or more mathematical properties to be retrieved for a particular one of the numeric types being used in a particular circumstance.Type: GrantFiled: February 28, 2007Date of Patent: July 16, 2013Assignee: Microsoft CorporationInventors: Melitta Andersen, James S. Miller, Anthony J. Moore, Ariel Weinstein, Josh Free
-
Patent number: 8402532Abstract: Various technologies and techniques are disclosed for providing host control of partial trust accessibility. A framework allows libraries to be identified as partial trust callers allowed to indicate that the libraries are allowed to be called from partially trusted code by default. The framework allows libraries to be identified as partial trust callers enabled to indicate the libraries could be called from partially trusted code, but not by default. A hosting application is notified that a particular library has been loaded. If the particular library has been identified as partial trust callers allowed, then a determination is received from the hosting application on whether to remove or keep partial trust accessibility for the particular library. If the particular library has been identified as partial trust callers enabled, then a determination is received from the hosting application on whether or not to enable partial trust accessibility for the particular library.Type: GrantFiled: May 10, 2007Date of Patent: March 19, 2013Assignee: Microsoft CorporationInventors: Michael D. Downen, Raja Krishnaswamy, Charles William Kaufman, James S. Miller, Stephen Fisher
-
Publication number: 20120072890Abstract: A type system includes a dual representation for basic data types. One representation is the basic data type representation common to such basic built-in data types, known as an unboxed value type or simply as a value type. Each of the basic data types also has a boxed representation that can be stored in the object hierarchy of the type system. This dual representation can also be extended to user-defined types, so that user-defined types may exist both as an unboxed value type and as an object within the object hierarchy of the type system. This dual representation allows the compiler and/or runtime environment to select the most effective and efficient representation for the data type depending on the particular need at the moment.Type: ApplicationFiled: October 14, 2011Publication date: March 22, 2012Applicant: Microsoft CorporationInventors: George H. Bosworth, Patrick H. Dussud, James S. Miller, Daryl B. Olander
-
Patent number: 8065668Abstract: A type system includes a dual representation for basic data types. One representation is the basic data type representation common to such basic built-in data types, known as an unboxed value type or simply as a value type. Each of the basic data types also has a boxed representation that can be stored in the object hierarchy of the type system. This dual representation can also be extended to user-defined types, so that user-defined types may exist both as an unboxed value type and as an object within the object hierarchy of the type system. This dual representation allows the compiler and/or runtime environment to select the most effective and efficient representation for the data type depending on the particular need at the moment.Type: GrantFiled: May 17, 2004Date of Patent: November 22, 2011Assignee: Microsoft CorporationInventors: George H. Bosworth, Patrick H. Dussud, James S. Miller, Daryl B. Olander
-
Patent number: 7941793Abstract: 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: GrantFiled: August 16, 2006Date of Patent: May 10, 2011Assignee: Microsoft CorporationInventors: Gopala Krishna R. Kakivaya, Christopher W. Brumme, James S. Miller, Vance P. Morrison, David S. Mortenson, Sean E. Trowbridge
-
Patent number: 7917893Abstract: Various technologies and techniques are disclosed for using annotations in contracts to generate views and adapters. A framework is provided that supports annotations that can be used in a contract to allow a user to express how one or more members of the contract should be represented in at least one view, and to express how to adapt the members in at least one adapter. Annotations can also be used to indicate which of the components should be programmatically generated. The contract is accessed and at least a portion of the at least one view and the at least one adapter are generated based on the annotations and other information contained in the contract. For example, source code can programmatically be generated for a host side view, an add-in side view, a host side adapter, and an add-in side adapter using the various contract details and the annotations.Type: GrantFiled: March 7, 2007Date of Patent: March 29, 2011Assignee: Microsoft CorporationInventors: Jesse D. Kaplan, John C. Gudenkauf, James S. Miller, Pete Sheill, Zifeng He
-
Patent number: 7890320Abstract: Various technologies and techniques are disclosed for providing a numeric tower that represents a structure supporting statically defined numeric data types. The numeric data types each are operable to implement a different but accurate representation of a particular value. Numeric operations are supported for the numeric tower that can be performed with any of the statically defined numeric data types. The numeric tower is extensible, and allows for additional statically defined numeric data types to be added, as well as operations. The numeric tower is also operable to detect overflow situations. For example, suppose a result of an operation will result in an overflow situation because the operation does not fit within a range supported by the particular numeric type. The system converts the numeric type to a different one of the numeric data types when the result does not fit within a range supported by the first one.Type: GrantFiled: April 17, 2007Date of Patent: February 15, 2011Assignee: Microsoft CorporationInventors: Melitta Andersen, Ryan Byington, Brian Grunkemeyer, James S. Miller, Anthony J. Moore, Ariel Weinstein
-
Patent number: 7743363Abstract: Meta-data of compiled code may have a corresponding description of the schema for meta-data, to allow for deviations from a schema standard.Type: GrantFiled: October 13, 2005Date of Patent: June 22, 2010Assignee: Microsoft CorporationInventors: Christopher W. Brumme, James H. Hogg, James S. Miller, Sergey Lidin
-
Patent number: 7735071Abstract: A method and system for compiling multiple source language files that share a common library. The common library is represented in a common language that can be used by multiple different source languages. Font end compiler systems read the common language files that make up the common library and the source language files that use the library. Additionally, the front end systems produce common language files. The common language files produced by the front end systems can be used in the common library. The common language files may also be supplied to a back end system or runtime environment that further compiles the common language file to an executable form and executes the file. At runtime, the common language file is used by the runtime environment to layout the objects and methods used during execution.Type: GrantFiled: July 12, 2004Date of Patent: June 8, 2010Assignee: Microsoft CorporationInventors: Bradley M. Abrams, George H. Bosworth, Christopher W. Brumme, Patrick H. Dussud, Brian D. Harry, James S. Miller, Vance P. Morrison
-
Patent number: 7634578Abstract: Node-to-node communication pipelines may include code modules that are configured and assembled across a protocol according to dynamically input module-specific parameters. The parameters may be input to a service into which the modules are registered, and one or more appropriate pipelines may be dynamically assembled.Type: GrantFiled: July 14, 2005Date of Patent: December 15, 2009Assignee: Microsoft CorporationInventors: Brian K. Pepin, James S. Miller, Jeffrey Richter, Thomas E. Quinn
-
Patent number: 7606396Abstract: A multimodal biometric identification or authentication system includes a plurality of biometric clients. Each of the biometric clients may include devices for capturing biometric images of a plurality of types. The system includes a router in communication with the biometric clients. The router receives biometric images from, and returns biometric scores or results to, the biometric clients. The system includes a plurality of biometric matching engines in communication with the router. Each biometric matching engine includes multiple biometric processors. Each biometric processor is adapted to process biometric data of a particular type. The biometric matching engines transmit and receive biometric data to and from the router.Type: GrantFiled: October 29, 2007Date of Patent: October 20, 2009Assignee: ImageWare Systems, Inc.Inventors: James S. Miller, William Frederic Willis, Johann Herbert Lau, Daniel Dlab
-
Patent number: 7596246Abstract: A multimodal biometric identification or authentication system includes a plurality of biometric clients. Each of the biometric clients may include devices for capturing biometric images of a plurality of types. The system includes a router in communication with the biometric clients. The router receives biometric images from, and returns biometric scores or results to, the biometric clients. The system includes a plurality of biometric matching engines in communication with the router. Each biometric matching engine includes multiple biometric processors. Each biometric processor is adapted to process biometric data of a particular type. The biometric matching engines transmit and receive biometric data to and from the router.Type: GrantFiled: October 29, 2007Date of Patent: September 29, 2009Inventors: James S. Miller, Jr., William Frederic Willis, Johann Herbert Lau, Daniel Dlab
-
Patent number: 7581231Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET™ platform.Type: GrantFiled: February 28, 2002Date of Patent: August 25, 2009Assignee: Microsoft CorporationInventors: 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: 7555757Abstract: 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: GrantFiled: June 23, 2005Date of Patent: June 30, 2009Assignee: Microsoft CorporationInventors: 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
-
Patent number: 7516441Abstract: 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: GrantFiled: July 21, 2004Date of Patent: April 7, 2009Assignee: Microsoft CorporationInventors: 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
-
Publication number: 20080282315Abstract: Various technologies and techniques are disclosed for providing host control of partial trust accessibility. A framework allows libraries to be identified as partial trust callers allowed to indicate that the libraries are allowed to be called from partially trusted code by default. The framework allows libraries to be identified as partial trust callers enabled to indicate the libraries could be called from partially trusted code, but not by default. A hosting application is notified that a particular library has been loaded. If the particular library has been identified as partial trust callers allowed, then a determination is received from the hosting application on whether to remove or keep partial trust accessibility for the particular library. If the particular library has been identified as partial trust callers enabled, then a determination is received from the hosting application on whether or not to enable partial trust accessibility for the particular library.Type: ApplicationFiled: May 10, 2007Publication date: November 13, 2008Applicant: Microsoft CorporationInventors: Michael D. Downen, Raja Krishnaswamy, Charles William Kaufman, James S. Miller, Stephen Fisher
-
Publication number: 20080262801Abstract: Various technologies and techniques are disclosed for providing a numeric tower that represents a structure supporting statically defined numeric data types. The numeric data types each are operable to implement a different but accurate representation of a particular value. Numeric operations are supported for the numeric tower that can be performed with any of the statically defined numeric data types. The numeric tower is extensible, and allows for additional statically defined numeric data types to be added, as well as operations. The numeric tower is also operable to detect overflow situations. For example, suppose a result of an operation will result in an overflow situation because the operation does not fit within a range supported by the particular numeric type. The system converts the numeric type to a different one of the numeric data types when the result does not fit within a range supported by the first one.Type: ApplicationFiled: April 17, 2007Publication date: October 23, 2008Applicant: Microsoft CorporationInventors: Melitta Andersen, Ryan Byington, Brian Grunkemeyer, James S. Miller, Anthony J. Moore, Ariel Weinstein
-
Publication number: 20080222627Abstract: Various technologies and techniques are disclosed for generating add-in bridges that allow hosts to be extended using a dynamic language. The system programmatically determines static requirements that an add-in is required to implement in order to integrate with a particular host. The system programmatically generates the add-in bridge to conform to the requirements of the particular host and to operate like a compiled add-in while actually calling dynamic language script files that are executed by a scripting engine. The add-in bridge is generated by generating a component for the add-in that contains at least one class to conform to the host requirements. A constructor is then generated for the class. For each method the add-in is required to implement, a respective method is generated in the class that provides a stub implementation but that calls dynamic-language script files to perform a desired functionality.Type: ApplicationFiled: March 9, 2007Publication date: September 11, 2008Applicant: Microsoft CorporationInventors: Jesse D. Kaplan, John C. Gudenkauf, James S. Miller