Patents by Inventor Douglas M. Purdy

Douglas M. Purdy 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: 8739183
    Abstract: Embodiments described herein provide for allowing processing code of a message to attach state thereto. More specifically, as a SOAP message is processed, various states known as properties (e.g., message security, message identifier, etc.) can be attached to the message for various purposes. In other words, embodiments provide for a properties object that represents a set of processing-level annotations to a message. These properties (representing the processing state of the headers or other portions of the message) can then be used by other component or modules for further processing purposes. Typically, these properties can then be removed (or sustained if desired) prior to transporting the SOAP message on the wire.
    Type: Grant
    Filed: April 15, 2013
    Date of Patent: May 27, 2014
    Assignee: Microsoft Corporation
    Inventors: Douglas M. Purdy, Erik B. Christensen, Kenneth D. Wolf, Elliot L. Waingold
  • Publication number: 20130232226
    Abstract: Embodiments described herein provide for allowing processing code of a message to attach state thereto. More specifically, as a SOAP message is processed, various states known as properties (e.g., message security, message identifier, etc.) can be attached to the message for various purposes. In other words, embodiments provide for a properties object that represents a set of processing-level annotations to a message. These properties (representing the processing state of the headers or other portions of the message) can then be used by other component or modules for further processing purposes. Typically, these properties can then be removed (or sustained if desired) prior to transporting the SOAP message on the wire.
    Type: Application
    Filed: April 15, 2013
    Publication date: September 5, 2013
    Applicant: Microsoft Corporation
    Inventors: Douglas M. Purdy, Erik B. Christensen, Kenneth D. Wolf, Elliot L. Waingold
  • Patent number: 8424020
    Abstract: Embodiments described herein provide for allowing processing code of a message to attach state thereto. More specifically, as a SOAP message is processed, various states known as properties (e.g., message security, message identifier, etc.) can be attached to the message for various purposes. In other words, embodiments provide for a properties object that represents a set of processing-level annotations to a message. These properties (representing the processing state of the headers or other portions of the message) can then be used by other component or modules for further processing purposes. Typically, these properties can then be removed (or sustained if desired) prior to transporting the SOAP message on the wire.
    Type: Grant
    Filed: August 31, 2006
    Date of Patent: April 16, 2013
    Assignee: Microsoft Corporation
    Inventors: Douglas M. Purdy, Erik B. Christensen, Kenneth D. Wolf, Elliot L. Waingold
  • Patent number: 8296354
    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 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: Grant
    Filed: December 3, 2004
    Date of Patent: October 23, 2012
    Assignee: Microsoft Corporation
    Inventors: Erik Bo Christensen, Vaithiakingam B. Balayoghan, Michael James Coulson, Ryan Thomas Sturgell, Natasha Harish Jethanandani, Michael Jon Marucheck, Douglas M. Purdy, Kenneth David Wolf, Michael Steven Vernal, Stefan Harrington Pharies, David Wortendyke
  • Patent number: 7925710
    Abstract: Embodiments described herein provide for a message object that simultaneously exposes an XML view and Type view for a message infoset. In this embodiment, interaction with a message can occur using either an XML or Type application program interface (API), which are synced. More specifically, embodiments herein provide or expose a common set of headers (e.g., SOAP headers) as “typed” properties (e.g., CLR properties), which allow for getting and/or setting a value thereof. In other words, the Type API reads/writes values for typed properties without regard to how the message is encoded with XML. Moreover, the two APIs are synced such that a value can be set using one API and retrieved using the other. For example, an XML API may be used as a writing mechanism for interacting with a value, while the Type API can read that same value, and vise-versa.
    Type: Grant
    Filed: August 31, 2006
    Date of Patent: April 12, 2011
    Assignee: Microsoft Corporation
    Inventors: Michael S. Vernal, Donald F. Box, Douglas M. Purdy, Eugene Osovetsky, Kenneth D. Wolf, Stephen T. Swartz, Erik B. Christensen, Stefan H. Pharies
  • Patent number: 7730041
    Abstract: Serialization and deserialization using data contracts. The data contract specifies data types that are serialized and deserialized for data objects that are associated with the data contract. During serialization, the data contract associated with the data object is identified. Then, the data fields that correspond to those specified data field types are extracted from the data object and serialized into a serialization format. During deserialization, the serialization mechanism receives a serialized data structure having a particular serialization format. A data contract is then identified as being associated with the serialized data structure. After deserialization of the serialized data structure into abstract data, a corresponding data object is populated with data fields that correspond only with those data field types specified in the data contract. Accordingly, data abstraction is enabled while serializing and deserializing.
    Type: Grant
    Filed: August 25, 2004
    Date of Patent: June 1, 2010
    Assignee: Microsoft Corporation
    Inventors: Douglas M. Purdy, Sowmyanarayanan K. Srinivasan, Bradford H. Lovering, Donald F. Box, Gopala Krishna R. Kakivaya, Natasha H. Jethanandani, Stefan H. Pharies, Stephen T. Swartz, Steven E. Lucco
  • Patent number: 7624400
    Abstract: Methods, systems, and computer program products for converting an object of one type to an object of another type that allow for the runtime operation of the conversion process to be altered or customized. The conversion may occur within an extensible serialization engine that serializes, deserializes, and transforms objects of various types. The runtime operation of the serialization engine is altered by one or more extension routines that implement the desired customizations or extensions, without requiring replacement of other existing routines. Based on type information, identified for an initial object, the object is converted to an intermediate representation which permits runtime modification, including modification of object names, object types, and object data. The intermediate representation of the initial object is modified in accordance with extension routines that alter the runtime operation of the serialization engine, and the intermediate representation is converted to a final object and type.
    Type: Grant
    Filed: December 5, 2006
    Date of Patent: November 24, 2009
    Assignee: Microsoft Corporation
    Inventors: Stefan H. Pharies, Sowmy K. Srinivasan, Natasha H. Jethanandani, Yann Erik Christensen, Elena A. Kharitidi, Douglas M. Purdy
  • Patent number: 7574516
    Abstract: The transfer of raw data from a source data structure to a target data structure that represent the same item. During the data transfer, if there is a given field in the target data structure that does not correspond to a field supplied by the source data structure, the transfer mechanism determines whether or not it is mandatory that the source data structure supply the field. If it is mandatory, the transfer fails. Otherwise, the transfer continues. If there is field of the source data structure that does not correspond to a field of the target data structure, the transfer mechanism determines whether or not it is mandatory that the target data structure have the field. If it is mandatory, the transfer fails. Otherwise, the corresponding data may be provided to a residual field of the target data structure dedicated for unknown data.
    Type: Grant
    Filed: February 1, 2005
    Date of Patent: August 11, 2009
    Assignee: Microsoft Corporation
    Inventors: Sowmyanarayanan K. Srinivasan, Natasha H. Jethanandani, Stefan H. Pharies, Douglas M. Purdy, Donald F. Box, Gopala Krishna R. Kakivaya
  • Patent number: 7512957
    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: Grant
    Filed: December 3, 2004
    Date of Patent: March 31, 2009
    Assignee: Microsoft Corporation
    Inventors: Shy Cohen, Geary L. Eppley, Douglas M. Purdy, James E. Johnson, Stephen J. Millet, Stephen T. Swartz, Vijay K. Gajjala, Aaron Abraham Stern, Alexander Martin DeJarnatt, Alfred M. Lee, IV, Anand Rjagopalan, Anastasios Kasiolas, Chaitanya D. Upadhyay, Christopher G. Kaler, Craig Andrew Critchley, David Edwin Levin, David Owen Driver, David Wortendyke, Douglas A. Walter, Elliot Lee Waingold, Erik Bo Christensen, Erin P. Honeycutt, Eugene Shvets, Evgeny Osovetsky, Giovanni M. Della-Libera, Jesus Ruiz-Scougall, John David Doty, Jonathan T. Wheeler, Kapil Gupta, Kenneth David Wolf, Krishnan Srinivasan, Lance E. Olson, Matthew Thomas Tavis, Mauro Ottaviani, Max Attar Feingold, Michael James Coulson, Michael Jon Marucheck, Michael Steven Vernal, Michael Thomas Dice, Mohamed-Hany Essam Ramadan, Mohammad Makarechian, Natasha Harish Jethanandani, Richard Dievendorff, Richard Douglas Hill, Ryan Thomas Sturgell, Saurab Nog, Scott Christopher Seely, Serge Sverdlov, Siddhartha Puri, Sowmyanarayanan K. Srinivasan, Stefan Batres, Stefan Harrington Pharies, Tirunelveli Vishwanath, Tomasz Janczuk, Uday S. Hegde, Umesh Madan, Vaithialingam B. Balayogan, Vipul Arunkant Modi, Yaniv Pessach, Yasser Shohoud
  • Publication number: 20070198989
    Abstract: Embodiments described herein provide for a message object that simultaneously exposes an XML view and Type view for a message infoset. In this embodiment, interaction with a message can occur using either an XML or Type application program interface (API), which are synced. More specifically, embodiments herein provide or expose a common set of headers (e.g., SOAP headers) as “typed” properties (e.g., CLR properties), which allow for getting and/or setting a value thereof In other words, the Type API reads/writes values for typed properties without regard to how the message is encoded with XML. Moreover, the two APIs are synced such that a value can be set using one API and retrieved using the other. For example, an XML API may be used as a writing mechanism for interacting with a value, while the Type API can read that same value, and vise-versa.
    Type: Application
    Filed: August 31, 2006
    Publication date: August 23, 2007
    Applicant: Microsoft Corporation
    Inventors: Michael S. Vernal, Donald F. Box, Douglas M. Purdy, Eugene Osovetsky, Kenneth D. Wolf, Stephen T. Swartz, Erik B. Christensen, Stefan H. Pharies
  • Publication number: 20070180132
    Abstract: Embodiments described herein provide for allowing processing code of a message to attach state thereto. More specifically, as a SOAP message is processed, various states known as properties (e.g., message security, message identifier, etc.) can be attached to the message for various purposes. In other words, embodiments provide for a properties object that represents a set of processing-level annotations to a message. These properties (representing the processing state of the headers or other portions of the message) can then be used by other component or modules for further processing purposes. Typically, these properties can then be removed (or sustained if desired) prior to transporting the SOAP message on the wire.
    Type: Application
    Filed: August 31, 2006
    Publication date: August 2, 2007
    Applicant: Microsoft Corporation
    Inventors: Douglas M. Purdy, Erik B. Christensen, Kenneth D. Wolf, Elliot L. Waingold
  • Publication number: 20070177590
    Abstract: Embodiments described herein provide for a message contract programming model, which is a mechanism for service developers to control the processing, layout, and creation of messages (e.g., SOAP) without losing the benefits of a strongly-typed data contract model. Such programming model is based on attributes, which can be used to define the action or operations, headers, and body parts components of a message. These attributes may be used on a type annotated with message contract or on a service operation to control the manner in which the message (e.g., SOAP) is constructed from a service process, process parameters, and/or return values. The use of the message contract in conjunction with a message formatter as defined herein provides for many advantageous features and embodiments described herein.
    Type: Application
    Filed: August 31, 2006
    Publication date: August 2, 2007
    Applicant: Microsoft Corporation
    Inventors: Michael S. Vernal, Alex DeJarnatt, Donald F. Box, Douglas M. Purdy, Jesus Ruiz-Scougall, Eugene Osovetsky, Richard D. Hill, Stephen J. Millet, Yasser Shohoud, Stephen T. Swartz, Stefan H. Pharies
  • Patent number: 7197512
    Abstract: Methods, systems, and computer program products for converting an object of one type to an object of another type that allow for the runtime operation of the conversion process to be altered or customized. The conversion may occur within an extensible serialization engine that serializes, deserializes, and transforms objects of various types. The runtime operation of the serialization engine is altered by one or more extension routines that implement the desired customizations or extensions, without requiring replacement of other existing routines. Based on type information, identified for an initial object, the object is converted to an intermediate representation which permits runtime modification, including modification of object names, object types, and object data. The intermediate representation of the initial object is modified in accordance with extension routines that alter the runtime operation of the serialization engine, and the intermediate representation is converted to a final object and type.
    Type: Grant
    Filed: March 26, 2003
    Date of Patent: March 27, 2007
    Assignee: Microsoft Corporation
    Inventors: Stefan H. Pharies, Sowmy K. Srinivasan, Natasha H. Jethanandani, Yann Erik Christensen, Elena A. Kharitidi, Douglas M. Purdy
  • Publication number: 20040193616
    Abstract: Methods, systems, and computer program products for converting an object of one type to an object of another type that allow for the runtime operation of the conversion process to be altered or customized. The conversion may occur within an extensible serialization engine that serializes, deserializes, and transforms objects of various types. The runtime operation of the serialization engine is altered by one or more extension routines that implement the desired customizations or extensions, without requiring replacement of other existing routines. Based on type information, identified for an initial object, the object is converted to an intermediate representation which permits runtime modification, including modification of object names, object types, and object data. The intermediate representation of the initial object is modified in accordance with extension routines that alter the runtime operation of the serialization engine, and the intermediate representation is converted to a final object and type.
    Type: Application
    Filed: March 26, 2003
    Publication date: September 30, 2004
    Inventors: Stefan H. Pharies, Sowmy K. Srinivasan, Natasha H. Jethanandani, Yann Erik Christensen, Elena A. Kharitidi, Douglas M. Purdy