Patent ID: 7860989

Claim:
At a sending computer system in a computerized environment where the sending computer system and a receiving computer system can exchange one or more messages in an interchange format, a method of canonicalizing and digesting an interchange format message in a resource-efficient manner, comprising the acts of: accessing an interchange format message, the interchange format message including a plurality of different message units; selecting an initial set of one or more message units from the message to be canonicalized and digested during a first transforming process, such that fewer than all of the plurality of different message units from the interchange format message are selected to be canonicalized and digested during the first transforming process; allocating a portion of system memory sufficient to receive the initial set of one or more message units, wherein the portion of system memory is insufficient in size to store all of the plurality of different message units belonging to the interchange format message at a same time; placing the initial set of one or more message units into the allocated portion of system memory; canonicalizing each of the one or more message units of the initial set, contained within the allocated portion of system memory; prior to canonicalizing a subsequent different set of one or more message units from the interchange format message, assigning an identifier and a digest to each of the one or more message units of the initial set such that canonicalization and digesting of the one or more message units of the initial set are performed in a single pass; selecting a subsequent different set of one or more message units from the interchange format message to be canonicalized and digested during a second transforming process, such that fewer than all of the plurality of different message units of the interchange format message are selected for the subsequent different set; and overwriting the allocated portion of memory that stored the initial set of one or more message units with the subsequent different set of one or more message units of the same interchange format message; canonicalizing each of the one or more message units of the subsequent different set contained within the allocated portion of system memory; assigning an identifier and a digest to each of the one or more message units of the subsequent different set; and sending each of the plurality of message units of the interchange format message with its corresponding digest to the receiving computer system.