US20200097473A1 - Method and/or system for processing data streams - Google Patents

Method and/or system for processing data streams Download PDF

Info

Publication number
US20200097473A1
US20200097473A1 US16/557,908 US201916557908A US2020097473A1 US 20200097473 A1 US20200097473 A1 US 20200097473A1 US 201916557908 A US201916557908 A US 201916557908A US 2020097473 A1 US2020097473 A1 US 2020097473A1
Authority
US
United States
Prior art keywords
binary
expressions
character
characters
expression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US16/557,908
Inventor
Mark Andrews
Richard Crandall
Karl Schiffmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US16/557,908 priority Critical patent/US20200097473A1/en
Assigned to SKYLER TECHNOLOGY, INC. reassignment SKYLER TECHNOLOGY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CRANDALL, RICHARD, SCHIFFMANN, KARL, ANDREWS, MARK
Assigned to ROBERT T. AND VIRGINIA T. JENKINS AS TRUSTEES OF THE JENKINS FAMILY TRUST DATED FEB. 8, 2002 reassignment ROBERT T. AND VIRGINIA T. JENKINS AS TRUSTEES OF THE JENKINS FAMILY TRUST DATED FEB. 8, 2002 ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SKYLER TECHNOLOGY, INC.
Publication of US20200097473A1 publication Critical patent/US20200097473A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques

