Claims
- 1. An apparatus comprising:
a transformer to transform a message from a first format to a second format; and a switch to switch the transformed message to a selected processing node.
- 2. The apparatus of claim 1 wherein the apparatus comprises a transforming switch.
- 3. The apparatus of claim 1 and further comprising a message director coupled to the transformer and the switch, the message director to make a switching decision for the message based upon application data in the message, and then to output the switching decision to the switch.
- 4. The apparatus of claim 1 wherein the transformer selects a transformation template to transform the message based on one or more of the following in the message matching a predetermined pattern or value:
an address and/or port number in the message; a request line or an identification of an application to process a portion of the message; a root element or a root tag or other information that describes the content of the message; a validation template or a reference to a validation template; one or more XML tags; and business transaction information.
- 5. The apparatus of claim 4 wherein the validation template comprises either a Document Type Definition (DTD) or a schema.
- 6. The apparatus of claim 1 wherein the apparatus is a transforming switch coupled between a network and a plurality of servers or processing nodes.
- 7. The apparatus of claim 1 wherein the transformer transforms the message from a first XML format to a second XML format.
- 8. The apparatus of claim 1 wherein the transformer transforms the message from one or more of the following:
HTML to XML; XML to HTML; XML to EDI; EDI to XML; XML to ASCII flat file; ASCII flat file to XML; ASCII flat file to EDI; and EDI to ASCII flat file.
- 9. The apparatus of claim 1 and further comprising a security accelerator to encrypt and/or decrypt messages.
- 10. The apparatus of claim 1 and further comprising a validator coupled to the transformer to validate received messages based on one or more validation templates.
- 11. An apparatus comprising:
a validator to validate messages based on one or more validation templates; a transformer coupled to the validator to transform the message from a first format to a second format; a switch coupled to the transformer to switch or output the transformed message to a selected processing node or server.
- 12. The apparatus of claim 11 and further comprising a security accelerator coupled to the validator to encrypt and/or decrypt messages.
- 13. The apparatus of claim 12 wherein the validator comprises a validator coupled to the security accelerator to validate messages based on one or more validation templates, the validation templates provided either within the message or retrieved from an external location based on a reference to the validation template provided in the message.
- 14. The apparatus of claim 11 wherein the validator validates a message and then removes validation instructions in the message and/or adds to the message an indication that the message has been validated.
- 15. The apparatus of claim 14 wherein the validator passes at least a portion of the validation instructions to the transformer.
- 16. The apparatus of claim 15 wherein the portion of validation instructions comprises a reference to a validation template.
- 17. The apparatus of claim 11 wherein the transformer transforms the message based on a first portion of the message that matches a first predetermined pattern or value, and the switch switches the message to a selected processing node or server based on a second portion of the message that matches a second predetermined pattern or value.
- 18. The apparatus of claim 17 wherein the first portion of the message and the second portion of the message each may comprise one or more of:
an address and/or port number in the message; a request line or an identification of an application to process a portion of the message; a root element or a root tag or other information that describes the content of the message; a validation template or a reference to a validation template; one or more XML tags; and business transaction information.
- 19. The apparatus of clam 17 wherein the second portion comprises a second portion of the message before the message is transformed.
- 20. The apparatus of clam 17 wherein the second portion comprises a second portion of the message after the message is transformed.
- 21. A method comprising:
receiving a message; determining if a transformation should be performed on the message; performing the following if the transform should be performed:
identifying a transform template to be used to transform the message; and transforming the message from a first format to a second format using the identified transform template; and switching the message to a selected server or processing node.
- 22. The method of claim 21 wherein identifying a transform is based upon a first portion of the message, while the switching is based upon second portion of the message.
- 23. The method of claim 22 wherein the first portion of the message comprises one or more of the following:
an address and/or port number in the message; a request line or an identification of an application to process a portion of the message; a root element or a root tag or other information that describes the content of the message; a validation template or a reference to a validation template; one or more XML tags; and business transaction information.
- 24. The method of claim 22 wherein the second portion of the message comprises one or more of the following:
an address and/or port number in the message; a request line or an identification of an application to process a portion of the message; a root element or a root tag or other information that describes the content of the message; a validation template or a reference to a validation template; one or more XML tags; and business transaction information.
- 25. A method comprising:
receiving a message; determining if a transformation should be performed on the message; performing the following if the transform should be performed:
identifying a transform template to be used to transform the message, the identifying based upon a root element or a root tag or other information that describes the content of the message, and/or a validation template or a reference to a validation template; transforming the message from a first format to a second format using the identified transform template; and switching the message to a selected server or processing node.
- 26. The method of claim 25 and further comprising validating the received message.
- 27. The method of claim 26 and wherein the validating comprises either removing validation instructions from the message and/or adding an indication that the message has been pre-validated.
- 28. The method of claim 25 wherein the switching comprises switching the message to a selected server or processing node based on tags and/or business transaction information within the message.
- 29. An apparatus comprising a media having instructions thereon, the instructions resulting in the following when executed:
receiving a message; determining if the message should be transformed; performing the following if the message should be transformed:
identifying a transform template to be used to transform the message; and transforming the message from a first format to a second format using the identified transform template; and switch the message to a selected server or processing node.
- 30. An apparatus coupled to a network and one or more processing nodes, the apparatus to receive a message, to transform the message from a first format to a second format, and to output the message.
- 31. The apparatus of claim 30 wherein the apparatus comprises a transforming switch comprising:
a validator to validate messages; a transformer coupled to the validator to selectively transform messages; and a switch coupled to the transformer to switch or output the messages.
- 32. An apparatus coupled to a first processing node and a second processing node, the apparatus to receive a message from the first processing node via a first connection, to transform the message from a first format to a second format, to send the transformed message to the second processing node via a second connection.
- 33. The apparatus of claim 32 wherein the apparatus comprises:
a validator to validate messages; a transformer coupled to the validator to selectively transform messages; and a switch coupled to the transformer to switch or output the messages.
- 34. A method comprising:
receiving a request message at a first processing node; generating a response message; outputting the response message; transforming the message from a first data format to a second data format; sending the transformed response message to a second processing node.
- 35. A method comprising:
sending a first message from a first processing node to a transforming switch; transforming the first message from a first format to a second format; sending the transformed first message from the transforming switch to a second processing node; generating a second message in response to the first message; sending the second message from the second processing node to the transforming switch; transforming the second message from the second format to the first format; and sending the transformed second message to the first processing node.
- 36. A method comprising:
sending a first message from a first processing node to a transforming switch; transforming the first message from a first format to a second format; sending the transformed first message from the transforming switch to a second processing node; generating a second message in response to the first message; sending the second message from the second processing node to the transforming switch; transforming the second message from the third format to a fourth format; and sending the transformed second message to the first processing node.
- 37. The method of claim 36 wherein the second format is the same as the third format, and the fourth format is the same as the first format.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. application Ser. No. 09/566,800 entitled “SCALABLE NETWORK APPARATUS FOR CONTENT BASED SWITCHING OR VALIDATION ACCELERATION,” which is a continuation-in-part of U.S. application Ser. No. 09/549,041 entitled “A NETWORK APPARATUS FOR SWITCHING BASED ON CONTENT OF APPLICATION DATA” and U.S. application Ser. No. 09/562,104 entitled “A NETWORK APPARATUS FOR VALIDATING DOCUMENTS,” all of which are incorporated herein by reference.
Continuation in Parts (3)
|
Number |
Date |
Country |
Parent |
09566800 |
May 2000 |
US |
Child |
09741807 |
Dec 2000 |
US |
Parent |
09549041 |
Apr 2000 |
US |
Child |
09566800 |
May 2000 |
US |
Parent |
09562104 |
May 2000 |
US |
Child |
09566800 |
May 2000 |
US |