IP Library Granted Patent US 7,814,211
Granted Patent B2
US 7,814,211 · App. 11/469,442 · Granted Oct 12, 2010

Varying of message encoding

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,814,211
App. No.
11/469,442
Granted
Oct 12, 2010
Kind
B2
Abstract

Embodiments described herein provide a user with the ability to vary the encoding of a message object rather than being bound to a specific one, e.g., the text encoding for SOAP messaging. Accordingly, a message encoding factory is provided that is responsible for mapping a message object (e.g., SOAP Infoset) into raw octets suitable for wire transmission. By encapsulating the notion of a message encoder factory abstractly, embodiments allow users to vary the encoding of an Infoset without varying the programming model (or any other aspect of the system that uses message). In other words, embodiments herein separate the transport (e.g., TCP, HTTP, etc.) from the encoding, which allows users to use any number of encoding mechanisms—even their own proprietary ones.

Claims (23)

1. A method of determining a type of encoding to use for a SOAP message, without requiring a text-based encoding, the method comprising:

receiving, in a distributed messaging system, a SOAP message bound to a text-based transport encoding for communicating between a first and a second endpoint, the SOAP message being encapsulated in a message object which supports encoding in a plurality of message formats comprising at least one of SMTP and MSMQ, the SOAP message comprising at least a header and a body;

selecting a message encoding type for the SOAP message from a plurality of encodings;

mapping the message object into raw octets suitable for wire transmission, each raw octet comprising eight binary digits;

prioritizing a plurality of transport types for the plurality of encodings, wherein a selection of a transport is based on the priority ranking for each of the plurality of transport settings or by a default setting;

encoding the SOAP message with the selected encoding type such that the SOAP message is encoded with the selected encoding type and is no longer bound to the text-based transport encoding, the encoding comprising encoding at least one non-address item included in the body of the SOAP message; and

transferring the encoded SOAP message over a communication channel to the second endpoint.

2. The method of claim 1 , wherein the plurality of encodings include text-based, binary, MTOM, and a proprietary encoding.

3. The method of claim 2 , wherein the proprietary encoding encodes the SOAP message into an alternative message format other than SOAP.

4. The method of claim 1 , further comprising:

based on the selected encoding, automatically selecting a transport from a plurality of transports for transferring the SOAP message.

5. The method of claim 4 , wherein the plurality of transports include at least two of TCP/IP, HTTP, UDP, and a proprietary transport.

6. A computer program product for use in a distributed messaging system comprising one or more computer processors, the computer program product for implementing a method of determining a type of encoding to use for a SOAP message, without requiring a text-based encoding, the computer program product comprising one or more physical computer readable storage media having stored thereon computer executable instructions that, when executed by a processor within the messaging system, can cause the distributed messaging system to perform a method comprising:

receiving, in the distributed messaging system, a SOAP message bound to a text-based transport encoding for communicating between a first and a second endpoint, the SOAP message being encapsulated in a message object which supports encoding in a plurality of message formats comprising at least one of SMTP and MSMQ, the SOAP message comprising at least a header and a body;

selecting a message encoding type for the SOAP message from a plurality of encodings;

mapping the message object into raw octets suitable for wire transmission, each raw octet comprising eight binary digits;

prioritizing a plurality of transport types for the plurality of encodings, wherein a selection of a transport is based on the priority ranking for each of the plurality of transport settings or by a default setting;

encoding the SOAP message with the selected encoding type such that the SOAP message is encoded with the selected encoding type and is no longer bound to the text-based transport encoding, the encoding comprising encoding at least one non-address item included in the body of the SOAP message; and

transferring the encoded SOAP message over a communication channel to the second endpoint.

7. The computer program product of claim 6 , wherein the plurality of encodings include text-based, binary, MTOM, and a proprietary encoding.

8. The computer program product of claim 7 , wherein the proprietary encoding encodes the SOAP message into an alternative message format other than SOAP.

9. The computer program product of claim 6 , further comprising executable instructions that when executed cause the distributed messaging system to perform the following: based on the selected encoding, automatically select a transport from the plurality of transports for transferring the SOAP message.

10. The computer program product of claim 9 , wherein the plurality of transports include at least two of TCP/IP, HTTP, UDP, and a proprietary transport.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2006
From: VERNAL, MICHAEL S.; STERN, AARON; BOX, DONALD F.; CHRISTENSEN, ERIK B.; WOLF, KENNETH D.; COULSON, MICHAEL J.; WAINGOLD, ELLIOT L.; CABRERA, LUIS FELIPE
To: MICROSOFT CORPORATION
Reel/Frame 018523/0630 →