Patents by Inventor Stephen J. Maine

Stephen J. Maine 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: 9305096
    Abstract: Data may be bound to a Uniform Resource Identifier (URI) template using a bind operation. Conversely, a URI may be matched against a URI template to result in data extracted from the URI. A URI may be matched against multiple URI templates using, for example, a template table to thereby generate an estimated best-match URI template for the URI, and potentially also return matched data extracted from the URI using the best-match URI template.
    Type: Grant
    Filed: February 12, 2008
    Date of Patent: April 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Brian Matthew McNamara, Tiruneveli R. Vishwanath, Stephen J. Maine
  • Patent number: 8504982
    Abstract: An aspect container being operable to generate an instance of itself at run time is provided. The aspect container comprises logic operable to create an instance of the aspect container by reading configuration information specifying a sequence of one or more aspects from an aspect container configuration file corresponding to the aspect container. The logic is also operable to generate instances of the aspects in the sequence, configure each aspect instance with its configuration information from an aspect configuration file corresponding to the aspect, and chain the aspect instances according to the specified sequence, such that the chain of aspect instances preamble and postamble activities of a class or method.
    Type: Grant
    Filed: January 4, 2010
    Date of Patent: August 6, 2013
    Assignee: Avanade Holdings LLC
    Inventors: Matthew D. Joe, Paul C. Currit, Minn Thein, Sumit Chawla, David Mainer, Stephen J. Maine, Christopher Chang, Mei Yuei Lee, Kyle F. Huntley, Karel Deman, Blake M. Dong
  • Patent number: 8140697
    Abstract: The present invention extends to methods, systems, and computer program products for using transport-independent resource status. Embodiments of the invention provide a mechanism for implementing a new protocol for performing resource request status updates that maintains the benefits of existing protocol (e.g., HTTP) conventions while being usable with arbitrary transport protocols. Additionally, the new protocol works with a variety of different message exchange patterns. The use of the protocol can be hidden behind a programming model that normalizes transport-specific resource status protocols, such as, for example, HTTP, with transport-independent resource status protocols, such as, for example, with a SOAP binding of the described protocol. As such, embodiments of the invention provide resource status updates over an arbitrary network transport protocol whose format and message exchange pattern is decoupled from the definition of the application.
    Type: Grant
    Filed: June 28, 2011
    Date of Patent: March 20, 2012
    Assignee: Microsoft Corporation
    Inventors: Nicholas A. Allen, Stephen J. Maine
  • Publication number: 20110258334
    Abstract: The present invention extends to methods, systems, and computer program products for using transport-independent resource status. Embodiments of the invention provide a mechanism for implementing a new protocol for performing resource request status updates that maintains the benefits of existing protocol (e.g., HTTP) conventions while being usable with arbitrary transport protocols. Additionally, the new protocol works with a variety of different message exchange patterns. The use of the protocol can be hidden behind a programming model that normalizes transport-specific resource status protocols, such as, for example, HTTP, with transport-independent resource status protocols, such as, for example, with a SOAP binding of the described protocol. As such, embodiments of the invention provide resource status updates over an arbitrary network transport protocol whose format and message exchange pattern is decoupled from the definition of the application.
    Type: Application
    Filed: June 28, 2011
    Publication date: October 20, 2011
    Applicant: Microsoft Corporation
    Inventors: Nicholas A. Allen, Stephen J. Maine
  • Patent number: 8019864
    Abstract: The present invention extends to methods, systems, and computer program products for using transport-independent resource status. Embodiments of the invention provide a mechanism for implementing a new protocol for performing resource request status updates that maintains the benefits of existing protocol (e.g., HTTP) conventions while being usable with arbitrary transport protocols. Additionally, the new protocol works with a variety of different message exchange patterns. The use of the protocol can be hidden behind a programming model that normalizes transport-specific resource status protocols, such as, for example, HTTP, with transport-independent resource status protocols, such as, for example, with a SOAP binding of the described protocol. As such, embodiments of the invention provide resource status updates over an arbitrary network transport protocol whose format and message exchange pattern is decoupled from the definition of the application.
    Type: Grant
    Filed: June 19, 2009
    Date of Patent: September 13, 2011
    Assignee: Microsoft Corporation
    Inventors: Nicholas A. Allen, Stephen J. Maine
  • Publication number: 20100325262
    Abstract: The present invention extends to methods, systems, and computer program products for using transport-independent resource status. Embodiments of the invention provide a mechanism for implementing a new protocol for performing resource request status updates that maintains the benefits of existing protocol (e.g., HTTP) conventions while being usable with arbitrary transport protocols. Additionally, the new protocol works with a variety of different message exchange patterns. The use of the protocol can be hidden behind a programming model that normalizes transport-specific resource status protocols, such as, for example, HTTP, with transport-independent resource status protocols, such as, for example, with a SOAP binding of the described protocol. As such, embodiments of the invention provide resource status updates over an arbitrary network transport protocol whose format and message exchange pattern is decoupled from the definition of the application.
    Type: Application
    Filed: June 19, 2009
    Publication date: December 23, 2010
    Applicant: Microsoft Corporation
    Inventors: Nicholas A. Allen, Stephen J. Maine
  • Publication number: 20100229154
    Abstract: An aspect container being operable to generate an instance of itself at run time is provided. The aspect container comprises logic operable to create an instance of the aspect container by reading configuration information specifying a sequence of one or more aspects from an aspect container configuration file corresponding to the aspect container. The logic is also operable to generate instances of the aspects in the sequence, configure each aspect instance with its configuration information from an aspect configuration file corresponding to the aspect, and chain the aspect instances according to the specified sequence, such that the chain of aspect instances preamble and postamble activities of a class or method.
    Type: Application
    Filed: January 4, 2010
    Publication date: September 9, 2010
    Applicant: Avanade Holdings LLC
    Inventors: Matthew D. Joe, Paul C. Currit, Minn Thein, Sumit Chawla, David Mainer, Stephen J. Maine, Christopher Chang, Mei Yuei Lee, Kyle F. Huntley, Karel Deman, Blake M. Dong
  • Publication number: 20100229152
    Abstract: A prescriptive architecture for application development is provided. In some embodiments, the architecture comprises a service, a receiver, a sender, and a transport. The service functions to perform the actual business logic, is decorated with service deployment metadata; and is operable to communicate via types. The receiver is coupled to the service and is generated entirely from the service deployment metadata. The receiver is operable to receive messages, convert the received messages into types, and communicate with the service using the types. The sender is coupled to the receiver and is generated entirely from the service deployment metadata. The sender functions as a proxy for the service to a service consumer, and is operable to communicate using types with the service consumer. The sender is operable to convert the types to messages, and communicate with the receiver via messages.
    Type: Application
    Filed: November 10, 2009
    Publication date: September 9, 2010
    Applicant: Avanade Holdings LLC
    Inventors: Matthew D. Joe, Paul C. Currit, Minn Thein, Sumit Chawla, David Mainer, Stephen J. Maine, Christopher Chang, Mei Yuei Lee, Kyle F. Huntley, Karel Deman, Blake M. Dong
  • Patent number: 7761484
    Abstract: Converting data to an appropriate format for use with a service. An example method is illustrated where a message including data expressed using dynamic language data expressions is received. The dynamic language data expressions include a tree structure organization for the data. The data expressed using dynamic language data expressions is expressed in an XML data structure. The XML data structure preserves the original tree structure organization for the data.
    Type: Grant
    Filed: February 9, 2007
    Date of Patent: July 20, 2010
    Assignee: Microsoft Corporation
    Inventors: Erik B. Christensen, Stephen J. Maine, Natasha Jethanandani, Krishnan Rangachari, Sowmyanarayanan K. Srinivasan, Eugene Osovetsky
  • Patent number: 7657591
    Abstract: The present invention extends to methods, systems, and computer program products for dispatching client requests to appropriate server-side methods. When a client request is received, a Web server refers to a service contract framework that maps URI paths and HTTP methods to corresponding server implemented methods. A server implemented method corresponding to a URI path and/or an HTTP method included in the client request is identified. The server implemented method is invoked to process the client request message. Accordingly, embodiments of the invention provide a uniform mechanism to dispatch HTTP requests to designated server implemented methods based solely on URI path and HTTP method. That is, an HTTP request can be dispatched to a designated server implemented method without having to include additional dispatch metadata within the HTTP request (e.g., in a SOAP envelope).
    Type: Grant
    Filed: February 23, 2007
    Date of Patent: February 2, 2010
    Assignee: Microsoft Corporation
    Inventors: Tirunelveli R. Vishwanath, Stephen J. Maine, Clemens Friedrich Vasters, Brian Matthew McNamara
  • Patent number: 7617481
    Abstract: A prescriptive architecture for application development is provided. In some embodiments, the architecture comprises a service, a receiver, a sender, and a transport. The service functions to perform the actual business logic, is decorated with service deployment metadata; and is operable to communicate via types. The receiver is coupled to the service and is generated entirely from the service deployment metadata. The receiver is operable to receive messages, convert the received messages into types, and communicate with the service using the types. The sender is coupled to the receiver and is generated entirely from the service deployment metadata. The sender functions as a proxy for the service to a service consumer, and is operable to communicate using types with the service consumer. The sender is operable to convert the types to messages, and communicate with the receiver via messages.
    Type: Grant
    Filed: November 30, 2004
    Date of Patent: November 10, 2009
    Assignee: Avanade Holdings LLC
    Inventors: Matthew D. Joe, Paul C. Currit, Minn Thein, Sumit Chawla, David Mainer, Stephen J. Maine, Christopher Chang, Mei Yuei Lee, Kyle F. Huntley, Karel Deman, Blake M. Dong
  • Publication number: 20080270428
    Abstract: Data may be bound to a Uniform Resource Identifier (URI) template using a bind operation. Conversely, a URI may be matched against a URI template to result in data extracted from the URI. A URI may be matched against multiple URI templates using, for example, a template table to thereby generate an estimated best-match URI template for the URI, and potentially also return matched data extracted from the URI using the best-match URI template.
    Type: Application
    Filed: February 12, 2008
    Publication date: October 30, 2008
    Applicant: Microsoft Corporation
    Inventors: Brian Matthew McNamara, Tiruneveli R. Vishwanath, Stephen J. Maine
  • Publication number: 20080208979
    Abstract: The present invention extends to methods, systems, and computer program products for dispatching client requests to appropriate server-side methods. When a client request is received, a Web server refers to a service contract framework that maps URI paths and HTTP methods to corresponding server implemented methods. A server implemented method corresponding to a URI path and/or an HTTP method included in the client request is identified. The server implemented method is invoked to process the client request message. Accordingly, embodiments of the invention provide a uniform mechanism to dispatch HTTP requests to designated server implemented methods based solely on URI path and HTTP method. That is, an HTTP request can be dispatched to a designated server implemented method without having to include additional dispatch metadata within the HTTP request (e.g., in a SOAP envelope).
    Type: Application
    Filed: February 23, 2007
    Publication date: August 28, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Tirunelveli R. Vishwanath, Stephen J. Maine, Clemens Friedrich Vasters, Brian Matthew McNamara
  • Publication number: 20080195634
    Abstract: Converting data to an appropriate format for use with a service. An example method is illustrated where a message including data expressed using dynamic language data expressions is received. The dynamic language data expressions include a tree structure organization for the data. The data expressed using dynamic language data expressions is expressed in an XML data structure. The XML data structure preserves the original tree structure organization for the data.
    Type: Application
    Filed: February 9, 2007
    Publication date: August 14, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Erik B. Christensen, Stephen J. Maine, Natasha Jethanandani, Krishnan Rangachari, Sowmyanarayanan K. Srinivasan, Eugene Osovetsky