Definitions

  • Characters such as alphanumeric characters
  • characters are typically used to represent information.
  • characters may be used to express words in a spoken and/or written language.
  • characters may be used to represent quantities.
  • Computer systems typically represent quantities as binary expressions which may be stored in memory devices. This enables convenient manipulation of quantities using binary arithmetic through execution of computer instructions.
  • Quantities may also be represented in strings of alphanumeric characters.
  • human interfaces typically express quantities in strings of alphanumeric characters.
  • a computer system typically expresses the quantities in question as binary expressions, and then compares the binary expressions.
  • Computer systems may be adapted to process queries of information which is stored and/or maintained in a particular format.
  • the utility of a response to processing such queries typically depends on, among other things, timeliness of the response and qualities of information used to process such queries to obtain a response.
  • FIG. 1 is a flow diagram illustrating a process to respond to a query according to an embodiment
  • FIG. 2 is a schematic diagram illustrating a system to process queries according to an embodiment
  • FIG. 3 is a flow diagram illustrating a process to associate indices with information according to an embodiment
  • FIG. 4 is a flow diagram illustrating a process to associate indices with information according to an embodiment
  • FIG. 5 is a flow diagram illustrating a process to determine a relationship among character expressions according to an embodiment
  • FIG. 6 is a schematic diagram illustrating a concatenation of binary representations of alphanumeric characters in a binary string according to an embodiment
  • FIG. 7 is a flow diagram illustrating a process to determine a relationship among character strings according to an alternative embodiment
  • FIG. 8 is a schematic diagram illustrating an a partitioning of binary strings into register sized portions.
  • FIG. 9 is a flow diagram illustrating a process to determine a relationship among character strings according to an alternative embodiment.
  • a “query” as referred to herein relates to a request for information.
  • a query may comprise a request for information from a particular “data source” which may express information in a predefined format.
  • a data source may comprise a database capable of maintaining information in format that is retrievable in response to a query.
  • a query may be formatted according to a particular syntax as provided in a query language.
  • such a query may comprise, for example, operands, operators, relational operators and/or the like for expressing a request for information according to such a query language.
  • a query may be “processed” to provide a “query response” to a request for information.
  • a query may be processed by, for example, retrieval of information and processing of the retrieved information according to, for example one or more query operators.
  • a query response may comprise, for example, information requested by a query, an acknowledgement of receipt of the query and/or the like.
  • a query response may comprise one or more Boolean results (e.g., “true” or “false”) and/or information retrieved from a data source that is identified and/or requested in the processed query. It should be understood, however, that these are merely examples of responses to a query and claimed subject matter is not limited in these respects.
  • utility of a response to a query may be affected by how quickly such a response is provided following issuance of the query. For example, information received in a timely response to a query may have more utility than information received in a delayed response to the query.
  • information from a data source may be dynamic and change over time.
  • a timely response to a query enables the issuer of a query to act sooner on any information provided in such a timely response than would otherwise be possible on information received in a delayed response.
  • the timeliness of a response to a query may be affected, at least in part, on an availability of processing resources for processing such a query. As illustrated below with reference to particular embodiments, timeliness of query processing may also be affected, at least in part, using specific techniques to process information provided in queries and/or information in data sources.
  • a query may comprise a request of information from one or more data sources.
  • a data source may comprise a static database, files and/or records that may be maintained on one or more mass storage devices.
  • a data source may comprise one or more “data streams” providing information that may change and/or be updated from time to time.
  • a query may be processed with information that is available to be used in connection with processing the query.
  • a data stream may provide such available information over time. For example, query may be processed using information that is available at a first time. At a second time in the future, however, such a data stream may make additional and/or different information available for use in processing a query.
  • a “character” as referred to herein relates to a symbol capable of being expressed in a medium.
  • one or more characters may be arranged in a particular manner to express a particular meaning as a “character expression.”
  • an arrangement of characters such as a concatenation of characters in one particular embodiment, may be used to express words, acronyms and/or multi-character symbols in a particular spoken and/or written language.
  • words formed according to the English language in a particular example, may comprise “alphanumeric characters” selected from an alphabet of such characters.
  • an arrangement of characters may provide a mathematical expression such as numerals and/or equations.
  • these are merely examples of character expressions and claimed subject matter is not limited in these respects.
  • a “string” as referred to herein comprises an array of symbols arranged in a single linear dimension.
  • symbols in a string may be associated with particular positions in the string relating to, for example, a linear ordering of symbols.
  • a string may comprise one or more of different types of symbols.
  • an alphanumeric string or string of alphanumeric characters may comprise a linear array of alphanumeric characters (e.g., “0”, “1”, “2”, “3”, “a”, “A”, “b”, “B”, etc.) defined according to a character alphabet.
  • such a character alphabet may comprise characters that are visually distinct and recognizable.
  • an alphanumeric string may comprise a character expression to express particular meaning such as, for example, a mathematical expression.
  • a character string is merely one example of a character expressions and that character expressions may comprise different arrangements of characters without departing from claimed subject matter.
  • a “binary string” may comprise a linear array of symbols as bits representing “1” or “0”. It should be understood, however, that these are merely examples of strings, and the types of symbols that may represented in a string, and claimed subject matter is not limited in these respects.
  • a string of alphanumeric characters may be used to express a quantity according to particular formats for representing quantities such as, for example integer, and floating and/or fixed decimal point formats.
  • an alphanumeric string may comprise a concatenation of alphanumeric characters selected from among “0,” “1,” “2,” “3,” “4,” “5,” “6,” “7,” “8,” and/or “9” to express a quantity as a base ten or base eight expression in such an integer or floating and/or fixed decimal point format, for example.
  • one or more alphanumeric characters may be used to indicate a location for a decimal point among digits in the floating point expression.
  • a string of alphanumeric characters may be used to express one or more words in a spoken language (e.g., English, Spanish, French, Russian, Greek, Japanese, etc.).
  • a character string may form a character expression and claimed subject matter is not limited in these respects.
  • a binary string may represent a character and/or string of characters according to an association of characters and binary strings.
  • a binary string may comprise a concatenation of symbols selected from “1” and/or “0” to express a quantity as a binary expression (e.g., as a 2's-complement expression or unsigned expression as illustrated below, for example).
  • a binary expression e.g., as a 2's-complement expression or unsigned expression as illustrated below, for example.
  • an expression of a query may comprise one or more “query character expressions” to represent portions of a query.
  • a query character expression may comprise a string of characters representing an operand and/or portion of an argument that forms a query.
  • this is merely an example of a query character expression and claimed subject matter is not limited in this respect.
  • a character expression may represent all or a portion of information from a data source that may be used in a “data character expression” to process a query.
  • a data character expression may comprise one or more character strings representing all or a portion of information from a data source that may be used in processing a query.
  • processing a query of information from a data source may comprise processing data character expressions provided by the data source.
  • a data source comprises information provided by one or more data streams
  • such information may be represented as one or more “data stream character expressions.”
  • processing a query of information provided by one or more data streams may comprise processing one or more data stream character expressions.
  • a data stream character expression may be expressed as a concatenation of binary expressions associated with individual characters in the data stream in one or more “data stream binary strings.”
  • a query to information in the data stream may be processed based, at least in part, on the one or more data stream binary strings.
  • this is merely an example embodiment and claimed subject matter is not limited in this respect.
  • a query may comprise one or more query character expressions as illustrated above. Such a query may be processed based, at least in part, on a query binary string comprising a concatenation of one or more binary expressions associated with one or more individual characters of at least one of said query character expressions.
  • a query comprising one or more query character expressions is obtained at block 12 .
  • individual characters in a query character expression may be associated with a binary expression according to an association of characters and binary expressions.
  • Block 14 may concatenate such binary expressions associated with individual characters in the query character expression to provide one or more query binary strings.
  • Block 16 may then process the query based, at least in part, on the one or more query binary strings.
  • block 16 may additionally obtain one or more binary strings comprising a concatenation of binary expressions of characters in a data character expression that represents information to which the query is directed. Block 16 may then process the query based, at least in part, on the one or more binary strings and one or more query binary strings provided at block 14 .
  • block 16 may process the query by, for example, determining a relationship between information represented by the data character expression and information represented by the query character expression based, at least in part, on the one or more query binary strings and one or more data binary string.
  • a data character expression may indicate information relating to a financial transaction such as a price in dollars.
  • a query may comprise a query character expression representing a dollar value that the query is to compare to the price for determining whether the price exceeds the dollar value.
  • binary expressions of individual characters in the data character expression representative of the price may be concatenated to form a data binary string while binary expressions of individual characters in the query character expression may be concatenated to form a query binary string.
  • the query may then be processed based, at least in part, on the query and data binary strings to determine whether the price exceeds the dollar amount.
  • this is merely a particular example of how a query may be processed based, at least in part, on first and second binary strings and claimed subject matter is not limited in this respect.
  • one or more query character expressions and a data character expression may represent respective first and second quantities.
  • Block 16 may determine a “quantitative relationship” between the first and second quantities based, at least in part, on the one or more query binary strings and one or more data binary strings.
  • the one or more query binary strings and one or more data binary strings may comprise concatenations of binary expressions associated with individual characters in the data and query character expressions.
  • such a quantitative relationship may comprise an equality and/or inequality relationship between and/or among the first and second quantities.
  • first and second quantities may be expressed as respective first and second strings of alphanumeric characters. Again, however, this is merely an example of a particular embodiment and claimed subject matter is not limited in these respects.
  • a query may comprise a query character expression representing a dollar value that the query is to compare to a transaction price for determining whether the transaction price exceeds the dollar value.
  • binary expressions of individual characters in the data character expression representative of the transaction price may be concatenated to form a data binary string while binary expressions of individual characters in the query character expression may be concatenated to form a query binary string.
  • the query may then be processed based, at least in part, on the query and data binary strings to determine whether the price exceeds the dollar amount.
  • this is merely a particular example of how a query may be processed based, at least in part, on first and second binary strings and claimed subject matter is not limited in this respect.
  • FIG. 2 is a schematic diagram of a system 100 to process queries of information received from a data source 120 according to an embodiment.
  • data source may 120 may comprise a data stream to provide information over time.
  • a data stream may comprise information reporting events and/or transactions such as, for example, stock trades and/or movements in stock prices, for example.
  • this is merely an example of how a system may be employed to process queries of information from a data source and claimed subject matter is not limited in this respect.
  • a data stream at data source 120 may comprise multiple data streams as a composite data source providing information that may be the subject of a query.
  • multiple composite data streams may comprise such information from multiple stock exchanges (e.g., NASDAQ, NYSE and/or the like).
  • stock exchanges e.g., NASDAQ, NYSE and/or the like.
  • this is merely an example of multiple data streams in a composite data stream according to a particular embodiment and claimed subject matter is not limited in these respects.
  • a data stream may be received from data source 120 using any one of several technologies for transmitting information in a network such as, for example, stream-based protocols providing data at set intervals (e.g., as in Synchronous Optical NETwork (SONET) and or Asynchronous Transfer Mode (ATM) protocols).
  • SONET Synchronous Optical NETwork
  • ATM Asynchronous Transfer Mode
  • a data stream may be received from a data source as bursts according to any one of several packet-based communication protocols such as, for example, TCP/IP over any one of several data link protocols such as, for example, data protocols substantially compliant with versions of IEEE Std. 802.3, IEEE Std. 802.11 and/or IEEE Std. 802.16, to name a few.
  • this is merely an example of a communication protocol that may be used for transmitting information in a data stream and claimed subject matter is not limited in this respect.
  • queries may be processed based on information most recently provided to a data source.
  • information describing an event and/or transaction may be provided in a data stream contemporaneously with occurrences of such an event and/or transaction.
  • data source 120 may comprise data stored on one or more mass storage devices.
  • Such a mass storage device may comprise, for example, information indicative of events and/or transactions occurring over a period (e.g., week, day, year, etc.).
  • a parser 118 may process information received from data source 120 to obtain information in a format that may be readily queried using one or more techniques illustrated below.
  • parser 118 may represent information in a data character expression as a concatenation of binary expressions associated with individual characters in the data character expression.
  • parser 118 may associate information of interest from data source 120 with indices to be employed in processing queries as illustrated below.
  • information received from data source 120 may be organized according to a predetermined format.
  • information provided from data source 120 comprising a database may organize data character expressions in records and/or fields according to a database structure (e.g., in a hierarchical or relational database structure).
  • specific character expressions in a data stream comprising information of interest may be located in particular predefined character and/or data fields in the data stream.
  • header information in a data packet may indicate presence of a character expression of interest in a payload portion of the data packet at a particular predefined location in the data packet.
  • such locations of specific character expressions of interest may be indicated by other metadata that exists externally from the data stream. It should be understood, however, that these are merely examples of how a data source may organize data character expressions according to a predetermined format and claimed subject matter is not limited in these respects.
  • a configuration module 122 may determine how parser 118 is to interpret data received from data source 120 .
  • configuration module may configure and/or program parser 118 to obtain information of interest from data source 120 .
  • FIG. 3 is a flow diagram illustrating a process 200 performed by parser 118 to process information received from data source 120 according to an embodiment.
  • parser 118 may extract one or more data character expressions from data source 120 according to metadata.
  • metadata may be provided by, for example, application 102 in the form of metadata 104 to configuration module 122 .
  • Configuration module 122 may then configure and/or program parser 118 to obtain information from data source 120 according to metadata 104 .
  • parser 118 may obtain information of interest from data source 120 according to metadata provided in data source 120 . According to a particular embodiment, therefore, parser 118 may extract character expressions from data source 120 according to metadata 104 .
  • metadata 104 may specify locations of data character expressions from data source 120 according to an industry standard format such as, for example, one or more formats promulgated by the Securities Industry Automation Corporation (SIAC) and/or the Chicago Mercantile Exchange (CME), to name just two.
  • data source 120 may provide data character expressions in documents formatted according to a markup language (e.g., standard generalized markup language (SGML), hypertext markup language (HTML) or eXtensible markup language (XML)) while metadata 104 comprises document type definitions specifying, for example, tags identifying locations of data character expressions of interest.
  • markup language e.g., standard generalized markup language (SGML), hypertext markup language (HTML) or eXtensible markup language (XML)
  • metadata 104 comprises document type definitions specifying, for example, tags identifying locations of data character expressions of interest.
  • Character expressions extracted at block 202 may comprise any one of several types of character expressions comprising information such as, for example, transaction identification information including stock ticker symbols, information descriptive of a transaction volume and/or price. However, these are merely examples of information that may be represented and/or expressed by a data character expression from a data source and claimed subject matter is not limited in these respects.
  • parser 118 may also concatenate binary expressions associated with one or more individual characters in an extracted character expression to form one or more data binary strings as illustrated in U.S. Non-provisional patent application Ser. No. 11/509,420 titled “Method and/or System for Comparing Character Expressions,” filed on Aug. 23, 2006, and as described below with reference to FIG. 6 .
  • a data character expression comprising a ticker symbol “IBM” may be represented by the data binary string “01 001 001 01 000 010 01 001 101” comprising a concatenation of the binary expressions “01 001 001”, “01 000 010” and “01 001 101” associated with the characters “I”, “B” and “M”, respectively, according to the association of characters and binary expressions illustrated below in Table 3.
  • Price information in a data character expression may be represented by the character expression “098” to represent a share price of ninety-eight dollars, as an example.
  • parser 118 may represent such a share price as a concatenation of binary expressions “00 110 000”, “00 111 001” and “00 111 000” associated with the characters “0”, “9” and “8”, respectively, according to the association of characters and binary expressions illustrated below in Table 2. Again, these are merely examples of how information in a data character expression may be represented as a concatenation of binary expressions associated with one or more characters in the data character expression, and claimed subject matter is not limited in these respects.
  • information from data source 120 may be organized according to particular attributes.
  • information relating to a transaction for the sale of stock may indicate relate to a price at which shares of stock are being sold in such a transaction.
  • such an indication of a price may be organized according to one or more attributes such as, for example, a ticker symbol representing the issuer of the stock, time/date when transaction was completed, and/or the like.
  • attributes such as, for example, a ticker symbol representing the issuer of the stock, time/date when transaction was completed, and/or the like.
  • system 100 may define indices to correspond with attributes which are associated with information from data source 120 .
  • portions of information from data source 120 may be associated with indices to identify attributes associated with such portions of information.
  • data character expressions extracted at block 202 may be associated with indices based, at least in part, on attributes associated with information expressed and/or represented by data character expressions extracted at block 204 .
  • data binary strings comprising concatenations of binary expressions associated with characters in a data character expression may be associated with indices based, at least in part, on attributes associated with information expressed and/or represented by the data character expression.
  • the binary string “01 001 001 01 000 010 01 001 101” comprises a concatenation of binary expressions associated with characters in ticker symbol “IBM” according to an association between characters and binary expressions.
  • the ticker symbol “IBM” may identify an attribute such as an issuer of a security and/or stock that is the subject of a transaction, for example.
  • block 204 may determine an index associated with such a ticker symbol (and the attribute it represents) by comparing the binary string “01 001 001 01 000 010 01 001 101” with other strings stored in memory.
  • a character expression representing an attribute may be a part of and/or associated with one or more character expressions comprising other related information.
  • such a character expression representing an attribute such as a ticker symbol, may relate to and/or be a part of one or more character expressions comprising information relating to a transaction and/or event, for example.
  • one or more character expressions in data source 120 may comprise other information relating to a transaction and/or event involving issuer IBM such as, for example, a price, an number of shares sold and time of the transaction, to name a few.
  • block 204 may also associate other information regarding such a transaction with an index associated with ticker symbol “IBM”.
  • information expressed and/or represented by the data character expressions extracted at block 202 may be associated with indices using one or more tables.
  • FIG. 4 is a flow diagram illustrating an embodiment of a process 300 to associate such information with indices.
  • a primary table may associate sequential indices with binary strings.
  • such a primary table may associate such sequential indices with addresses of memory locations of binary strings to be compared with binary strings representative of an attribute.
  • this is merely an example of how indices may be associated with strings and claimed subject matter is not limited in this respect.
  • Indices I 1 through I n may comprise indices in a primary table that may be associated with an attribute of information represented by a data character expression received from data source 120 .
  • Table 1 associates indices I 1 through I n with string addresses SA 1 through SA n .
  • block 302 may search among binary strings associated with indices to locate a binary string that matches a concatenation of binary expressions associated with one or more characters of a data character expression.
  • indices through I n may be associated with binary strings stored at string addresses SA 1 through SA n , respectively.
  • block 302 may search among binary strings stored in string addresses SA 1 through SA n to locate a matching binary string stored at string address SA m . Upon locating such a matching binary string stored at string address SA m , block 302 may determine that index I m is to be associated with an attribute associated with a data character expression (extracted at block 202 of process 200 , for example).
  • block 302 may search among binary strings stored at string addresses SA 1 through SA n to locate a binary string stored at string address SA j matching the binary string “01 001 001 01 000 010 01 001 101” (comprising a concatenation of binary expressions associated with characters in ticker symbol “IBM” as illustrated above). Upon finding such a match, block 302 may associate information relating to the data character expression with index I j to be returned at block 310 .
  • index I j is merely an example of how an index may be associated with information relating to a data character expression upon locating a matching binary string and claimed subject matter is not limited in this respect.
  • Binary strings located at addresses SA 1 through SA n may be formed from concatenations of binary expressions associated with characters in character expressions.
  • indices I 1 through I n may represent at least a partial ordering of a sequence of such character expressions.
  • indices I 1 through I n may comprise numerals in an ascending sequence where I i is represented by a lowest value or numeral in the sequence and I n is represented by a highest value or numeral in the sequence.
  • this is merely an example of how indices may comprise a sequential ordering and claimed subject matter is not limited in this respect.
  • a sequential ordering of indices I 1 through I n may represent an ordering of a sequence of character expressions and/or binary strings associated with indices I 1 through I n .
  • ticker symbols associated with stocks issued by IBM, Intel and Apple Computer “IBM”, “INTC” and “AAPL”, respectively, may be ordered according to an alphabetic ordering “AAPL”, “IBM” and “INTC”.
  • an ordering of indices I 1 through I n may correspond with such an alphabetic ordering of ticker symbols.
  • ticker symbol “AAPL” may be associated with a numerical index I j in Table 1 that is lower (or less than) indices associated with ticker symbols “IBM” and “INTC”.
  • ticker symbol “IBM” may be associated with a numerical index I j in Table 1 that is lower (or less than) a numerical index I k associated with ticker symbol “INTC”.
  • numerical values represented by binary expressions may indicate an ordering of a sequence of characters associated with the binary expressions.
  • numerical values represented by binary strings stored at string addresses SA 1 through SA n may also indicate an ordering of a sequence of character expressions associated with indices I 1 through I n .
  • numerical values represented by binary strings stored at addresses SA 1 through SA n may ascend or descend with respect to 1 through n, for example.
  • the binary string located at address SA i may represent a numerical value that is less and/or lower than a numerical value represented by the binary string located at address SA j (associated with ticker symbol “IBM”).
  • the binary string located at address SA j may represent a numerical value that is less and/or lower than a numerical value represented by the binary string located at address SA k (associated with ticker symbol “INTC”).
  • block 302 may employ a binary search to locate a matching binary string among binary strings stored at string addresses SA 1 through SA n .
  • binary strings stored at string addresses SA 1 through SA n may represent numerical values.
  • block 302 may determine whether a particular binary string stored at string address SA p matches a binary string ⁇ comprising a concatenation of binary expressions associated with characters of a data character expression which similarly represents a numerical value.
  • block 302 may determine whether a numerical value represented by ⁇ is greater than or less than a numerical value represented by the binary string stored at string address SA p .
  • numerical values represented by binary strings stored at string addresses SA 1 through SA n may indicate an ascending sequential ordering of indices I 1 through I n with respect to 1 through n.
  • block 302 may then commence a binary search for a matching binary string among binary strings stored at string addresses SA q where q ⁇ p.
  • block 302 may then commence a binary search for a matching binary string among binary strings stored at string addresses SA q where q>p.
  • block 306 may search for a matching binary string associated with an index of a secondary table associating indices with binary strings stored in memory.
  • block 310 may return an index associated with the matching binary string in the secondary table.
  • a secondary table may be organized according to any one of several data structures for associating indices to binary strings stored in memory.
  • a secondary table may comprise a data structure that may be readily updated to incorporate additional indices and binary strings stored in memory associated with such additional indices.
  • a secondary table may associate indices and stored binary strings according to a map data structure representing nodes of a tree.
  • additional indices and/or binary strings may be incorporated by appending nodes.
  • this is merely an example of how a secondary table associating indices and binary strings may be structured, and claimed subject matter is not limited in these respects.
  • block 312 may store the data binary string in memory and associate the stored data binary string with a new index in the secondary table by, for example, appending a node to a map data structure representing nodes of a tree. Block 314 may then return the new index to be associated with an attribute of a data character expression extracted at block 202 of process 200 .
  • updating a primary table employed at block 302 may comprise a processing resource and/or time intensive process. Nevertheless, from time to time a primary table employed at block 302 may be updated to incorporate indices associated with binary strings in a secondary table employed at block 306 to enable faster location of matching strings and associated indices identified in the secondary table. For example, indices associated with binary stings in a secondary table may be incorporated in a primary table comprising a format substantially according to Table 1.
  • indices I 1 through I n may be associated with different binary string addresses in the updated primary table such that indices I 1 through I n indicate a sequential ordering of associated data character expressions and indicate a sequential ordering of numerical values represented by binary strings stored at binary string addresses SA 1 through SA n . Accordingly, block 302 may continue to locate binary strings associated with indices I 1 through I n in the updated primary table as illustrated above according to particular embodiments. Upon such events to update the primary table, the indices incorporated into the primary table may be removed from the secondary table.
  • a secondary table may be initialized as an empty table to which new indices are incorporated over time as data binary strings do not match stored binary strings associated with indices in either a primary table at block 302 or a secondary table at block 306 as illustrated above.
  • parser 118 may select a particular window buffer 116 to store such information based, at least in part, on some attribute associated with the information. As illustrated above according to particular embodiments, parser 118 may associate indices with information comprising character expressions received from data source 120 and/or binary strings comprising concatenations of binary expressions associated with characters in such character expressions. In some embodiments, however, parser 118 may store at least some of such information that is not associated with any such index in a window buffer 124 . Here, such information in window buffer 124 may be sequentially accessed in response to a query without the need for specifying an index to information stored in window buffer 124 .
  • parser 118 may select a particular window buffer 116 and/or 124 to store information comprising a data character expression and/or binary string based, at least in part, a particular data source and/or data stream associated with such information.
  • parser 118 may determine a particular data source and/or data stream (e.g., from among a plurality of data sources and/or data streams) associated with such information based, at least in part, on a tag and/or identifier associated with such information (e.g., obtained from data source 120 ) and/or metadata 104 . Accordingly, information associated with such a particular source may be accessed in response to a query by specifying a particular window buffer storing such information associated with the particular source and/or data stream.
  • parser 118 may store such information in a window buffer 116 and/or 124 dedicated to storing data from the particular stock exchange.
  • Such information may include, for example, information relating to transactions conducted on a particular exchange and/or the like.
  • information indices are associated with information based on an issue of a security and/or stock (e.g., as represented by a ticker symbol)
  • information in a window buffer 116 storing information relating to NYSE transactions may further be organized by indices associated with particular issuers of stock on this exchange.
  • parser 118 may store information associated with ticker symbol “IBM” in a window buffer 116 dedicated to storing information associated with NYSE according to an index associated with such information (e.g., associated by parser 118 as illustrated above in connection with particular embodiments). Accordingly, information associated with issuer IBM may be accessed in response to queries specifying a window buffer 116 dedicated to storing information associated with NYSE transactions and an index associated ticker symbol “IBM”. Similarly, information associated with transactions associated with issuer Intel Corp. may be stored in a window buffer 116 dedicated to storing information associated with NASDAQ transactions. Accordingly, information associated with issuer Intel Corp. may be accessed in response to queries specifying a window buffer 116 dedicated to storing information associated with NASDAQ transactions and an index associated ticker symbol “INTC”.
  • a window buffer may be dedicated to storing information comprising data character expressions and/or binary strings associated with a particular attribute such as, for example, a particular data source and/or data stream.
  • parser 118 may aggregate information associated with multiple attributes for storage in a single window buffer 116 and/or 124 .
  • parser 118 may store such aggregated information associated with multiple sources and/or data streams in a single window buffer 116 and/or 124 in addition to, or in lieu of, storing information associated with particular sources and/or data streams in buffer windows 116 and/or 124 dedicated to such particular sources and/or data streams as illustrated above.
  • parser 118 may store information relating to transactions aggregated from multiple stock exchanges in a single window buffer 116 and/or 124 .
  • parser 118 may also store such information in window buffers 116 and/or 124 that are dedicated to storing information associated with transactions on particular exchanges. For example, parser 118 may aggregate information regarding transactions on NASDAQ and NYSE for storage in an aggregated window buffer 116 and/or 124 .
  • parser 118 may store information associated with transactions on NASDAQ in a window buffer 116 and/or 124 dedicated to storing information regarding transactions on NASDAQ and/or information associated with transactions on NYSE in a window buffer 116 and/or 124 dedicated to storing information regarding transactions on NYSE.
  • information regarding a transaction involving issuer IBM may be accessed in response to a query specifying such an aggregated window buffer 116 and/or 124 or a window buffer dedicated to storing information regarding transactions on NYSE.
  • a window buffer 116 and/or 124 may comprise one or more devices capable of storing information in a retrievable format.
  • data source 120 comprises one or more data streams
  • a window buffer 116 and/or 124 may be updated from time to time with new information received from the data stream.
  • a window buffer 116 and/or 124 may maintain “historical data” stored in connection with previous updates to the window buffer 116 and/or 124 . From time to time and/or according to a process, historical data stored in a window buffer 116 and/or 124 may be made to expire.
  • queries may be processed based, at least in part, on unexpired information stored in a window buffer 116 and/or 124 .
  • a window buffer 116 and/or 124 may combine and/or merge unexpired information and new information received in an update for use in processing queries.
  • information in a window buffer 116 and/or 124 may be updated in response to new information extracted by parser 118 (e.g., data character expressions and/or binary strings comprising concatenations binary expressions of individual characters of a data character expression) and stored in the window buffer.
  • a window buffer may discard and/or flush information that has been stored after a particular duration.
  • information stored in a window buffer comprises information associated with transactions on a stock exchange, such information may be discarded and/or flushed after a duration such as, for example, ten seconds. It should be understood, however, that this is merely an example of a duration upon which information may be discarded and/or flushed from a window buffer and claimed subject matter is not limited these respects.
  • information stored in a window buffer 116 and/or 124 may be maintained in the window buffer as identifiable data objects.
  • a window buffer 116 and/or 124 may continue to store information associated the particular data object up to a set number of transactions and/or updates, and discard and/or flush any information relating to older transactions and/or updates.
  • a window buffer 116 and/or 124 may store information associated with a most recent transaction and/or update associated with a particular data object and flush information associated with other transactions and/or updates associated with the particular data object.
  • a window buffer 116 and/or 124 may store information associated with transactions and/or trades on a stock exchange as data objects.
  • data objects may comprise information associated with a purchase and/or sale of stock of a particular company.
  • a data object may comprise information in a window buffer stored in association with an index associated with a ticker symbol as illustrated above (e.g., as determined by parser 118 ).
  • a window buffer 116 may store information associated with a most recent transaction and/or trade associated with a ticker symbol and/or issuer of a security, and discard and/or flush information associated with any other transactions and/or trades associated with the ticker symbol and/or issuer.
  • a window buffer 116 may store information associated with a set number of the n most recent transactions and/or trades associated with a ticker symbol and/or issuer of a security, and discard and/or flush information associated with any other transactions and/or trades associated with the ticker symbol and/or issuer. It should be understood, however, that these are merely examples of how information in a window buffer may be updated and claimed subject matter is not limited in these respects.
  • information stored in window buffers 116 and/or 124 may be accessed in response to a query 108 received from an application 102 .
  • Queries 108 may be provided in any particular format used to express a query of information such as, for example, query language such as, for example, a structured query language (SQL) and/or variations thereof. However, this is merely an example of how a query from an application may be formatted according to a particular query syntax and/or language, and claimed subject matter is not limited in this respect.
  • Query interface 112 may interact with engine 114 to process queries 108 and provide result objects 110 as responses to queries 108 .
  • a query 108 may comprise information associated with a particular data item stored in a window buffer 116 and/or 124 .
  • information stored in a window buffer 116 may be identifiable by an index (e.g., determined by parser 118 ).
  • a window buffer 116 and/or 124 may store information associated with a particular attribute such as, for example, a particular data source and/or data stream associated with stored information.
  • a query may comprise sufficient information to locate information stored in a window, a query operator and/or a query character expression.
  • a query 108 may comprise a format as follows:
  • QueryCharacterExpression may similarly comprise a character expression such as, for example, an alphanumeric character string representing, for example, a numerical quantity or a word in a spoken and/or written language. Again, however, these are merely examples of what a character expression may represent according to particular embodiments and claimed subject matter is not limited in these respects. According to an embodiment, although claimed subject matter is not limited in these respects, QueryOperator may comprise an operator relating information represented by QueryCharacterExpression and information stored in a window buffer 116 and/or 124 at a location according to StoredInformationIdentifier.
  • QueryOperator may provide a Boolean result based, at least in part, on the information stored in a window buffer according to StoredInformationIdentifier and information represented by QueryCharacterExpression.
  • these are merely examples of a query operator that may be used to relate portions of a query expression and claimed subject matter is not limited in these respects.
  • a query 108 may comprise one or more query character expressions such as, for example, stock ticker symbols or quantities such as dollars, just to name a few.
  • query interface 112 and/or engine 114 may concatenate binary expressions associated with individual characters in such query character expressions to derive one or more binary strings as illustrated below with reference to FIG. 6 .
  • Query 108 may then be processed based, at least in part, on the one or more binary strings.
  • a query 108 may also include a query operator and/or reference to stored information comprising one or more binary strings (e.g., stored in a window buffer).
  • query interface 112 and/or engine 114 may process query 108 by determining a relationship according to the query operator between the one or more stored binary strings and the one or more binary strings derived from the query character expression.
  • query interface 112 may determine a quantitative relationship between such a first quantity and a second quantity represented by stored information referenced by an identifier in the query 108 . Based at least in part on a query operator specified in the query 108 , in this particular example, the query 108 may be processed to determine whether the first quantity is greater than, less than, equal to, not equal to, etc., than the second quantity.
  • query interface and/or engine 114 may employ one or more techniques illustrated below to determine a quantitative relationship between first and second character expressions.
  • the query 108 may comprise a stored information identifier indicating a location in a window buffer 116 and/or 124 storing information relating to a historical transaction price, for example.
  • a stored information identifier may indicate, for example, a particular window buffer 116 and/or 124 storing information regarding trades on a particular exchange, an index associated with a particular issuer and/or ticker symbol and/or additional information further specifying historical price information.
  • a stored information identifier may indicate a location of stored information and claimed subject matter is not limited in these respects.
  • the information stored at the location indicated at the location specified by the stored information identifier may comprise a first binary string comprising a concatenation of binary expressions associated with characters in a data character expression as illustrated above.
  • a character expression may represent, for example, a quantity such as a historical transaction price in dollars.
  • the query 108 may also specify a query character expression representing, for example, a quantity such as a threshold transaction price in dollars.
  • query interface 112 and/or engine 114 may concatenate binary expressions of characters in the query character expression to form a second binary string, and determine a quantitative relationship between the historical transaction price and the threshold transaction price based, at least in part, on the first and second binary strings using techniques illustrated below.
  • a character expression may be expressed as a “fixed length” string comprising a finite number of symbols arranged in a linear ordering.
  • a fixed length string comprising a linear ordering of three symbols may represent a positive quantity of up to nine hundred ninety-nine as a base ten integer expression comprising alphanumeric characters “0,” “1,” “2,” “3,” “4,” “5,” “6,” “7,” “8,” and/or “9”.
  • the positive quantity of thirty-nine may be expressed as “039”.
  • a first or left most symbol comprises a character “0” as “padding” since the base ten expression for the positive thirty-nine uses only two characters in the fixed length string. It should also be observed that the base ten expression “039” for the quantity thirty-nine is also “right justified” in that a least significant character “9” takes the right most position in the fixed length string.
  • right justification and left padding provide conventions to illustrate a location of information in a character and/or binary string.
  • such a right justified and zero padded expression provides a least significant character and/or bit in a right most position of a string, and padding of “0”s in positions of the string to the left of positions containing information.
  • such a right justification and left padding may also apply to a transposition of such a string where a leftmost string position is swapped with a rightmost string position, and an order of string positions is maintained in reverse order from right to left.
  • a least significant bit and/or character may exist in a left most position of a string and padding of “0”s may exist in string locations to the right of information in the string. Nevertheless, such a transposition may also said to be right justified and left padded.
  • a fixed length string may represent values “1” and “0” at bit locations in a fixed length binary string.
  • a fixed length string may be defined by a word format in a computer platform (e.g., fixed length words of 16-bit, 32-bit, 64-bit, 128-bit and/or the like).
  • a word format may define a format of a fixed length binary string to be stored, held and/or represented in a register of a computing platform.
  • such a register to store a fixed number of bits as a fixed length binary string may comprise a “fixed length register.”
  • a binary expression may represent a quantity.
  • Such binary strings may be used to represent a quantity in any one of several formats.
  • a binary string may represent a quantity in an “unsigned” format as follows:
  • b i comprises a bit value of bit position i expressed as a “1” or a “0.”
  • a first binary expression may be “added” to a second binary expression to provide a resulting, third binary expression.
  • first and second binary expressions represent respective first and second quantities
  • third binary expression may represent a “sum” of the first and quantities.
  • an addition operation represented here as the symbol “+,” may add binary expressions to provide a sum as follows:
  • b n . . . b 1 b 0 d 0 . . . d 1 d 0 +e n . . . e 1 e 0 .
  • Such an addition operation may determine digits b i in a resulting sum by, beginning with a least significant digit, determining bit a value of corresponding digit as follows:
  • a first binary expression may be “subtracted” from a second binary expression to provide a resulting, third binary expression.
  • first and second binary expressions represent respective first and second quantities
  • third binary expression may represent a “difference” between the first and quantities.
  • a binary expression may represent a quantity as a “2's-complement” expression having a format outlined as follows:
  • a most significant bit comprises a sign bit
  • bit positions between MSB and bit positions containing other information are padded with “0” s.
  • an MSB (e.g., left most bit) in the fixed binary strings comprises a “sign bit.”
  • an MSB of “0” indicates a non-negative quantity while an MSB of “1” indicates a negative quantity.
  • the remaining bits in the expression may represent a quantity as illustrated above in the unsigned binary expression illustrated above in relation (1).
  • such a 2's-complement binary expression may comprise a set 16-bit word size.
  • a positive quantity “1607” expressed as a base ten integer may be expressed as a 16-bit word as “0 000 011 001 000 111.” Since “1607” comprises a positive quantity, the most significant bit of its 2 's-complement binary expression (e.g., in a leftmost position in the 16-bit word in this particular example) comprises “0.”
  • the remaining bits in the expression may represent a negative quantity based, at least in part, on an inversion of the remaining bits.
  • a negative quantity ⁇ N may be expressed using a 2's-complement form by, according to a particular embodiment, first obtaining a 2's-complement binary expression (or unsigned binary expression as illustrated above in relation (1), for example) of the positive quantity N.
  • a “1's-complement” of the binary expression of positive quantity N, ⁇ N may be obtained by replacing bit values of “1” with “0” and replacing bit values of “0” with “1”.
  • a bit value of “1” is added to ⁇ N to provide the 2's-complement expression of ⁇ N, while ignoring any carry from a most significant bit.
  • the subtraction of a first quantity from a second quantity may be expressed as an addition of a negative of the first quantity to the second quantity, providing a third quantity as a difference between the first and second quantities.
  • the first and second quantities may be expressed as 2's-complement binary expressions.
  • a 2's-complement expression of the negative of the first quantity may be obtained as illustrated above.
  • the 2's-complement expression of the second quantity may be added to the 2's-complement of the expression of the negative of the first quantity to provide a 2's-complement expression of a result of subtracting the first quantity from the second quantity.
  • this is merely an example of how a result from a subtraction of a first quantity from a second quantity may be expressed and claimed subject matter is not limited in these respects.
  • first quantity may be deemed to be “greater than” the second quantity.
  • first quantity may be deemed to be “less than” the second quantity.
  • first and second quantities are represented as 2's-complement binary expressions
  • a most significant bit of a 2's-complement third quantity comprises “1” (indicating a negative quantity)
  • the first quantity may be deemed greater than the first quantity.
  • the most significant big of the 2's-complement third quantity comprises “0” (indicating a positive or zero quantity)
  • the first quantity may be deemed to be “less than or equal to” the second quantity.
  • a quantity may be expressed as a string of alphanumeric characters.
  • such an alphanumeric string may comprise a concatenation of individual alphanumeric characters selected from “0,” “1,” “2,” “3,” “4,” “5,” “6,” “7,” “8,” and/or “9.”
  • a concatenation of individual characters may comprise a base ten expression of a quantity.
  • Such a base ten expression of an integer or fixed and/or floating decimal point numeral may be formulated according to relation (2) as follows:
  • c i comprises a value of a character at position i in a string of concatenated alphanumeric characters selected from “0,” “1,” “2,” “3,” “4,” “5,” “6,” “7,” “8,” and/or “9.”
  • such a concatenation of individual characters “0,” “1,” “2,” “3,” “4,” “5,” “6,” and/or “7” may comprise a base eight and/or octal expression of a quantity.
  • Such a base eight and/or octal expression of an integer or fixed and/or floating decimal point numeral may be formulated according to relation (3) as follows:
  • c i comprises a value of a character at position i in a string of concatenated alphanumeric characters selected from “0,” “1,” “2,” “3,” “4,” “5,” “6,” and/or “7.” It should be understood that such base eight and base ten expressions are merely examples of expressing quantities as strings of alphanumeric characters and that claimed subject matter is not limited in this respect.
  • an alphanumeric character may be represented as a numeric code.
  • an alphanumeric character may be represented as a value according to an association of alphanumeric characters to values.
  • characters may be associated with values according to the acronym for the American Standard Code for Information Interchange (ASCII).
  • ASCII code may be used for associating individual characters with integer values 0 to 127.
  • Table 2 illustrates an association of the alphanumeric characters “0,” “1,” “2,” “3,” “4,” “5,” “6,” “7,” “8,” and/or “9” with numeric values according to ASCII.
  • an ASCII code may represent an alphanumeric character as an 8-bit byte comprising a string of binary bits.
  • ASCII may represent an alphanumeric character as a 7-bit byte.
  • Such a 7-bit ASCII code may translate an 8-bit ASCII code by including a single “0” padding in the MSB of a 7-bit code.
  • an 8-bit byte binary expression associated with an alphanumeric character, such as an ASCII code may also represent a value and/or quantity as illustrated above in relation (1). Such values and/or quantities may also be ordered according to alphanumeric characters that they represent.
  • alphanumeric character “4” represents a numerical value and/or quantity that is greater than a numerical value and/or quantity represented by alphanumeric character “2.”
  • the binary string associated with “4” according to ASCII, “0 110 100” represents a numerical value and/or quantity that is greater than the numerical value and/or quantity represented by the binary string associated with “2” according to ASCII, “0 110 010.”
  • alphanumeric character “9” represents a numerical value and/or quantity that is greater than a numerical value and/or quantity represented by alphanumeric character “5.”
  • the binary string associated with “9” according to ASCII, “0 111 001” represents a numerical value and/or quantity that is greater than the numerical value and/or quantity represented by the binary string associated with “5” according to ASCII, “0 110 101.” Accordingly, the binary representations of alphanumeric characters “0,” “1,” “2,” “3,” “4,” “5,” “6,” “7,” “8,”
  • Table 2 illustrates an association between binary expressions and alphanumeric characters comprising numerals
  • such an association may also represent other alphanumeric characters with binary expressions.
  • binary expressions may also be associated with characters that are used to form words for a spoken and/or written language.
  • Table 3 illustrates an association of such characters according to ASCII.
  • alphanumeric characters listed in Table 3 provide an example of alphanumeric characters that may be concatenated in a string to express a word, acronym and/or multi-character symbol according to a spoken and/or written language. As illustrated above according to particular embodiments, such alphanumeric characters may be used to form a multi-character symbol such as a stock ticker symbol. However, such words, acronyms and/or multi-character symbols are merely examples of character expressions that may be formed from a concatenation of such characters and claimed subject matter is not limited in these respects. As illustrated in Table 3, these alphanumeric characters may also be associated with binary expressions according to the aforementioned association between alphanumeric characters and binary expressions in ASCII.
  • characters “A” through “Z” and “a” through “z” define particular orderings of ordered sequences of characters in an English language alphabet.
  • upper case characters “A” through “Z” are associated with binary expressions “01 000 001” through “01 011 010” (e.g., associated “101 through “132” in octal), respectively.
  • lower case characters “a” through “z” are associated with binary expressions “01 100 001” through “01 111 010” (e.g., associated with “141” through “172” in octal), respectively.
  • binary expressions associated with upper case characters “A” through “Z” form a partial ordering of binary expressions associated with an ordered sequence of such characters.
  • binary expressions representing characters have the following property where ⁇ and ⁇ represent characters both selected from either “A” through “Z” or from “a” through “z” as follows:
  • c ⁇ >c ⁇ if and only if ⁇ precedes a in an associated alphabet of characters “A” through “Z” or “a” through “z”
  • c ⁇ is a numerical value and/or quantity associated with an unsigned binary expression associated with ⁇
  • c ⁇ is a numerical value and/or quantity associated with an unsigned binary expression associated with ⁇ .
  • alphanumeric characters may be concatenated in a string to provide a base ten or base eight representation of a quantity and/or numerical value.
  • Such expressions may be further represented as a string of bits comprising a concatenation of binary representations of individual alphanumeric characters in the base ten expression.
  • a base ten expression of “1907” may comprise a concatenation of alphanumeric characters “1”, “9”, “0” and “7.”
  • This alphanumeric characters may be individually represented by binary strings “0 110 001”, “0 111 001”, “0 110 000” and “0 110 111”, respectively, according to the association of alphanumeric characters and binary strings of Table 2.
  • the value of the base ten expression “1907” may be represented as a concatenation of the individual binary strings representing alphanumeric characters “1”, “9”, “0” and “7” to provide a 32-bit binary string “00 110 001 00 111 001 00 110 000 00 110 111.”
  • a transaction price represented as a base ten expression may be represented as a concatenation of individual binary expressions associated with characters in the base ten representation of the transaction price.
  • alphanumeric characters concatenated to form words of a spoken and/or written language may be concatenated to form the word “cat” and the characters “d”, “o” and “g” may be concatenated to form the word “dog.”
  • the word “cat” may be represented as a concatenation of the individual binary strings representing characters “c”, “a” and “t” to provide a 24-bit binary string “01 100 011 01 100 010 01 110 100”.
  • the word “dog” may be represented as a concatenation of individual binary strings representing characters “d”, “o” and “g” to provide a 24-bit binary string “01 100 100 01 101 111 01 100 111.”
  • a multi-character symbol such as a stock ticker symbol may be represented as a concatenation of individual binary expressions associated with characters in the stock ticker symbol.
  • a relationship between first and second character expressions may be determined based, at least part, on a subtraction of a first binary string representing the first character expression from a second binary string representing a second character expression.
  • first and second character expressions may express quantities and a result of such a subtraction may indicate a quantitative relationship between the first and second quantities.
  • a first quantity expressed as an alphanumeric character string may be determined to greater than a second quantity expressed as an alphanumeric character, string based, at least in part, on a result of subtracting a first binary string from a second binary string.
  • first binary string may comprise a concatenation of binary representations of individual alphanumeric characters in the first character string while the second binary string may comprise a concatenation of binary representations of individual alphanumeric characters in the second character string.
  • first and second words, acronyms and/or multi-character symbols defined according to a spoken and/or written language may be expressed as strings of alphanumeric characters.
  • a first binary string may comprise a concatenation of binary expressions representing characters in the first word, acronym and/or multi-character symbol while a second binary string may comprise a concatenation of binary expressions representing characters in the second word, acronym and/or multi-character symbol.
  • a result of subtracting the first binary string from the second binary string may determine an alphabetic ordering of the first and second words.
  • these are merely examples of how a result from a subtraction of a first binary string from a second binary string may be indicative of a relationship between first and second character strings represented by the first and second binary strings, and claimed subject matter is not limited in these respects.
  • FIGS. 5 through 9 illustrate particular embodiments of determining a relationship between first and second character expressions based, at least in part, on binary strings comprising concatenations of binary expressions representing characters in the first and second character expressions.
  • first and second character expressions may comprise a data character expression and a query character expression.
  • first and second alphanumeric character strings represent respective first and second quantities (e.g., in a base ten or base eight format) and binary expressions associated with individual characters in the alphanumeric character strings are concatenated to form first and second binary strings.
  • a quantitative relationship between the first and second quantities is determined, at least in part on a subtraction of at least a portion of the first binary string from a portion of the second binary string. It should be understood, however, that this is merely an example embodiment directed to determining a quantitative relationship between quantities represented by character strings and that the techniques described may be generally applied to binary strings representing other types of character expressions.
  • first and second character strings comprising words, acronyms and/or multi-character symbols in a written and/or spoken language in other particular embodiments.
  • words may be represented by binary strings representing a concatenation of binary expressions representing individual characters in the character strings.
  • At least a portion of the first string may be subtracted from at least a portion of the second string to determine a relationship between the first and second words (e.g., an alphabetic ordering).
  • this is merely just an example embodiment and the techniques described herein may be applied to determining different relationships between and/or among different types of character expressions.
  • a quantity may be expressed as an alphanumeric character string comprising a fixed number of alphanumeric characters.
  • such an alphanumeric character string may be right justified, and left padded with the alphanumeric character “0”.
  • a quantity 1234 e.g., one thousand, two hundred thirty four
  • a twenty-four character string may read as follows:
  • a computer and/or machine may access “registers” defined in a storage medium capable of storing, holding and/or representing information.
  • fixed length registers of a computer and/or machine may be defined to be a fixed size such as, for example, two, four or eight bytes where a byte comprises eight bits.
  • portions of a register may be accessible by a computer instruction based, at least in part, on an address and/or identifier associated with the register.
  • a register may comprise a hardware addressable memory location in a so-called hardware register.
  • a register may comprise a software defined memory location in a system memory of a computer platform where such a register is not necessarily limited to a specific addressable hardware location.
  • these are merely examples of a register and claimed subject matter is not limited in these respects.
  • FIG. 5 is a flow diagram illustrating a process embodiment 400 to determine a quantitative relationship between first and second quantities.
  • process embodiment 400 may determine whether a first quantity is greater than, less than or equal to a second quantity.
  • first and second quantities may be represented as strings of alphanumeric characters at block 402 .
  • strings of alphanumeric characters may comprise alphanumeric characters “0,” “1,” “2,” “3,” “4,” “5,” “6,” “7,” “8,” and/or “9”.
  • strings of alphanumeric characters may also represent the first and second quantities as quantitative expressions (e.g., base ten expressions or base eight expressions) in fixed length expressions which are right justified and left padded with the character “0” as illustrated above. Accordingly, such alphanumeric character strings may comprise the same number of characters. However, these are merely examples of how strings of alphanumeric characters may be used to express quantities and claimed subject matter is not limited in these respects.
  • characters in the alphanumeric character strings representing the first and second quantities may be associated with binary representations as illustrated above with reference to Table 2.
  • such individual alphanumeric characters are associated with binary representations according to ASCII.
  • Block 404 may concatenate binary representations of individual alphanumeric characters of alphanumeric strings representing the first and second quantities.
  • FIG. 6 illustrates a concatenation of binary representations of alphanumeric characters 456 in an alphanumeric character string according to an embodiment block 404 .
  • Block 404 may concatenate binary representations of alphanumeric characters in alphanumeric character strings representing first and second quantities as illustrated in FIG. 2 .
  • an individual alphanumeric character 456 may be associated with a binary representation according to an association between alphanumeric characters and binary strings.
  • the alphanumeric character “0” is associated with the binary expression “00110000”.
  • binary expressions “00110000” are concatenated together in binary string 452 to represent twenty alphanumeric characters 456 5 through 456 24 (“0”) used as padding in the alphanumeric character string.
  • binary expressions “00110001”, “00110010”, “00110011” and “00110100” are concatenated together from left to right in binary string 452 to represent alphanumeric characters 456 1 through 456 4 (“1234”). As illustrated with reference to FIG.
  • block 404 may create a first binary string from a concatenation of binary expressions representing a first alphanumeric character string (representing the first quantity) and a second binary string from a concatenation of binary expressions representing a second alphanumeric character string (representing the second quantity).
  • the alphanumeric character strings representing the first and second quantities comprise the same number of characters and each character is represented by an 8-bit byte, according to a particular embodiment, resulting first and second binary strings comprise the same number of bits.
  • first and second binary strings determined at block 404 may be loaded to registers and manipulated to determine a quantitative relationship between first and second quantities.
  • a register may be capable of holding, storing and/or representing a fixed number of bits in a linear array of bits.
  • a register will be capable of holding, storing and/or representing sixty-four bits.
  • binary string 452 comprises 192 bits beginning with a most significant portion leading with byte “00110000” to represent alphanumeric character “0” and ending with a least significant portion trailing with byte “00110100” to represent alphanumeric character “4”.
  • a 64-bit register is capable of holding, storing and/or representing a third of the 192 bits of binary string 452 at any one time.
  • Blocks 406 and 408 may perform register operations on portions of the first and second binary strings determined at block 404 beginning with the most significant bits of the respective first and second binary strings.
  • block 406 may load a portion of the first binary string comprising its most significant bits to a first register, Reg 1 , and load a portion of the second binary string comprising its most significant bits to a second register, Reg 2 .
  • block 406 may load next most significant bits of the first and second binary strings to Reg 1 and Reg 2 , respectively.
  • first and second binary strings each comprise 192 bits
  • Reg 1 and Reg 2 comprise 64-bit registers
  • block 406 may load one third of the first and second binary strings to Reg 1 and Reg 2 per iteration.
  • block 408 may subtract contents of Reg 1 from contents of and Reg 2 .
  • the contents of Reg 1 and Reg 2 may be treated as quantities expressed in a 2's-complement form. Accordingly, the contents Reg 1 may be subtracted from the contents Reg 2 by adding a 2's-complement expression for the negative of the contents of Reg 1 to the contents of Reg 2 .
  • this is merely an example of how a portion of a first binary string may be subtracted from a portion of a second binary string, and claimed subject matter is not limited in this respect.
  • the contents of Reg 1 and Reg 2 may be determined to be equal.
  • the first and second quantities represented in alphanumeric character strings are equal. If all bits of the first and second binary strings have been loaded to registers and evaluated as determined at diamond 414 , the first and second quantities may be determined to be equal at block 420 .
  • process 400 may return to block 406 to load the next most significant bits of the first and second binary strings to Reg 1 and Reg 2 .
  • the next most significant bits of the first and second binary strings may comprise the most significant bits of the portions of the first and second binary strings that are yet unprocessed at blocks 406 and 408 .
  • Process 400 may be executed, at least in part, by computing platforms employing either a big endian processing architecture or a little endian processing architecture.
  • block 406 may merely copy register sized portions of a first and second binary strings stored in memory.
  • block 406 may retrieve register sized portions of the first and second binary strings and then transpose bytes in the retrieved portions before loading to registers.
  • a most significant byte portion of the retrieved portion of a binary string may be swapped with a least significant byte portion of the retrieved portion before loading to a register.
  • a binary expression associated with a character comprises an 8-bit byte with a zero value in a most significant bit position. Since a register in particular embodiments illustrated herein stores an integer number of bytes, such a resister storing a portion of a binary string formed from a concatenation of such binary expressions comprises a zero value in its most significant bit. Accordingly, such register sized portions of such a binary string may express a non-negative quantity in a 2's-complement form.
  • the first and second quantities may be determined to be not equal. Accordingly, if such a result of subtraction at block 408 is greater than zero, the first quantity may be determined to be less than the second quantity. Otherwise, if such a result of subtraction at block 408 is not greater than zero as determined at diamond 412 , the first quantity may be determined to be greater than the second quantity.
  • Process 400 illustrates sequential iterations of loading of portions first and second binary strings to registers, and then subtracting contents of registers where an execution of an iteration may be conditioned on a result of an execution of a previous iteration.
  • portions of a first binary string may be loaded to a plurality of corresponding registers while portions of a second binary string may be loaded to a plurality of different corresponding registers.
  • blocks 472 and 474 may provide first and second binary strings based, at least in part, on first and second alphanumeric strings as illustrated above with reference to blocks 402 and 404 of process 400 .
  • Block 476 may partition first and second binary strings into register sized portions.
  • Block 478 may load register sized portions of the first string to first registers and register sized portions of the second string to second registers.
  • a first binary string 502 may be partitioned into register sized portions 506 while a second binary string 504 may be partitioned into register sized portions 508 .
  • portion 506 0 may comprise the most significant portion of first binary string 502 (e.g., the portion of first binary string 502 comprising the most significant bits of the binary string 502 ) while portion 506 2 may comprise the least significant portion of first binary string 502 (e.g., the portion of first binary string 502 comprising the least significant bits of the binary string 502 ).
  • Portions 506 0 , 506 1 and 506 2 are loaded to corresponding first registers Reg 0,1 , Reg 1,1 and Reg 2,1 , respectively.
  • portion 508 0 may comprise the most significant portion of second binary string 504 while portion 508 2 may comprise the least significant portion of second binary string 504 .
  • Portions 508 0 , 508 1 and 508 2 are loaded to corresponding first registers Reg 0,2 , Reg 1,2 and Reg 2,2 , respectively. Accordingly, registers Reg 2,1 and Reg 2,2 store least significant portions of first binary string 502 and second binary string 504 , respectively, while registers Reg 0,1 and Reg 0,2 store most significant portions of first binary string 502 and second binary string 504 , respectively.
  • process 470 may similarly be executed, at least in part, by a computing platform employing either a big endian or little endian processing architecture.
  • block 478 may load bytes of portions 506 and 508 to registers in the same order as retrieved from strings 502 and 504 from memory.
  • block 478 may transpose bytes within portions 506 and 508 as retrieved from byte addresses in strings 502 and 504 in memory before loading to registers as illustrated above and maintaining the same order of bits within bytes transposed with portions 506 and 508 .
  • these are merely particular examples of how block 478 may be executed by a computing platform employing either a big endian or a little endian processing architecture and claimed subject matter is not limited in this respect.
  • block 480 may then subtract portions 506 of first binary string 502 from corresponding portions 508 as follows:
  • Reg i,1 is a register storing an ith register sized portion of the first binary string
  • Reg i,2 is a register storing an ith register sized portion of the second binary string
  • Reg i is a register storing an ith difference between corresponding register sized portions of the first and second binary strings.
  • registers Reg 0 , Reg 1 and Reg 2 are merely used to illustrate storing a result from a subtraction operation. It should be understood, however, that any of registers Reg 0,2 , Reg 0,1 , Reg 1,2 , Reg 1,1 , Reg 2,2 , and/or Reg 2,1 may be reused to store a such a result from a subtraction operation.
  • any of the registers Reg 0 , Reg 1 , Reg 2 , Reg 0,2 , Reg 0,1 , Reg 1,2 , Reg 1,1 , Reg 2,2 , and/or Reg 2,1 may comprise a hardware addressable memory location in a so-called hardware register or, alternatively, a software defined memory location in a system memory of a computer platform where such a register is not necessarily limited to a specific addressable hardware location.
  • the first and second quantities may be deemed equal. Otherwise, the first quantity may be deemed greater than or less than the second quantity based upon a sign of contents in a register Reg 0 , Reg 1 or Reg 2 having non-zero contents and corresponding with the most significant portions of the first and second binary strings among registers having non-zero contents.
  • a register may comprise a “most significant difference” (MSD) between portions of the first and second binary strings.
  • diamond 486 may determine whether the first quantity is greater or less than the second quantity based, at least in part, on a sign of such an MSD between portions of the first and second binary strings.
  • register Reg 0 may comprise a difference between most significant bits of respective first and second binary strings.
  • Diamond 486 may determine that the first quantity is less than the second quantity if the contents of register Reg 0 comprises a 2's-complement expression of a positive quantity and determine that the first quantity is greater than the second quantity if the contents of register Reg 0 comprises a 2's-complement expression of a negative quantity.
  • diamond 486 may determine that the first quantity is less than the second quantity if Reg 1 comprises a 2's-complement expression of a negative quantity (where register Reg 1 therefore stores the MSD) and determine that the first quantity is greater than the second quantity if Reg 1 comprises a 2's-complement expression of a positive quantity.
  • FIG. 9 is a flow diagram illustrating a process embodiment 550 to determine a quantitative relationship between a first and second quantity such as, for example, determining whether a first quantity is greater than, less than or equal to a second quantity, according to an alternative embodiment.
  • block 552 may represent first and second quantities as strings of alphanumeric characters as illustrated above with reference to block 402 of process 400 .
  • block 554 may concatenate binary representations of alphanumeric characters to provide first and second binary strings as illustrated above with reference to block 404 of process 400 .
  • Block 556 may partition first and second binary strings into portions equaling a number of bits that may be held, stored and/or represented in a register.
  • registers may comprise fixed length registers capable of storing, holding and/or representing a fixed number of bits. Accordingly, such a register may store any predetermined number of bits (e.g., 8-bit registers, 16-bit registers, 32-bit registers, 64-bit registers, 128-bit registers and/or the like).
  • a binary string may comprise 192 bits (as illustrated above with reference to FIG. 6 ) and registers are capable of storing, holding and/or representing 64 bits, for example, the binary string may be portioned into three 64-bit portions. It should be understood, however, that a 192 bit binary string and 64-bit register are discussed merely for the purpose of illustration and that claimed subject matter is not limited in this respect.
  • Block 558 may load differences between portions of the first and second binary strings to registers.
  • portions of the first binary string may be subtracted from associated portions of the second binary string with the results loaded to registers.
  • first and second binary strings comprise 192 bits and a register can hold store and/or represent 64 bits
  • a first register may be loaded with a difference between most significant 64 bits of the first binary string and most significant 64 bits of the second binary string.
  • a second register may be loaded with a difference between next most significant 64 bits of the first binary string and next most significant 64 bits of the second binary string.
  • a third register may then be loaded with a difference between least significant 64 bits of the first binary string and least significant 64 bits of the second binary string.
  • loading of differences between portions of the first and second binary strings to registers may be referenced as follows:
  • process 550 may similarly be executed, at least in part, by a computing platform employing either a big endian or little endian processing architecture.
  • portions BS 1 [i] and BS 2 [i] may merely comprise portions of the first and second binary strings in the same byte order as retrieved from memory.
  • portions BS 1 [i] and BS 2 [i] may comprise bytes of the first and second binary strings in a byte order reversed according to how these bytes of the first and second strings are addressed in a memory storing the first and second strings.
  • an operator “>>m” may be used to indicate a dyadic and/or binary register operation on contents of an operand register having a result that may be stored in the same or different register.
  • a result of operator “>>m” may comprise shifting contents of an operand register from an MSB position toward an LSB position by m bits and propagating and/or copying a value of a sign bit and/or most significant bit of operand register to the m+1 most significant bits in the resulting register contents.
  • the expression Reg x >>63 may comprise all “0”s to bit locations of a resulting register. According to the aforementioned 2's-complement form of binary expressions, this is an expression of a quantity zero. Similarly, if a most significant bit in Reg x is “1” (indicating a 2's-complement expression of a negative quantity), for example, the expression Reg x >>63 may comprise all “1”s in bit locations of a register. According to the aforementioned 2's-complement form of binary expressions, this is an expression of a quantity negative one.
  • the expression Reg x >>63 may provide a 2's-complement expression for a quantity zero if the contents of Reg x comprises a 2's-complement expression of zero or greater and may provide a 2's-complement expression for a quantity negative one if the contents of Reg x comprises a 2's-complement expression of less than zero.
  • block 560 may determine a “sign” of the differences between portions of the first and second binary strings loaded to registers at block 558 .
  • a sign in this particular embodiment, comprises an indication as to whether the contents of a register comprises a 2's-complement expression for a positive quantity, negative quantity or zero.
  • the expression (Reg i >>(m ⁇ 1)) ⁇ ( ⁇ Reg i >>(m ⁇ 1)) may provide an indication as to the sign of the contents of Reg i as a 2's-complement expression.
  • the expression (Reg i >>(m ⁇ 1)) provides a 2's-complement expression for zero
  • the expression ( ⁇ Reg i >>(m ⁇ 1)) provides a 2's-complement expression for negative one
  • (Reg i >>(m ⁇ 1)) ⁇ ( ⁇ Reg i >>(m ⁇ 1)) provides a 2's-complement expression for positive one.
  • Reg i If the contents of Reg i comprises a negative quantity, the expression (Reg i >>(m ⁇ 1)) provides a 2's-complement expression for negative one, the expression ( ⁇ Reg 1 >>(m ⁇ 1)) provides a 2's-complement expression for zero and (Reg i >>(m ⁇ 1)) ⁇ ( ⁇ Reg i >>(m ⁇ 1)) provides a 2's-complement expression for negative one.
  • Reg i If the contents of Reg i comprises a zero quantity, the expression (Reg i >>(m ⁇ 1)) provides a 2's-complement expression for zero, the expression ( ⁇ Reg 1 >>(m ⁇ 1)) provides a 2's-complement expression for zero and (Reg i >>(m ⁇ 1)) ⁇ ( ⁇ Reg i >>(m ⁇ 1)) provides a 2's-complement expression for zero.
  • Block 560 may then determine the sign of the differences between the aforementioned portions of the first and second binary strings and update registers Reg 0 through Reg n accordingly as follows:
  • an operator “ ⁇ m” may be used to indicate a binary and/or dyadic shift operation on contents of an operand register by an m number of bits.
  • bits in an operand register may be shifted in a direction from the LSB toward the MSB (e.g., to the left according to a particular embodiment) by an m number of bits.
  • the m least significant bit positions in the operand register are replaced with “0” and the m most significant bits are discarded.
  • m may be limited by a number of bits in a register to prevent a shift of the least significant bit to a most significant bit in the resulting shifted expression.
  • such a shift may be limited to no more than the number of bits in a register minus one.
  • the expression Reg i ⁇ m may provide an expression for a quantity 2 m as a 2's-complement expression.
  • the expression Reg i ⁇ m may provide an expression for a quantity ⁇ 2 m as a 2's-complement expression.
  • the expression Reg i ⁇ m may provide an expression for a zero quantity as a 2's-complement expression.
  • block 558 may load differences between corresponding register sized portions of first and second binary strings to registers.
  • block 560 may determine a sign of the difference between respective most significant portions of the first and second binary strings. Block 560 may load the determined sign to Reg 0 as a 2's-complement expression for one if the difference is positive, negative one if the difference is negative and zero if the difference is zero. Block 560 may similarly determine a sign of the difference between respective least significant bit portions of the first and second binary strings, and load the determined sign to Reg n as a 2's-complement expression. Also, block 560 may determine the sign of the differences between bit portions of respective first and second binary strings in decreasing significance in registers Reg 1 to Reg n-1 .
  • block 562 may determine a weighed sum of the signs of differences between portions of first and second binary strings.
  • a weighted sum may be used to determine whether the first quantity is greater than, less than or equal to the second quantity based.
  • the sum of weighted signs of differences may be expressed as a 2's-complement binary expression.
  • the first and second quantities may be determined to be zero.
  • the second quantity may be determined to be greater than the first quantity.
  • the second quantity may be determined to be less than the first quantity.
  • block 562 may determine weighted components the sum of weighted signs of differences between corresponding register sized portions of first and second binary strings by applying the aforementioned shift operator “ ⁇ ”.
  • Reg 0 stores a sign of difference between the most significant bit portions of the first and second binary strings
  • Reg n stores a sign of the difference between the least significant portions of the first and second binary strings
  • “Sum” comprises a 2's-complement expression of a quantity and/or value given by the following relation (5):
  • Reg n provides a component of the sum of weighted signs comprising contents of Reg n with no net shift from shift operator “ ⁇ .”
  • a component of the sum based on the contents of register Reg n may comprise a 2's-complement expression of a quantity expressed by Reg n (e.g., zero, one or negative one depending on the sign of the difference between LSB portions of the first and second binary strings) multiplied by 2° or one.
  • register Reg 0 storing a sign of the differences between most significant bit portions of the first and second binary strings, provides a component of the sum of weighted signs comprising contents of Reg 0 with a net shift of n bits.
  • a component may comprise a 2's-complementbinay expression of Reg 0 multiplied by 2′′.
  • multiple hierarchies of data may be formed by splitting or dividing a particular hierarchy of data, again, such as by applying a previously described embodiment.
  • additional operations and/or manipulations of data hierarchies may be performed, such as ordering hierarchies of data and more. It is intended that the claimed subject matter cover all such embodiments.
  • one embodiment may be in hardware, such as implemented to operate on a device or combination of devices, for example, whereas another embodiment may be in software.
  • an embodiment may be implemented in firmware, or as any combination of hardware, software, and/or firmware, for example.
  • one embodiment may comprise one or more articles, such as a storage medium or storage media.
  • This storage media such as, one or more CD-ROMs and/or disks, for example, may have stored thereon instructions, that when executed by a system, such as a computer system, computing platform, or other system, for example, may result in an embodiment of a method in accordance with the claimed subject matter being executed, such as one of the embodiments previously described, for example.
  • a computing platform may include one or more processing units or processors, one or more input/output devices, such as a display, a keyboard and/or a mouse, and/or one or more memories, such as static random access memory, dynamic random access memory, flash memory, and/or a hard drive, although, again, the claimed subject matter is not limited in scope to this example.

