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).

  • Publication number: 20120072890
    Abstract: 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: Application
    Filed: October 14, 2011
    Publication date: March 22, 2012
    Applicant: Microsoft Corporation
    Inventors: George H. Bosworth, Patrick H. Dussud, James S. Miller, Daryl B. Olander
  • Patent number: 8065668
    Abstract: 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: Grant
    Filed: May 17, 2004
    Date of Patent: November 22, 2011
    Assignee: Microsoft Corporation
    Inventors: George H. Bosworth, Patrick H. Dussud, James S. Miller, Daryl B. Olander
  • 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: 7917893
    Abstract: 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: Grant
    Filed: March 7, 2007
    Date of Patent: March 29, 2011
    Assignee: Microsoft Corporation
    Inventors: Jesse D. Kaplan, John C. Gudenkauf, James S. Miller, Pete Sheill, Zifeng He
  • Patent number: 7890320
    Abstract: 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: Grant
    Filed: April 17, 2007
    Date of Patent: February 15, 2011
    Assignee: Microsoft Corporation
    Inventors: Melitta Andersen, Ryan Byington, Brian Grunkemeyer, James S. Miller, Anthony J. Moore, Ariel Weinstein
  • Patent number: 7743363
    Abstract: 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: Grant
    Filed: October 13, 2005
    Date of Patent: June 22, 2010
    Assignee: Microsoft Corporation
    Inventors: Christopher W. Brumme, James H. Hogg, James S. Miller, Sergey Lidin
  • Patent number: 7735071
    Abstract: 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: Grant
    Filed: July 12, 2004
    Date of Patent: June 8, 2010
    Assignee: Microsoft Corporation
    Inventors: Bradley M. Abrams, George H. Bosworth, Christopher W. Brumme, Patrick H. Dussud, Brian D. Harry, James S. Miller, Vance P. Morrison
  • Patent number: 7634578
    Abstract: 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: Grant
    Filed: July 14, 2005
    Date of Patent: December 15, 2009
    Assignee: Microsoft Corporation
    Inventors: Brian K. Pepin, James S. Miller, Jeffrey Richter, Thomas E. Quinn
  • Patent number: 7606396
    Abstract: 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: Grant
    Filed: October 29, 2007
    Date of Patent: October 20, 2009
    Assignee: ImageWare Systems, Inc.
    Inventors: James S. Miller, William Frederic Willis, Johann Herbert Lau, Daniel Dlab
  • Patent number: 7596246
    Abstract: 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: Grant
    Filed: October 29, 2007
    Date of Patent: September 29, 2009
    Inventors: James S. Miller, Jr., William Frederic Willis, Johann Herbert Lau, Daniel Dlab
  • 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: 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
  • 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
  • Publication number: 20080282315
    Abstract: 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: Application
    Filed: May 10, 2007
    Publication date: November 13, 2008
    Applicant: Microsoft Corporation
    Inventors: Michael D. Downen, Raja Krishnaswamy, Charles William Kaufman, James S. Miller, Stephen Fisher
  • Publication number: 20080262801
    Abstract: 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: Application
    Filed: April 17, 2007
    Publication date: October 23, 2008
    Applicant: Microsoft Corporation
    Inventors: Melitta Andersen, Ryan Byington, Brian Grunkemeyer, James S. Miller, Anthony J. Moore, Ariel Weinstein
  • Publication number: 20080222627
    Abstract: 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: Application
    Filed: March 9, 2007
    Publication date: September 11, 2008
    Applicant: Microsoft Corporation
    Inventors: Jesse D. Kaplan, John C. Gudenkauf, James S. Miller
  • Publication number: 20080222598
    Abstract: 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: Application
    Filed: March 7, 2007
    Publication date: September 11, 2008
    Applicant: Microsoft Corporation
    Inventors: Jesse D. Kaplan, John C. Gudenkauf, James S. Miller, Pete Sheill, Zifeng He
  • Publication number: 20080209394
    Abstract: 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: Application
    Filed: February 28, 2007
    Publication date: August 28, 2008
    Applicant: Microsoft Corporation
    Inventors: Melitta Andersen, James S. Miller, Anthony J. Moore, Ariel Weinstein, Josh Free
  • Publication number: 20070240120
    Abstract: 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: Application
    Filed: February 27, 2006
    Publication date: October 11, 2007
    Inventors: James S. Miller, Thomas E. Quinn
  • Patent number: 7266804
    Abstract: A strategy is described for associating an InternalsVisibleTo (IVT) attribute with a non-public resource of a first assembly. The IVT attribute names a second assembly. By virtue of the IVT attribute, during runtime, the non-public resource in the first assembly is made visible to the second assembly. In addition to naming the second assembly, the IVT attribute can include a number of optional arguments, such as arguments which specify the version, culture, and public key token associated with the second assembly.
    Type: Grant
    Filed: February 20, 2004
    Date of Patent: September 4, 2007
    Assignee: Microsoft Corporation
    Inventors: James H. Hogg, Christopher W. Brumme, James S. Miller, William G. Evans