Query-oriented message characterization
AssigneeMicrosoft Corporation
InventorsNicholas A. Allen, Stefan R. Batres, Justin D. Brown, Jayteerth N. Katti, Stephen Maine, Edmund S. V. Pinto, Kenneth D. Wolf
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsNicholas A. Allen, Stefan R. Batres, Justin D. Brown, Jayteerth N. Katti, Stephen Maine, Edmund S. V. Pinto, Kenneth D. Wolf
Estimating the term…
Processing messages. Messages are processed based on a characteristic derived from information in messages, metadata about messages, or other information external to messages. Values for one or more pieces of information are received. At least one of the values for one or more pieces of information is associated with a first message. Queries are received. The queries specify one or more of the pieces of information. At least a portion of the plurality of values for the one or more pieces of information is processed in conjunction with the one or more queries to create one or more normalized characteristics for the first message. The one or more normalized characteristics for the first message are in a same format irrespective of the format of the pieces of information. The first message, and/or other messages, is processed based on at least one of the one or more normalized characteristics.
A system for deriving one or more unitless characteristics of a message to facilitate processing the message based on the derived one or more characteristics, the system operative in a computing environment which processes messages, and wherein the message processing is based on one or more characteristics of each message derived from different classes of information formatted differently from one another, one class of information being information contained within the message itself, and another class of information being other information external to the message, the system comprising one or more computer processors and computer memory comprising computer executable instructions which, when executed upon the one or more processors, performs a method of deriving one or more unitless characteristics of a message to facilitate processing the message based on the derived one or more characteristics comprising:
A system for deriving one or more unitless characteristics of a message to facilitate processing the message based on the derived one or more characteristics, the system operative in a computing environment which processes messages, and wherein the message processing is based on one or more characteristics of each message derived from different classes of information formatted differently from one another, one class of information being information contained within the message itself, and another class of information being other information external to the message, the system comprising one or more computer processors and computer memory comprising computer executable instructions which, when executed upon the one or more processors, performs a method of deriving one or more unitless characteristics of a message to facilitate processing the message based on the derived one or more characteristics, the method comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Query processing: query optimisation
Office automation; Time management: computer-aided management of electronic mailing [e-mailing]
Computing and data processing
Information and communication technology [ict] specially adapted for administrative, commercial, financial, managerial
About 1 year 10 months of term left · ends 3 Sep 2028 (estimated)
Computers and computing systems have affected nearly every aspect of modern living. Computers are generally involved in work, recreation, healthcare, transportation, entertainment, household management, etc.
Further, computing system functionality can be enhanced by a computing systems ability to be interconnected to other computing systems via network connections. Network connections may include, but are not limited to, connections via wired or wireless Ethernet, cellular connections, or even computer to computer connections through serial, parallel, USB, or other connections. The connections allow a computing system to access services at other computing systems and to quickly and efficiently receive application data messages from other computing system.
In a message-processing application it is not uncommon for a stage of processing to require only a portion of the message as input when making a decision. An example of such a decision is message routing, which may be based on a single field or portion of the message as opposed to the entire message payload. Furthermore, the decision may only need a characterization of the message rather than the literal content. In the context of the message routing example, the routing decision may only require an equitable but repeatable distribution of messages. In other words, two messages with the same characteristic have the same routing applied but messages with different characteristics should be apportioned equally among the routing targets. Using a characteristic for message routing may be used in a fashion analogous to using a hash code for lookup in a table.
To describe the manner in which the above-recited and other advantages and features can be obtained, a more particular description of the subject matter briefly described above will be rendered by reference to specific embodiments which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments and are not therefore to be considered to be limiting in scope, embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
FIG. 1 illustrates a topology for calculating characteristics used to process messages using queries;
FIG. 2 illustrates components for optimization of queries;
One embodiment described herein formulates the construction of a message characteristic using a query over message content, message metadata or other data. Access to the storage locations for information may be normalized and integrated into the query. Additionally, in some embodiments, the calculation of a characteristic coordinates with the messaging infrastructure so that the system can reason effectively about when information is available and when computation of the characteristic will be complete.
Referring now to FIG. 1, an example is illustrated. FIG. 1 illustrates a query engine 102. The query engine 102 includes functionality for processing queries 104, where the queries 104 are queries against various sources of data, such as messages 108 which include message data or non-message data 110 obtainable from other sources. In particular, some embodiments may be practiced such that a message characteristic may be specified using a query over message content, metadata or other information. The query engine may include support for various languages 106. In one specific example, a query may be formulated using XPath expressions as a query language.
Often query languages 106, such as XPath, have native functionality for accessing information in a limited variety of formats and from a limited variety of sources, while not natively including functionality for access to other information. For example, XPath includes native functionality for accessing information in an XML structured data structure, such as a message formatted using XML, but may not include functionality for determining other information from other services. Nonetheless, the query language may be extended by including extensions 112 to include functionality for accessing other services. In the XPath query language, the extensions are referred to as selectors. Additionally, some embodiments may include functionality for normalization of access to different storage locations using extensions to the query language. In some embodiments, normalization of access to different storage locations may use a mutually-agreed upon data structure. Optimization of computing multiple characteristics for the same message may be performed, as will be described in more detail below, by merging queries and executing them simultaneously or in parallel.