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).
-
Publication number: 20190010062Abstract: The present disclosure includes systems and methods for monitoring swimming pool maintenance activities. A sensor assembly is mounted on one or more pool cleaning tools, such as a net or broom. The system can determine the type and duration of maintenance performed on the swimming pool.Type: ApplicationFiled: May 30, 2018Publication date: January 10, 2019Applicant: Pool Agency, LLCInventors: Adam Beech, Michael Coulson
-
Patent number: 9465631Abstract: 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: GrantFiled: November 10, 2011Date of Patent: October 11, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Michael Coulson, Gregory Hughes
-
Patent number: 9436581Abstract: 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: GrantFiled: June 9, 2015Date of Patent: September 6, 2016Assignee: Microsoft Technology Licensing LLCInventors: Erik Christensen, Michael Coulson, Clemens Szyperski, Gregory Hughes
-
Publication number: 20150278072Abstract: 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: ApplicationFiled: June 9, 2015Publication date: October 1, 2015Inventors: Erik Christensen, Michael Coulson, Clemens Szyperski, Gregory Hughes
-
Patent number: 9081893Abstract: 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: GrantFiled: June 17, 2011Date of Patent: July 14, 2015Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Erik Christensen, Michael Coulson, Clemens Szyperski, Gregory Hughes
-
Publication number: 20130086327Abstract: 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: ApplicationFiled: November 10, 2011Publication date: April 4, 2013Applicant: MICROSOFT CORPORATIONInventors: Michael Coulson, Gregory Hughes
-
Publication number: 20120215763Abstract: 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: ApplicationFiled: June 6, 2011Publication date: August 23, 2012Applicant: MICROSOFT CORPORATIONInventors: Gregory Hughes, Michael Coulson, James Terwilliger, Clemens Szyperski
-
Publication number: 20120216077Abstract: 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: ApplicationFiled: June 17, 2011Publication date: August 23, 2012Applicant: MICROSOFT CORPORATIONInventors: Erik Christensen, Michael Coulson, Clemens Szyperski, Gregory Hughes
-
Publication number: 20060168513Abstract: 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: ApplicationFiled: January 25, 2005Publication date: July 27, 2006Applicant: Microsoft CorporationInventors: Michael Coulson, Erik Christensen, Aaron Stern
-
Publication number: 20060167912Abstract: 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: ApplicationFiled: January 25, 2005Publication date: July 27, 2006Applicant: Microsoft CorporationInventors: Michael Coulson, Aaron Stern, Erik Christensen
-
Publication number: 20060150200Abstract: 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: ApplicationFiled: December 3, 2004Publication date: July 6, 2006Applicant: Microsoft CorporationInventors: 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: 20060123047Abstract: 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: ApplicationFiled: December 3, 2004Publication date: June 8, 2006Applicant: Microsoft CorporationInventors: Erik Christensen, Vaithiakingam Balayoghan, Michael Coulson, Ryan Sturgell, Natasha Jethanandani, Michael Marucheck, Douglas Purdy, Kenneth Wolf, Michael Vernal, Stefan Pharies, David Wortendyke
-
Publication number: 20050187979Abstract: 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: ApplicationFiled: February 9, 2004Publication date: August 25, 2005Inventors: Erik Christensen, Kenneth Wolf, Michael Coulson, David Wortendyke, Douglas Walter, Mike Vernal
-
Publication number: 20050183092Abstract: 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: ApplicationFiled: February 12, 2004Publication date: August 18, 2005Inventors: Erik Christensen, Michael Coulson
-
Publication number: 20050165768Abstract: 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: ApplicationFiled: March 14, 2005Publication date: July 28, 2005Applicant: Microsoft CorporationInventors: Michael Coulson, David Wortendyke, Kevin Grealish