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: 9305096Abstract: 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: GrantFiled: February 12, 2008Date of Patent: April 5, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Brian Matthew McNamara, Tiruneveli R. Vishwanath, Stephen J. Maine
-
Patent number: 8504982Abstract: 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: GrantFiled: January 4, 2010Date of Patent: August 6, 2013Assignee: Avanade Holdings LLCInventors: 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: 8140697Abstract: 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: GrantFiled: June 28, 2011Date of Patent: March 20, 2012Assignee: Microsoft CorporationInventors: Nicholas A. Allen, Stephen J. Maine
-
Publication number: 20110258334Abstract: 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: ApplicationFiled: June 28, 2011Publication date: October 20, 2011Applicant: Microsoft CorporationInventors: Nicholas A. Allen, Stephen J. Maine
-
Patent number: 8019864Abstract: 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: GrantFiled: June 19, 2009Date of Patent: September 13, 2011Assignee: Microsoft CorporationInventors: Nicholas A. Allen, Stephen J. Maine
-
Publication number: 20100325262Abstract: 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: ApplicationFiled: June 19, 2009Publication date: December 23, 2010Applicant: Microsoft CorporationInventors: Nicholas A. Allen, Stephen J. Maine
-
Publication number: 20100229154Abstract: 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: ApplicationFiled: January 4, 2010Publication date: September 9, 2010Applicant: Avanade Holdings LLCInventors: 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: 20100229152Abstract: 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: ApplicationFiled: November 10, 2009Publication date: September 9, 2010Applicant: Avanade Holdings LLCInventors: 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: 7761484Abstract: 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: GrantFiled: February 9, 2007Date of Patent: July 20, 2010Assignee: Microsoft CorporationInventors: Erik B. Christensen, Stephen J. Maine, Natasha Jethanandani, Krishnan Rangachari, Sowmyanarayanan K. Srinivasan, Eugene Osovetsky
-
Patent number: 7657591Abstract: 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: GrantFiled: February 23, 2007Date of Patent: February 2, 2010Assignee: Microsoft CorporationInventors: Tirunelveli R. Vishwanath, Stephen J. Maine, Clemens Friedrich Vasters, Brian Matthew McNamara
-
Patent number: 7617481Abstract: 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: GrantFiled: November 30, 2004Date of Patent: November 10, 2009Assignee: Avanade Holdings LLCInventors: 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: 20080270428Abstract: 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: ApplicationFiled: February 12, 2008Publication date: October 30, 2008Applicant: Microsoft CorporationInventors: Brian Matthew McNamara, Tiruneveli R. Vishwanath, Stephen J. Maine
-
Publication number: 20080208979Abstract: 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: ApplicationFiled: February 23, 2007Publication date: August 28, 2008Applicant: MICROSOFT CORPORATIONInventors: Tirunelveli R. Vishwanath, Stephen J. Maine, Clemens Friedrich Vasters, Brian Matthew McNamara
-
Publication number: 20080195634Abstract: 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: ApplicationFiled: February 9, 2007Publication date: August 14, 2008Applicant: MICROSOFT CORPORATIONInventors: Erik B. Christensen, Stephen J. Maine, Natasha Jethanandani, Krishnan Rangachari, Sowmyanarayanan K. Srinivasan, Eugene Osovetsky