Claims Analysis
Total Claims: 21
Claim 1
Independent Claim
285 words
In a data processing system (18) responsive to a plurality of input languages, each language adhering to a prescribed syntax, the presence of defined data portions ("For" keys) in incoming data indicating a vote for the presence of a language and the presence of other defined data portions ("Against" keys) indicating a vote Against the presence of the language, a method for identifying an input language comprising the steps of: a) analyzing (42), for each expected language, the syntax of an incoming block of data to identify For and Against keys in said block of data; b) providing For and Against tallies (52) for each expected language in response to said analysis, each said tally (52) being a summation of key entries, each key entry comprising an identified key count multiplied by a skew, the value of said skew indicating an importance of said key in said syntax and in the context of said block of data, said For tally summing entries of For keys and said Against tally summing entries of Against keys; c) comparing (146) said For and Against tallies to determine whether or not they are so close as to signal uncertainty and, based upon a further syntactical characteristic (158, 164, 168) of said block of data, resolving said uncertainty and indicating (160, 162, 166, 170), a value based on one of said tallies, said indication dependent upon whether said further syntactical characteristic indicates For or Against the language; d) indicating (152, 156) a value derived from the larger of the tallies in the event of no uncertainty between the tallies; and e) deciding (176, 178), based upon said indicated value for each said expected language, the identity of a received language.
Claim 2
Dependent Claim
82 words
The method as recited in Claim 1 wherein said step (a) further comprising the steps of: classifying (104) identified For and Against keys by key type; incrementing or decrementing (108) a language vote count by a weight value assigned to each key type, the increment or decrement amount being a signed key type weight value preassigned to the key type each time a said key is determined, said vote value being incremented for For key types and decremented for Against key types.
Claim 3
Dependent Claim
32 words
The method as recited in claim 2 wherein said further syntactical characteristic defined in step (c) is whether a said language vote count is greater or less than a prescribed value (111).
Claim 4
Dependent Claim
36 words
The method as recited in Claim 3 wherein said For key types comprise syntactically conforming characters and sequences, and said Against key types comprise syntactically nonconforming characters and sequences, syntactical errors, unknown words, and illegal sequences.
Claim 5
Independent Claim
53 words
The method as recited in Claims 3 or 4 wherein said skew for each key type is an initial skew value for a key type modified by a skew modifier, said skew modifier causing said initial skew value to differ for second and subsequent appearances of a key type in a data block.
Claim 6
Dependent Claim
71 words
The method as in Claim 5 wherein said skew modifier is a multiplier for key types whose subsequent appearances in a data block are more heavily indicative of a language and wherein said skew modifier is a divider when subsequent appearances of a key type in a data block are not as important to the identification of a language as the first appearance of the key type in the data block.
Claim 7
Dependent Claim
57 words
The method as recited in Claim 6 wherein each time said initial skew value is modified by a skew modifier, the next time said skew is modified by said skew modifier, it is the previously modified skew value that is altered (132, 136), whereby a non-linear change occurs in skew values over a sequence of skew modifications.
Claim 8
Dependent Claim
67 words
The method recited in claim 7 wherein after step b, the method performs the additional steps of: comparing (144, 146) said For and Against tallies against maximum values that each such tally can obtain, and if either said tally is within a preset limit of said maximum value, ceasing further analysis of a block of data in accordance with step (b) and proceeding directly to step (c).
Claim 9
Dependent Claim
62 words
The method as recited in claim 2 wherein said uncertainty determination is made by calculating (144) a difference between said For and Against tallies and comparing (146) said difference against a maximum expected difference therebetween, and if said comparison indicates that said difference is greater than a preset percentage of said maximum difference, indicating confusion regarding a choice as between said tallies.
Claim 10
Dependent Claim
67 words
The method as recited in Claim 9 where said input languages include PCL, and in response to a confusion indication, a PCL voter module performs the further steps of: determining (158) if a PCL language vote count is greater than a prescribed value and, if no, indicating (160) a value derived from the Against tally and if yes, indicating (162) a value derived from said For tally.
Claim 11
Independent Claim
93 words
The method as recited in Claims 9 or 10 where said input languages include PostScript, and in response to a confusion indication, a PostScript voter module performs the further steps of: determining (164) if no syntax error has been detected in the analysis of the block of data and a special character detected that is present in PostScript, and, if no, indicating (166) a value derived from the Against tally and if yes, and said language vote value is greater than said prescribed value, indicating (170) a value derived from said For tally.
Claim 12
Independent Claim
58 words
The method as recited in any one of the preceding claims wherein said comparing step (c) includes the further step of: mapping said For and Against tallies into a preset range of values, each said tally mapped into said preset range of values in accordance with said tally's relationship to a maximum value each said tally can achieve.
Claim 13
Dependent Claim
284 words
A data processing system including software, said system responsive to a plurality of input languages, each language adhering to a prescribed syntax wherein defined data portions ("For" keys) in incoming data indicate a vote for the presence of a language and the presence of other defined data portions ("Against" keys) indicate a vote Against the presence of the language, said system including a voter means (34, 36, 38) for each language and a decider means (40), each said voter means (34, 36, 38) comprising: syntax means (42) for analyzing, for an expected language, the syntax of an incoming block of data to identify For and Against keys in the block of data (32); tally means (52) for providing For and Against tallies for said language in response to said analysis, each said tally being a summation of key entries, each key entry comprising an identified key count multiplied by a skew, the value of said skew indicating an importance of said key in said syntax and in the context of said block of data, said For tally summing entries of For keys and said Against tally summing entries of Against keys; first means (20, 144, 146) for comparing said For and Against tallies to determine whether or not they are so close as to signal uncertainty, and, based upon a further syntactical characteristic of said block of data (32), resolving said uncertainty and indicating a first value based on one of said tallies; and means (20, 152, 156, 160, 162, 166, 170) for indicating said first value or a second value to said decider means, said second value derived from the larger of the tallies in the event of no uncertainty between the tallies.
Claim 14
Dependent Claim
43 words
The data processing system as recited in claim 13 wherein said decider means comprises: means (20, 174, 176, 178) for examining said indicated values from each said voter means and deciding upon the identity of the language embodied by said incoming data block.
Claim 15
Dependent Claim
84 words
The system as recited in claim 14 further comprising: means (20, 42, 104) for classifying identified For and Against keys by key type; and weight means (20, 108) for incrementing or decrementing a language vote count by a weight value assigned to each key type, the increment or decrement amount being a signed key type weight value preassigned to the key type each time a said key is determined, said vote value being incremented for For key types and decremented for Against key types.
Claim 16
Dependent Claim
28 words
The system as recited in claim 15 wherein said further syntactical characteristic is whether a said language vote count is greater or less than a prescribed value (111).
Claim 17
Independent Claim
53 words
The system as recited in Claims 15 or 16 wherein said skew for each key type is an initial skew value for a key type modified by a skew modifier, said skew modifier causing said initial skew value to differ for second and subsequent appearances of a key type in a data block.
Claim 18
Dependent Claim
64 words
The system as recited in claim 17, further comprising: second means (20, 142) for comparing said For and Against tallies against maximum values that each such tally can obtain, and if either said tally is within a preset limit of said maximum value, ceasing further analysis of a block of data by said tally means and operating said first comparing means (20, 144, 146).
Claim 19
Dependent Claim
68 words
The system as recited in claim 18 wherein said first comparison means (20, 144, 146) renders said uncertainty determination by calculating (144) a difference between said For and Against tallies and comparing (146) said difference against a maximum expected difference therebetween, and if said comparison indicates that said difference is greater than a preset percentage of said maximum difference, indicating confusion regarding a choice as between said tallies.
Claim 20
Dependent Claim
52 words
The system as recited in claim 13 wherein a said voter means includes means for mapping said For and Against tallies into a preset range of values, each said tally mapped into said preset range of values in accordance with said tally's relationship to a maximum value each said tally can achieve.
Claim 21
Dependent Claim
47 words
The data processing system as recited in Claim 20 wherein said decider means indicates (1) a non-language (176) if all voter means provide values that are indicative of Against tallys, or (2) a language based upon the largest For tally value provided from a voter means (178).