Patents by Inventor Michael Coulson

Michael Coulson 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: 9465631
    Abstract: An automatic caching system is described herein that automatically determines user-relevant points at which to incrementally cache expensive to obtain data, resulting in faster computation of dependent results. The system can intelligently choose between caching data locally and pushing computation to a remote location collocated with the data, resulting in faster computation of results. The automatic caching system uses stable keys to uniquely refer to programmatic identifiers. The system annotates programs before execution with additional code that utilizes the keys to associate and cache intermediate programmatic results. The system can maintain the cache in a separate process or even on a separate machine to allow cached results to outlive program execution and allow subsequent execution to utilize previously computed results. Cost estimations are performed in order to choose whether utilizing cached values or remote execution would result in a faster computation of a result.
    Type: Grant
    Filed: November 10, 2011
    Date of Patent: October 11, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Michael Coulson, Gregory Hughes
  • Patent number: 9436581
    Abstract: A dynamic, lazy type system is provided for a dynamic, lazy programming language. Consequently, programs can benefit from runtime flexibility and lightweight notation in combination with benefits afforded by a substantial type system.
    Type: Grant
    Filed: June 9, 2015
    Date of Patent: September 6, 2016
    Assignee: Microsoft Technology Licensing LLC
    Inventors: Erik Christensen, Michael Coulson, Clemens Szyperski, Gregory Hughes
  • Publication number: 20150278072
    Abstract: A dynamic, lazy type system is provided for a dynamic, lazy programming language. Consequently, programs can benefit from runtime flexibility and lightweight notation in combination with benefits afforded by a substantial type system.
    Type: Application
    Filed: June 9, 2015
    Publication date: October 1, 2015
    Inventors: Erik Christensen, Michael Coulson, Clemens Szyperski, Gregory Hughes
  • Patent number: 9081893
    Abstract: A dynamic, lazy type system is provided for a dynamic, lazy programming language. Consequently, programs can benefit from runtime flexibility and lightweight notation in combination with benefits afforded by a substantial type system.
    Type: Grant
    Filed: June 17, 2011
    Date of Patent: July 14, 2015
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Erik Christensen, Michael Coulson, Clemens Szyperski, Gregory Hughes
  • Publication number: 20130086327
    Abstract: An automatic caching system is described herein that automatically determines user-relevant points at which to incrementally cache expensive to obtain data, resulting in faster computation of dependent results. The system can intelligently choose between caching data locally and pushing computation to a remote location collocated with the data, resulting in faster computation of results. The automatic caching system uses stable keys to uniquely refer to programmatic identifiers. The system annotates programs before execution with additional code that utilizes the keys to associate and cache intermediate programmatic results. The system can maintain the cache in a separate process or even on a separate machine to allow cached results to outlive program execution and allow subsequent execution to utilize previously computed results. Cost estimations are performed in order to choose whether utilizing cached values or remote execution would result in a faster computation of a result.
    Type: Application
    Filed: November 10, 2011
    Publication date: April 4, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Michael Coulson, Gregory Hughes
  • Publication number: 20120216077
    Abstract: A dynamic, lazy type system is provided for a dynamic, lazy programming language. Consequently, programs can benefit from runtime flexibility and lightweight notation in combination with benefits afforded by a substantial type system.
    Type: Application
    Filed: June 17, 2011
    Publication date: August 23, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Erik Christensen, Michael Coulson, Clemens Szyperski, Gregory Hughes
  • Publication number: 20120215763
    Abstract: An execution strategy is generated for a program that interacts with data from multiple heterogeneous data sources during program execution as a function of data source capabilities and costs. Portions of the program can be executed locally and/or remotely with respect to the heterogeneous data sources and results combined.
    Type: Application
    Filed: June 6, 2011
    Publication date: August 23, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Gregory Hughes, Michael Coulson, James Terwilliger, Clemens Szyperski
  • Publication number: 20060168513
    Abstract: A method for processing XML documents in a computer-based system includes associating each of a plurality of information items with a corresponding one of a plurality of binary-data units and providing a XML document associated with a XML information set comprising one or more of the plurality of information items. The method includes serializing the XML document into a binary XML format, or de-serializing the XML document from the binary XML format. Serializing includes translating the one or more information items of the XML information set into their corresponding one or more binary-data units. De-serializing includes translating one or more binary-data units of the binary XML format into their corresponding one or more information items. A computer readable medium is encoded with a program for execution on at least one processor. The program, when executed on the at least one processor, can perform the method for processing XML documents.
    Type: Application
    Filed: January 25, 2005
    Publication date: July 27, 2006
    Applicant: Microsoft Corporation
    Inventors: Michael Coulson, Erik Christensen, Aaron Stern
  • Publication number: 20060167912
    Abstract: A method for processing XML documents in a computer-based system includes providing a XML document associated with a XML information set that includes one or more information items, and serializing the XML document into a serialized format. The serialized format includes at least one subset that includes a subset node. The subset node indicates that the at least one subset can be de-serialized independently of a remainder of the XML document. A computer readable medium is encoded with a program that, when executed, can perform the method for processing XML documents.
    Type: Application
    Filed: January 25, 2005
    Publication date: July 27, 2006
    Applicant: Microsoft Corporation
    Inventors: Michael Coulson, Aaron Stern, Erik Christensen
  • Publication number: 20060150200
    Abstract: A web services namespace pertains to an infrastructure for enabling creation of a wide variety of applications. The infrastructure provides a foundation for building message-based applications of various scale and complexity. The infrastructure or framework provides APIs for basic messaging, secure messaging, reliable messaging and transacted messaging. In some embodiments, the associated APIs are factored into a hierarchy of namespaces in a manner that balances utility, usability, extensibility and versionability.
    Type: Application
    Filed: December 3, 2004
    Publication date: July 6, 2006
    Applicant: Microsoft Corporation
    Inventors: Shy Cohen, Geary Eppley, Douglas Purdy, James Johnson, Stephen Millet, Stephen Swartz, Vijay Gajjala, Aaron Stern, Alexander DeJarnatt, Alfred Lee, Anand Rjagopalan, Anastasios Kasiolas, Chaitanya Upadhyay, Christopher Kaler, Craig Critchley, David Levin, David Driver, David Wortendyke, Douglas Walter, Elliot Waingold, Erik Christensen, Erin Honeycutt, Eugene Shvets, Evgeny Osovetsky, Giovanni Della-Libera, Jesus Ruiz-Scougall, John Doty, Jonathan Wheeler, Kapil Gupta, Kenneth Wolf, Krishnan Srinivasan, Lance Olson, Matthew Tavis, Mauro Ottaviani, Max Feingold, Michael Coulson, Michael Marucheck, Michael Vernal, Michael Dice, Mohamed-Hany Ramadan, Mohammad Makarechian, Natasha Jethanandani, Richard Dievendorff, Richard Hill, Ryan Sturgell, Saurab Nog, Scott Seely, Serge Sverdlov, Siddhartha Puri, Sowmyanarayanan Srinivasan, Stefan Batres, Stefan Pharies, Tirunelveli Vishwanath, Tomasz Janczuk, Uday Hegde, Umesh Madan, Vaithialingam Balayogan, Vipul Modi, Yaniv Pessach, Yasser Shohoud
  • Publication number: 20060123047
    Abstract: The present invention extends to using Simple Object Access Protocol (“SOAP”) to exchange typed objects, such as, for example, parameters for invoking methods. A computer system accesses typed object parameters corresponding to a typed object. The typed object is annotated with one or one more message contract attributes of a message contract model defining a mapping between typed object parameters and corresponding SOAP elements. The computer system utilizes the message contract attributes to map the typed object parameters into a SOAP element and inserts the SOAP element into a SOAP envelope. A receiving computer system accessing the SOAP element and utilizes the message contract attributes to map the SOAP element back into the typed object parameters.
    Type: Application
    Filed: December 3, 2004
    Publication date: June 8, 2006
    Applicant: Microsoft Corporation
    Inventors: Erik Christensen, Vaithiakingam Balayoghan, Michael Coulson, Ryan Sturgell, Natasha Jethanandani, Michael Marucheck, Douglas Purdy, Kenneth Wolf, Michael Vernal, Stefan Pharies, David Wortendyke
  • Publication number: 20050187979
    Abstract: A concept for providing a data structure handing process is described. The concept includes determining a size of a data structure, selecting a data streaming protocol when the size exceeds a predetermined limit and selecting a buffered data protocol otherwise.
    Type: Application
    Filed: February 9, 2004
    Publication date: August 25, 2005
    Inventors: Erik Christensen, Kenneth Wolf, Michael Coulson, David Wortendyke, Douglas Walter, Mike Vernal
  • Publication number: 20050183092
    Abstract: In accordance with certain aspects of configurable message pipelines, a service allows one or more applications running on a system to communicate with one or more other systems. The service includes a port having a send pipeline to allow the one or more applications to send messages to the one or more other systems and/or a receive pipeline to allow the one or more applications to receive messages from the one or more other systems. Each of the send pipeline and the receive pipeline is configurable by the one or more applications to include functionality desired by the one or more applications.
    Type: Application
    Filed: February 12, 2004
    Publication date: August 18, 2005
    Inventors: Erik Christensen, Michael Coulson
  • Publication number: 20050165768
    Abstract: The present invention provides a conversion method for converting numeric multi-dimensional database dimension members to textual representations. The conversion is specifically designed to enable the textual representations of the numeric dimension members to be properly sorted and converted back into numeric representations with accuracy. All numeric and date data is transformed during conversion, such that the textual representation of the numeric and date data is properly sorted as a text string, in the same order as it would be sorted as a number. The present invention also provides a means for accurate reverse-conversion (i.e., from textual representation to numeric representation) by first converting into text the information necessary to support the precision required by the relevant convention of the numeric representation. The present invention also provides a convention for determining the data type of the textual representations of values of various data types.
    Type: Application
    Filed: March 14, 2005
    Publication date: July 28, 2005
    Applicant: Microsoft Corporation
    Inventors: Michael Coulson, David Wortendyke, Kevin Grealish