Conversion of documents between XML and processor efficient MXML in content based routing networks
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-017/00
G06F-017/21
출원번호
US-0843198
(2001-04-26)
발명자
/ 주소
Hind,John R.
Li,Yongcheng
Tan,Yih Shin
출원인 / 주소
International Business Machines Corporation
대리인 / 주소
Synnestvedt &
인용정보
피인용 횟수 :
110인용 특허 :
18
초록▼
A method, system, and computer program product for efficient processing of Extensible Markup Language (XML) documents in Content Based Routing ("CBR") networks. Specifically, the method involves converting existing XML documents to a machine-oriented notation ("mXML") which is significantly more com
A method, system, and computer program product for efficient processing of Extensible Markup Language (XML) documents in Content Based Routing ("CBR") networks. Specifically, the method involves converting existing XML documents to a machine-oriented notation ("mXML") which is significantly more compact than XML, while still conveying the content and semantics of the data and the structure of the document. Documents are converted from XML to mXML upon entering a CBR subnetwork and/or upon receipt by an mXML-capable device. The documents are then processed in mXML format. Devices within the inventive system are provided with an awareness of whether target devices or processes are mXML-capable. Documents being routed to a target which is mXML-capable are passed in mXML format while documents being routed to a target which is not mXML-capable are converted to XML before they are passed.
대표청구항▼
What is claimed is: 1. A method for processing an input document encoded in an extensible markup language ("XML"), said method comprising: converting said input document encoded in XML to an output document encoded in a machine-oriented extensible markup language ("mXML") , said output document enc
What is claimed is: 1. A method for processing an input document encoded in an extensible markup language ("XML"), said method comprising: converting said input document encoded in XML to an output document encoded in a machine-oriented extensible markup language ("mXML") , said output document encoded in mXML comprising fewer characters than said input document encoded in XML; processing said output document encoded in mXML; identifying a target to which the processed output document encoded in mXML will be next routed; and determining whether said target is capable of processing documents encoded in mXML; if said target is determined to be capable of processing documents encoded in mXML, transmitting the processed output document encoded in mXML to said target; and if said target is determined to be not capable of processing documents encoded in mXML, converting the processed output document encoded in mXML to an output document encoded in XML, and transmitting said output document encoded in XML to said target. 2. The method of claim 1, wherein said identifying comprises parsing the processed output document. 3. The method of claim 2, wherein said identifying comprises identifying a host name string for routing of the processed output document. 4. The method of claim 1, wherein said determining comprises referencing a datastore, said datastore storing data identifying a plurality of targets and indicating whether each of said plurality of targets is capable of processing documents encoded in mXML. 5. The method of claim 1, wherein said converting comprises: creating a document tree representation of the input document; obtaining a node count representing a count of nodes in the document tree representation; writing the node count to an mXML buffer; traversing each node in the document tree representation and generating a corresponding node specification in the mXML buffer, further comprising the steps of: generating a node name; generating an attribute list specifying zero or more (attribute name, attribute value) pair references for attributes of the node; generating a child list specifying index values of zero or more nodes which are children of the node; and generating a node value specification, which is empty if the node has no value; generating a data buffer containing attribute names and attribute values referenced from the attribute lists and node values referenced from the node value specifications; and appending the data buffer to the mXML buffer to form the output document. 6. The method of claim 1, wherein said processing comprises: parsing said output document. 7. The method of claim 6, wherein: said parsing of said output document comprises extracting routing data from said output document. 8. The method of claim 1, wherein said processing comprises: processing said output document for content based routing if said target is determined to be capable of processing documents encoded in mXML. 9. The method of claim 1, further comprising: processing the converted output document encoded in XML. 10. The method of claim 9, wherein processing the converted output document encoded in XML comprises transmitting the converted output document encoded in XML to said target. 11. The method of claim 6, wherein processing said output document encoded in mXML comprises: parsing a node count representing a count of nodes in the document; parsing a node specification for each of the nodes, further comprising the steps of: parsing a node name; parsing a child list specifying index values of zero or more nodes which are children of the node; parsing an attribute list specifying zero or more (attribute name, attribute value) pair references for attributes of the node; and parsing a node value specification, which is empty if the node has no value; and parsing a data buffer containing attribute names and attribute values referenced from the attribute lists and node values referenced from the node value specifications. 12. A method for processing an input document encoded in a machine-oriented extensible markup language ("mXML"), said method comprising: determining whether said input document will be next routed to a target which is capable of processing documents encoded in mXML; converting said input document encoded in mXML to an output document encoded in a extensible markup language ("XML") if said target is determined to be not capable of processing documents encoded in mXML, said output document encoded in XML comprising a non-printing character not included in said input document encoded in mXML; and processing said output document encoded in XML. 13. The method of claim 12, wherein said determining comprises: identifying a target to which said input document will be next routed; and determining whether said target is capable of processing documents encoded in mXML. 14. The method of claim 13, wherein determining whether said target is capable of processing documents encoded in mXML comprises referencing a datastore, said datastore storing data identifying a plurality of targets and indicating whether each of said plurality of targets is capable of processing documents encoded in mXML. 15. The method of claim 12, wherein said converting comprises: identifying a document tree representation of the input document; reading a node count from an mXML buffer; traversing each node in the document tree representation and generating a corresponding node specification in the mXML buffer, further comprising the steps of: identifying a node name; identifying an attribute list specifying zero or more (attribute name, attribute value) pair references for attributes of the node; identifying a child list specifying index values of zero or more nodes which are children of the node; and identifying a node value specification, which is empty if the node has no value; generating a data buffer containing attribute names and attribute values referenced from the attribute lists and node values referenced from the node value specifications; and appending me data buffer to the XML buffer to form the output document. 16. The method of claim 12, further comprising: processing said input document encoded in mXML. 17. The method of claim 16, wherein processing said input document encoded in mXML comprises parsing said input document encoded in mXML. 18. The method of claim 12, wherein determining whether said input document will be next routed to a target which is capable of processing documents encoded in mXML comprises transmitting said output documents encoded in XML. 19. A computer program product embodied on one or more computer-readable media, the computer program product adapted for processing an input document encoded in an extensible markup language ("XML") and comprising: computer-readable program code configured to convert said input document encoded in XML to an output document encoded in a machine-oriented extensible markup language ("mXML"); computer-readable program code configured to process said output document; computer-readable program code configured to identify a target to which the processed output document will be next routed; computer-readable program code configured to determine whether said target is capable of processing documents encoded in mXML, and if so, to convert said input document to said output document; and computer-readable program code configured to transmit one of said input document and said output document to said target. 20. The computer program product of claim 19, wherein said computer-readable program code configured to convert said input document encoded in XML to an output document encoded in mXML comprises: computer-readable program code configured to create a document tree representation of the input document; computer-readable program code configured to obtain a node count representing a count of nodes in the document tree representation; computer-readable program code configured to write the node count to an mXML buffer; computer-readable program code configured to traverse each node in the document tree representation and generating a corresponding node specification in the mXML buffer, further comprising: computer-readable program code configured to generate a node name; computer-readable program code configured to generate an attribute list specifying zero or more (attribute name, attribute value) pair references for attributes of the node; computer-readable program code configured to generate a child list specifying index values of zero or more nodes which are children of the node; and computer-readable program code configured to generate a node value specification, which is empty if the node has no value; computer-readable program code configured to generate a data buffer containing attribute names and attribute values referenced from the attribute lists and node values referenced from the node value specifications; and computer-readable program code configured to append the data buffer to the mXML buffer to form the output document. 21. The computer program product of claim 19, wherein said computer-readable program code configured to process said output document comprises computer-readable program code for processing a document encoded in mXML comprising: computer-readable program code configured to parse the document, further comprising: computer-readable program code configured to parse a node count representing a count of nodes in the document; computer-readable program code configured to parse a node specification for each of the nodes, further comprising: computer-readable program code configured to parse a node name; computer-readable program code configured to parse a child list specifying index values of zero or more nodes which are children of the node; computer-readable program code configured to parse an attribute list specifying zero or more (attribute name, attribute value) pair references for attributes of the node; and computer-readable program code configured to parse a node value specification, which is empty if the node has no value; and computer-readable program code configured to parse a data buffer containing attribute names and attribute values referenced from the attribute lists and node values referenced from the node value specifications; and computer-readable program code configured to use the parsed document as input for processing. 22. A system for processing an input document encoded in an extensible markup language ("XM"), said system comprising: means for converting said input document encoded in XML to an output document encoded in a machine-oriented extensible markup language ("mXML"), said output document encoded in mXML being compact relative to said input document encoded in XML yet conveying data and structure of said input document; means for processing said output document encoded in mXML; means for identifying a target to which the processed output document will be next routed; means for determining whether said target is capable of processing documents encoded in mXML; and means for transmitting one of said input document and said output document to said target. 23. The system of claim 22, wherein said means for converting said output document encoded in XML to an output document encoded in mXML comprises: means for creating a document tree representation of the input document; means for obtaining a node count representing a count of nodes in the document tree representation; means for writing the node count to an mXML buffer; means for traversing each node in the document tree representation and generating a corresponding node specification in the mXML buffer, further comprising: means for generating a node name; means for generating an attribute list specifying zero or more (attribute name, attribute value) pair references for attributes of the node; means for generating a child list specifying index values of zero or more nodes which are children of the node; and means for generating a node value specification, which is empty if the node has no value; means for generating a data buffer containing attribute names and attribute values referenced from the attribute lists and node values referenced from the node value specifications; and means for appending the data buffer to the mXML buffer to form me output document. 24. The system of claim 22, wherein said means for processing said output document in mXML comprises; means for parsing the document, further comprising: means for parsing a node count representing a count of nodes in the document; means for parsing a node specification for each of the nodes, further comprising: means for parsing a node name; means for parsing a child list specifying index values of zero or more nodes which are children of the node; means for parsing an attribute list specifying zero or more (attribute name, attribute value) pair references for attributes of the node; and means for parsing a node value specification, which is empty if the node has no value; and means for parsing a data buffer containing attribute names and attribute values referenced from the attribute lists and node values referenced from the node value specifications; and means for using the parsed document as input for the processing. 25. A method for processing an input document comprising: determining whether said input document will be next routed to a target which is capable of processing documents encoded in a machine-oriented extensible markup language ("mXML"); converting said input document to an output document encoded in an extensible markup language ("XML") if said input document is encoded in mXML and said target is not capable of processing documents encoded in mXML; and transmitting one of said input document and said output document to said target. 26. The method of claim 25, further comprising: converting an original document encoded in XML to an input document encoded in mXML and wherein converting an original document encoded in XML to an input document encoded in mXML occurs prior to determining whether said input document will be next routed to a target which is capable of processing documents encoded in a machine-oriented extensible markup language ("mXML"), said input document encoded in mXML being capable of being processed more efficiently than said input document. 27. The method of claim 26, wherein said determining comprises: identifying a target to which said input document will be next routed; determining whether said target is capable of processing documents encoded in mXML. 28. The method of claim 27, wherein said identifying comprises parsing said input document. 29. The method of claim 28, wherein said determining comprises referencing a datastore, said datastore storing date identifying a plurality of targets and indicating whether each of said plurality of targets is capable of processing documents encoded in mXML. 30. The method of claim 1, wherein said input document encoded in XML comprises a plurality of non-printing characters, and wherein said output document encoded in mXML does not comprise said plurality of non-printing characters.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (18)
Melissa Lee Denbar ; Ryan Alan Danner, Apparatus and method for storing complex structures by conversion of arrays to strings.
Murashita Kimitaka,JPX, Compression/decompression of tags in markup documents by creating a tag code/decode table based on the encoding of tags in a DTD included in the documents.
Hassan Alam ; Koichi Ariyoshi ; Rachmat Hartono ; Timotius Tjahjadi ; Scott Tupaj ; Hanyen Widjaja, Conversion data representing a document to other formats for manipulation and display.
Nicolas, Regis; Lavigne, Eric; Martial, Alexis; Guiraud, Christophe, Displaying a web page on an electronic display device having a limited display area.
Helgeson, Christopher S.; Lipkin, Daniel S.; Larson, Robert S.; Panuganti, Srinivas, Method and apparatus for managing data exchange among systems in a network.
Ranganathan N. (Tampa FL) Henriques Selwyn (Apopka FL), Method and apparatus for the compression and decompression of data using Lempel-Ziv based techniques.
Dinh, Thu-Tram T.; Ho, Shyh-Mei F.; Hung, Jenny ChengYin; Lo, Kevin Yu Chang, Apparatus for facilitating transactions between thin-clients and message format service (MFS)-based information management systems (IMS) applications.
Araujo, Carlos Cesar; Brittenham, Peter James; Butler, Nicholas David; Callaway, Robert David; Rodriguez, Adolfo Francisco; Salz, Richard Eugene, High-performance XML processing in a common event infrastructure.
Chung, Hyun kwon; Park, Sung wook, Information storage medium containing enhanced AV (ENAV) buffer configuration information, reproducing method thereof and method for managing the buffer.
Anthias, Tefcros; Potti, Sunil; Srinivasan, Subramanian; Trikha, Nitesh, Interpreting an application message at a network element using sampling and heuristics.
Dashora, Vinod; Kumar, Sandeep, Method and apparatus for adaptive application message payload content transformation in a network infrastructure element.
Behrens, Jochen; Dignum, Marcelino M.; Seltzer, Wayne F.; Zaumen, William T.; Petry, John P.; Pericas-Geertsen, Santiago M.; Nag, Biswadeep, Method and apparatus for hardware XML acceleration.
Toudeh-Fallah, Farzam; Mize, Eric Kenneth; Delamatre, Timothy J., Method and system for implementing a network analysis tool for endpoints deployments.
Toudeh-Fallah, Farzam; Mize, Eric Kenneth; Delamatre, Timothy J., Method and system for implementing a network analysis tool for endpoints deployments.
Dinh, Thu-Tram T.; Ho, Shyh-Mei F.; Hung, Jenny ChengYin; Yo, Kevin Yu Chang, Method for facilitating transactions between thin-clients and message format service (MFS)-based information management system (IMS) applications.
Kuznetsov, Eugene; Salz, Richard E.; Wenocur, Jonathan H.; Nelson, Jan-Christian; Dolph V, Cyrus Abda; Matsakis, Nicholas D.; Ballou, Kenneth R., Methods and apparatus for processing markup language messages in a network.
Kumar, Sandeep; Jin, Yi; Potti, Sunil; Wiborg, Christopher R., Network and application attack protection based on application layer message inspection.
Anthias, Tefcros; Kumar, Sandeep; Ho, Ricky; Rajendran, Saravanakumar, Performing message payload processing functions in a network element on behalf of an application.
Kumar, Sandeep; Anthias, Tefcros; Ho, Ricky; Rajendran, Saravanakumar, Performing message payload processing functions in a network element on behalf of an application.
Warren, Mary Carter; Fredman, Marc L.; Hoechst, Kimberly L.; Filak, Douglas A.; Steckart, James C.; Blossom, George W.; Jacobs, Ron E.; Barrett, Donna M.; Schmitt, Donald H.; Strock, Bradley R.; Witsil, Kathleen H.; Ehemann, Karen R.; Dowidchuck, Katrina, System and method for establishing or modifying an account with user selectable terms.
Haller, Daniel M.; Ho, Shyh-Mei F.; Hughes, Gerald D.; Hung, Jenny C.; Huyah, Bill T.; Kuo, Steve T., System and method for facilitating XML enabled IMS transactions.
Chiang, Chenhuei J.; Ho, Shyh-Mei F.; Sheats, Benjamin Johnson; Yep, Eddie Raymond, System and method for representing MFS control blocks in XML for MFS-based IMS applications.
Chiang,Chenhuei J.; Ho,Shyh Mei F.; Sheats,Benjamin Johnson; Yep,Eddie Raymond, System and method for representing MFS control blocks in XML for MFS-based IMS applications.
Haller,Daniel M.; Ho,Shyh Mei F.; Hughes,Gerald D.; Hung,Jenny C.; Huynh,Bill T.; Kuo,Steve T., System and method to facilitate XML enabled IMS transactions between a remote client and an IMS application program.
Dinh,Thu Tram T.; Ho,Shyh Mei F.; Hung,Jenny ChengYin; Lo,Kevin Yu Chang, System for facilitating transactions between thin-clients and message format service (MFS)-based information management system (IMS) applications.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.