Abstract

Embodiments of methods, apparatuses, devices and/or systems for manipulating character expressions to determine relationships among such character expressions.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit of U.S. Provisional Application Ser. No. 60/817,764, filed on Jun. 30, 2006.
  • BACKGROUND
  • This disclosure is related to determining relationships between and/or among character expressions. Characters, such as alphanumeric characters, are typically used to represent information. In some examples, characters may be used to express words in a spoken and/or written language. In other examples, characters may be used to represent quantities. Computer systems typically represent quantities as binary expressions which may be stored in memory devices. This enables convenient manipulation of quantities using binary arithmetic through execution of computer instructions. Quantities may also be represented in strings of alphanumeric characters. For example, human interfaces typically express quantities in strings of alphanumeric characters. To compare quantities to determine, for example, an existence of an equality and/or inequality between and/or among quantities, a computer system typically expresses the quantities in question as binary expressions, and then compares the binary expressions.
  • Computer systems may be adapted to process queries of information which is stored and/or maintained in a particular format. The utility of a response to processing such queries typically depends on, among other things, timeliness of the response and qualities of information used to process such queries to obtain a response.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Subject matter is particularly pointed out and distinctly claimed in the concluding portion of the specification. Claimed subject matter, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference of the following detailed description when read with the accompanying drawings in which:
  • FIG. 1 is a flow diagram illustrating a process to respond to a query according to an embodiment;
  • FIG. 2 is a schematic diagram illustrating a system to process queries according to an embodiment;
  • FIG. 3 is a flow diagram illustrating a process to associate indices with information according to an embodiment;
  • FIG. 4 is a flow diagram illustrating a process to associate indices with information according to an embodiment;
  • FIG. 5 is a flow diagram illustrating a process to determine a relationship among character expressions according to an embodiment;
  • FIG. 6 is a schematic diagram illustrating a concatenation of binary representations of alphanumeric characters in a binary string according to an embodiment;
  • FIG. 7 is a flow diagram illustrating a process to determine a relationship among character strings according to an alternative embodiment;
  • FIG. 8 is a schematic diagram illustrating an a partitioning of binary strings into register sized portions; and
  • FIG. 9 is a flow diagram illustrating a process to determine a relationship among character strings according to an alternative embodiment.
  • DETAILED DESCRIPTION
  • In the following detailed description, numerous specific details are set forth to provide a thorough understanding of claimed subject matter. However, it will be understood by those skilled in the art that claimed subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, components and/or circuits have not been described in detail so as not to obscure claimed subject matter.
  • Some portions of the detailed description which follow are presented in terms of algorithms and/or symbolic representations of operations on data bits or binary digital signals stored within a computing system memory, such as a computer memory. These algorithmic descriptions and/or representations are the techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art. An algorithm is here, and generally, considered to be a self-consistent sequence of operations and/or similar processing leading to a desired result. The operations and/or processing involve physical manipulations of physical quantities. Typically, although not necessarily, these quantities may take the form of electrical and/or magnetic signals capable of being stored, transferred, combined, compared and/or otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, data, values, elements, symbols, characters, strings, expressions, terms, numbers, numerals and/or the like. It should be understood, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels. Unless specifically stated otherwise, as apparent from the following discussion, it is appreciated that throughout this specification discussions utilizing terms such as “processing”, “computing”, “calculating”, “loading”, “subtracting”, “concatenating”, “transforming,” “converting,” “factoring,” enumerating,” “representing,” “storing,” “associating,” “substituting,” “determining” and/or the like refer to the actions and/or processes of a computing platform, such as a computer or a similar electronic computing device, that manipulates and/or transforms data represented as physical electronic and/or magnetic quantities and/or other physical quantities within the computing platform's processors, memories, registers, and/or other information storage, transmission, and/or display devices. Further, unless specifically stated otherwise, processes described herein, with reference to flow diagrams or otherwise, may also be executed and/or controlled, in whole or in part, by such a computing platform.
  • A “query” as referred to herein relates to a request for information. In a particular example, although claimed subject matter is not limited in these respects, a query may comprise a request for information from a particular “data source” which may express information in a predefined format. For example, a data source may comprise a database capable of maintaining information in format that is retrievable in response to a query. However, this merely an example of a data source and claimed subject matter is not limited in this respect. A query may be formatted according to a particular syntax as provided in a query language. Here, such a query may comprise, for example, operands, operators, relational operators and/or the like for expressing a request for information according to such a query language. However, these are merely examples of a query and claimed subject matter is not limited in these respects.
  • A query may be “processed” to provide a “query response” to a request for information. Here, a query may be processed by, for example, retrieval of information and processing of the retrieved information according to, for example one or more query operators. However, this is merely an example of how a query may be processed and claimed subject matter is not limited in these respects. A query response may comprise, for example, information requested by a query, an acknowledgement of receipt of the query and/or the like. In a particular example, a query response may comprise one or more Boolean results (e.g., “true” or “false”) and/or information retrieved from a data source that is identified and/or requested in the processed query. It should be understood, however, that these are merely examples of responses to a query and claimed subject matter is not limited in these respects.
  • In real-time applications, utility of a response to a query may be affected by how quickly such a response is provided following issuance of the query. For example, information received in a timely response to a query may have more utility than information received in a delayed response to the query. Here, for example, information from a data source may be dynamic and change over time. Also, a timely response to a query enables the issuer of a query to act sooner on any information provided in such a timely response than would otherwise be possible on information received in a delayed response. The timeliness of a response to a query may be affected, at least in part, on an availability of processing resources for processing such a query. As illustrated below with reference to particular embodiments, timeliness of query processing may also be affected, at least in part, using specific techniques to process information provided in queries and/or information in data sources.
  • As indicated above, a query may comprise a request of information from one or more data sources. In a particular embodiment, although claimed subject matter is not limited in this respect, such a data source may comprise a static database, files and/or records that may be maintained on one or more mass storage devices. In alternative embodiments, a data source may comprise one or more “data streams” providing information that may change and/or be updated from time to time. As illustrated above, a query may be processed with information that is available to be used in connection with processing the query. A data stream may provide such available information over time. For example, query may be processed using information that is available at a first time. At a second time in the future, however, such a data stream may make additional and/or different information available for use in processing a query. However, these are merely examples of data sources and claimed subject matter is not limited in this respect.
  • A “character” as referred to herein relates to a symbol capable of being expressed in a medium. In a particular context, according to an embodiment, one or more characters may be arranged in a particular manner to express a particular meaning as a “character expression.” For example, an arrangement of characters, such as a concatenation of characters in one particular embodiment, may be used to express words, acronyms and/or multi-character symbols in a particular spoken and/or written language. As explained below, such words formed according to the English language, in a particular example, may comprise “alphanumeric characters” selected from an alphabet of such characters. Also, an arrangement of characters may provide a mathematical expression such as numerals and/or equations. However, these are merely examples of character expressions and claimed subject matter is not limited in these respects.
  • According to an embodiment, a “string” as referred to herein comprises an array of symbols arranged in a single linear dimension. In particular examples, symbols in a string may be associated with particular positions in the string relating to, for example, a linear ordering of symbols. A string may comprise one or more of different types of symbols. In another particular example, an alphanumeric string or string of alphanumeric characters may comprise a linear array of alphanumeric characters (e.g., “0”, “1”, “2”, “3”, “a”, “A”, “b”, “B”, etc.) defined according to a character alphabet. In one particular example, such a character alphabet may comprise characters that are visually distinct and recognizable. In a particular context, and as illustrated below, an alphanumeric string may comprise a character expression to express particular meaning such as, for example, a mathematical expression. However, it should be understood that such a character string is merely one example of a character expressions and that character expressions may comprise different arrangements of characters without departing from claimed subject matter.
  • In yet another particular example, a “binary string” may comprise a linear array of symbols as bits representing “1” or “0”. It should be understood, however, that these are merely examples of strings, and the types of symbols that may represented in a string, and claimed subject matter is not limited in these respects.
  • According to an embodiment, although claimed subject matter is not limited in these respects, a string of alphanumeric characters may be used to express a quantity according to particular formats for representing quantities such as, for example integer, and floating and/or fixed decimal point formats. Here, for example, an alphanumeric string may comprise a concatenation of alphanumeric characters selected from among “0,” “1,” “2,” “3,” “4,” “5,” “6,” “7,” “8,” and/or “9” to express a quantity as a base ten or base eight expression in such an integer or floating and/or fixed decimal point format, for example. In a floating decimal point format, for example, one or more alphanumeric characters may be used to indicate a location for a decimal point among digits in the floating point expression. In another embodiment, a string of alphanumeric characters may be used to express one or more words in a spoken language (e.g., English, Spanish, French, Russian, Greek, Japanese, etc.). However, these are merely examples of how a character string may form a character expression and claimed subject matter is not limited in these respects.
  • According, to an embodiment, and as illustrated below, a binary string may represent a character and/or string of characters according to an association of characters and binary strings. In another embodiment, a binary string may comprise a concatenation of symbols selected from “1” and/or “0” to express a quantity as a binary expression (e.g., as a 2's-complement expression or unsigned expression as illustrated below, for example). However, these are merely examples of how binary strings may be used to express numerical values and/or quantities, and claimed subject matter is not limited in these respects.
  • According to an embodiment, an expression of a query may comprise one or more “query character expressions” to represent portions of a query. In a particular example, although claimed subject matter is not limited in this respect, a query character expression may comprise a string of characters representing an operand and/or portion of an argument that forms a query. However, this is merely an example of a query character expression and claimed subject matter is not limited in this respect.
  • In other embodiments, a character expression may represent all or a portion of information from a data source that may be used in a “data character expression” to process a query. Here, for example, a data character expression may comprise one or more character strings representing all or a portion of information from a data source that may be used in processing a query. Accordingly, processing a query of information from a data source may comprise processing data character expressions provided by the data source. In a particular embodiment in which a data source comprises information provided by one or more data streams, such information may be represented as one or more “data stream character expressions.” Accordingly, processing a query of information provided by one or more data streams may comprise processing one or more data stream character expressions.
  • According to an embodiment, a data stream character expression may be expressed as a concatenation of binary expressions associated with individual characters in the data stream in one or more “data stream binary strings.” A query to information in the data stream may be processed based, at least in part, on the one or more data stream binary strings. However, this is merely an example embodiment and claimed subject matter is not limited in this respect.
  • As illustrated above, a query may comprise one or more query character expressions as illustrated above. Such a query may be processed based, at least in part, on a query binary string comprising a concatenation of one or more binary expressions associated with one or more individual characters of at least one of said query character expressions. Referring to FIG. 1, for example, a query comprising one or more query character expressions is obtained at block 12. As illustrated below, individual characters in a query character expression may be associated with a binary expression according to an association of characters and binary expressions. Block 14 may concatenate such binary expressions associated with individual characters in the query character expression to provide one or more query binary strings. Block 16 may then process the query based, at least in part, on the one or more query binary strings.
  • In one particular embodiment, although claimed subject matter is not limited in this respect, block 16 may additionally obtain one or more binary strings comprising a concatenation of binary expressions of characters in a data character expression that represents information to which the query is directed. Block 16 may then process the query based, at least in part, on the one or more binary strings and one or more query binary strings provided at block 14. Here, for example, block 16 may process the query by, for example, determining a relationship between information represented by the data character expression and information represented by the query character expression based, at least in part, on the one or more query binary strings and one or more data binary string.
  • In one particular embodiment, for the purpose of illustration, a data character expression may indicate information relating to a financial transaction such as a price in dollars. Here, a query may comprise a query character expression representing a dollar value that the query is to compare to the price for determining whether the price exceeds the dollar value. As illustrated below, binary expressions of individual characters in the data character expression representative of the price may be concatenated to form a data binary string while binary expressions of individual characters in the query character expression may be concatenated to form a query binary string. The query may then be processed based, at least in part, on the query and data binary strings to determine whether the price exceeds the dollar amount. However, this is merely a particular example of how a query may be processed based, at least in part, on first and second binary strings and claimed subject matter is not limited in this respect.
  • In a particular embodiment, although claimed subject matter is not limited in this respect, one or more query character expressions and a data character expression may represent respective first and second quantities. Block 16 may determine a “quantitative relationship” between the first and second quantities based, at least in part, on the one or more query binary strings and one or more data binary strings. The one or more query binary strings and one or more data binary strings may comprise concatenations of binary expressions associated with individual characters in the data and query character expressions. Here, for example, such a quantitative relationship may comprise an equality and/or inequality relationship between and/or among the first and second quantities. However, these are merely examples of quantitative relationships that may be determined between and/or among quantities and claimed subject matter is not limited in this respect. In a particular embodiment, although claimed subject matter is not limited in this respect, first and second quantities may be expressed as respective first and second strings of alphanumeric characters. Again, however, this is merely an example of a particular embodiment and claimed subject matter is not limited in these respects.
  • In one particular embodiment, a query may comprise a query character expression representing a dollar value that the query is to compare to a transaction price for determining whether the transaction price exceeds the dollar value. As illustrated below, binary expressions of individual characters in the data character expression representative of the transaction price may be concatenated to form a data binary string while binary expressions of individual characters in the query character expression may be concatenated to form a query binary string. The query may then be processed based, at least in part, on the query and data binary strings to determine whether the price exceeds the dollar amount. However, this is merely a particular example of how a query may be processed based, at least in part, on first and second binary strings and claimed subject matter is not limited in this respect.
  • FIG. 2 is a schematic diagram of a system 100 to process queries of information received from a data source 120 according to an embodiment. In one embodiment, data source may 120 may comprise a data stream to provide information over time. For example, such a data stream may comprise information reporting events and/or transactions such as, for example, stock trades and/or movements in stock prices, for example. However, this is merely an example of how a system may be employed to process queries of information from a data source and claimed subject matter is not limited in this respect.
  • According to an embodiment, a data stream at data source 120 may comprise multiple data streams as a composite data source providing information that may be the subject of a query. Continuing with the example above for data streams providing information reporting events and/or transactions in connection with stock trades and/or movements in stock prices, such multiple composite data streams may comprise such information from multiple stock exchanges (e.g., NASDAQ, NYSE and/or the like). However, this is merely an example of multiple data streams in a composite data stream according to a particular embodiment and claimed subject matter is not limited in these respects.
  • According to an embodiment, a data stream may be received from data source 120 using any one of several technologies for transmitting information in a network such as, for example, stream-based protocols providing data at set intervals (e.g., as in Synchronous Optical NETwork (SONET) and or Asynchronous Transfer Mode (ATM) protocols). However, these are merely examples of stream-based protocols that may be used for transmitting information in a data stream and claimed subject matter is not limited in these respects. In alternative embodiments, a data stream may be received from a data source as bursts according to any one of several packet-based communication protocols such as, for example, TCP/IP over any one of several data link protocols such as, for example, data protocols substantially compliant with versions of IEEE Std. 802.3, IEEE Std. 802.11 and/or IEEE Std. 802.16, to name a few. However, this is merely an example of a communication protocol that may be used for transmitting information in a data stream and claimed subject matter is not limited in this respect.
  • By receiving information indicative of events and/or transactions in a data stream, queries may be processed based on information most recently provided to a data source. Here, such information describing an event and/or transaction may be provided in a data stream contemporaneously with occurrences of such an event and/or transaction. In alternative embodiments, data source 120 may comprise data stored on one or more mass storage devices. Such a mass storage device may comprise, for example, information indicative of events and/or transactions occurring over a period (e.g., week, day, year, etc.).
  • According to an embodiment, a parser 118 may process information received from data source 120 to obtain information in a format that may be readily queried using one or more techniques illustrated below. For example, in a particular embodiment, parser 118 may represent information in a data character expression as a concatenation of binary expressions associated with individual characters in the data character expression. Also, parser 118 may associate information of interest from data source 120 with indices to be employed in processing queries as illustrated below.
  • In one embodiment, information received from data source 120 may be organized according to a predetermined format. For example, information provided from data source 120 comprising a database may organize data character expressions in records and/or fields according to a database structure (e.g., in a hierarchical or relational database structure). In another embodiment, specific character expressions in a data stream comprising information of interest may be located in particular predefined character and/or data fields in the data stream. In a particular embodiment in which a data stream provides data in data packets, for example, header information in a data packet may indicate presence of a character expression of interest in a payload portion of the data packet at a particular predefined location in the data packet. In another embodiment, such locations of specific character expressions of interest may be indicated by other metadata that exists externally from the data stream. It should be understood, however, that these are merely examples of how a data source may organize data character expressions according to a predetermined format and claimed subject matter is not limited in these respects.
  • According to an embodiment, a configuration module 122 may determine how parser 118 is to interpret data received from data source 120. For example, configuration module may configure and/or program parser 118 to obtain information of interest from data source 120.
  • FIG. 3 is a flow diagram illustrating a process 200 performed by parser 118 to process information received from data source 120 according to an embodiment. At block 202, parser 118 may extract one or more data character expressions from data source 120 according to metadata. Such metadata may be provided by, for example, application 102 in the form of metadata 104 to configuration module 122. Configuration module 122 may then configure and/or program parser 118 to obtain information from data source 120 according to metadata 104. In other embodiments, parser 118 may obtain information of interest from data source 120 according to metadata provided in data source 120. According to a particular embodiment, therefore, parser 118 may extract character expressions from data source 120 according to metadata 104. In a particular example, although claimed subject matter is not limited in this respect, metadata 104 may specify locations of data character expressions from data source 120 according to an industry standard format such as, for example, one or more formats promulgated by the Securities Industry Automation Corporation (SIAC) and/or the Chicago Mercantile Exchange (CME), to name just two. Alternatively, data source 120 may provide data character expressions in documents formatted according to a markup language (e.g., standard generalized markup language (SGML), hypertext markup language (HTML) or eXtensible markup language (XML)) while metadata 104 comprises document type definitions specifying, for example, tags identifying locations of data character expressions of interest. It should be understood, however, that these are merely examples of techniques to organize data character expressions according to a format that may be indicated by metadata, and claimed subject matter is not limited in these respects.
  • Character expressions extracted at block 202 may comprise any one of several types of character expressions comprising information such as, for example, transaction identification information including stock ticker symbols, information descriptive of a transaction volume and/or price. However, these are merely examples of information that may be represented and/or expressed by a data character expression from a data source and claimed subject matter is not limited in these respects. In addition to extracting data character expressions from data source 120 at block 202, parser 118 may also concatenate binary expressions associated with one or more individual characters in an extracted character expression to form one or more data binary strings as illustrated in U.S. Non-provisional patent application Ser. No. 11/509,420 titled “Method and/or System for Comparing Character Expressions,” filed on Aug. 23, 2006, and as described below with reference to FIG. 6.
  • In a particular example, for the purpose of illustration, a data character expression comprising a ticker symbol “IBM” may be represented by the data binary string “01 001 001 01 000 010 01 001 101” comprising a concatenation of the binary expressions “01 001 001”, “01 000 010” and “01 001 101” associated with the characters “I”, “B” and “M”, respectively, according to the association of characters and binary expressions illustrated below in Table 3. Price information in a data character expression may be represented by the character expression “098” to represent a share price of ninety-eight dollars, as an example. Here, parser 118 may represent such a share price as a concatenation of binary expressions “00 110 000”, “00 111 001” and “00 111 000” associated with the characters “0”, “9” and “8”, respectively, according to the association of characters and binary expressions illustrated below in Table 2. Again, these are merely examples of how information in a data character expression may be represented as a concatenation of binary expressions associated with one or more characters in the data character expression, and claimed subject matter is not limited in these respects.
  • According to an embodiment, information from data source 120 may be organized according to particular attributes. In the case of information relating to a transaction for the sale of stock, as a particular example, such information may indicate relate to a price at which shares of stock are being sold in such a transaction. Here, for example, such an indication of a price may be organized according to one or more attributes such as, for example, a ticker symbol representing the issuer of the stock, time/date when transaction was completed, and/or the like. However, these are merely examples of attributes that may be associated with information from a data source and claimed subject matter is not limited in this respect. In one particular embodiment, although claimed subject matter is not limited in these respects, system 100 may define indices to correspond with attributes which are associated with information from data source 120.
  • Accordingly, as illustrated below according to a particular embodiment, portions of information from data source 120 may be associated with indices to identify attributes associated with such portions of information. In one embodiment, data character expressions extracted at block 202 may be associated with indices based, at least in part, on attributes associated with information expressed and/or represented by data character expressions extracted at block 204. Alternatively, data binary strings comprising concatenations of binary expressions associated with characters in a data character expression may be associated with indices based, at least in part, on attributes associated with information expressed and/or represented by the data character expression.
  • As illustrated above in a particular example, the binary string “01 001 001 01 000 010 01 001 101” comprises a concatenation of binary expressions associated with characters in ticker symbol “IBM” according to an association between characters and binary expressions. Here, the ticker symbol “IBM” may identify an attribute such as an issuer of a security and/or stock that is the subject of a transaction, for example. In a particular embodiment, block 204 may determine an index associated with such a ticker symbol (and the attribute it represents) by comparing the binary string “01 001 001 01 000 010 01 001 101” with other strings stored in memory.
  • In a particular embodiment, although claimed subject matter is not limited in this respect, a character expression representing an attribute may be a part of and/or associated with one or more character expressions comprising other related information. In a particular embodiment, such a character expression representing an attribute, such as a ticker symbol, may relate to and/or be a part of one or more character expressions comprising information relating to a transaction and/or event, for example. Continuing with the example above in connection with ticker symbol “IBM”, one or more character expressions in data source 120 may comprise other information relating to a transaction and/or event involving issuer IBM such as, for example, a price, an number of shares sold and time of the transaction, to name a few. In this particular example, block 204 may also associate other information regarding such a transaction with an index associated with ticker symbol “IBM”.
  • According to an embodiment, information expressed and/or represented by the data character expressions extracted at block 202 may be associated with indices using one or more tables. FIG. 4 is a flow diagram illustrating an embodiment of a process 300 to associate such information with indices. For example, a primary table may associate sequential indices with binary strings. In a particular embodiment, as illustrated with reference to Table 1, such a primary table may associate such sequential indices with addresses of memory locations of binary strings to be compared with binary strings representative of an attribute. However, this is merely an example of how indices may be associated with strings and claimed subject matter is not limited in this respect. Indices I1 through In may comprise indices in a primary table that may be associated with an attribute of information represented by a data character expression received from data source 120. Here, Table 1 associates indices I1 through In with string addresses SA1 through SAn.
  • TABLE 1
    Index String Address
    I1 SA1
    I2 SA2
    . . . . . .
    In SAn
  • According to an embodiment, block 302 may search among binary strings associated with indices to locate a binary string that matches a concatenation of binary expressions associated with one or more characters of a data character expression. As illustrated above, indices through In may be associated with binary strings stored at string addresses SA1 through SAn, respectively. According to a particular embodiment, block 302 may search among binary strings stored in string addresses SA1 through SAn to locate a matching binary string stored at string address SAm. Upon locating such a matching binary string stored at string address SAm, block 302 may determine that index Im is to be associated with an attribute associated with a data character expression (extracted at block 202 of process 200, for example).
  • Continuing with the example above in connection with a data character expression comprising ticker symbol “IBM”, block 302 may search among binary strings stored at string addresses SA1 through SAn to locate a binary string stored at string address SAj matching the binary string “01 001 001 01 000 010 01 001 101” (comprising a concatenation of binary expressions associated with characters in ticker symbol “IBM” as illustrated above). Upon finding such a match, block 302 may associate information relating to the data character expression with index Ij to be returned at block 310. However, this is merely an example of how an index may be associated with information relating to a data character expression upon locating a matching binary string and claimed subject matter is not limited in this respect.
  • Binary strings located at addresses SA1 through SAn may be formed from concatenations of binary expressions associated with characters in character expressions. According to an embodiment, indices I1 through In may represent at least a partial ordering of a sequence of such character expressions. For example, indices I1 through In may comprise numerals in an ascending sequence where Ii is represented by a lowest value or numeral in the sequence and In is represented by a highest value or numeral in the sequence. However, this is merely an example of how indices may comprise a sequential ordering and claimed subject matter is not limited in this respect. According to an embodiment, a sequential ordering of indices I1 through In may represent an ordering of a sequence of character expressions and/or binary strings associated with indices I1 through In. Continuing with the particular example of stock ticker symbols, ticker symbols associated with stocks issued by IBM, Intel and Apple Computer, “IBM”, “INTC” and “AAPL”, respectively, may be ordered according to an alphabetic ordering “AAPL”, “IBM” and “INTC”. In this particular embodiment, an ordering of indices I1 through In may correspond with such an alphabetic ordering of ticker symbols. With such an alphabetic ordering, the ticker symbol “AAPL” may be associated with a numerical index Ij in Table 1 that is lower (or less than) indices associated with ticker symbols “IBM” and “INTC”. Likewise, the ticker symbol “IBM” may be associated with a numerical index Ij in Table 1 that is lower (or less than) a numerical index Ik associated with ticker symbol “INTC”.
  • In particular embodiments as illustrated below with reference to Tables 2 and 3, numerical values represented by binary expressions (e.g., as an unsigned or 2's-complement expression) may indicate an ordering of a sequence of characters associated with the binary expressions. In a particular embodiment, numerical values represented by binary strings stored at string addresses SA1 through SAn may also indicate an ordering of a sequence of character expressions associated with indices I1 through In. Continuing the particular example above of an alphabetic ordering of ticker symbols “AAPL”, “IBM” and “INTC” (associated with numerical indices Il, Ij and Ik, respectively), numerical values represented by binary strings stored at addresses SA1 through SAn may ascend or descend with respect to 1 through n, for example. In a particular example where numerical values represented by binary strings stored at string addresses SA1 through SAn ascend with respect to 1 through n, the binary string located at address SAi (associated with ticker symbol “AAPL”) may represent a numerical value that is less and/or lower than a numerical value represented by the binary string located at address SAj (associated with ticker symbol “IBM”). Similarly, the binary string located at address SAj may represent a numerical value that is less and/or lower than a numerical value represented by the binary string located at address SAk (associated with ticker symbol “INTC”).
  • According to an embodiment, block 302 may employ a binary search to locate a matching binary string among binary strings stored at string addresses SA1 through SAn. As illustrated above according to a particular embodiment, binary strings stored at string addresses SA1 through SAn may represent numerical values. Additionally, block 302 may determine whether a particular binary string stored at string address SAp matches a binary string θ comprising a concatenation of binary expressions associated with characters of a data character expression which similarly represents a numerical value. Here, if block 302 determines that binary string θ does not match the binary string stored at string address SAp, block 302 may determine whether a numerical value represented by θ is greater than or less than a numerical value represented by the binary string stored at string address SAp.
  • As illustrated above according to a particular embodiment, numerical values represented by binary strings stored at string addresses SA1 through SAn may indicate an ascending sequential ordering of indices I1 through In with respect to 1 through n. Here, if block 302 determines that a numerical value represented by binary string θ is less than a numerical value represented by a binary string stored at string address SAp, block 302 may then commence a binary search for a matching binary string among binary strings stored at string addresses SAq where q<p. Similarly, if block 302 determines that a numerical value represented by binary string θ is greater than a numerical value represented by a binary string stored at string address SAp, block 302 may then commence a binary search for a matching binary string among binary strings stored at string addresses SAq where q>p.
  • If block 302 does not locate a matching binary string among binary strings stored at binary string addresses as determined at diamond 304, block 306 may search for a matching binary string associated with an index of a secondary table associating indices with binary strings stored in memory. Upon locating a matching binary string, block 310 may return an index associated with the matching binary string in the secondary table. According to an embodiment, such a secondary table may be organized according to any one of several data structures for associating indices to binary strings stored in memory. In particular embodiments, although claimed subject matter is not limited in this respect, a secondary table may comprise a data structure that may be readily updated to incorporate additional indices and binary strings stored in memory associated with such additional indices. For example, a secondary table may associate indices and stored binary strings according to a map data structure representing nodes of a tree. Here, additional indices and/or binary strings may be incorporated by appending nodes. However, this is merely an example of how a secondary table associating indices and binary strings may be structured, and claimed subject matter is not limited in these respects.
  • If block 306 does not locate a binary string associated with a index in a secondary table that matches a data binary string, block 312 may store the data binary string in memory and associate the stored data binary string with a new index in the secondary table by, for example, appending a node to a map data structure representing nodes of a tree. Block 314 may then return the new index to be associated with an attribute of a data character expression extracted at block 202 of process 200.
  • According to an embodiment, updating a primary table employed at block 302 may comprise a processing resource and/or time intensive process. Nevertheless, from time to time a primary table employed at block 302 may be updated to incorporate indices associated with binary strings in a secondary table employed at block 306 to enable faster location of matching strings and associated indices identified in the secondary table. For example, indices associated with binary stings in a secondary table may be incorporated in a primary table comprising a format substantially according to Table 1. In this particular embodiment, indices I1 through In may be associated with different binary string addresses in the updated primary table such that indices I1 through In indicate a sequential ordering of associated data character expressions and indicate a sequential ordering of numerical values represented by binary strings stored at binary string addresses SA1 through SAn. Accordingly, block 302 may continue to locate binary strings associated with indices I1 through In in the updated primary table as illustrated above according to particular embodiments. Upon such events to update the primary table, the indices incorporated into the primary table may be removed from the secondary table. In one particular embodiment, a secondary table may be initialized as an empty table to which new indices are incorporated over time as data binary strings do not match stored binary strings associated with indices in either a primary table at block 302 or a secondary table at block 306 as illustrated above.
  • Returning to FIG. 2, upon associating information comprising a data character expression and/or binary string with an index at parser 118, such information may be stored in a window buffer 116. In one particular embodiment, parser 118 may select a particular window buffer 116 to store such information based, at least in part, on some attribute associated with the information. As illustrated above according to particular embodiments, parser 118 may associate indices with information comprising character expressions received from data source 120 and/or binary strings comprising concatenations of binary expressions associated with characters in such character expressions. In some embodiments, however, parser 118 may store at least some of such information that is not associated with any such index in a window buffer 124. Here, such information in window buffer 124 may be sequentially accessed in response to a query without the need for specifying an index to information stored in window buffer 124.
  • According to a particular embodiment, although claimed subject matter is not limited in this respect, parser 118 may select a particular window buffer 116 and/or 124 to store information comprising a data character expression and/or binary string based, at least in part, a particular data source and/or data stream associated with such information. Here, for example, parser 118 may determine a particular data source and/or data stream (e.g., from among a plurality of data sources and/or data streams) associated with such information based, at least in part, on a tag and/or identifier associated with such information (e.g., obtained from data source 120) and/or metadata 104. Accordingly, information associated with such a particular source may be accessed in response to a query by specifying a particular window buffer storing such information associated with the particular source and/or data stream.
  • In a particular embodiment in which a data character expression and/or such information is associated with a particular source and/or data stream comprising stock exchange (e.g., NYSE, NASDAQ, etc.), parser 118 may store such information in a window buffer 116 and/or 124 dedicated to storing data from the particular stock exchange. Such information may include, for example, information relating to transactions conducted on a particular exchange and/or the like. Continuing the particular example illustrated above in which information indices are associated with information based on an issue of a security and/or stock (e.g., as represented by a ticker symbol), information in a window buffer 116 storing information relating to NYSE transactions may further be organized by indices associated with particular issuers of stock on this exchange. For example, parser 118 may store information associated with ticker symbol “IBM” in a window buffer 116 dedicated to storing information associated with NYSE according to an index associated with such information (e.g., associated by parser 118 as illustrated above in connection with particular embodiments). Accordingly, information associated with issuer IBM may be accessed in response to queries specifying a window buffer 116 dedicated to storing information associated with NYSE transactions and an index associated ticker symbol “IBM”. Similarly, information associated with transactions associated with issuer Intel Corp. may be stored in a window buffer 116 dedicated to storing information associated with NASDAQ transactions. Accordingly, information associated with issuer Intel Corp. may be accessed in response to queries specifying a window buffer 116 dedicated to storing information associated with NASDAQ transactions and an index associated ticker symbol “INTC”.
  • As illustrated above, a window buffer may be dedicated to storing information comprising data character expressions and/or binary strings associated with a particular attribute such as, for example, a particular data source and/or data stream. According to an embodiment, parser 118 may aggregate information associated with multiple attributes for storage in a single window buffer 116 and/or 124. Here, parser 118 may store such aggregated information associated with multiple sources and/or data streams in a single window buffer 116 and/or 124 in addition to, or in lieu of, storing information associated with particular sources and/or data streams in buffer windows 116 and/or 124 dedicated to such particular sources and/or data streams as illustrated above.
  • Continuing with the example above in connection with information regarding transactions and/or events from stock exchanges, parser 118 may store information relating to transactions aggregated from multiple stock exchanges in a single window buffer 116 and/or 124. In a particular embodiment, parser 118 may also store such information in window buffers 116 and/or 124 that are dedicated to storing information associated with transactions on particular exchanges. For example, parser 118 may aggregate information regarding transactions on NASDAQ and NYSE for storage in an aggregated window buffer 116 and/or 124. Additionally, parser 118 may store information associated with transactions on NASDAQ in a window buffer 116 and/or 124 dedicated to storing information regarding transactions on NASDAQ and/or information associated with transactions on NYSE in a window buffer 116 and/or 124 dedicated to storing information regarding transactions on NYSE. Here, for example, information regarding a transaction involving issuer IBM may be accessed in response to a query specifying such an aggregated window buffer 116 and/or 124 or a window buffer dedicated to storing information regarding transactions on NYSE.
  • According to an embodiment, a window buffer 116 and/or 124 may comprise one or more devices capable of storing information in a retrievable format. In a particular embodiment where data source 120 comprises one or more data streams, a window buffer 116 and/or 124 may be updated from time to time with new information received from the data stream. In addition to storing new information received from a data stream, a window buffer 116 and/or 124 may maintain “historical data” stored in connection with previous updates to the window buffer 116 and/or 124. From time to time and/or according to a process, historical data stored in a window buffer 116 and/or 124 may be made to expire. According to a particular embodiment, queries may be processed based, at least in part, on unexpired information stored in a window buffer 116 and/or 124. Here, accordingly, a window buffer 116 and/or 124 may combine and/or merge unexpired information and new information received in an update for use in processing queries.
  • According to an embodiment, information in a window buffer 116 and/or 124 may be updated in response to new information extracted by parser 118 (e.g., data character expressions and/or binary strings comprising concatenations binary expressions of individual characters of a data character expression) and stored in the window buffer. In one particular embodiment, although claimed subject matter is not limited in this respect, a window buffer may discard and/or flush information that has been stored after a particular duration. In a particular example where information stored in a window buffer comprises information associated with transactions on a stock exchange, such information may be discarded and/or flushed after a duration such as, for example, ten seconds. It should be understood, however, that this is merely an example of a duration upon which information may be discarded and/or flushed from a window buffer and claimed subject matter is not limited these respects.
  • According to an embodiment, although claimed subject matter is not limited in these respects, information stored in a window buffer 116 and/or 124 may be maintained in the window buffer as identifiable data objects. For a particular data object, a window buffer 116 and/or 124 may continue to store information associated the particular data object up to a set number of transactions and/or updates, and discard and/or flush any information relating to older transactions and/or updates. In other embodiments, a window buffer 116 and/or 124 may store information associated with a most recent transaction and/or update associated with a particular data object and flush information associated with other transactions and/or updates associated with the particular data object.
  • In a particular application, a window buffer 116 and/or 124 may store information associated with transactions and/or trades on a stock exchange as data objects. Here, for example, such data objects may comprise information associated with a purchase and/or sale of stock of a particular company. In a particular example, such a data object may comprise information in a window buffer stored in association with an index associated with a ticker symbol as illustrated above (e.g., as determined by parser 118). For a particular one of such objects, for example, a window buffer 116 may store information associated with a most recent transaction and/or trade associated with a ticker symbol and/or issuer of a security, and discard and/or flush information associated with any other transactions and/or trades associated with the ticker symbol and/or issuer. Alternatively, a window buffer 116 may store information associated with a set number of the n most recent transactions and/or trades associated with a ticker symbol and/or issuer of a security, and discard and/or flush information associated with any other transactions and/or trades associated with the ticker symbol and/or issuer. It should be understood, however, that these are merely examples of how information in a window buffer may be updated and claimed subject matter is not limited in these respects.
  • According to an embodiment, information stored in window buffers 116 and/or 124 may be accessed in response to a query 108 received from an application 102. Queries 108 may be provided in any particular format used to express a query of information such as, for example, query language such as, for example, a structured query language (SQL) and/or variations thereof. However, this is merely an example of how a query from an application may be formatted according to a particular query syntax and/or language, and claimed subject matter is not limited in this respect. Query interface 112 may interact with engine 114 to process queries 108 and provide result objects 110 as responses to queries 108.
  • According to an embodiment, a query 108 may comprise information associated with a particular data item stored in a window buffer 116 and/or 124. As illustrated above, information stored in a window buffer 116 may be identifiable by an index (e.g., determined by parser 118). Additionally, a window buffer 116 and/or 124 may store information associated with a particular attribute such as, for example, a particular data source and/or data stream associated with stored information. Here, for example a query may comprise sufficient information to locate information stored in a window, a query operator and/or a query character expression. Accordingly, in one particular embodiment a query 108 may comprise a format as follows:
      • <StoredInformationIdentifier> <QueryOperator> <QueryCharacterExpression> where:
      • “StoredInformationIdentifier” comprises information to identify information stored in a window buffer 116 and/or 124;
      • “QueryCharacterExpression” comprises a query character expression; and
      • “QueryOperator” comprises an operator relating information stored in the window buffer 116 and/or 124 with the information associated with
      • QueryCharacterExpression.
        It should be understood, however, that this is merely an example of a format for a query expression for the purpose of illustration according to a particular embodiment and that claimed subject matter is not limited in these respects. StoredInformationIdentifier may comprise information to identify a specific window buffer 116 and/or 124, an index associated with information stored in the specific window buffer 116 and/or 124 and/or other metadata to be used in locating information. Here, according to a particular embodiment, such information stored in window buffer 116 and/or 124 at a location according to StoredInformationIdentifier may comprise a binary string having, for example, a character expression and/or a concatenation of binary expressions associated with one or more characters of a data character expression. Such a data character expression may comprise, for example, an alphanumeric character expression representing, for example, a numerical quantity or a word, acronym and/or multi-character symbol in a spoken and/or written language, for example. However, these are merely examples of information that may be represented by a data character expression and claimed subject matter is not limited in this respect.
  • According to an embodiment, QueryCharacterExpression may similarly comprise a character expression such as, for example, an alphanumeric character string representing, for example, a numerical quantity or a word in a spoken and/or written language. Again, however, these are merely examples of what a character expression may represent according to particular embodiments and claimed subject matter is not limited in these respects. According to an embodiment, although claimed subject matter is not limited in these respects, QueryOperator may comprise an operator relating information represented by QueryCharacterExpression and information stored in a window buffer 116 and/or 124 at a location according to StoredInformationIdentifier. In a particular embodiment, although claimed subject matter is not limited in this respect, QueryOperator may provide a Boolean result based, at least in part, on the information stored in a window buffer according to StoredInformationIdentifier and information represented by QueryCharacterExpression. Here, for example, QueryOperator may comprise any one of several relational operators such as, for example, “>” (greater than), “<” (less than), “=” (equal to), “≤” (less than or equal to), “≤” (greater than or equal to) and “≠” (not equal to), just to name a few. However, these are merely examples of a query operator that may be used to relate portions of a query expression and claimed subject matter is not limited in these respects.
  • As illustrated above, a query 108 may comprise one or more query character expressions such as, for example, stock ticker symbols or quantities such as dollars, just to name a few. In processing a query 108, query interface 112 and/or engine 114 may concatenate binary expressions associated with individual characters in such query character expressions to derive one or more binary strings as illustrated below with reference to FIG. 6. Query 108 may then be processed based, at least in part, on the one or more binary strings. As illustrated above, a query 108 may also include a query operator and/or reference to stored information comprising one or more binary strings (e.g., stored in a window buffer). Here, query interface 112 and/or engine 114 may process query 108 by determining a relationship according to the query operator between the one or more stored binary strings and the one or more binary strings derived from the query character expression.
  • In a particular embodiment where the query character expression of query 108 represents a first quantity, query interface 112 may determine a quantitative relationship between such a first quantity and a second quantity represented by stored information referenced by an identifier in the query 108. Based at least in part on a query operator specified in the query 108, in this particular example, the query 108 may be processed to determine whether the first quantity is greater than, less than, equal to, not equal to, etc., than the second quantity. Here, according to particular embodiments, query interface and/or engine 114 may employ one or more techniques illustrated below to determine a quantitative relationship between first and second character expressions.
  • In a particular application of processing a query 108 relating to trades and/or transactions on a stock exchange, the query 108 may comprise a stored information identifier indicating a location in a window buffer 116 and/or 124 storing information relating to a historical transaction price, for example. Such a stored information identifier may indicate, for example, a particular window buffer 116 and/or 124 storing information regarding trades on a particular exchange, an index associated with a particular issuer and/or ticker symbol and/or additional information further specifying historical price information. However, these are merely examples of how a stored information identifier may indicate a location of stored information and claimed subject matter is not limited in these respects. Here, the information stored at the location indicated at the location specified by the stored information identifier may comprise a first binary string comprising a concatenation of binary expressions associated with characters in a data character expression as illustrated above. Such a character expression may represent, for example, a quantity such as a historical transaction price in dollars. In this particular example, the query 108 may also specify a query character expression representing, for example, a quantity such as a threshold transaction price in dollars. To process this query 108, according to a particular embodiment, query interface 112 and/or engine 114 may concatenate binary expressions of characters in the query character expression to form a second binary string, and determine a quantitative relationship between the historical transaction price and the threshold transaction price based, at least in part, on the first and second binary strings using techniques illustrated below.
  • U.S. Provisional Patent Appl. No. 60/711,647, filed on Aug. 25, 2005, titled “Method and/or System for Comparing Character Expressions,” and the discussion below describe techniques for determining relationships between and/or among character expressions based, at least in part, on binary strings comprising concatenations of binary expressions of the character expressions according to particular embodiments. Such techniques may be employed in processing queries as illustrated above according to particular embodiments. For example, such techniques may be used to determine a relationship between information represented by a data character expression and a query character expression according to a query operator.
  • According to an embodiment, although claimed subject matter is not limited in these respects, a character expression may be expressed as a “fixed length” string comprising a finite number of symbols arranged in a linear ordering. Here, for example, a fixed length string comprising a linear ordering of three symbols may represent a positive quantity of up to nine hundred ninety-nine as a base ten integer expression comprising alphanumeric characters “0,” “1,” “2,” “3,” “4,” “5,” “6,” “7,” “8,” and/or “9”. For representing positive quantities less than one hundred as a base ten integer expression, however, less than three symbols may be needed to express the positive quantity. For instance, the positive quantity of thirty-nine may be expressed as “039”. Here, a first or left most symbol comprises a character “0” as “padding” since the base ten expression for the positive thirty-nine uses only two characters in the fixed length string. It should also be observed that the base ten expression “039” for the quantity thirty-nine is also “right justified” in that a least significant character “9” takes the right most position in the fixed length string.
  • It should be understood that right justification and left padding provide conventions to illustrate a location of information in a character and/or binary string. In the particular illustrated embodiment, such a right justified and zero padded expression provides a least significant character and/or bit in a right most position of a string, and padding of “0”s in positions of the string to the left of positions containing information. However, such a right justification and left padding may also apply to a transposition of such a string where a leftmost string position is swapped with a rightmost string position, and an order of string positions is maintained in reverse order from right to left. Under such a transposition, a least significant bit and/or character may exist in a left most position of a string and padding of “0”s may exist in string locations to the right of information in the string. Nevertheless, such a transposition may also said to be right justified and left padded.
  • In alternative embodiments, a fixed length string may represent values “1” and “0” at bit locations in a fixed length binary string. Here, for example, such a fixed length string may be defined by a word format in a computer platform (e.g., fixed length words of 16-bit, 32-bit, 64-bit, 128-bit and/or the like). As illustrated below, such a word format may define a format of a fixed length binary string to be stored, held and/or represented in a register of a computing platform. Here, such a register to store a fixed number of bits as a fixed length binary string may comprise a “fixed length register.”
  • As pointed out above, a binary expression may represent a quantity. Such binary strings may be used to represent a quantity in any one of several formats. In one particular example, as pointed out above, a binary string may represent a quantity in an “unsigned” format as follows:
  • b n b 1 b 0 = i = 0 n b i * 2 i ( 1 )
  • where bi comprises a bit value of bit position i expressed as a “1” or a “0.”
  • According to an embodiment, a first binary expression may be “added” to a second binary expression to provide a resulting, third binary expression. In a particular embodiment where the first and second binary expressions represent respective first and second quantities, for example, such third binary expression may represent a “sum” of the first and quantities. According to an embodiment, although claimed subject matter is not limited in this respect, an addition operation, represented here as the symbol “+,” may add binary expressions to provide a sum as follows:

  • b n . . . b 1 b 0 =d 0 . . . d 1 d 0 +e n . . . e 1 e 0.
  • Such an addition operation may determine digits bi in a resulting sum by, beginning with a least significant digit, determining bit a value of corresponding digit as follows:
  • bi=0 if di=0 and ei=0;
  • bi=0 if di=1 and ei=1, (where a value of “1” is carried to be combined with di+1 and ej+1 in determining bi+1 for i+1 less than or equal to n); and
  • bi=1 if di=0 and ei=1 or di=1 and ei=0.
  • It should be understood, however, that this is merely an example of how binary expressions may be added to provide a sum of two binary expressions and claimed subject matter is not limited in these respects.
  • According to an embodiment, a first binary expression may be “subtracted” from a second binary expression to provide a resulting, third binary expression. In a particular embodiment where the first and second binary expressions represent respective first and second quantities, for example, such third binary expression may represent a “difference” between the first and quantities. In one particular embodiment of a format of a binary expression, as pointed out above, a binary expression may represent a quantity as a “2's-complement” expression having a format outlined as follows:
  • a. fixed length binary string;
  • b. a most significant bit (MSB) comprises a sign bit;
  • c information other than a sign bit is expressed in right justified bit positions; and
  • d. bit positions between MSB and bit positions containing other information are padded with “0” s.
  • Here, an MSB (e.g., left most bit) in the fixed binary strings comprises a “sign bit.” In one particular embodiment, an MSB of “0” indicates a non-negative quantity while an MSB of “1” indicates a negative quantity. If the MSB and/or sign bit of a 2's-complement binary expression comprises a “0”, indicating a non-negative quantity according to the presently illustrated embodiment, the remaining bits in the expression may represent a quantity as illustrated above in the unsigned binary expression illustrated above in relation (1). In one particular example, such a 2's-complement binary expression may comprise a set 16-bit word size. Here, for example, a positive quantity “1607” expressed as a base ten integer may be expressed as a 16-bit word as “0 000 011 001 000 111.” Since “1607” comprises a positive quantity, the most significant bit of its 2's-complement binary expression (e.g., in a leftmost position in the 16-bit word in this particular example) comprises “0.”
  • If the MSB and/or sign bit of a 2's complement binary expression comprises a “1”, indicating a negative quantity according to the presently illustrated embodiment, the remaining bits in the expression may represent a negative quantity based, at least in part, on an inversion of the remaining bits. Here, a negative quantity −N may be expressed using a 2's-complement form by, according to a particular embodiment, first obtaining a 2's-complement binary expression (or unsigned binary expression as illustrated above in relation (1), for example) of the positive quantity N. Second, a “1's-complement” of the binary expression of positive quantity N, ˜N, may be obtained by replacing bit values of “1” with “0” and replacing bit values of “0” with “1”. Third, a bit value of “1” is added to ˜N to provide the 2's-complement expression of ˜N, while ignoring any carry from a most significant bit.
  • According to an embodiment, although claimed subject matter is not limited in these respects, the subtraction of a first quantity from a second quantity may be expressed as an addition of a negative of the first quantity to the second quantity, providing a third quantity as a difference between the first and second quantities. Here, the first and second quantities may be expressed as 2's-complement binary expressions. A 2's-complement expression of the negative of the first quantity may be obtained as illustrated above. Then, the 2's-complement expression of the second quantity may be added to the 2's-complement of the expression of the negative of the first quantity to provide a 2's-complement expression of a result of subtracting the first quantity from the second quantity. However, this is merely an example of how a result from a subtraction of a first quantity from a second quantity may be expressed and claimed subject matter is not limited in these respects.
  • According to an embodiment, although claimed subject matter is not limited in this respect, if a third quantity resulting from a subtraction of first quantity from a second quantity yields a negative quantity, the first quantity may be deemed to be “greater than” the second quantity. Also, if such a quantity resulting from a subtraction of a first quantity from a second quantity yields a positive quantity, the first quantity may be deemed to be “less than” the second quantity. In a particular example where first and second quantities are represented as 2's-complement binary expressions, if a most significant bit of a 2's-complement third quantity comprises “1” (indicating a negative quantity), the first quantity may be deemed greater than the first quantity. Similarly, if the most significant big of the 2's-complement third quantity comprises “0” (indicating a positive or zero quantity), the first quantity may be deemed to be “less than or equal to” the second quantity.
  • According to an embodiment, as pointed out above, a quantity may be expressed as a string of alphanumeric characters. In one particular example, such an alphanumeric string may comprise a concatenation of individual alphanumeric characters selected from “0,” “1,” “2,” “3,” “4,” “5,” “6,” “7,” “8,” and/or “9.” Using these alphanumeric characters, according to a particular embodiment, such a concatenation of individual characters may comprise a base ten expression of a quantity. Such a base ten expression of an integer or fixed and/or floating decimal point numeral may be formulated according to relation (2) as follows:
  • c n c 1 c 0 = i = 0 n c i * 10 i ( 2 )
  • where ci comprises a value of a character at position i in a string of concatenated alphanumeric characters selected from “0,” “1,” “2,” “3,” “4,” “5,” “6,” “7,” “8,” and/or “9.”
  • Using these alphanumeric characters, according to an alternative embodiment, such a concatenation of individual characters “0,” “1,” “2,” “3,” “4,” “5,” “6,” and/or “7” may comprise a base eight and/or octal expression of a quantity. Such a base eight and/or octal expression of an integer or fixed and/or floating decimal point numeral may be formulated according to relation (3) as follows:
  • c n c 1 c 0 = i = 0 n c i * 8 i ( 3 )
  • where ci comprises a value of a character at position i in a string of concatenated alphanumeric characters selected from “0,” “1,” “2,” “3,” “4,” “5,” “6,” and/or “7.” It should be understood that such base eight and base ten expressions are merely examples of expressing quantities as strings of alphanumeric characters and that claimed subject matter is not limited in this respect.
  • According to an embodiment, although claimed subject matter is not limited in these respects, an alphanumeric character may be represented as a numeric code. Here, an alphanumeric character may be represented as a value according to an association of alphanumeric characters to values. In one particular example, characters may be associated with values according to the acronym for the American Standard Code for Information Interchange (ASCII). An ASCII code may be used for associating individual characters with integer values 0 to 127. Table 2 illustrates an association of the alphanumeric characters “0,” “1,” “2,” “3,” “4,” “5,” “6,” “7,” “8,” and/or “9” with numeric values according to ASCII.
  • TABLE 2
    Alphanumeric 8-Bit Byte Representation of
    Character ASCII Code (In Octal) ASCII code
    0 060 00 110 000
    1 061 00 110 001
    2 062 00 110 010
    3 063 00 110 011
    4 064 00 110 100
    5 065 00 110 101
    6 066 00 110 110
    7 067 00 110 111
    8 070 00 111 000
    9 071 00 111 001
  • According to a particular embodiment, an ASCII code may represent an alphanumeric character as an 8-bit byte comprising a string of binary bits. In alternative embodiments, ASCII may represent an alphanumeric character as a 7-bit byte. Such a 7-bit ASCII code may translate an 8-bit ASCII code by including a single “0” padding in the MSB of a 7-bit code. Here, an 8-bit byte binary expression associated with an alphanumeric character, such as an ASCII code, may also represent a value and/or quantity as illustrated above in relation (1). Such values and/or quantities may also be ordered according to alphanumeric characters that they represent. In one particular example, alphanumeric character “4” represents a numerical value and/or quantity that is greater than a numerical value and/or quantity represented by alphanumeric character “2.” Likewise, the binary string associated with “4” according to ASCII, “0 110 100”, represents a numerical value and/or quantity that is greater than the numerical value and/or quantity represented by the binary string associated with “2” according to ASCII, “0 110 010.” Similarly, alphanumeric character “9” represents a numerical value and/or quantity that is greater than a numerical value and/or quantity represented by alphanumeric character “5.” Likewise, the binary string associated with “9” according to ASCII, “0 111 001”, represents a numerical value and/or quantity that is greater than the numerical value and/or quantity represented by the binary string associated with “5” according to ASCII, “0 110 101.” Accordingly, the binary representations of alphanumeric characters “0,” “1,” “2,” “3,” “4,” “5,” “6,” “7,” “8,” and/or “9” according to ASCII represents at least a partial ordering of an ordered sequence of these characters according to relation (4) as follows:

  • c k >c i if and only if d k >d i  (4)
  • where:
      • ck is a value and/or quantity represented by an alphanumeric character k selected from among “0,” “1,” “2,” “3,” “4,” “5,” “6,” “7,” “8,” and/or “9”;
      • cj is a value and/or quantity represented by an alphanumeric character j selected from among “0,” “1,” “2,” “3,” “4,” “5,” “6,” “7,” “8,” and/or “9”;
      • dk is a value and/or quantity of a binary string representing alphanumeric character k according to ASCII; and
      • dj is a value and/or quantity of a binary string representing alphanumeric character j according to ASCII.
        It should be understood, however, that this is merely an example of how binary representations of characters may form at least a partial ordering of an ordered sequence such characters, and claimed subject matter is not limited in these respects. For example, one or more portions of associated character codes and/or binary expressions set forth by the American National Standards Institute (ANSI) may similarly provide such a partial ordering of an ordered sequence of characters represented by the portions of character codes and/or binary expressions. It should also be understood that other character codes and/or binary expressions may be associated with international characters used to represent characters other than Arabic numerals and/or English letters (e.g., Greek, Russian, Japanese, Chinese, and/or the like).
  • While Table 2 illustrates an association between binary expressions and alphanumeric characters comprising numerals, such an association may also represent other alphanumeric characters with binary expressions. Here, for example, binary expressions may also be associated with characters that are used to form words for a spoken and/or written language. Table 3 below illustrates an association of such characters according to ASCII.
  • TABLE 3
    Alphanumeric 8-Bit Byte Representation of
    Character ASCII Code (In Octal) ASCII code
    A 101 01 000 001
    B 102 01 000 010
    C 103 01 000 011
    . . . . . . . . .
    X 130 01 011 000
    Y 131 01 011 001
    Z 132 01 011 010
    a 141 01 100 001
    b 142 01 100 010
    c 143 01 100 011
    . . . . . . . . .
    x 170 01 111 000
    Y 171 01 111 001
    z 172 01 111 010
  • The alphanumeric characters listed in Table 3 provide an example of alphanumeric characters that may be concatenated in a string to express a word, acronym and/or multi-character symbol according to a spoken and/or written language. As illustrated above according to particular embodiments, such alphanumeric characters may be used to form a multi-character symbol such as a stock ticker symbol. However, such words, acronyms and/or multi-character symbols are merely examples of character expressions that may be formed from a concatenation of such characters and claimed subject matter is not limited in these respects. As illustrated in Table 3, these alphanumeric characters may also be associated with binary expressions according to the aforementioned association between alphanumeric characters and binary expressions in ASCII. It should be observed that characters “A” through “Z” and “a” through “z” define particular orderings of ordered sequences of characters in an English language alphabet. Further, upper case characters “A” through “Z” are associated with binary expressions “01 000 001” through “01 011 010” (e.g., associated “101 through “132” in octal), respectively. Similarly, lower case characters “a” through “z” are associated with binary expressions “01 100 001” through “01 111 010” (e.g., associated with “141” through “172” in octal), respectively. Accordingly, binary expressions associated with upper case characters “A” through “Z” form a partial ordering of binary expressions associated with an ordered sequence of such characters. Here, in this particular embodiment, binary expressions representing characters have the following property where α and β represent characters both selected from either “A” through “Z” or from “a” through “z” as follows:
  • cα>cβ if and only if β precedes a in an associated alphabet of characters “A” through “Z” or “a” through “z” where cα is a numerical value and/or quantity associated with an unsigned binary expression associated with α and cβ is a numerical value and/or quantity associated with an unsigned binary expression associated with β.
  • As illustrated above with reference to relations (2) and (3), alphanumeric characters may be concatenated in a string to provide a base ten or base eight representation of a quantity and/or numerical value. Such expressions may be further represented as a string of bits comprising a concatenation of binary representations of individual alphanumeric characters in the base ten expression. In one particular example, although claimed subject matter is not limited in this respect, a base ten expression of “1907” may comprise a concatenation of alphanumeric characters “1”, “9”, “0” and “7.” This alphanumeric characters may be individually represented by binary strings “0 110 001”, “0 111 001”, “0 110 000” and “0 110 111”, respectively, according to the association of alphanumeric characters and binary strings of Table 2. Accordingly, the value of the base ten expression “1907” may be represented as a concatenation of the individual binary strings representing alphanumeric characters “1”, “9”, “0” and “7” to provide a 32-bit binary string “00 110 001 00 111 001 00 110 000 00 110 111.” Again, as illustrated above according to particular embodiments, a transaction price represented as a base ten expression may be represented as a concatenation of individual binary expressions associated with characters in the base ten representation of the transaction price.
  • Similarly, alphanumeric characters concatenated to form words of a spoken and/or written language. For example, according to a particular embodiment, characters “c”, “a” and “t” may be concatenated to form the word “cat” and the characters “d”, “o” and “g” may be concatenated to form the word “dog.” Like base eight and/or base ten expressions of quantities, the word “cat” may be represented as a concatenation of the individual binary strings representing characters “c”, “a” and “t” to provide a 24-bit binary string “01 100 011 01 100 010 01 110 100”. Similarly, the word “dog” may be represented as a concatenation of individual binary strings representing characters “d”, “o” and “g” to provide a 24-bit binary string “01 100 100 01 101 111 01 100 111.” Again, as illustrated above according to particular embodiments, a multi-character symbol such as a stock ticker symbol may be represented as a concatenation of individual binary expressions associated with characters in the stock ticker symbol.
  • According to an embodiment, a relationship between first and second character expressions may be determined based, at least part, on a subtraction of a first binary string representing the first character expression from a second binary string representing a second character expression. In one particular example, first and second character expressions may express quantities and a result of such a subtraction may indicate a quantitative relationship between the first and second quantities. In one particular embodiment, although claimed subject matter is not limited in this respect, a first quantity expressed as an alphanumeric character string may be determined to greater than a second quantity expressed as an alphanumeric character, string based, at least in part, on a result of subtracting a first binary string from a second binary string. As illustrated above, such a first binary string may comprise a concatenation of binary representations of individual alphanumeric characters in the first character string while the second binary string may comprise a concatenation of binary representations of individual alphanumeric characters in the second character string. In another particular example, first and second words, acronyms and/or multi-character symbols defined according to a spoken and/or written language may be expressed as strings of alphanumeric characters. A first binary string may comprise a concatenation of binary expressions representing characters in the first word, acronym and/or multi-character symbol while a second binary string may comprise a concatenation of binary expressions representing characters in the second word, acronym and/or multi-character symbol. Here, in a particular example, a result of subtracting the first binary string from the second binary string may determine an alphabetic ordering of the first and second words. However, these are merely examples of how a result from a subtraction of a first binary string from a second binary string may be indicative of a relationship between first and second character strings represented by the first and second binary strings, and claimed subject matter is not limited in these respects.
  • FIGS. 5 through 9 illustrate particular embodiments of determining a relationship between first and second character expressions based, at least in part, on binary strings comprising concatenations of binary expressions representing characters in the first and second character expressions. As illustrated above according to particular embodiments, such first and second character expressions may comprise a data character expression and a query character expression. In particular examples illustrated below, first and second alphanumeric character strings represent respective first and second quantities (e.g., in a base ten or base eight format) and binary expressions associated with individual characters in the alphanumeric character strings are concatenated to form first and second binary strings. A quantitative relationship between the first and second quantities is determined, at least in part on a subtraction of at least a portion of the first binary string from a portion of the second binary string. It should be understood, however, that this is merely an example embodiment directed to determining a quantitative relationship between quantities represented by character strings and that the techniques described may be generally applied to binary strings representing other types of character expressions.
  • Without belaboring the discussion, these techniques may be used to determine a relationship between first and second character strings comprising words, acronyms and/or multi-character symbols in a written and/or spoken language in other particular embodiments. As noted above, such words may be represented by binary strings representing a concatenation of binary expressions representing individual characters in the character strings. At least a portion of the first string may be subtracted from at least a portion of the second string to determine a relationship between the first and second words (e.g., an alphabetic ordering). Again, this is merely just an example embodiment and the techniques described herein may be applied to determining different relationships between and/or among different types of character expressions.
  • According to an embodiment, although claimed subject matter is not limited in this respect, a quantity may be expressed as an alphanumeric character string comprising a fixed number of alphanumeric characters. In one example, such an alphanumeric character string may be right justified, and left padded with the alphanumeric character “0”. To express a quantity 1234 (e.g., one thousand, two hundred thirty four), for example, a twenty-four character string may read as follows:
  • “000000000000000000001234”.
  • A computer and/or machine may access “registers” defined in a storage medium capable of storing, holding and/or representing information. In one example, fixed length registers of a computer and/or machine may be defined to be a fixed size such as, for example, two, four or eight bytes where a byte comprises eight bits. In another example, portions of a register may be accessible by a computer instruction based, at least in part, on an address and/or identifier associated with the register. A register may comprise a hardware addressable memory location in a so-called hardware register. Alternatively, a register may comprise a software defined memory location in a system memory of a computer platform where such a register is not necessarily limited to a specific addressable hardware location. However, these are merely examples of a register and claimed subject matter is not limited in these respects.
  • FIG. 5 is a flow diagram illustrating a process embodiment 400 to determine a quantitative relationship between first and second quantities. In particular, process embodiment 400 may determine whether a first quantity is greater than, less than or equal to a second quantity. According to an embodiment, first and second quantities may be represented as strings of alphanumeric characters at block 402. In one particular embodiment, although claimed subject matter is not limited in these respects, such strings of alphanumeric characters may comprise alphanumeric characters “0,” “1,” “2,” “3,” “4,” “5,” “6,” “7,” “8,” and/or “9”. Further, such strings of alphanumeric characters may also represent the first and second quantities as quantitative expressions (e.g., base ten expressions or base eight expressions) in fixed length expressions which are right justified and left padded with the character “0” as illustrated above. Accordingly, such alphanumeric character strings may comprise the same number of characters. However, these are merely examples of how strings of alphanumeric characters may be used to express quantities and claimed subject matter is not limited in these respects.
  • According to an embodiment, characters in the alphanumeric character strings representing the first and second quantities may be associated with binary representations as illustrated above with reference to Table 2. In a particular example, such individual alphanumeric characters are associated with binary representations according to ASCII. Block 404 may concatenate binary representations of individual alphanumeric characters of alphanumeric strings representing the first and second quantities.
  • FIG. 6 illustrates a concatenation of binary representations of alphanumeric characters 456 in an alphanumeric character string according to an embodiment block 404. Block 404 may concatenate binary representations of alphanumeric characters in alphanumeric character strings representing first and second quantities as illustrated in FIG. 2. Referring again to the example of expressing a quantity of one thousand, two hundred thirty four as a twenty-four character string (“000000000000000000001234”), an individual alphanumeric character 456 may be associated with a binary representation according to an association between alphanumeric characters and binary strings. In particular, for example, the alphanumeric character “0” is associated with the binary expression “00110000”. Here, twenty such binary expressions “00110000” are concatenated together in binary string 452 to represent twenty alphanumeric characters 456 5 through 456 24 (“0”) used as padding in the alphanumeric character string. Additionally, binary expressions “00110001”, “00110010”, “00110011” and “00110100” are concatenated together from left to right in binary string 452 to represent alphanumeric characters 456 1 through 456 4 (“1234”). As illustrated with reference to FIG. 6, accordingly, block 404 may create a first binary string from a concatenation of binary expressions representing a first alphanumeric character string (representing the first quantity) and a second binary string from a concatenation of binary expressions representing a second alphanumeric character string (representing the second quantity). Where the alphanumeric character strings representing the first and second quantities comprise the same number of characters and each character is represented by an 8-bit byte, according to a particular embodiment, resulting first and second binary strings comprise the same number of bits.
  • As illustrated below, portions of first and second binary strings determined at block 404 may be loaded to registers and manipulated to determine a quantitative relationship between first and second quantities. In one particular embodiment, although claimed subject matter is not limited in this respect, a register may be capable of holding, storing and/or representing a fixed number of bits in a linear array of bits. As will be illustrated throughout the remainder of this discussion for the purpose of illustrating a particular embodiment, a register will be capable of holding, storing and/or representing sixty-four bits. It should be understood, however, that this is merely an example of a size of a register that may be used to hold, store and/or represent a linear array of bits and that other sizes (e.g., 16-bit, 32-bit, 128-bit, etc.) may be used in other embodiments.
  • Referring again to a concatenation of binary representations of twenty four characters in an alphanumeric character string of FIG. 6, binary string 452 comprises 192 bits beginning with a most significant portion leading with byte “00110000” to represent alphanumeric character “0” and ending with a least significant portion trailing with byte “00110100” to represent alphanumeric character “4”. Here, a 64-bit register is capable of holding, storing and/or representing a third of the 192 bits of binary string 452 at any one time. Blocks 406 and 408 may perform register operations on portions of the first and second binary strings determined at block 404 beginning with the most significant bits of the respective first and second binary strings.
  • In a first iteration of the loop set forth by block 406 through diamond 414, block 406 may load a portion of the first binary string comprising its most significant bits to a first register, Reg1, and load a portion of the second binary string comprising its most significant bits to a second register, Reg2. In subsequent iterations of the loop set forth by block 406 through diamond 414, according to a particular embodiment, block 406 may load next most significant bits of the first and second binary strings to Reg1 and Reg2, respectively. In a particular example wherein first and second binary strings each comprise 192 bits, and Reg1 and Reg2 comprise 64-bit registers, block 406 may load one third of the first and second binary strings to Reg1 and Reg2 per iteration.
  • According to an embodiment, although claimed subject matter is not limited in this respect, block 408 may subtract contents of Reg1 from contents of and Reg2. Here, the contents of Reg1 and Reg2 may be treated as quantities expressed in a 2's-complement form. Accordingly, the contents Reg1 may be subtracted from the contents Reg2 by adding a 2's-complement expression for the negative of the contents of Reg1 to the contents of Reg2. However, this is merely an example of how a portion of a first binary string may be subtracted from a portion of a second binary string, and claimed subject matter is not limited in this respect.
  • If a result of the subtraction at block 408 is a zero quantity as determined at diamond 410, the contents of Reg1 and Reg2 may be determined to be equal. Here, at least in terms of portions of the first and second binary strings evaluated in iterations of block 406 through diamond 410 in iterations of block 406 through diamond 414 thus far, the first and second quantities represented in alphanumeric character strings are equal. If all bits of the first and second binary strings have been loaded to registers and evaluated as determined at diamond 414, the first and second quantities may be determined to be equal at block 420. If the least significant bits (LSBs) of the first and second binary strings have not been loaded to registers and processed at blocks 406 and 408, process 400 may return to block 406 to load the next most significant bits of the first and second binary strings to Reg1 and Reg2. Here, the next most significant bits of the first and second binary strings may comprise the most significant bits of the portions of the first and second binary strings that are yet unprocessed at blocks 406 and 408.
  • Process 400 may be executed, at least in part, by computing platforms employing either a big endian processing architecture or a little endian processing architecture. In particular embodiments employing a big endian processing architecture, block 406 may merely copy register sized portions of a first and second binary strings stored in memory. In particular embodiments employing a little endian processing architecture, block 406 may retrieve register sized portions of the first and second binary strings and then transpose bytes in the retrieved portions before loading to registers. Here, with such a little endian processing architecture, a most significant byte portion of the retrieved portion of a binary string may be swapped with a least significant byte portion of the retrieved portion before loading to a register. Other bytes of the retrieved portion may be similarly transposed to provide in the register a reverse ordering of bytes in the retrieved portion. However, these are merely examples of how a computing platform using either a big endian or little endian processing architecture may retrieve portions of a binary string from memory and load the retrieved portions to registers, and claimed subject matter is not limited in these respects.
  • It should be noted that, in the particular illustrated embodiment, a binary expression associated with a character comprises an 8-bit byte with a zero value in a most significant bit position. Since a register in particular embodiments illustrated herein stores an integer number of bytes, such a resister storing a portion of a binary string formed from a concatenation of such binary expressions comprises a zero value in its most significant bit. Accordingly, such register sized portions of such a binary string may express a non-negative quantity in a 2's-complement form.
  • If a result of subtraction at block 408 does not equal zero as determined at diamond 410, the first and second quantities may be determined to be not equal. Accordingly, if such a result of subtraction at block 408 is greater than zero, the first quantity may be determined to be less than the second quantity. Otherwise, if such a result of subtraction at block 408 is not greater than zero as determined at diamond 412, the first quantity may be determined to be greater than the second quantity.
  • Process 400 illustrates sequential iterations of loading of portions first and second binary strings to registers, and then subtracting contents of registers where an execution of an iteration may be conditioned on a result of an execution of a previous iteration. In an alternative embodiment illustrated in FIG. 7, portions of a first binary string may be loaded to a plurality of corresponding registers while portions of a second binary string may be loaded to a plurality of different corresponding registers. Here, blocks 472 and 474 may provide first and second binary strings based, at least in part, on first and second alphanumeric strings as illustrated above with reference to blocks 402 and 404 of process 400. Block 476 may partition first and second binary strings into register sized portions. Block 478 may load register sized portions of the first string to first registers and register sized portions of the second string to second registers.
  • As shown in FIG. 8, for example, a first binary string 502 may be partitioned into register sized portions 506 while a second binary string 504 may be partitioned into register sized portions 508. Here, portion 506 0 may comprise the most significant portion of first binary string 502 (e.g., the portion of first binary string 502 comprising the most significant bits of the binary string 502) while portion 506 2 may comprise the least significant portion of first binary string 502 (e.g., the portion of first binary string 502 comprising the least significant bits of the binary string 502). Portions 506 0, 506 1 and 506 2 are loaded to corresponding first registers Reg0,1, Reg1,1 and Reg2,1, respectively. Similarly, portion 508 0 may comprise the most significant portion of second binary string 504 while portion 508 2 may comprise the least significant portion of second binary string 504. Portions 508 0, 508 1 and 508 2 are loaded to corresponding first registers Reg0,2, Reg1,2 and Reg2,2, respectively. Accordingly, registers Reg2,1 and Reg2,2 store least significant portions of first binary string 502 and second binary string 504, respectively, while registers Reg0,1 and Reg0,2 store most significant portions of first binary string 502 and second binary string 504, respectively.
  • As illustrated above in connection with process 400, process 470 may similarly be executed, at least in part, by a computing platform employing either a big endian or little endian processing architecture. In a particular embodiment employing a big endian processing architecture, block 478 may load bytes of portions 506 and 508 to registers in the same order as retrieved from strings 502 and 504 from memory. In a particular embodiment employing a little endian processing architecture, block 478 may transpose bytes within portions 506 and 508 as retrieved from byte addresses in strings 502 and 504 in memory before loading to registers as illustrated above and maintaining the same order of bits within bytes transposed with portions 506 and 508. However, these are merely particular examples of how block 478 may be executed by a computing platform employing either a big endian or a little endian processing architecture and claimed subject matter is not limited in this respect.
  • Following loading of portions 506 and 508 to registers at block 478 as illustrated above, block 480 may then subtract portions 506 of first binary string 502 from corresponding portions 508 as follows:

  • Reg0←Reg0,2−Reg0,1

  • Reg1←Reg1,2−Reg1,i

  • Reg2←Reg2,2−Reg2,1
  • Where:
  • Regi,1 is a register storing an ith register sized portion of the first binary string;
  • Regi,2 is a register storing an ith register sized portion of the second binary string; and
  • Regi is a register storing an ith difference between corresponding register sized portions of the first and second binary strings.
  • Here, the use of distinct registers Reg0, Reg1 and Reg2 are merely used to illustrate storing a result from a subtraction operation. It should be understood, however, that any of registers Reg0,2, Reg0,1, Reg1,2, Reg1,1, Reg2,2, and/or Reg2,1 may be reused to store a such a result from a subtraction operation. Also, as pointed out above, any of the registers Reg0, Reg1, Reg2, Reg0,2, Reg0,1, Reg1,2, Reg1,1, Reg2,2, and/or Reg2,1 may comprise a hardware addressable memory location in a so-called hardware register or, alternatively, a software defined memory location in a system memory of a computer platform where such a register is not necessarily limited to a specific addressable hardware location.
  • According to particular embodiment illustrated above, if the contents of registers Reg0, Reg1 and Reg2 all comprise a 2's-complement expression for zero, as determined at diamond 482, the first and second quantities may be deemed equal. Otherwise, the first quantity may be deemed greater than or less than the second quantity based upon a sign of contents in a register Reg0, Reg1 or Reg2 having non-zero contents and corresponding with the most significant portions of the first and second binary strings among registers having non-zero contents. Such a register may comprise a “most significant difference” (MSD) between portions of the first and second binary strings. For example, diamond 486 may determine whether the first quantity is greater or less than the second quantity based, at least in part, on a sign of such an MSD between portions of the first and second binary strings. In an example, as illustrated above, register Reg0 may comprise a difference between most significant bits of respective first and second binary strings. Diamond 486 may determine that the first quantity is less than the second quantity if the contents of register Reg0 comprises a 2's-complement expression of a positive quantity and determine that the first quantity is greater than the second quantity if the contents of register Reg0 comprises a 2's-complement expression of a negative quantity. Otherwise, if contents of register Reg0 comprises a 2's-complement expression of zero, diamond 486 may determine that the first quantity is less than the second quantity if Reg1 comprises a 2's-complement expression of a negative quantity (where register Reg1 therefore stores the MSD) and determine that the first quantity is greater than the second quantity if Reg1 comprises a 2's-complement expression of a positive quantity.
  • FIG. 9 is a flow diagram illustrating a process embodiment 550 to determine a quantitative relationship between a first and second quantity such as, for example, determining whether a first quantity is greater than, less than or equal to a second quantity, according to an alternative embodiment. Here, block 552 may represent first and second quantities as strings of alphanumeric characters as illustrated above with reference to block 402 of process 400. Also, block 554 may concatenate binary representations of alphanumeric characters to provide first and second binary strings as illustrated above with reference to block 404 of process 400.
  • As illustrated above with reference to FIG. 5, where the alphanumeric character strings representing the first and second quantities comprise the same number of characters and each character is represented by an 8-bit byte, according to a particular embodiment, resulting first and second binary strings comprise the same number of bits. Block 556 may partition first and second binary strings into portions equaling a number of bits that may be held, stored and/or represented in a register. Again, as illustrated above, such registers may comprise fixed length registers capable of storing, holding and/or representing a fixed number of bits. Accordingly, such a register may store any predetermined number of bits (e.g., 8-bit registers, 16-bit registers, 32-bit registers, 64-bit registers, 128-bit registers and/or the like). In a particular embodiment in which a binary string may comprise 192 bits (as illustrated above with reference to FIG. 6) and registers are capable of storing, holding and/or representing 64 bits, for example, the binary string may be portioned into three 64-bit portions. It should be understood, however, that a 192 bit binary string and 64-bit register are discussed merely for the purpose of illustration and that claimed subject matter is not limited in this respect.
  • Block 558 may load differences between portions of the first and second binary strings to registers. Here, portions of the first binary string may be subtracted from associated portions of the second binary string with the results loaded to registers. Continuing with the previous example where first and second binary strings comprise 192 bits and a register can hold store and/or represent 64 bits, a first register may be loaded with a difference between most significant 64 bits of the first binary string and most significant 64 bits of the second binary string. Accordingly, a second register may be loaded with a difference between next most significant 64 bits of the first binary string and next most significant 64 bits of the second binary string. A third register may then be loaded with a difference between least significant 64 bits of the first binary string and least significant 64 bits of the second binary string.
  • According to an embodiment, loading of differences between portions of the first and second binary strings to registers may be referenced as follows:
  • Reg 0 BS 2 [ 0 ] - BS 1 [ 0 ] Reg 1 BS 2 [ 1 ] - BS 1 [ 1 ] Reg 2 BS 2 [ 2 ] - BS 1 [ 2 ] Reg n BS 2 [ n ] - BS 1 [ n ]
  • Where:
      • BS1[i] is the ith portion of the first binary string containing bits equaling the size of registers; and
      • BS2[i] is the ith portion of the second binary string containing bits equaling the size of registers.
        According to a particular embodiment, although claimed subject matter is not limited in this respect, BS1[0] and BS2[0] may comprise portions comprising most significant bits of the first and second binary strings. Likewise, BS1[n] and BS2[n] may comprise portions comprising least significant bit portions of the first and second binary strings.
  • As illustrated above in connection with processes 400 and 470, process 550 may similarly be executed, at least in part, by a computing platform employing either a big endian or little endian processing architecture. In a particular embodiment employing a big endian processing architecture, portions BS1[i] and BS2[i] may merely comprise portions of the first and second binary strings in the same byte order as retrieved from memory. In a particular embodiment employing a little endian processing architecture, portions BS1[i] and BS2[i] may comprise bytes of the first and second binary strings in a byte order reversed according to how these bytes of the first and second strings are addressed in a memory storing the first and second strings.
  • According to an embodiment, an operator “>>m” may be used to indicate a dyadic and/or binary register operation on contents of an operand register having a result that may be stored in the same or different register. Here, a result of operator “>>m” may comprise shifting contents of an operand register from an MSB position toward an LSB position by m bits and propagating and/or copying a value of a sign bit and/or most significant bit of operand register to the m+1 most significant bits in the resulting register contents. If a most significant bit in a 64-bit register Regx is “0” (indicating a 2's-complement expression of a non-negative quantity), for example, the expression Regx>>63 may comprise all “0”s to bit locations of a resulting register. According to the aforementioned 2's-complement form of binary expressions, this is an expression of a quantity zero. Similarly, if a most significant bit in Regx is “1” (indicating a 2's-complement expression of a negative quantity), for example, the expression Regx>>63 may comprise all “1”s in bit locations of a register. According to the aforementioned 2's-complement form of binary expressions, this is an expression of a quantity negative one. Therefore, according to a particular embodiment, the expression Regx>>63 may provide a 2's-complement expression for a quantity zero if the contents of Regx comprises a 2's-complement expression of zero or greater and may provide a 2's-complement expression for a quantity negative one if the contents of Regx comprises a 2's-complement expression of less than zero.
  • According to an embodiment, although claimed subject matter is no limited in these respects, block 560 may determine a “sign” of the differences between portions of the first and second binary strings loaded to registers at block 558. Such a sign, in this particular embodiment, comprises an indication as to whether the contents of a register comprises a 2's-complement expression for a positive quantity, negative quantity or zero. For example, for the purposes of illustration, where Regi comprises m-bit register, the expression (Regi>>(m−1))−(−Regi>>(m−1)) may provide an indication as to the sign of the contents of Regi as a 2's-complement expression. Here, if the contents of Regi comprises a positive quantity, the expression (Regi>>(m−1)) provides a 2's-complement expression for zero, the expression (−Regi>>(m−1)) provides a 2's-complement expression for negative one and (Regi>>(m−1))−(−Regi>>(m−1)) provides a 2's-complement expression for positive one. If the contents of Regi comprises a negative quantity, the expression (Regi>>(m−1)) provides a 2's-complement expression for negative one, the expression (−Reg1>>(m−1)) provides a 2's-complement expression for zero and (Regi>>(m−1))−(−Regi>>(m−1)) provides a 2's-complement expression for negative one. If the contents of Regi comprises a zero quantity, the expression (Regi>>(m−1)) provides a 2's-complement expression for zero, the expression (−Reg1>>(m−1)) provides a 2's-complement expression for zero and (Regi>>(m−1))−(−Regi>>(m−1)) provides a 2's-complement expression for zero.
  • As illustrated above, the differences between portions of the first and second binary strings may be stored in m-bit registers Reg0 through Regn at block 558. Block 560 may then determine the sign of the differences between the aforementioned portions of the first and second binary strings and update registers Reg0 through Regn accordingly as follows:
  • Reg 0 ( Reg 0 >> ( m - 1 ) ) - ( - Reg 0 >> ( m - 1 ) ) Reg 1 ( Reg 1 >> ( m - 1 ) ) - ( - Reg 1 >> ( m - 1 ) ) Reg 2 ( Reg 2 >> ( m - 1 ) ) - ( - Reg 2 >> ( m - 1 ) ) Reg n ( Reg n >> ( m - 1 ) ) - ( - Reg n >> ( m - 1 ) )
  • According to an embodiment, an operator “<<m” may be used to indicate a binary and/or dyadic shift operation on contents of an operand register by an m number of bits. Here, bits in an operand register may be shifted in a direction from the LSB toward the MSB (e.g., to the left according to a particular embodiment) by an m number of bits. The m least significant bit positions in the operand register are replaced with “0” and the m most significant bits are discarded. According to a particular embodiment, m may be limited by a number of bits in a register to prevent a shift of the least significant bit to a most significant bit in the resulting shifted expression. Here, such a shift may be limited to no more than the number of bits in a register minus one. Where the contents of a register Regi comprise a 2's-complement expression for positive one, the expression Regi<<m may provide an expression for a quantity 2m as a 2's-complement expression. Similarly, where the contents of a register Regi comprise a 2's-complement expression for negative one, the expression Regi<<m may provide an expression for a quantity −2m as a 2's-complement expression. Lastly, where the contents of a register Regi comprise a 2's-complement expression for zero, the expression Regi<<m may provide an expression for a zero quantity as a 2's-complement expression.
  • As illustrated above in connection with a particular embodiment, block 558 may load differences between corresponding register sized portions of first and second binary strings to registers. According to an embodiment, although claimed subject matter is not limited in these respects, block 560 may determine a sign of the difference between respective most significant portions of the first and second binary strings. Block 560 may load the determined sign to Reg0 as a 2's-complement expression for one if the difference is positive, negative one if the difference is negative and zero if the difference is zero. Block 560 may similarly determine a sign of the difference between respective least significant bit portions of the first and second binary strings, and load the determined sign to Regn as a 2's-complement expression. Also, block 560 may determine the sign of the differences between bit portions of respective first and second binary strings in decreasing significance in registers Reg1 to Regn-1.
  • According to an embodiment, block 562 may determine a weighed sum of the signs of differences between portions of first and second binary strings. In a particular example, although claimed subject matter is not limited in these respects, such a weighted sum may be used to determine whether the first quantity is greater than, less than or equal to the second quantity based. The sum of weighted signs of differences may be expressed as a 2's-complement binary expression. Here, if such a sum weighted differences comprises a 2's-complement binary expression for zero, the first and second quantities may be determined to be zero. Likewise, if such a sum comprises a 2's-complement binary expression for a positive quantity (e.g., MSB=“0” and at least one other bit=“1”), the second quantity may be determined to be greater than the first quantity. Lastly, if such a sum comprises a 2's-complement binary expression for a negative number (e.g., MSB=“1”), the second quantity may be determined to be less than the first quantity.
  • In a particular embodiment, although claimed subject matter is not limited in these respects, block 562 may determine weighted components the sum of weighted signs of differences between corresponding register sized portions of first and second binary strings by applying the aforementioned shift operator “<<”. Where Reg0 stores a sign of difference between the most significant bit portions of the first and second binary strings and Regn stores a sign of the difference between the least significant portions of the first and second binary strings, such a sum of weighted signs of differences may be determined as follows:

  • Sum←(Reg0 <<n)+(Reg1<<(n−1))+(Reg2<<(n−2))+ . . . +(Regn<<0)
  • Accordingly, “Sum” comprises a 2's-complement expression of a quantity and/or value given by the following relation (5):
  • Sum = i = 0 n 2 i * Reg n - i ( 5 )
  • Storing a sign of the differences between least significant bit portions of the first and second binary strings, Regn provides a component of the sum of weighted signs comprising contents of Regn with no net shift from shift operator “<<.” Here, such a component of the sum based on the contents of register Regn may comprise a 2's-complement expression of a quantity expressed by Regn (e.g., zero, one or negative one depending on the sign of the difference between LSB portions of the first and second binary strings) multiplied by 2° or one. On the other hand, register Reg0, storing a sign of the differences between most significant bit portions of the first and second binary strings, provides a component of the sum of weighted signs comprising contents of Reg0 with a net shift of n bits. Here, such a component may comprise a 2's-complementbinay expression of Reg0 multiplied by 2″.
  • Techniques for performing table look ups are well-known and well-understood. Thus, this will not be discussed in detail here. However, it shall be appreciated that any and all of the previously described and/or later described processing, operations, conversions, transformations, manipulations, etc. of strings, symbols, characters, numerals, data, etc. may be performed on one or more computing platforms or similar computing devices, such as those that may include a memory to store tables although, the claimed subject matter is not necessarily limited in scope to this particular approach. Thus, for example, a hierarchy of data may be formed by combining two or more hierarchies of data, such as by applying a previously described embodiment. Likewise, multiple hierarchies of data may be formed by splitting or dividing a particular hierarchy of data, again, such as by applying a previously described embodiment. Likewise, additional operations and/or manipulations of data hierarchies may be performed, such as ordering hierarchies of data and more. It is intended that the claimed subject matter cover all such embodiments.
  • It will, of course, be understood that, although particular embodiments have just been described, the claimed subject matter is not limited in scope to a particular embodiment or implementation. For example, one embodiment may be in hardware, such as implemented to operate on a device or combination of devices, for example, whereas another embodiment may be in software. Likewise, an embodiment may be implemented in firmware, or as any combination of hardware, software, and/or firmware, for example. Likewise, although the claimed subject matter is not limited in scope in this respect, one embodiment may comprise one or more articles, such as a storage medium or storage media. This storage media, such as, one or more CD-ROMs and/or disks, for example, may have stored thereon instructions, that when executed by a system, such as a computer system, computing platform, or other system, for example, may result in an embodiment of a method in accordance with the claimed subject matter being executed, such as one of the embodiments previously described, for example. As one potential example, a computing platform may include one or more processing units or processors, one or more input/output devices, such as a display, a keyboard and/or a mouse, and/or one or more memories, such as static random access memory, dynamic random access memory, flash memory, and/or a hard drive, although, again, the claimed subject matter is not limited in scope to this example.
  • In the preceding description, various aspects of claimed subject matter have been described. For purposes of explanation, specific numbers, systems and/or configurations were set forth to provide a thorough understanding of claimed subject matter. However, it should be apparent to one skilled in the art having the benefit of this disclosure that claimed subject matter may be practiced without the specific details. In other instances, well-known features were omitted and/or simplified so as not to obscure claimed subject matter. While certain features have been illustrated and/or described herein, many modifications, substitutions, changes and/or equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and/or changes as fall within the true spirit of claimed subject matter.

Claims (21)

1.-112. (canceled)
113. A method of processing characters in a stream of characters expressing words, mathematical expressions, numerical expressions, acronyms and/or multicharacter symbols in a particular spoken and/or written language, the method comprising:
parsing a stream of characters to obtain one or more first character expressions from the stream of characters, the one or more first character expressions being descriptive of corresponding events and/or transactions;
concatenating binary expressions representing individual characters of at least one of said one or more first character expressions in one or more first binary strings, said at least one said one or more first character expressions representing a first alphanumeric value of a first alphanumeric expression, the first alphanumeric expression comprising a concatenation of said individual characters representing digit values at associated positions in the first alphanumeric expression, indicative of ones of said digit value having exactly one of three or more possible unique values; and
processing a query based, at least in part, on an application of an operator to at least one of said one or more first binary strings to provide a comparison of said first alphanumeric value of said first alphanumeric expression represented by said concatenation of individual characters of said at least one of said one or more first character expressions with a second alphanumeric value represented by one or more second character expressions of said query.
114. The method of claim 113, wherein said first alphanumeric value comprises a sum of products, said products comprising individual ones of said digit values multiplied by a position value associated with positions of said digit values multiplied by position values associated with positions of said digit values in the alphanumeric expression.
115. The method of claim 113, wherein said comparison of said first alphanumeric value of said first alphanumeric expression represented by said concatenation of individual characters of said at least one of said one or more first character expressions with said second alphanumeric value represented by one or more query character expressions of said query is based, at least in part, on a comparison of one or more bytes of said first binary string loaded to a first fixed-length register of a computer and/or machine and one or more bytes of a second binary string to a second fixed-length register of the computer and/or machine.
116. The method of claim 115, wherein the second binary string comprises a concatenation of binary expressions of individual characters of at least one of said one or more second character expressions.
117. The method of claim 113, wherein said processing said query further comprises:
concatenating binary expressions representing individual characters of at least one of said one or more first character expressions in one or more second binary strings; and
determining a relationship between at least one of said first character expressions and at least one of said one or more second character expressions based, at least in part, on said one or more first binary strings and said one or more second binary strings.
118. The method of claim 117, wherein said determining said relationship further comprises determining said relationship according to said operator.
119. The method of claim 118, wherein said determining said relationship further comprises determining a quantitative relationship between said at least one of said first character expressions and said at least one of said second character expressions according to said operator.
120. The method of claim 119, wherein said determining said quantitative relationship further comprises determining whether a numerical value represented by said at least one of said first character expressions is greater than a numerical value represented by said at least one of said second character expressions.
121. The method of claim 119, wherein said determining said quantitative relationship further comprises determining whether a numerical value represented by said at least one of said first character expressions is less than a numerical value represented by said at least one of said second character expressions.
122. The method of claim 113, wherein said data stream comprises character expressions from a plurality of record sources.
123. The method of claim 113, and further comprising buffering at least a portion of said one or more first binary strings in a window buffer, and wherein said processing said query further comprises processing said query based, at least in part on signals and/or states maintained in said window buffer.
124. The method of claim 123, wherein said buffering said portion of said one or more first binary strings further comprises merging said portion with historical events.
125. The method of claim 123, wherein said buffering said portion further comprises:
expiring at least a portion of said historical events; and
merging said portion of said one or more data streams with an unexpired portion of said historical data to provide an updated window buffer.
126. The method of claim 125, wherein said processing said query further comprises processing said query based, at least in part, on said updated window buffer.
127. A computing platform to process characters in a stream of characters expressing words, mathematical expressions, numerical expressions, acronyms and/or multicharacter symbols in a particular spoken and/or written language, said computing platform being adapted to:
parse a stream of characters according to a predetermined format to obtain one or more first character expressions from the stream of characters, the one or more first character expressions to be descriptive of corresponding events and/or transactions;
concatenate binary expressions representing individual characters of at least one of said one or more first character expressions in one or more first binary strings, said at least one said one or more first character expressions to represent a first alphanumeric value of a first alphanumeric expression, the first alphanumeric expression to comprise a concatenation of said individual characters representing digit values at associated positions in the first alphanumeric expression, indicative of ones of said digit value having exactly one of three or more possible unique values; and
process a query based, at least in part, on an application of an operator to at least one of said one or more first binary strings to provide a comparison of said first alphanumeric value of said first alphanumeric expression represented by said concatenation of individual characters of said at least one of said one or more first character expressions with a second alphanumeric value represented by one or more second character expressions of said query.
128. The computing platform of claim 127, wherein to process query, the computing platform is further to:
concatenate binary expressions representing individual characters of at least one of said one or more first character expressions in one or more second binary strings; and
determine a relationship between at least one of said first character expressions and at least one of said one or more second character expressions based, at least in part, on said one or more first binary strings and said one or more second binary strings.
129. The computing platform of claim 128, wherein said computing platform is further to determine said relationship according to said operator.
130. The computing platform of claim 129, wherein said computing platform is further to determine a quantitative relationship between said at least one of said first character expressions and said at least one of said second character expressions according to said operator.
131. An article comprising:
a non-transitory storage medium comprising computer readable instructions stored thereon to process characters in a stream of characters expressing words, mathematical expressions, numerical expressions, acronyms and/or multicharacter symbols in a particular spoken and/or written language, the instructions being executable by a processor of a computer or machine to:
parse a stream of characters according to a predetermined format to obtain one or more first character expressions from the stream of characters, the one or more first character expressions to be descriptive of corresponding events and/or transactions;
concatenate binary expressions representing individual characters of at least one of said one or more first character expressions in one or more first binary strings, said at least one said one or more first character expressions to represent a first alphanumeric value of a first alphanumeric expression, the first alphanumeric expression to comprise a concatenation of said individual characters representing digit values at associated positions in the first alphanumeric expression, indicative of ones of said digit value having exactly one of three or more possible unique values; and
process a query based, at least in part, on an application of an operator to at least one of said one or more first binary strings to provide a comparison of said first alphanumeric value of said first alphanumeric expression represented by said concatenation of individual characters of said at least one of said one or more first character expressions with a second alphanumeric value represented by one or more second character expressions of said query.
132. An apparatus to process characters in a stream of characters expressing words, mathematical expressions, numerical expressions, acronyms and/or multicharacter symbols in a particular spoken and/or written language, said apparatus comprising:
means for parsing a stream of characters according to a predetermined format to obtain one or more first character expressions from the stream of characters, the one or more first character expressions to be descriptive of corresponding events and/or transactions;
means for concatenating binary expressions representing individual characters of at least one of said one or more first character expressions in one or more first binary strings, said at least one said one or more first character expressions to represent a first alphanumeric value of a first alphanumeric expression, the first alphanumeric expression to comprise a concatenation of said individual characters representing digit values at associated positions in the first alphanumeric expression, indicative of ones of said digit value having exactly one of three or more possible unique values; and
means for processing a query based, at least in part, on an application of an operator to at least one of said one or more first binary strings to provide a comparison of said first alphanumeric value of said first alphanumeric expression represented by said concatenation of individual characters of said at least one of said one or more first character expressions with a second alphanumeric value represented by one or more second character expressions of said query.
US16/557,908 2006-06-30 2019-08-30 Method and/or system for processing data streams Abandoned US20200097473A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/557,908 US20200097473A1 (en) 2006-06-30 2019-08-30 Method and/or system for processing data streams

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US81776406P 2006-06-30 2006-06-30
US11/771,911 US8484236B1 (en) 2006-06-30 2007-06-29 Method and/or system for processing data streams
US13/937,205 US10430416B2 (en) 2006-06-30 2013-07-08 Method and/or system for processing data streams
US16/557,908 US20200097473A1 (en) 2006-06-30 2019-08-30 Method and/or system for processing data streams

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/937,205 Continuation US10430416B2 (en) 2006-06-30 2013-07-08 Method and/or system for processing data streams

Publications (1)

Publication Number Publication Date
US20200097473A1 true US20200097473A1 (en) 2020-03-26

Family

ID=48701521

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/771,911 Active 2028-02-15 US8484236B1 (en) 2006-06-30 2007-06-29 Method and/or system for processing data streams
US13/937,205 Expired - Fee Related US10430416B2 (en) 2006-06-30 2013-07-08 Method and/or system for processing data streams
US16/557,908 Abandoned US20200097473A1 (en) 2006-06-30 2019-08-30 Method and/or system for processing data streams

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US11/771,911 Active 2028-02-15 US8484236B1 (en) 2006-06-30 2007-06-29 Method and/or system for processing data streams
US13/937,205 Expired - Fee Related US10430416B2 (en) 2006-06-30 2013-07-08 Method and/or system for processing data streams

Country Status (1)

Country Link
US (3) US8484236B1 (en)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037102B2 (en) 2004-02-09 2011-10-11 Robert T. and Virginia T. Jenkins Manipulating sets of hierarchical data
US9646107B2 (en) 2004-05-28 2017-05-09 Robert T. and Virginia T. Jenkins as Trustee of the Jenkins Family Trust Method and/or system for simplifying tree expressions such as for query reduction
US7620632B2 (en) 2004-06-30 2009-11-17 Skyler Technology, Inc. Method and/or system for performing tree matching
US7627591B2 (en) 2004-10-29 2009-12-01 Skyler Technology, Inc. Method and/or system for manipulating tree expressions
US7801923B2 (en) 2004-10-29 2010-09-21 Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust Method and/or system for tagging trees
US7630995B2 (en) 2004-11-30 2009-12-08 Skyler Technology, Inc. Method and/or system for transmitting and/or receiving data
US7636727B2 (en) 2004-12-06 2009-12-22 Skyler Technology, Inc. Enumeration of trees from finite number of nodes
US8316059B1 (en) 2004-12-30 2012-11-20 Robert T. and Virginia T. Jenkins Enumeration of rooted partial subtrees
US8615530B1 (en) 2005-01-31 2013-12-24 Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust Method and/or system for tree transformation
US7681177B2 (en) 2005-02-28 2010-03-16 Skyler Technology, Inc. Method and/or system for transforming between trees and strings
US8356040B2 (en) 2005-03-31 2013-01-15 Robert T. and Virginia T. Jenkins Method and/or system for transforming between trees and arrays
US7899821B1 (en) 2005-04-29 2011-03-01 Karl Schiffmann Manipulation and/or analysis of hierarchical data
US8073893B1 (en) 2005-08-25 2011-12-06 Robert T. Jenkins Method and/or system for comparing character expressions
US8484236B1 (en) 2006-06-30 2013-07-09 Robert T. Jenkins and Virginia T. Jenkins Method and/or system for processing data streams
US9015165B1 (en) * 2014-03-03 2015-04-21 Michael L. Hamm Text-SQL relational database
US20170097990A1 (en) * 2014-03-03 2017-04-06 Michael L. Hamm Text-sql relational database
US10585928B2 (en) * 2017-04-13 2020-03-10 International Business Machines Corporation Large scale facet counting on sliced counting lists
US10963483B2 (en) * 2017-04-26 2021-03-30 Oracle International Corporation Sequential storage volume replication based on comparison of write session identifiers
US20190066205A1 (en) * 2017-08-30 2019-02-28 StartEngine Crowdfunding, Inc. Peer-to-peer trading with blockchain technology
CN113326015A (en) * 2021-06-23 2021-08-31 北京字跳网络技术有限公司 Information display method and device and electronic equipment

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2293741A1 (en) 1974-12-04 1976-07-02 Anvar METHOD AND SYSTEM FOR ITERATIVE AND SIMULTANEOUS RECONCILIATION OF DATA WITH A SET OF REFERENCE DATA
FR2459512A1 (en) 1979-06-19 1981-01-09 Vidalin Jacques METHOD FOR CONTROLLING RECONCILIATION TO BE MADE BETWEEN LOGICAL REFERENCE ENTITIES AND LOGICAL ENTITIES OBTAINED FROM A FILE
US4550436A (en) 1983-07-26 1985-10-29 At&T Bell Laboratories Parallel text matching methods and apparatus
US4592004A (en) * 1984-05-21 1986-05-27 The United States Of America As Represented By The Secretary Of The Navy Electrooptical matrix multiplication using the twos complement arithmetic for improved accuracy
US4896133A (en) 1987-02-10 1990-01-23 Davin Computer Corporation Parallel string processor and method for a minicomputer
US5073864A (en) * 1987-02-10 1991-12-17 Davin Computer Corporation Parallel string processor and method for a minicomputer
US5465374A (en) 1993-01-12 1995-11-07 International Business Machines Corporation Processor for processing data string by byte-by-byte
US5392212A (en) 1993-07-07 1995-02-21 The United States Of America As Represented By The Secretary Of Commerce Apparatus for identifying unknown words by comparison to known words
DE4334294C1 (en) 1993-10-08 1995-04-20 Ibm Variable length string processor
US5381127A (en) 1993-12-22 1995-01-10 Intel Corporation Fast static cross-unit comparator
US5585793A (en) * 1994-06-10 1996-12-17 Digital Equipment Corporation Order preserving data translation
US5752072A (en) * 1996-05-09 1998-05-12 International Business Machines Corporation Sorting scheme without compare and branch instructions
US6141656A (en) * 1997-02-28 2000-10-31 Oracle Corporation Query processing using compressed bitmaps
FR2789774B1 (en) 1999-02-11 2001-04-20 Bull Cp8 SECURE COMPARISON METHOD OF TWO MEMORY REGISTERS, AND SECURITY MODULE IMPLEMENTING SAID METHOD
US6279080B1 (en) * 1999-06-09 2001-08-21 Ati International Srl Method and apparatus for association of memory locations with a cache location having a flush buffer
US7299276B1 (en) * 2000-12-14 2007-11-20 Cisco Technology, Inc. Technique for monitoring health of network device using data format verification
GB2373596B (en) * 2001-03-19 2003-02-12 Synigence Plc Apparatus for facilitating access to information
US6745215B2 (en) 2001-04-20 2004-06-01 International Business Machines Corporation Computer apparatus, program and method for determining the equivalence of two algebraic functions
US8280640B2 (en) * 2003-08-11 2012-10-02 Eloret Corporation System and method for pattern recognition in sequential data
US8073893B1 (en) 2005-08-25 2011-12-06 Robert T. Jenkins Method and/or system for comparing character expressions
US8484236B1 (en) 2006-06-30 2013-07-09 Robert T. Jenkins and Virginia T. Jenkins Method and/or system for processing data streams

Also Published As

Publication number Publication date
US20140052756A1 (en) 2014-02-20
US8484236B1 (en) 2013-07-09
US10430416B2 (en) 2019-10-01

Similar Documents

Publication Publication Date Title
US20200097473A1 (en) Method and/or system for processing data streams
US6738769B2 (en) Sorting multiple-typed data
US10095780B2 (en) Automatically mining patterns for rule based data standardization systems
US6925470B1 (en) Method and apparatus for database mapping of XML objects into a relational database
US9251246B2 (en) Conformed dimensional and context-based data gravity wells
US9754083B2 (en) Automatic creation of clinical study reports
US9965519B2 (en) Document linkage and forwarding
US20220229984A1 (en) Systems and methods for semi-supervised extraction of text classification information
US10055468B2 (en) Access to data collections by a computational system
US20230237099A1 (en) Bitmap filter, a method of generating the same, and a method of using a bitmap filter to perform a join
CN108363558A (en) Number of machines level data comparative approach towards big data processing
CN111475700A (en) Data extraction method and related equipment
Ko et al. Natural language processing–driven model to extract contract change reasons and altered work items for advanced retrieval of change orders
CN114253939A (en) Data model construction method and device, electronic equipment and storage medium
Moen et al. Assessing metadata utilization: an analysis of MARC content designation use
US8286075B2 (en) Reducing resource requirements when transforming source data in a source markup language to target data in a target markup language using transformation rules
CN113342977B (en) Invoice image classification method, device, equipment and storage medium
US8751557B2 (en) Method and/or system for comparing character expressions
CN112926314A (en) Document repeatability identification method and device, electronic equipment and storage medium
CN116383412B (en) Functional point amplification method and system based on knowledge graph
US11941004B1 (en) System and method for executing database operations based on a policy
US11948055B1 (en) Methods and computer program products for clustering records using imperfect rules
JP2013145461A (en) Dictionary generating device, document label determination system, and computer program
Piscopo Constructing and analysing knowledge maps via source code repository analysis
CN111857688A (en) SQL code automatic completion method, system and storage medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: ROBERT T. AND VIRGINIA T. JENKINS AS TRUSTEES OF THE JENKINS FAMILY TRUST DATED FEB. 8, 2002, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SKYLER TECHNOLOGY, INC.;REEL/FRAME:051269/0251

Effective date: 20100112

Owner name: SKYLER TECHNOLOGY, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ANDREWS, MARK;CRANDALL, RICHARD;SCHIFFMANN, KARL;SIGNING DATES FROM 20071210 TO 20081207;REEL/FRAME:051269/0203

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION