Systems and methods for efficiently compressing and decompressing markup language
AssigneeMicrosoft Corporation
InventorsQian Zhang, Yunxin Liu
Life of this patent
Estimating the term…
Abstract
Systems and methods for compressing markup language data, such as XML data, are provided that utilize a finite state machine (FSM), which is representative of an XML schema, and a rule file. Information defined in an XML schema is abstracted into a finite state machine (FSM). The rule file ensures that a compressor and de-compressor have consistent FSMs when the compressor and de-compressor for XML data are not in the same location, such as is generally the case for Web Services scenarios or other client/server scenarios. With the rule file, FSMs can thus be be easily stored, transmitted and updated.
Claims20
A method for generating an overall finite state machine and rule file for aiding in the compressing or decompressing of markup language data of a markup language schema by taking into account the structure of the markup language schema, comprising:
- for the elements of the markup language schema retrievable from a first machine, defining an overall finite state machine that represents all of the elements and that includes information that is equivalent to the information of the markup language schema;
- reducing said overall finite state machine to a rule file, which may be used to reconstruct the overall finite state machine;
- and
- at least one of transmitting said rule file to a second machine, storing said rule file on the first machine, and updating said rule file on the first machine.
A method for compressing markup language data by taking into account the structure of the underlying markup language schema, comprising:
- instantiating in memory of a first machine an overall finite state machine that represents all of the elements of the markup language schema and that includes information that is equivalent to the information of the markup language schema;
- using the overall finite state machine to discern structural information about the markup language data, separating the markup language data into at least one content portion representing variable content and at least one structure portion representing fixed aspects that do not change as the markup language data changes;
- transmitting a rule file, constructed from the overall finite state machine, to a second machine, and transmitting said at least one content portion and said at least one structure portion, such that said overall finite state machine can be reconstructed from the rule file on the second machine and such that said markup language data can be decompressed.
A method for decompressing markup language data by taking into account the structure of the markup language schema, comprising:
- receiving by a first machine a rule file, the rule file having been constructed from an overall finite state machine in memory of a second machine, and receiving the markup language data including at least one content portion representing variable content and at least one structure portion representing fixed aspects that do not change as the markup language data changes;
- constructing and instantiating in memory of the first machine the overall finite state machine from the rule file;
- and
- decompressing said markup language data based on structural information discerned about the underlying markup language schema from the overall finite state machine.
Dependencies are inferred from the claim text.