Patents by Inventor Craig Sinclair

Craig Sinclair 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: 20100249994
    Abstract: Provided herein are systems, methods, and compositions for an express checkout vending machine that includes an input unit, a video display screen, and a communication unit. The vending machine also includes a dispensing unit adapted to receive and internally bag self-purchase items.
    Type: Application
    Filed: March 30, 2009
    Publication date: September 30, 2010
    Inventor: Craig Sinclair
  • Publication number: 20070005593
    Abstract: In a matching system one or more related techniques use correlators to match entities and to look up metadata. Correlators are names that enable the matching system to associate entities with other entities. Attributes comprised of name/value pairs are used by the matching system to determine if two entities match. When two entities match, a process associated with an entity may be executed using the data associated with one or both of the matching entities. If the matching system is unable to determine a best match, all matching entities are provided to another process or human for further review. The matching system provides for the injection of new entities or correlators, to dynamically change the behavior of the system. Entities can be defined using a hierarchy, so that some of the entity properties are defined through an inheritance relationship with parent entities.
    Type: Application
    Filed: June 30, 2005
    Publication date: January 4, 2007
    Applicant: Microsoft Corporation
    Inventors: Joseph Self, Craig Sinclair, Gregory Fee, Marcelo Uemura, William Devlin, Pravin Indurkar, David Bozich, Tracey Trewin, Jayesh Rege, Gregory Eisenberg, Jeanine Spence
  • Publication number: 20070005623
    Abstract: The present application describes a framework for a process oriented message driven workflow programming model where a complex process can be modeled by breaking down the complex process into a coarse grained series of atomic processes that interact through messages. A process is represented as a data structure that includes typed properties and one or more actions. The typed properties are used to associate a process with an incoming message, and the actions are steps that are executed when certain conditions are met by message properties and process data structure properties. A process action may add one or more properties to the process and/or modify an existing property. Processes are invoked and communicate solely through messages. When a process is executed, results of the execution are communicated to one or more other processes or external applications with messages that include any new and/or modified properties.
    Type: Application
    Filed: June 30, 2005
    Publication date: January 4, 2007
    Applicant: Microsoft Corporation
    Inventors: Joseph Self, Craig Sinclair, Gregory Fee, Marcelo Uemura, William Devlin, Pravin Indurkar, David Bozich, Tracey Trewin, Jayesh Rege, Gregory Eisenberg, Jeanine Spence, Wilf Russell, James Waletzky
  • Publication number: 20050246716
    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: Application
    Filed: June 23, 2005
    Publication date: November 3, 2005
    Applicant: Microsoft Corporation
    Inventors: Adam Smith, Anthony Moore, Brian LaMacchia, Anders Hejlsberg, Brian Grunkemeyer, Caleb Doise, Christopher Brumme, Christopher Anderson, Corina Feuerstein, Craig Sinclair, Daniel Takacs, David Ebbo, David Driver, David Mortenson, Erik Christensen, Erik Olson, Fabio Yeon, Gopala Kakivaya, Gregory Fee, Hany Ramadan, Henry Sanders, Jayanth Rajan, Jeffrey Cooperstein, Jonathan Hawkins, James Hogg, Joe Long, John McConnell, Jesus Ruiz-Scougall, James Miller, Julie Bennett, Krzysztof Cwalina, Lance Olson, Loren Kohnfelder, Michael Magruder, Manish Prabhu, Radu Palanca, Raja Krishnaswamy, Shawn Burke, Sean Trowbridge, Seth Demsey, Shajan Dasan, Stefan Pharies, Suzanne Cook, Tarun Anand, Travis Muhlestein, Yann Christensen, Yung-shin Lin, Ramasamy Krishnaswamy, Joseph Roxe, Alan Boshier, David Bau
  • Publication number: 20050240943
    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: Application
    Filed: June 23, 2005
    Publication date: October 27, 2005
    Applicant: Microsoft Corporation
    Inventors: Adam Smith, Anthony Moore, Brian LaMacchia, Anders Hejlsberg, Biran Grunkemeyer, Caleb Doise, Christopher Brumme, Christopher Anderson, Corina Feuerstein, Craig Sinclair, Daniel Takacs, David Ebbo, David Driver, David Mortenson, Erik Christensen, Erik Olson, Fabio Yeon, Gopala Kakivaya, George Fee, Hany Ramadan, Henry Sanders, Jayanth Rajan, Jeffrey Cooperstein, Jonathan Hawkins, James Hogg, Joe Long, John McConnell, Jesus Ruiz-Scougall, James Miller, Julie Bennett, Krzysztof Cwalina, Lance Olson, Loren Kohnfelder, Michael Magruder, Manish Prabhu, Radu Palanca, Raja Krishnaswamy, Shawn Burke, Sean Trowbridge, Seth Demsey, Shajan Dasan, Stefan Pharies, Suzanne Cook, Tarun Anand, Travis Muhlestein, Yann Christensen, Yung-shin Lin, Ramasamy Krishnaswamy, Joseph Roxe, Alan Boshier, David Bau
  • Publication number: 20050015753
    Abstract: Performing validation of a derived virtual method includes receiving program code where the derived virtual method is derived from a virtual method of the program language used to generate the program code, compiling the program code to an intermediate language expression, generating metadata descriptive of the compiled program code, validating the use of the derived virtual method by accessing the metadata, and permitting the use of the derived virtual method if the metadata grants override permissions concerning the virtual method of the programming language. The metadata indicating access and override permissions may be generated while compiling the program code in the common language infrastructure. Alternately, the flag may use pre-existing values indicative of the access and override permissions concerning the virtual method of the programming language.
    Type: Application
    Filed: July 18, 2003
    Publication date: January 20, 2005
    Inventors: Erik Meijer, Craig Sinclair, James Hogg, Peter Golde, Sergey Lidin, Christopher Brumme