This application incorporates by reference herein in its entirety, a related and concurrently filed application entitled “Systems, Devices, and/or Methods for Managing Data” Ser No. 12/186,873.
United States Patent Publication 20080086444 (“Yu”), which is incorporated by reference herein in its entirety, allegedly discloses a “system and method for improving cardinality estimation in a relational database management system is provided. The method is suitable for use with a query optimizer for improved estimation of various predicates in the query optimizer's cost estimation plan by combining pre-computed statistics and information from sampled data. The system and method include sampling a relational database for generating a sample dataset and estimating cardinalities of the sample dataset. The estimated cardinalities sample datasets are reduced in accordance with the present invention by determining a first and second weight set, and minimizing a distance between the first and second weight set.” See Abstract.
U.S. Pat. No. 6,535,819 (“Clark”), which is incorporated by reference herein in its entirety, allegedly discloses “[t]he method of this invention identifies distinctive items of information from a larger body of information on the basis of similarities or dissimilarities among the items and achieves a significant increase in speed as well as the ability to balance the representativeness and diversity among the identified items by applying selection criteria to randomly chosen subsamples of all the information. The method is illustrated with reference to the compound selection requirements of medicinal chemists. Compound selection methods currently available to chemists are based on maximum or minimum dissimilarity selection or on hierarchical clustering. The method of the invention is more general and incorporates maximum and minimum dissimilarity-based selection as special cases. In addition, the number of iterations utilized to select the items is a multiple of the group size which, at its greatest, is approximately the square root of the population size. Thus, the selection method runs much faster than the methods of the prior art. Further, by adjusting the subsample size parameter K, it is possible to control the balance between representativeness and diversity in the compounds selected. In addition, the method can mimic the distributional properties of selections based on hierarchical clustering and, at least in some cases, improve upon them.” See Abstract.
Certain exemplary embodiments can provide a method, which can comprise automatically storing an estimator of properties of a dataset. The estimator can be based upon computed adjusted weights of a first sketch of the dataset. The adjusted weights can be applied to items comprised in a second sketch. The adjusted weights adapted to be used to estimate a size of subpopulations of items.
A wide variety of potential practical and useful embodiments will be more readily understood through the following detailed description of certain exemplary embodiments, with reference to the accompanying exemplary drawings in which:
Certain exemplary embodiments can provide a method, which can comprise automatically storing an estimator of properties of a dataset. The estimator can be based upon computed adjusted weights of a first sketch of the dataset. The adjusted weights can be applied to items comprised in a second sketch. The adjusted weights adapted to be used to estimate a size of subpopulations of items.
The following indented paragraphs immediately following the present paragraph describe one or more exemplary embodiments and are, with the exception of definitions provided therein, illustrative and not restrictive in their scope.
Summaries of massive datasets support approximate query processing over the original data. As used herein, the phrase query means (n.) a request, such as for information from a database; (v.) to request and/or obtain information, such as from a database in response to a structured request. As used herein, the phrase request means (v.) to express a need and/or desire for; to inquire and/or ask for; (n.) that which communicates an expression of desire and/or that which is asked for. As used herein, the phrase data means information represented in a form suitable for processing by an information device. As used herein, the phrase information means facts, terms, concepts, phrases, expressions, commands, numbers, characters, and/or symbols, etc., that are related to a subject. Sometimes used synonymously with data, and sometimes used to describe organized, transformed, and/or processed data. It is generally possible to automate certain activities involving the management, organization, storage, transformation, communication, and/or presentation of information. As used herein, the phrase device means a machine, manufacture, and/or collection thereof. A basic aggregate over a set of records is the weight of subpopulations specified as a predicate over records' attributes. As used herein, the phrase weight means a numeric value (non-negative real number) that is associated with an item. As used herein, the phrase subpopulation means a portion of a larger set of data and/or entities. As used herein, the phrase record means a collection of structured data elements organized by fields. A group of records forms a file, table, and/or database. For example, a record might comprise data elements stored in fields such as: a name field, an address field, and a phone number field. As used herein, the phrase store means to place, hold, and/or retain in a memory. As used herein, the phrase a means at least one.
Bottom-k sketches are a powerful summarization format of weighted items that includes priority sampling (
As used herein, the phrase processor means a hardware, firmware, and/or software machine and/or virtual machine comprising a set of machine-readable instructions adaptable to perform a specific task. A processor can utilize mechanical, pneumatic, hydraulic, electrical, magnetic, optical, informational, chemical, and/or biological principles, mechanisms, signals, and/or inputs to perform the task(s). In certain embodiments, a processor can act upon information by manipulating, analyzing, modifying, and/or converting it, transmitting the information for use by an executable procedure and/or an information device, and/or routing the information to an output device. A processor can function as a central processing unit, local controller, remote controller, parallel controller, and/or distributed controller, etc. Unless stated otherwise, the processor can be a general-purpose device, such as a microcontroller and/or a microprocessor, such the Pentium IV series of microprocessor manufactured by the Intel Corporation of Santa Clara, Calif. In certain embodiments, the processor can be dedicated purpose device, such as an Application Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA) that has been designed to implement in its hardware and/or firmware at least a part of an embodiment disclosed herein. A processor can reside on and use the capabilities of a controller. As used herein, the phrase estimate means (n.) a calculated value approximating an actual value; (v.) to calculate and/or determine approximately and/or tentatively. As used herein, the phrase value means a measured, assigned, determined, and/or calculated quantity or quality for a variable and/or parameter. As used herein, the phrase determine means to find and/or decide upon. As used herein, the phrase can means is capable of, in at least some embodiments.
We derive novel unbiased estimators and efficient confidence bounds for subpopulation weight. As used herein, the phrase unbiased means characterized by a lack of partiality. As used herein, the phrase estimator means a statistical and/or calculable parameter associated with a population and/or a sub-population. As used herein, the phrase derive means obtain via determining, calculating, and/or looking up. As used herein, the phrase obtain means to receive, get, take possession of, procure, acquire, calculate, determine, and/or compute. As used herein, the phrase receive means to obtain, take, and/or acquire. Our rank conditioning (RC) estimator is applicable when the total weight of the sketched set can not be computed by the summarization algorithm without a significant use of additional resources (such as for sketches of network neighborhoods) and the tighter subset conditioning (SC) estimator that is applicable when the total weight is available (sketches of data streams). As used herein, the phrase total means of, relating to, or constituting a whole. As used herein, the phrase subset means a portion of a set. As used herein, the phrase rank means an independent random variable assigned to an item that is drawn from a distribution that depends on the weight of the item.
As used herein, the phrase network means a communicatively coupled plurality of nodes, communication devices, and/or information devices. Via a network, such devices can be linked, such as via various wireline and/or wireless media, such as cables, telephone lines, power lines, optical fibers, radio waves, and/or light beams, etc., to share resources (such as printers and/or memory devices), exchange files, and/or allow electronic communications therebetween. A network can be and/or can utilize any of a wide variety of sub-networks and/or protocols, such as a circuit switched, public-switched, packet switched, connection-less, wireless, virtual, radio, data, telephone, twisted pair, POTS, non-POTS, DSL, cellular, telecommunications, video distribution, cable, terrestrial, microwave, broadcast, satellite, broadband, corporate, global, national, regional, wide area, backbone, packet-switched TCP/IP, IEEE 802.03, Ethernet, Fast Ethernet, Token Ring, local area, wide area, IP, public Internet, intranet, private, ATM, Ultra Wide Band (UWB), Wi-Fi, BlueTooth, Airport, IEEE 802.11, IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, X-10, electrical power, multi-domain, and/or multi-zone sub-network and/or protocol, one or more Internet service providers, and/or one or more information devices, such as a switch, router, and/or gateway not directly connected to a local area network, etc., and/or any equivalents thereof. As used herein, the phrase router means a device adapted to direct traffic and/or determine the next network point to which a data packet should be forwarded enroute toward its destination. The router is connected to at least two networks and determines which way to send each data packet based on its current understanding of the state of the networks it is connected to. Routers create or maintain a table of the available routes and use this information to determine the best route for a given data packet. Examples include a router, route-reflector, route server, server-based router, router-switch, sets of routers, and/or intra-networking devices, etc. A typical router operates at least at the bottom 3 layers (Physical, Link, and Network layers) of the OSI model. As used herein, the phrase provide means to furnish, supply, give, convey, send, and/or make available. As used herein, the phrase neighborhood means a nearby area. As used herein, the phrase subset conditioning means an algorithm that assigns adjusted weights to items included in a bottom-k sketch of a dataset. As used herein, the phrase dataset means a relatively large body of information represented in a form suitable for processing by an information device. As used herein, the phrase adjust means to modify. As used herein, the phrase modify means to change, cause to change, edit, alter, replace, delete, and/or correct. As used herein, the phrase replace means to substitute one thing for another. The adjusted weights are used for estimating the weight of subpopulations of the original dataset. Subset conditioning is applicable to bottom-k sketch with exponentially distributed ranks and when the total weight of the dataset is known. As used herein, the phrase known means recognized or understood. As used herein, the phrase exponentially distributed means a random variable from an exponential distribution, that is, a distribution with probability density function: λe−λx for x>=0 and 0 for x<0. As used herein, the phrase from means used to indicate a source.
Our estimators are derived using clever applications of the Horvitz-Thompson estimator (that is not directly applicable to bottom-k sketches). As used herein, the phrase Horvitz-Thompson estimator means an unbiased parameter of a population total of a finite population, applicable in a general case where individuals are sampled with unequal probabilities. As used herein, the phrase application means a set of computer-readable instructions and/or a computer program. We develop efficient computational methods and conduct performance evaluation using a range of synthetic and real datasets. As used herein, the phrase method means a process, procedure, and/or collection of related activities for accomplishing something. We demonstrate considerable benefits of the
Consider a weighted set (I,w) where I is a set of records, and w is a weight function assigning a weight w(i)≧0 for each i∈I. As used herein, the phrase each means every one of a group considered individually. A basic aggregate over such sets is subpopulation weight. A subpopulation weight query specifies a subpopulation J⊂I as a predicate on the values of the attributes of the records in I. The result of the query is w(J), the sum of the weights of records in J. As used herein, the phrase sum means a total obtained via the addition of a plurality of values. This aggregate can be used to estimate other aggregates over subpopulations such as selectivity (w(J)/w(I)), variance, and higher moments of {w(i)|i∈J}. As used herein, the phrase variance means a measure of variation of a set of observations defined by a sum of the squares of deviations from a mean, divided by a number of degrees of freedom in the set of observations. As used herein, the phrase selectivity means a fraction of items that satisfy a given predicate regarding items attribute values.
We study probabilistic summarization algorithms, producing a small sketch of the original data, from which we can answer subpopulation weight queries approximately. As used herein, the phrase answer means (n.) a reply and/or response; (v.) to reply. The use of sketches speeds up query processing and addresses storage limitations when the original dataset need not be stored at all, is distributed, or resides on a slower media.
In order to support subpopulation selection with arbitrary predicates, the summary can retain content of some individual records so we can tell for each record in the sketch whether it belongs to the subpopulation or not. As used herein, the phrase order means a degree in a continuum of size or quantity. As used herein, the phrase size means physical dimensions, proportions, magnitude, amount, and/or extent of an entity. As used herein, the phrase arbitrary means not necessarily conforming to a predetermined structure. As used herein, the phrase predetermined means determine, decide, or establish in advance. As used herein, the phrase record means a collection of structured data elements organized by fields. A group of records forms a file, table, and/or database. As used herein, the phrase and/or means either in conjunction with or in alternative to. For example, a record might comprise data elements stored in fields such as: a name field, an address field, and a phone number field. As used herein, the phrase comprise means to include, but not be limited to, what follows.
Two such methods are k-mins and bottom-k sketches. Bottom-k sketches are obtained by assigning a rank, r(i) to each record i∈I that is independently drawn from a distribution that depends on w(i). The bottom-k sketch contains the k records with smallest ranks The distribution of the sketches is determined by the family of distributions that is used to draw the ranks If we draw r(i) from an exponential distribution with parameter w(i) then we obtain sketches that are distributed as if we draw records without replacement with probability proportional to their weights. We denote sampling without replacement with probability proportional to their weights by
k-mins sketches are obtained by assigning independent random ranks to records (again, the distribution used for each record depends on the weight of the record). The record of smallest rank is selected, and this is repeated k times, using k independent rank assignments. As used herein, the phrase select means to make and/or indicate a choice and/or selection from among alternatives. k-mins sketches are equivalent to weighted sampling with replacement (
Subpopulation weight query is a general primitive with numerous applications. We give three concrete examples where bottom-k sketches can play an important role.
Consider the set of all IP flows going through a router during some time period. As used herein, the phrase through means in one side and out the opposite or another side of, across, among, and/or between. As used herein, the phrase flow means (n.) a continuous transfer of packets; (v.) to continuously transfer. As used herein, the phrase packets means a collection of digital data comprised of information and an associated header transmitted over a packet-switching network. As used herein, the phrase router means a device adapted to direct traffic and/or determine the next network point to which a data packet should be forwarded enroute toward its destination. As used herein, the phrase adapted to means suitable, fit, and/or capable of performing a specified function. As used herein, the phrase perform means to begin, take action, do, fulfill, accomplish, carry out, and/or complete, such as in accordance with one or more criterion. The router is connected to at least two networks and determines which way to send each data packet based on its current understanding of the state of the networks it is connected to. Routers create or maintain a table of the available routes and use this information to determine the best route for a given data packet. As used herein, the phrase maintain means to retain, preserve, sustain, keep in an existing state, and/or continue to obtain. As used herein, the phrase create means to make, form, produce, generate, bring into being, and/or cause to exist. As used herein, the phrase generate means to create, produce, render, give rise to, and/or bring into existence. As used herein, the phrase render means to display, annunciate, speak, print, and/or otherwise make perceptible to a human, for example as data, commands, text, graphics, audio, video, animation, and/or hyperlinks, etc., such as via any visual, audio, and/or haptic mechanism, such as via a display, monitor, printer, electric paper, ocular implant, cochlear implant, speaker, etc. Examples include a router, route-reflector, route server, server-based router, router-switch, sets of routers, and/or intra-networking devices, etc. A typical router operates at least at the bottom 3 layers (Physical, Link, and Network layers) of the OSI model. Flow records containing this information are collected at IP routers by tools such as Cisco's NetFlow (now emerging as an IETF standard). Each flow record contains the number of packets and bytes of the flow. As used herein, the phrase packets means a collection of digital data comprised of information and an associated header transmitted over a packet-switching network. A router can produce a bottom-k sketch of the flows that it collects during a time period, before moving the raw data to external storage or discarding it. A network manager can then use the sketches from a single router or from multiple routers to answer various subpopulation queries. For example, estimate “the bandwidth used for an application such as p2p or Web traffic” or “the bandwidth destined to a specified Autonomous System.” As used herein, the phrase system means a collection of mechanisms, devices, machines, articles of manufacture, processes, data, and/or instructions, the collection designed to perform one or more specific functions. The ability to answer such queries is critical for improving network performance, and for anomaly detection.
Consider a census database that includes a record for each household with associated weight equal to the household income. We can use a bottom-k sketch of this dataset to estimate, for example, the total income by region or by the gender of the head of the household.
Consider a peer to peer network where each node has a database of songs that it is sharing with the other peers. Each peer maintains a bottom-k sketch of the union of the sets of songs of all peers within a certain distance (e.g. hops) from it. As used herein, the phrase union means a set containing all and only the members of two or more given sets. If it keeps such sketch for every distance then the collection of these sketches is called all distances sketches, and can be stored compactly. As used herein, the phrase all distance bottom-k sketch means a compact encoding of plain bottom-k sketches of neighborhoods of a certain location in which, for a given distance, the sketch in a neighborhood within the given distance of the location can be constructed from the all-distances sketch. As used herein, the phrase location means a place. The peer can use this sketch to find out how many songs of a particular singer there are in close peers, how many songs of a particular genre are in the entire network etc.
Bottom-k and k-mins sketches can be used to summarize a single weighted set or to summarize multiple sets that are defined over the same universe of items. As used herein, the phrase define means to establish the meaning, relationship, outline, form, and/or structure of; and/or to precisely and/or distinctly describe and/or specify. When we summarize multiple sets we want the sketches of different sets to be defined using the same rank assignment to the items. As used herein, the phrase different means changed, distinct, and/or separate. That is if, say, two sets A and B contain some item x, then we compute a rank for x once, and use this rank to compute the sketches of both A and B. We call sketches of multiple sets that share the rank assignment coordinated sketches.
Coordinated sketches support subpopulation selection queries based on subsets' memberships. In particular we can estimate sizes of intersections and unions of sets. For example, on datasets of IP flow records from several different routers; using coordinated sketches (one for each router) we can approximate queries like “How many flows to a particular destination pass through a particular subset of the routers”. Another example is the content of neighborhoods of different radii of different peers in a peer to peer network. Using coordinated sketches we can, for example, estimate how many songs of the Beatles are both at a distance at most ρ1 from peer ν and at a distance at most ρ2 from peer w.
Another advantage of coordinated sketches is that they are much more efficient to compute in common distributed setups: The fact that we use the same ranks allows us to reduce the number of messages needed to compute the sketches. See further explanations, infra. As used herein, the phrase further means in addition.
We develop accurate estimators and confidence intervals for subpopulation weight queries for bottom-k sketches and in particular for
Our estimators are of two kinds
The HT estimator assigns to each included record i an adjusted weight a(i) equals to w(i) divided by the probability that i is included in a sketch. Clearly, the expected adjusted weight of record i equals w(i). The estimate of a subpopulation is the sum of the adjusted weights of the records in the sketch that belong to the subpopulation and is easily computed from the sketch by applying the selection predicate to included records. This is clearly unbiased.
The HT estimator minimizes the per-record variance of the adjusted weight for the particular distribution over sketches. The HT estimator, however, cannot be computed for bottom-k sketches, since the probability that a record is included in a sketch cannot be determined from the information available in the sketch alone. Our variant, which we refer to as HT on a partitioned sample space (HT
We derive two HT-based estimators. One (rank-conditioning (RC)) is suitable to use when the total weight of the sketched set is not known, and a tighter estimator (subset-conditioning (SC)) to be used when the total weight of the sketched set is known. Our RC estimator generalizes priority sampling, the best known estimator prior to this work. The SC estimator that uses the total weight is much tighter for larger subpopulations than any known estimator based on a sketching method that supports coordinated sketches.
From basic properties of the variance of a sum of random variables follows that the variance of our estimate of a particular subpopulation J is equal to Σi∈J var[a(i)]+Σi≠j,i,j∈J cov[a(i),a(j)], where cov[a(i),a(j)] is the covariance of the adjusted weights of records i and j. As used herein, the phrase covariance means the product of the standard deviations of two given variables and the coefficient of correlation between them. For all RC estimators (and priority sampling), the covariances of different records are 0. Our SC estimator, however, has negative covariances of different records. As used herein, the phrase negative means less than approximately zero. As used herein, the phrase zero means a mathematical value intermediate between positive and negative values. Moreover, the sum of covariances is minimized. This guarantees that the variance of our estimator for any subpopulation is no larger and generally much smaller than the sum of the variances of the adjusted weights of the individual records of the subpopulation. This important property boosts accuracy, in particular for large subpopulations. As used herein, the phrase property means a parameter associated with a characteristic.
Confidence intervals are critical for many applications. We derive confidence intervals (tailored to applications where the total weight is or is not provided) and develop methods to efficiently compute these bounds. We compare our confidence bounds with previous approaches (a bound for
In we initiated a comparison between bottom-k and k-mins sketches. As used herein, the phrase between means in a separating interval and/or intermediate to. The focus there was on quantifying the resources (storage, communication) utilized to produce these sketches. We distinguished between explicit and implicit representations of the data. Explicit representations list the occurrence of each record in each set which we sketch. These include a data stream of the items in a single set or item-set pairs if we sketch many sets (for example, item-basket associations in a market basket data, links in web pages, and/or features in documents, etc.). As used herein, the phrase market means (n.) a commercial activity; (v.) to encourage buyers and/or to attempt to sell. Certain exemplary embodiments can compute Bottom-k sketches more efficiently than k-mins sketches when the data is represented explicitly.
Implicit representations are those where the multiple sets which we sketch are specified succinctly. As an example consider the peer to peer network described above. All sketched sets are implicitly represented by the network itself. In these applications, the summarization algorithm is applied to the succinct representation (the network itself in this example). As used herein, the phrase applied means incident directly and/or indirectly upon. As mentioned before computing coordinated sketches in this application not only make the sketches more informative but also allow efficient computation. Intuitively this happens because if the record of node w is not contained in sketch of node v for radius ρ then it would not be in the ρ-sketch of any node further away from w than ν. Certain exemplary embodiments can compute Bottom-k sketches as efficiently as k-mins sketches for these applications.
Certain exemplary embodiments can consider the information content in the sketches, claiming that bottom-k sketches are more informative. Intuitively, one can think of a distribution with one dominant item. In a k-mins
Mimicking k-mins sketches from bottom-k sketches allows us to apply simple estimators for k-mins sketches to bottom-k sketches. This, however, does not fully utilize the information in bottom-k sketches. Certain exemplary embodiments focus on finding accurate estimators and confidence intervals for subpopulation weight queries that fully utilize the information in bottom-k sketches.
Beyond computation issues, the distinction between data representations is also important for estimation. In applications with explicit representation, the summarization algorithm can compute the total weight of the records without a significant processing or communication overhead. On the other hand, in applications where the data is implicit, and often many sets are sketched, the total weight is not readily available. For example, in our p2p application computing the exact total weight of every neighborhood is much more resource consuming than obtaining all sketches. Motivated by this observation we develop estimators and confidence intervals for subpopulation weight queries for both scenarios: Estimators and confidence intervals that do not use the total weight as well as estimators and confidence intervals that do use the total weight for better accuracy.
A dominant estimator for subpopulation weight to date is based on priority sampling. This estimator emerged as a clever modification of threshold sampling so that a fixed size sample is produced. Estimators based on priority sampling perform similarly to estimators based on threshold sampling, and are better than estimators based on
Priority sampling, however, was not compared to weighted sampling without replacement. In fact it is easy to see that a priority sample is also a bottom-k sketch for a different rank function. We call this sketch a
We compare the accuracy of the estimators for
Motivated by the work we present here, a sampling scheme which minimizes the sum of variances of sets of any fixed size has been developed. This sampling scheme is not a bottom-k sketch. In particular, it does not support coordinated and all-distances sketches that facilitate efficient computation of multiple sketches and selection queries based on subsets' membership. Furthermore, it is not known how to compute confidence intervals for this new scheme. As used herein, the phrase new means having been made, defined, determined, and/or coming into existence relatively recently as compared to something else. The estimators based on the new scheme, however, are expected to be better than estimators based on priority sampling and similar to our estimators here which use the total weight. Coordinated bottom-k sketches have the property that the sketch of the union of multiple subsets can be easily computed from individual sketches. We can determine membership information in each subset for each item included in the union, and therefore, we can apply our bottom-k estimators and bounds with selection predicates based on subsets' memberships.
Certain exemplary embodiments can utilize one or more algorithms for sketching unaggregated data. In this setup each item may be broken into many different pieces each with its own weight. The sum of the weights of the pieces is equal to the weight of the item. As an example think of an IP flow broken into its individual packets. The problem is to get a sketch of the dataset for subpopulation queries without preaggregating the data which may utilize substantial resources. Certain exemplary embodiments can utilize one or more of several estimators for this setup, some particularly appropriate for routers' architectures. Certain exemplary embodiments can apply a sampling technique to unaggregated data.
Certain exemplary embodiments can support subpopulation selection, be efficient for skewed (Zipf-like) weight distributions, summaries that can be computed efficiently over massive datasets, and/or coordinated sketches, etc.
Let (I, w) be a weighted set. A rank assignment r maps each item i to a random rank r(i). The ranks of items are drawn independently using a family of distributions fw(w≧0), where the rank of an item with weight w(i) is drawn from fw(i). We assume that we use enough bits to represent the ranks such that no two items obtain the same rank. For a subset J of items and a rank assignment r, we denote by i1 the item of j th largest rank in J. We also define r(J)=r(i1) to be the smallest rank in J according to r.
A k-mins sketches of a set J is the vector
(r(1)(J), r(2)(J), . . . , r(k)(J))
where r(1)r(k) are k independent rank assignments. For some applications we store with r(l)(J), 1≦l≦k, additional attributes of the corresponding item such as its weight. As used herein, the phrase corresponding means related, associated, accompanying, similar in purpose and/or position, conforming in every respect, and/or equivalent and/or agreeing in amount, quantity, magnitude, quality, and/or degree.
A bottom-k sketch is produced from a single rank assignment r. It is the list of the k pairs (r(ij), w(ij)), 1≦j≦k, sorted by increasing rank together with r(ik+1). Depending on the application we may store with the sketch additional attributes of the items that attain the k smallest ranks (If |J|<k then the sketch contains only |J| pairs.) We often abbreviate r(ik+1) to rk+1.
Bottom-k sketches can include the items' weights but can omit all rank values except rk+1. The reason is that using the weights of the items with k smallest ranks and rk+1, we can redraw the rank value of an item with weight w from the density function fw(x)/Fw(rk+1) for 0≦x≦rk+1 and 0 elsewhere. Here Fw(x) is the cumulative distribution function of fw. This is equivalent to redrawing a rank assignment from the subspace where the k smallest items are fixed as well as rk+1.
The choice of which family of random rank functions to use matters only when items are weighted. Otherwise, we can map (bijectively) the ranks of one rank function to ranks of another rank function in a way that preserves the bottom-k sketch. We map r such that F1(r)=α to r′ such that F2(r′)=α, where F1 is the CDF of the first rank function and F2 is the CDF of the other (assuming the CDFs are continuous). As used herein, the phrase first means an initial element in an ordering. Rank functions fw with some useful properties are exponential distributions with parameter w. The density function of this distribution is fw (x)=we−wx, and its cumulative distribution function is Fw(x)=1−e−wx. Since the minimum of independent exponentially distributed random variables is exponentially distributed with parameter equal to the sum of the parameters of these distributions it follows that r(J) for a subset J is exponentially distributed with parameter w(J)=Σi∈J w(i). Certain exemplary embodiments can obtain unbiased low-variance estimators for both the weight and the inverse weight of a set J using a k-mins sketch of J. Estimators for the inverse-weight are useful for obtaining unbiased estimates for quantities where the weight appears in the denominator such as the weight ratio of two different subsets.
With exponential ranks the item with the minimum rank r(J) is a weighted random sample from J: The probability that an item i∈J is the item of minimum rank is w(i)/w(J). Therefore, a k-mins sketch of a subset J corresponds to a weighted random sample of size k, drawn with replacement from J. We call k-mins sketch using exponential ranks a
The following property of exponentially-distributed ranks is a consequence of the memoryless nature of the exponential distribution.
Lemma 16. Consider a probability subspace of rank assignments over J where the k items of smallest ranks are i1, . . . , ik in increasing rank order. The rank differences r1(J), r2(J)−r1(J), . . . , rk+1(J)−rk(J) are independent random variables, where rj(J)−rj−1(J) (j=1, . . . , k+1) is exponentially distributed with parameter w(J)−Σl=1j−1 w(il). (we formally define r0(J)≡0.)
Bottom-k computation utilizes processing of each item. When items are partitioned such that we have the weight of each part,
The same property is also useful when sketches are computed online over a stream. Bottom-k sketches are produced using a priority queue that maintains the k+1 items with smallest ranks We draw a rank for each item and update the queue if this rank is smaller than the largest rank in the queue. With
With priority ranks the rank value of an item with weight w is selected uniformly at random from [0,1/w]. This is equivalent to choosing a rank value r/w, where r∈U[0,1], the uniform distribution on the interval [0,1]. If r∈U[0,1] then −ln(r)/w is an exponential random variable with parameter w. Therefore, in contrast with priority ranks, exponential ranks correspond to using rank values −ln r/w where r∈U[0,1].
Recall that for a subset J, the rank values in the k-mins sketch r1(J), . . . , rk(J) are k independent samples from an exponential distribution with parameter w(J). The quantity
is an unbiased estimator of w(J). The standard deviation of this estimator is equal to w(J)/√{square root over (k−2)} and the average relative error is approximately √{square root over (2/(π(k−2)))}. The quantity
is the maximum likelihood estimator of w(J). This estimator is a factor of k/(k−1) larger than the unbiased estimator. Hence, it is obviously biased, and the bias is equal to w(J)/(k−1). Since the standard deviation is about (1/√{square root over (k)})w(J), the bias is not significant when k 1. The quantity
is an unbiased estimator of the inverse weight 1/w(J). The standard deviation of this estimate is 1/(√{square root over (k)}w(J)).
Certain exemplary embodiments can apply the Maximum Likelihood (ML) principle to derive
Consider a set I and its bottom-k sketch s. Recall that i1, i2, . . . , ik are the items in s ordered by increasing ranks (We assume that |k|<|I as otherwise w(I) is just the sum of the weights of the items in the sketch).
Consider the rank differences, r(i1), r(i2)−r(i1), . . . , r(ik+1)−r(ik). From Lemma 16, they are independent exponentially distributed random variables in the appropriate subspace. The joint probability density function of this set of differences is therefore the product of the density functions
w(I)exp(−w(I)r(i1))(w(I)−s1)exp(−(w(I)−s1)(r(i2)−r(i1)))
where sl=Σj=1l w(ij). Think about this probability density as a function of w(I). The maximum likelihood estimate for w(I) is the value that maximizes this function. To find the maximum, take the natural logarithm (for simplification) of the expression and look at the value which makes the derivative zero. We obtain that the maximum likelihood estimator {tilde over (w)}(I) is the solution of the equation
The left hand side is a monotone function, and the equation can be solved by a binary search on the range [sk+1/r(ik+1),sk+(k+1)/r(ik+1)].
Certain exemplary embodiments can utilize variants of the Horvitz-Thompson (HT) estimator.
Definition 4. Adjusted-weight summary (AW-summary) of a weighted set (I, w) is a probability distribution Ω over weighted sets b of the form b=(J,a) where J⊂I and a is a weight function on J, such that for all i∈I, E[a(i)]=w(i). (To compute this expectation we extend the weight function from J to I by assigning a(i)=0 for items i∈I, J). As used herein, the phrase expectation means a statistical mean value. For i∈J we call a(i) the adjusted weight of i in b.
An AW-summarization algorithm is a probabilistic algorithm that inputs a weighted set (I, w) and returns a weighted set according to some AW-summary of (I, w). An AW-summarization algorithm for (I, w) provides unbiased estimators for the weight of I and for the weight of subsets of I: By linearity of expectation, for any H⊂I, the sum Σi∈H a(i) is an unbiased estimator of w(H). A very useful property of adjusted weights when there are multiple objectives is that they provide unbiased aggregations over any other numeric attribute: For weights h(i), Σi∈Hh(i)a(i)/w(i) is an unbiased estimator of h(J).
Let Ω be the probability space of rank assignments over I. Each r∈Ω has a sketch s(r) associated with it. As used herein, the phrase associated with means related to. Suppose that given the sampled ranks and s(r) we can compute the probability Pr{i∈s(r)|r∈Ω} for all i∈s(r) (since I is a finite set, these probabilities are strictly positive for all i∈s(r)). Then we can make Ω into an AW-summary using the Horvitz-Thompson (HT) estimator which provides for each i∈s(r) the adjusted weight
Items not in s(r) get adjusted weight 0. These adjusted weights are unbiased and have minimal variance for each item for the particular distribution Ω over subsets.
HT on a partitioned sample space (HT
For each item i we partition Ω into subsets P1i, P2i . . . . This partition satisfies the following two conditions (1) Given a sketch s(r), we can determine the set Pji containing r, and (2) For every set Pji we can compute the conditional probability pji=Pr{i∈s(r)|r∈Pji}.
For each i∈s(r), we identify the set Pji containing r and use the adjusted weight a(i)=w(i)/pij (which is the HT adjusted weight in Pji). In fact all we need is the probability pij. In some cases we can compute it from some parameters of Pji, without identifying Pji precisely. Items i∉s(r) get an adjusted weight of 0. The expected adjusted weight of each item i within each subspace of the partition is w(i) and therefore its expected adjusted weight over Ω is w(i).
Rank Conditioning (RC) adjusted weights for bottom-k sketches are HT
The probability that i is included in a bottom-k sketch given that the rank assignment is from Pri is the probability that its rank value is smaller than r. For
The
Lemma 17. Consider RC adjusted weights and two items i, j. Then, cov[a(i),a(j)]=0 (The covariance of the adjusted weight of i and the adjusted weight of j is zero.)
This proof also extends to show that for any subset J⊂I, E[Πi∈Ia(i)]=Πi∈Iw(i).
Corollary 2. For a subset
Therefore, with RC adjusted weights, the variance of the weight estimate of a subpopulation is equal to the sum of the per-item variances, just like when items are selected independently. Corollary 2, combined with Szegedy's result, shows that when we have a choice of a family of rank functions,
Selecting a partition. The variance of the adjusted weight a(i) obtained using HT
Lemma 18. Consider two partitions of the sample space, such that one partition is a refinement of the other, and the AW-summaries obtained by applying HT
It follows from Lemma 18 that when applying HT
When the total weight is available we can use HT
The SC estimator has the following two additional important properties. In contrast with RC, the adjusted weights of different items have negative covariances, and the covariances cancel out: the sum of the adjusted weights equals the total weight of the set. This implies that the variance of the estimator of a large subset is smaller than the sum of the variances of the individual items in the subset, and in particular, the variance of the estimator for the entire set is zero. We now define this estimator precisely.
For a set s={i1, i2, . . . , ik} and l≧0, we define
This is the probability that a random rank assignment with exponential ranks for items in s, and for the items in a set X such that w(X)=l, assigns the |s| smallest ranks to the items in s and the (|s|+1)st smallest rank to an item from X. For exponential ranks, this probability depends only on w(X), and does not depend on how the weight of X is divided between items. This is a critical property that allows us to compute adjusted weights with subset conditioning.
Recall that for an item i, we use the subspace with all rank assignments in which among the items in I, {i}, the items in s, {i} have the (k−1)st smallest ranks. The probability, conditioned on this subspace, that item i is contained in the sketch is
and so the adjusted weight assigned to i is
The following lemma shows that SC estimate the entire set with zero variance.
Lemma 19. Let s be a
To verify the last equality, observe that
is the probability that the first |s|−1 items drawn from I are s, i and the |s|th item is i. These are disjoint events and their union is the event that the first |s| items drawn from I are s. The probability of this union is f(s,w(I, s)).
Lemma 20. Consider SC adjusted weights of two items i≠j. Then, cov[a(i),a(j)]<0.
Lemma 21. Consider
Proof By Lemma 17 the variance of the RC estimator for J is Σj∈J varRC[a(j)]. So using Lemma 4 we obtain that Σj∈J varSC[a(j)] is no larger than the variance of the RC estimator for J. Finally since
and Lemma 20 that implies that the second term is negative the lemma follows.
The adjusted weights can be computed by numerical integration. We propose (and implement) an alternative method based on a Markov chain that is faster and easier to implement. As used herein, the phrase Markov chain means a stochastic process in which, given the present state, future states are independent of the past states. The method converges to the SC adjusted weights as the number of steps grows. It can be used with any fixed number of steps and can provide unbiased adjusted weights.
As an intermediate step we define a new estimator as follows. We partition the rank assignments into subspaces, each consisting of all rank assignments with the same ordered set of k items of smallest ranks Let P be a subspace in the partition. For each rank assignment in P and item i the adjusted weight of i is the expectation of the RC adjusted weight of i over all rank assignments in P. Note that this is not an instance of HTP; we simply average another estimator in each part.
These adjusted weights are unbiased because the underlying RC adjusted weights are unbiased. By the convexity of the variance, they have smaller per-item variance than RC.
By Lemma 16 the distribution of rk+1 in each subspace P is the sum of k independent exponential random variables with parameters w(I), w(I)−w(i1), . . . , w(I)−Σh=1k w(ih) where i1, . . . , ik are the items of k smallest ranks in rank assignments of P. So the adjusted weight of ij, j=1, . . . , k is a(ij)=E[w(ij)/(1−exp(−w(ij)rk+1))] where the expectation is over this distribution of rk+1.
Instead of computing the expectation, we average the RC adjusted weights w(ij)/(1−exp(−w(ij)rk+1)) over multiple draws of rk+1. This average is clearly an unbiased estimator of w(ij) and its variance decreases with the number of draws. Each repetition can be implemented in O(k) time (drawing and summing k random variables.).
We define a Markov chain over permutations of the k items {i1, . . . , ik}. Starting with a permutation π we continue to a permutation π′ by applying the following process. We draw rk+1 as described above from the distribution of rk+1 in the subspace corresponding to π. We then redraw rank values for the items (i1, . . . , ik) using their weights and rk+1. The permutation π′ is obtained by reordering (i1, . . . , ik) according to the new rank values. This Markov chain has the following property.
Lemma 22. Let P be a (unordered) set of k items. Let pπ be the conditional probability that in a random rank assignment whose prefix consists of items of P, the order of these items in the prefix is as in π. Then pπ is the stationary distribution of the Markov chain described above.
Our implementation is controlled by two parameters inperm and permnum. inperm is the number of times the rank value rk+1 is redrawn for a permutation π (at each step of the Markov chain). permnum is the number of steps of the Markov chain (number of permutations in the sequence).
We start with the permutation (i1, . . . , ik) obtained in the
The expectation of the RC adjusted weights over the stationary distribution is the subset conditioning adjusted weight. An important property of this process is that if we apply it for a fixed number of steps, and average over a fixed number of draws of rk+1 within each step, we still obtain unbiased estimators. Our experiments showed that these estimators performed very well.
The subset conditioning estimator has powerful properties. Unfortunately, it seems specific to
We first show a general derivation of confidence intervals for bottom-k sketches. Then we specialize the derivation to
Let r be a rank assignment of a weighted set Z=(H,w). Recall that for H′⊂H, r(H′) is the minimum rank of an item in H′. Certain exemplary embodiments denote by
and prγ∈D{γ±Qα(D)}≧1−α.
A weighted list (H,w,π) consists of a weighted set (H,w) and a linear order (permutation) π on the elements of H. We will find it convenient to sometimes specify the permutation π as the order induced by a rank assignment r on H.
The concatenation (H(1),w(1),π(1))⊕(H(2),w(2),π(2)) of two weighted lists, is a weighted list with items H(1)∪H(2), corresponding weights as defined by w(i):H(i) and order such that each H(i) is ordered according to π(i) and the elements of H(1) precede those of H(2). Let Ω((H,w,π)) be the probability subspace of rank assignments over (H,w) such that the rank order is according to π.
Let r be a rank assignment, s be the corresponding sketch, and l be the weighted list l=(J∩s,w,r). Let
pr{r′(H)≧rk+1|r′∈Ω(l⊕h)}≧δ.
Let
pr{
Let w(l,rk,δ)=inf{w′(H)|(H,w′π)∈W(l,rk,δ). (If W(l,rk,δ)=Ø, then w(l,rk,δ)=+∞). We prove the following.
Lemma 23. Let r be a rank assignment, s be the corresponding sketch, and l be the weighted list l=(J∩s,w,r). Then w(J∩s)+
Proof The bounds are conditioned on the subspace of rank assignments over (I,w) where the ranks of items in I, J are fixed and the order of the ranks of the items in J is fixed. These subspaces are a partition of the sample space of rank assignments over (I,w). We show that the confidence bounds hold within each subspace.
Consider such a subspace Φ≡Φ(J,π:J,α:(I, J)), where π:J is a permutation over J, representing the order of the ranks of the items in J. and α:(I, J) are the rank values of the elements in I, J.
Let Dk+1 be the distribution of rk+1 for r∈Φ and let Dk be the distribution of rk for r∈Φ. Over rank assignments in Φ we have pr{rk+1≦Q1−δ(Dk+1)}≧1−δ and pr{rk≧Qδ(Dk)}≧1−δ. Note that these distributions have some discrete values with positive probabilities, therefore, it does not necessarily holds that pr{rk≦Qδ(Dk)}≦δ and pr{rk+1≧Q1−δ(Dk+1)}≦δ. We show that:
Consider a rank assignment r∈Φ. Let s be the items in the sketch. Let l=(J∩s,w,r) and l(c)=(J,s,w,r) be the weighted lists of the items in J∩s or J, s, respectively, as ordered by r. There is bijection between rank assignments in Ω(l⊕l(c)) and rank assignments in Φ by augmenting the rank assignment in Ω(l⊕l(c)) with the ranks a(j) for items j∈I, J. For a rank assignment r∈Φ let {circumflex over (r)}∈Ω(l⊕l(c)) be its restriction to J.
A rank assignment r′∈Φ has r′k+1≧rk+1 if and only if (J, s)≧rk+1. Note that the statement with strict inequalities does not necessarily hold. So if r∈Φ such that rk+1≦Q1−δ(Dk+1) then
Therefore, l(c)∈
A rank assignment r′∈Φ has r′k≦rk if and only if the maximum rank that gives to an item in J∩s is ≦rk. So if r∈Φ such that rk≧Qδ(Dk)
Therefore, l(c)∈W(l,rk,δ) and hence w(J, s)≧w(l,rk,δ) and the lower bound holds.
The
For 0≦s0≦ . . . ≦sh<t, we use the notation ν(t, s0, . . . , sh) for the random variable that is the sum of h+1 independent exponential random variables with parameters t−sj (j=0, . . . , h). From linearity of expectation,
From independence, the variance is the sum of variances of the exponential random variables and is
Consider a weighted set (I, w) and a subspace of rank assignments where the ordered set of the h items of smallest ranks is i1, i2, . . . , ih. Let sj=Σl=1j w(il). For convenience we define s0≡0 and r0=0. By Lemma 16, for j=0, . . . , h, the rank difference r(ij+1)−r(ij) is an exponential random variable (“r.v.”) with parameter w(I)−sj. These rank differences are independent. Therefore for j∈{0, . . . , h}, the distribution of r(ij) (also the sum of the first i rank differences) is ν(w(I), s0, . . . , sj−1) in the subspace that we conditioned on.
Let J be a subpopulation. For a rank assignment, let s be the corresponding sketch and let sh (1≦h≦|J∩s|) be the sum of the weights of the h items of smallest rank values from J (we define s0≡0). Specializing Lemma 23 to
pr{ν(x, s0, . . . , s|J∩s|)≦rk+1}1−δ
(and is s|J∩s| if there is no solution x>s|J∩s|). The (1−δ)-confidence lower bound is 0 if |J∩s|=0. Otherwise, let x>s|J∩s|−1 be the solution of
pr{ν(x, s0, . . . , s|J∩s|−1)≦rk}=δ.
The lower bound is max{s|J∩s|,x} if there is a solution and is s|J∩s| otherwise.
To solve these equations, we either used the normal approximation to the respective sum of exponentials distribution or the quantile method which we developed.
Certain exemplary embodiments can apply the normal approximation to the quantiles of a sum of exponentials distribution. For δ 0.5, let α be the Z-value that corresponds to confidence level 1−δ. The approximate δ-quantile of ν(x, s0, . . . , sh) is E[ν(x, s0, . . . , sh)]−α√{square root over (var[ν(x, s0, . . . , sh)])} and the approximate (1−δ)-quantile
is E[ν(x, s0, . . . , sh)]+α√{square root over (var[ν(x, s0, . . . , sh)])}.
To approximately solve pr{ν(x, s0, . . . , sh)≦τ}=δ (x such that τ is the δ-quantile of ν(x, s0, . . . , sh)), we solve the equation
E[ν(x, s0, . . . , sh)]−α√{square root over (var[ν(x, s0, . . . , sh)])}=τ.
To approximately solving pr{ν(x, s0, . . . , sh)≦τ}=1−δ, we solve
E[ν(x, s0, . . . , sh)]+α√{square root over (var[ν(x, s0, . . . , sh)])}=τ.
We solve these equations (to the desired approximation level) by searching over values of x>sh using standard numerical methods. The function E[ν(x)]+α√{square root over (var[ν(x)])} is monotonic decreasing in the range x>sh. The function E[ν(x)]−α√{square root over (var[ν(x)])} is decreasing or bitonic (first increasing then decreasing) depending on the value of α.
Certain exemplary embodiments can solve the equations via a quantile method. Let D(x) be a parametric family of probability spaces such that there is a total order over the union of the domains of {D(x)}. Let τ be a value in the union of the domains of {D(x)} such that the probability pr{γ∘|γ∈D(x)} is increasing with x. So the solution (x) to the equation pr{γ∘τ|γ∈D(x)}=δ (Qδ(D(x))=τ) is unique. (We refer to this property as monotonicity of {D(x)} with respect to τ.)
We assume the following two “black box” ingredients. The first ingredient is drawing independent monotone parametric samples s(x)∈D(x). That is, for any x, s(x) is a sample from D(x) and if x≧y then s(x)∘ s(y). Two different parametric samples are independent: That is for every x, s1(x) and s2(x) are independent draws from D(x). The second ingredient is a solver of equations of the form s(x)=τ for a parametric sample s(x).
We define a distribution
Lemma 24. For any δ, the solution of Qδ(D(x))=τ is the δ-quantile of
The quantile method for approximately solving equations of the form Pr{γ∘τ|γ∈D(x)}=δ draws multiple samples from
We apply the quantile method to approximately solve Equations of the form
pr{ν(x, s0, . . . , sh)≦τ}=δ (3)
(as an alternative to the normal approximation). The family of distributions that we consider is D(x)=ν(x, s0, . . . , sh). This family has the monotonicity property with respect to any τ>0. A parametric sample s(x) from ν(x, s0, . . . , sh) is obtained by drawing h+1 independent random variables ν0, . . . , νh from U[0,1]. The parametric sample is s(x)=Σj=0h−ln νh/(x−sj) and is a monotone decreasing function of x. A sample from
Certain exemplary embodiments can utilize confidence bounds for
where k is a non-negative integer and λ is an expected count of occurrences in an interval. These bounds are then used to obtain bounds on the weight Σi∈J|p
For n′≧0, define
we obtain (1−δ)-confidence upper and lower bounds on w(J) by substituting
Chernoff bounds provide an upper bound on
Certain exemplary embodiments can utilize and/or consider three sources of slack in the bounds. The first is the use of Chernoff bounds rather than exactly computing
Our evaluation included synthetic dataset distributions that allowed us to understand performance dependence on the skew (Pareto power parameter) and real-world datasets that provided natural selection predicates for subpopulations:
We compared estimators and confidence bounds on the total weight w(I).
Estimators. We evaluated the maximum likelihood
Confidence bounds. We compared the Chernoff based
The normal approximation provided fairly accurate confidence bounds for the total weight. The
Estimators. We implemented an approximate version of
It is always possible to design AW-summaries that artificially favor a particular subpopulation. Therefore, to obtain a meaningful comparison, we consider all subpopulations defined by a partition of the items. For such a partition, we compute the sum, over subpopulations, of the square error of the estimator (square of the difference between the adjusted weight and the true weight of the subpopulation), averaged over multiple runs. This sum corresponds to the sum of the variances of the estimator over the subpopulations. We considered parameterized partitions by the group size g for the Pareto distributions. For the Netflix data, we partitioned the movies according to ranges of release years. For the IP packets data, we used a fixed partition according to application type of the IP flow.
To evaluate how the quality of the estimators varies with subpopulation size, we sweep the parameter g for the Pareto distributions. The RC estimators have zero covariances, and therefore, the sum of square errors should remain constant when sweeping g. The
Representative results are shown in
We observed that for g=1, the
We conclude that in applications when w(I) is provided, the
Confidence bounds. We evaluate confidence bounds on subpopulation weight using the
We consider the relative and square error of the bounds and the width of the confidence interval. The confidence bounds, intervals, and square errors, were normalized using the weight of the corresponding subpopulation. For each distribution, value of k, and partition g, the normalized bounds were averaged across 500 repetitions and across all subpopulations. Across these distributions, the
We consider a fundamental problem of summarization of datasets that supports subpopulation weight queries. We focus on the bottom-k summarization format, which can be computed efficiently for many representations of the data and efficiently captures coordinated and all-distances sketches, and is more informative than other sketching methods with these properties.
We derive novel and significantly tighter estimators and confidence bounds. Our derivations, which are based on basic principles, are complemented with the design of interesting and efficient computation methods, including a Markov chain based method to approximate the
As used herein, the phrase router means a device adapted to direct traffic and/or determine the next network point to which a data packet should be forwarded enroute toward its destination. The router is connected to at least two networks and determines which way to send each data packet based on its current understanding of the state of the networks it is connected to. Routers create or maintain a table of the available routes and use this information to determine the best route for a given data packet. Examples include a router, route-reflector, route server, server-based router, router-switch, sets of routers, and/or intra-networking devices, etc. A typical router operates at least at the bottom 3 layers (Physical, Link, and Network layers) of the OSI model. Flow records containing this information are collected at IP routers by tools such as Cisco's NetFlow (now emerging as an IETF standard). As used herein, the phrase collect means to accumulate and/or gather. Each flow record contains the number of packets and bytes of the flow. As used herein, the phrase packets means a collection of digital data comprised of information and an associated header transmitted over a packet-switching network.
Server 17300 can comprise and/or be communicatively coupled to a user program 17320, a user interface 17360, and a memory device 17340. As used herein, the phrase user interface means a device and/or software program for rendering information to a user and/or requesting information from the user. A user interface can include at least one of textual, graphical, audio, video, animation, and/or haptic elements. A textual element can be provided, for example, by a printer, monitor, display, projector, etc. A graphical element can be provided, for example, via a monitor, display, projector, and/or visual indication device, such as a light, flag, beacon, etc. An audio element can be provided, for example, via a speaker, microphone, and/or other sound generating and/or receiving device. A video element or animation element can be provided, for example, via a monitor, display, projector, and/or other visual device. A haptic element can be provided, for example, via a very low frequency speaker, vibrator, tactile stimulator, tactile pad, simulator, keyboard, keypad, mouse, trackball, joystick, gamepad, wheel, touchpad, touch panel, pointing device, and/or other haptic device, etc. A user interface can include one or more textual elements such as, for example, one or more letters, number, symbols, etc. A user interface can include one or more graphical elements such as, for example, an image, photograph, drawing, icon, window, title bar, panel, sheet, tab, drawer, matrix, table, form, calendar, outline view, frame, dialog box, static text, text box, list, pick list, pop-up list, pull-down list, menu, tool bar, dock, check box, radio button, hyperlink, browser, button, control, palette, preview panel, color wheel, dial, slider, scroll bar, cursor, status bar, stepper, and/or progress indicator, etc. A textual and/or graphical element can be used for selecting, programming, adjusting, changing, specifying, etc. an appearance, background color, background style, border style, border thickness, foreground color, font, font style, font size, alignment, line spacing, indent, maximum data length, validation, query, cursor type, pointer type, autosizing, position, and/or dimension, etc. A user interface can include one or more audio elements such as, for example, a volume control, pitch control, speed control, voice selector, and/or one or more elements for controlling audio play, speed, pause, fast forward, reverse, etc. A user interface can include one or more video elements such as, for example, elements controlling video play, speed, pause, fast forward, reverse, zoom-in, zoom-out, rotate, and/or tilt, etc. A user interface can include one or more animation elements such as, for example, elements controlling animation play, pause, fast forward, reverse, zoom-in, zoom-out, rotate, tilt, color, intensity, speed, frequency, appearance, etc. A user interface can include one or more haptic elements such as, for example, elements utilizing tactile stimulus, force, pressure, vibration, motion, displacement, temperature, etc.
As used herein, the phrase interface means (n) a boundary across which two independent systems meet and act on and/or communicate with each other; (v) to connect with and/or interact with by way of an interface. As used herein, the phrase memory device means an apparatus capable of storing analog or digital information, such as instructions and/or data. Examples include a non-volatile memory, volatile memory, Random Access Memory, RAM, Read Only Memory, ROM, flash memory, magnetic media, a hard disk, a floppy disk, a magnetic tape, an optical media, an optical disk, a compact disk, a CD, a digital versatile disk, a DVD, and/or a raid array, etc. The memory device can be coupled to a processor and/or can store instructions adapted to be executed by processor, such as according to an embodiment disclosed herein. Information device 17100 and/or server 17300 can be adapted to perform any method and/or activity described herein. As used herein, the phrase activity means an action, act, deed, function, step, and/or process and/or a portion thereof. In certain exemplary embodiments, user program 17320 can be adapted to analyze one or more datasets and/or derive one or more bottom-k sketches from a dataset. User interface 17360 can be adapted to render information regarding the dataset and/or a sketch derived therefrom.
In certain exemplary embodiments, one or more activities of method 18000 can be performed via machine-implementable instructions stored on a machine-readable medium. As used herein, the phrase machine-readable medium means a physical structure from which a machine, such as an information device, computer, microprocessor, and/or controller, etc., can obtain and/or store data, information, and/or instructions. Examples include memories, punch cards, and/or optically-readable forms, etc. As used herein, the phrase machine implementable instructions means directions adapted to cause a machine, such as an information device, to perform one or more particular activities, operations, and/or functions. As used herein, The directions, which can sometimes form an entity called a “processor”, “kernel”, “operating system”, “program”, “application”, “utility”, “subroutine”, “script”, “macro”, “file”, “project”, “module”, “library”, “class”, and/or “object”, etc., can be embodied as machine code, source code, object code, compiled code, assembled code, interpretable code, and/or executable code, etc., in hardware, firmware, and/or software. As used herein, the phrase cause means to bring about, provoke, precipitate, produce, elicit, be the reason for, result in, and/or effect. The directions, which can sometimes form an entity called a “processor”, “kernel”, “operating system”, “program”, “application”, “utility”, “subroutine”, “script”, “macro”, “file”, “project”, “module”, “library”, “class”, and/or “object”, etc., can be embodied as machine code, source code, object code, compiled code, assembled code, interpretable code, and/or executable code, etc., in hardware, firmware, and/or software. As used herein, the phrase machine-readable medium means a physical structure from which a machine, such as an information device, computer, microprocessor, and/or controller, etc., can obtain and/or store data, information, and/or instructions. Examples include memories, punch cards, and/or optically-readable forms, etc. At activity 18100, a sketch such as a bottom-k sketch can be obtained. The sketch can be obtained via dataset sampling.
At activity 18200, adjusted weights of the sketch can be determined. In certain exemplary embodiments, adjusted weights can be automatically computed via a rank conditioning method. As used herein, the phrase rank conditioning method means an algorithm that assigns adjusted weights to items included in a bottom-k sketch of a dataset. The rank conditioning method can be adapted to determine a rank conditioning estimator. The rank conditioning estimator can have zero covariances between different records of the dataset. The adjusted weights are used for estimating the weight of subpopulations of the original dataset. The adjusted weights can be applied to items comprised in a bottom-k sketch. The adjusted weights can be adapted to be used to estimate a size of subpopulations of items. As used herein, the phrase adapted to means suitable, fit, and/or capable of performing a specified function. The bottom-k sketch can be derived from the all-distance bottom-k sketch. The weight of the dataset can be automatically calculated. An estimator of properties of the dataset can be manually and/or automatically determined based upon the weight. Certain exemplary can be adapted to automatically calculate a selectivity of a sub-population of the dataset. The selectivity can be one of the estimators. The selectivity can be based upon the computed adjusted weights.
Certain exemplary embodiments can be adapted to automatically compute an adjusted weight via a subset-conditioning method. The estimator of properties of the dataset can be based upon the adjusted weight. The subset-conditioning method can be adapted to compute a subset conditioning estimator. The subset conditioning estimator can have negative covariances between different records of the dataset. Certain exemplary embodiments can be adapted to, via a Markov-chain based method, compute an adjusted weight for items comprised in the all-distance bottom-k sketch. The all-distance bottom-k sketch can have exponentially distributed ranks and/or a known total weight. The estimator of properties of the dataset can be based upon the adjusted weight. A resemblance of two subsets can be automatically computed based on an application of estimators to a bottom-k sketch of a union of the two subsets. As used herein, the phrase resemblance means a quantitative measure of similarity. The estimator of properties of the dataset can be based upon the resemblance.
At activity 18300, the adjusted weight can be stored for reference and/or further processing. Certain exemplary embodiments can assign adjusted weights to items in the sketch. Certain exemplary embodiments can estimate the weight of a subpopulation of the dataset. The adjusted weights can be summed over items in the sketch that are members of the subpopulation. Once the sketch has been obtained and adjusted weights computed, the weight of a subpopulation can be estimated.
At activity 18400, an input query can be received. The input query can be a predicate specifying a subpopulation. Estimators and confidence intervals can be based upon a weight of the specified subpopulation.
At activity 18500, estimators can be determined. Once the bottom-k sketch (or all-distances bottom-k sketch, which can compactly encode bottom-k sketches of many neighborhoods) is computed, the bottom-k sketch can be used to estimate properties of the original dataset without actually having the original dataset (other forms of sampling a population can be used to estimate properties of the population). For example, to estimate election results, 1000 people out of the million can be sampled and statistics of the sample can be determined and/or used to estimate the results of the actual population. In certain exemplary embodiments, confidence intervals and/or confidence bounds can be determined.
The estimator can be based upon an all-distance bottom-k sketch of the dataset. As used herein, the phrase based upon means determined in consideration of and/or derived from. The estimator can be based upon computed adjusted weights of an all-distance bottom-k sketch of the dataset. As used herein, the phrase based upon means determined in consideration of and/or derived from. The adjusted weights can be unbiased. The estimators of the all-distance bottom-k sketch can be obtained automatically from corresponding determined estimators of the k-min sketch of the dataset. The estimators can have exponentially distributed ranks
Certain exemplary embodiments can be adapted to automatically estimate a variance of an estimator. The estimator of properties can be based upon the variance. The estimators can comprise a Horvitz-Thompson estimator. As used herein, the phrase Horvitz-Thompson estimator means an unbiased parameter of a population total of a finite population, applicable in a general case where individuals are sampled with unequal probabilities.
Certain exemplary embodiments can be adapted to, based upon an all-distance bottom-k sketch of a predetermined subset of goods, automatically render an estimated cost to market the predetermined subset of goods to a predetermined subset of consumers. As used herein, the phrase goods means items that are purchased and/or sold. As used herein, the phrase consumer means a potential and/or actual purchaser of goods and/or services. As used herein, the phrase render means to display, annunciate, speak, print, and/or otherwise make perceptible to a human, for example as data, commands, text, graphics, audio, video, animation, and/or hyperlinks, etc., such as via any visual, audio, and/or haptic mechanism, such as via a display, monitor, printer, electric paper, ocular implant, cochlear implant, speaker, etc. As used herein, the phrase haptic means involving the human sense of kinesthetic movement and/or the human sense of touch. Among the many potential haptic experiences are numerous sensations, body-positional differences in sensations, and time-based changes in sensations that are perceived at least partially in non-visual, non-audible, and non-olfactory manners, including the experiences of tactile touch (being touched), active touch, grasping, pressure, friction, fraction, slip, stretch, force, torque, impact, puncture, vibration, motion, acceleration, jerk, pulse, orientation, limb position, gravity, texture, gap, recess, viscosity, pain, itch, moisture, temperature, thermal conductivity, and thermal capacity. As used herein, the phrase consumer means a potential and/or actual purchaser of goods and/or services. The predetermined subset of goods can be one of a plurality of subsets of a set of goods. The predetermined subset of consumers can be one of a plurality of subsets of a set of consumers. Estimators of the all-distance bottom-k sketch can be obtained automatically from corresponding determined estimators of the k-min sketch of the dataset.
Certain exemplary embodiments can be adapted to, based upon an all-distance bottom-k sketch of a first dataset and an all-distance bottom-k sketch of a second dataset, automatically render an estimate of a size of a planned dataset to be stored on a memory device. As used herein, the phrase plan means to make prior arrangements for. The planned dataset can be a union of the first dataset and the second dataset. Estimators of the all-distance bottom-k sketch can be obtained automatically from corresponding determined estimators of a k-min sketch of the dataset.
Certain exemplary embodiments can be adapted to automatically prompt a network user to modify a network responsive to a determined estimator of properties of a dataset of flows through the network. As used herein, the phrase responsive means reacting to an influence and/or impetus. As used herein, the phrase prompt means to advise and/or remind. As used herein, the phrase prompt means to advise and/or remind. The estimator can be based upon an all-distance bottom-k sketch of the dataset. The properties can comprise automatically calculated confidence intervals of subpopulation-size estimators for the all-distance bottom-k sketch. Each of the confidence intervals can be associated with a corresponding application type flowing through the network. An upper bound and a lower bound of each confidence interval can be based upon an expectation of a sum of independent Poisson trials. As used herein, the phrase independent Poisson trials means a set of discrete tests that have a covariance of approximately zero and are distributed according to a probability distribution defined by the equation
where k is a non-negative integer and λ is an expected count of occurrences in an interval.
Certain exemplary embodiments can be adapted to, based upon the computed adjusted weights, answering a subpopulation weight query of the dataset. Certain exemplary embodiments can be adapted to automatically determine a total weight of the dataset.
Certain exemplary embodiments can automatically estimate properties of flows through a router. The properties can be based upon computed adjusted weights of an all-distance bottom-k sketch of the flows. The adjusted weights can be computed via a Markov-chain based method. The adjusted weights can be applied to items comprised in a bottom-k sketch. The adjusted weights can be adapted to be used to estimate a size of subpopulations of items of the flows. The bottom-k sketch can be derived from the all-distance bottom-k sketch.
Certain exemplary embodiments can, via a processor, perform estimator of properties of a dataset from a computed sketch of the dataset. The sketch of the dataset can have a format of a bottom-k sketch or an all-distance bottom-k sketch. The estimator can be based upon computed adjusted weights to the items included in the sketch. In certain exemplary embodiments, the adjusted weights can be computed via a rank conditioning method. In certain exemplary embodiments, the adjusted weights can be computed via a subset conditioning method. In certain exemplary embodiments, the adjusted weights can be computed via a Markov-chain based method. The adjusted weights can be adapted to be used to estimate a size of subpopulations of items. The bottom-k sketch can be derived from the all-distance bottom-k sketch.
At activity 18600, a confidence interval for one or more estimators can be calculated. Certain exemplary embodiments can provide confidence bounds, which for a given confidence level can provide an upper bound and/or a lower bound of a selected estimator. Certain exemplary embodiments can be adapted to automatically calculate confidence intervals on subpopulation-size based upon the all-distance bottom-k sketch. The estimator of properties of the dataset based upon the confidence intervals.
At activity 18700, estimators and/or confidence intervals can be stored on a memory device. The estimators can be stored for reference and/or further processing. In certain exemplary embodiments, estimators determined for the k-min sketch can be applied to a bottom-k sketch and/or an all-distance bottom-k sketch. In certain exemplary embodiments, subpopulation queries can be made. For example, a sample of people, subpopulation can comprise information regarding gender, zipcode, racial and/or background, etc. Certain information can overlap. A predicate can specify a subpopulation. The predicate can be applied to the sample and/or an estimate derived therefrom. Certain exemplary embodiments can provide confidence bounds, which for a given confidence level can provide an upper bound and/or a lower bound of an estimated value. Queries can be processed from the sketch without utilizing the original dataset. Queries can be used for automatic tracking and/or mining of the dataset.
In certain exemplary embodiments, the estimator of properties of a dataset can be automatically stored. The items in the all-distance bottom-k set can be stored in order of increasing distances from a predetermined location, in order of increasing ranks, or in an arbitrary order. Certain exemplary embodiments can be adapted to, via a processor, automatically store an all-distance bottom-k sketch of a dataset on a machine-readable medium. The processor can be adapted to automatically compute estimators of the all-distance bottom-k sketch from corresponding determined estimators of a k-min sketch of the dataset. The k-min sketch can be derived from the all-distance bottom-k sketch. Certain exemplary embodiments can be adapted to, via a processor, the estimator of properties of the dataset on a machine-readable medium. The processor can be adapted to automatically compute the estimation of properties based upon computed adjusted weights of the all-distance bottom-k sketch of the dataset. The adjusted weights can be computed via a Markov-chain based method. The adjusted weights can be applied to items comprised in the bottom-k sketch. The adjusted weights can be adapted to be used to estimate a size of subpopulations of items. The bottom-k sketch can derived from the all-distance bottom-k sketch.
In certain exemplary embodiments, via one or more user interfaces 19600, such as a graphical user interface, a user can view a rendering of information related to researching, designing, modeling, creating, developing, building, manufacturing, operating, maintaining, storing, marketing, selling, delivering, selecting, specifying, requesting, ordering, receiving, returning, rating, and/or recommending any of the products, services, methods, and/or information described herein. As used herein, the phrase request means (v.) to express a need and/or desire for; to inquire and/or ask for; (n.) that which communicates an expression of desire and/or that which is asked for. As used herein, the phrase create means to make, form, produce, generate, bring into being, and/or cause to exist.
As used herein, the phrase processor means a hardware, firmware, and/or software machine and/or virtual machine comprising a set of machine-readable instructions adaptable to perform a specific task. A processor can utilize mechanical, pneumatic, hydraulic, electrical, magnetic, optical, informational, chemical, and/or biological principles, mechanisms, signals, and/or inputs to perform the task(s). In certain embodiments, a processor can act upon information by manipulating, analyzing, modifying, and/or converting it, transmitting the information for use by an executable procedure and/or an information device, and/or routing the information to an output device. A processor can function as a central processing unit, local controller, remote controller, parallel controller, and/or distributed controller, etc. Unless stated otherwise, the processor can be a general-purpose device, such as a microcontroller and/or a microprocessor, such the Pentium IV series of microprocessor manufactured by the Intel Corporation of Santa Clara, Calif. In certain embodiments, the processor can be dedicated purpose device, such as an Application Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA) that has been designed to implement in its hardware and/or firmware at least a part of an embodiment disclosed herein. A processor can reside on and use the capabilities of a controller.
Certain terms that are used substantively herein are accompanied by definitions. These terms and definitions are presented without prejudice, and, consistent with the application, the right to redefine these terms during the prosecution of this application or any application claiming priority hereto is reserved. For the purpose of interpreting a claim of any patent that claims priority hereto, each definition (or redefined term if an original definition was amended during the prosecution of that patent), functions as a clear and unambiguous disavowal of the subject matter outside of that definition.
As used herein, the phrase information device means any device on which resides a finite state machine capable of implementing at least a portion of a method, structure, and/or or graphical user interface described herein. An information device can comprise well-known communicatively coupled components, such as one or more network interfaces, one or more processors, one or more memories containing instructions, one or more input/output (I/O) devices, and/or one or more user interfaces (e.g., coupled to an I/O device) via which information can be rendered to implement one or more functions described herein. For example, an information device can be any general purpose and/or special purpose computer, such as a personal computer, video game system (e.g., PlayStation, Nintendo Gameboy, X-Box, etc.), workstation, server, minicomputer, mainframe, supercomputer, computer terminal, laptop, wearable computer, and/or Personal Digital Assistant (PDA), iPod, mobile terminal, Bluetooth device, communicator, “smart” phone (such as a Treo-like device), messaging service (e.g., Blackberry) receiver, pager, facsimile, cellular telephone, a traditional telephone, telephonic device, a programmed microprocessor or microcontroller and/or peripheral integrated circuit elements, a digital signal processor, an ASIC or other integrated circuit, a hardware electronic logic circuit such as a discrete element circuit, and/or a programmable logic device such as a PLD, PLA, FPGA, or PAL, or the like, etc.
As used herein, the phrase input/output (I/O) device means any sensory-oriented input and/or output device, such as an audio, visual, haptic, olfactory, and/or taste-oriented device, including, for example, a monitor, display, projector, overhead display, keyboard, keypad, mouse, trackball, joystick, gamepad, wheel, touchpad, touch panel, pointing device, microphone, speaker, video camera, camera, scanner, printer, haptic device, vibrator, tactile simulator, and/or tactile pad, potentially including a port to which an I/O device can be attached or connected. As used herein, the phrase port means a data connection in an information device and/or networking device to which a peripheral device or a transmission line from a remote terminal and/or remote system can be attached. As used herein, the phrase system means a collection of mechanisms, devices, machines, articles of manufacture, processes, data, and/or instructions, the collection designed to perform one or more specific functions.
As used herein, the phrase haptic means involving the human sense of kinesthetic movement and/or the human sense of touch. Among the many potential haptic experiences are numerous sensations, body-positional differences in sensations, and time-based changes in sensations that are perceived at least partially in non-visual, non-audible, and non-olfactory manners, including the experiences of tactile touch (being touched), active touch, grasping, pressure, friction, fraction, slip, stretch, force, torque, impact, puncture, vibration, motion, acceleration, jerk, pulse, orientation, limb position, gravity, texture, gap, recess, viscosity, pain, itch, moisture, temperature, thermal conductivity, and thermal capacity.
As used herein, the phrase said means when used in a system or device claim, an article indicating a subsequent claim term that has been previously introduced. As used herein, the phrase substantially means to a considerable, large, and/or great, but not necessarily whole and/or entire, extent and/or degree. As used herein, the phrase user means a person, organization, process, device, program, protocol, and/or system that uses a device, system, process, and/or service. As used herein, the phrase calculating means determining via mathematics and/or logical rules. As used herein, the phrase having means possessing. As used herein, the phrase increase means to become greater or more in size, quantity, number, degree, value, intensity, and/or power, etc.
Note
Still other substantially and specifically practical and useful embodiments will become readily apparent to those skilled in this art from reading the above-recited and/or herein-included detailed description and/or drawings of certain exemplary embodiments. It should be understood that numerous variations, modifications, and additional embodiments are possible, and accordingly, all such variations, modifications, and embodiments are to be regarded as being within the scope of this application.
Thus, regardless of the content of any portion (e.g., title, field, background, summary, description, abstract, drawing figure, etc.) of this application, unless clearly specified to the contrary, such as via explicit definition, assertion, or argument, with respect to any claim, whether of this application and/or any claim of any application claiming priority hereto, and whether originally presented or otherwise:
Moreover, when any number or range is described herein, unless clearly stated otherwise, that number or range is approximate. When any range is described herein, unless clearly stated otherwise, that range includes all values therein and all subranges therein. For example, if a range of 1 to 10 is described, that range includes all values therebetween, such as for example, 1.1, 2.5, 3.335, 5, 6.179, 8.9999, etc., and includes all subranges therebetween, such as for example, 1 to 3.65, 2.8 to 8.14, 1.93 to 9, etc.
When any claim element is followed by a drawing element number, that drawing element number is exemplary and non-limiting on claim scope.
Any information in any material (e.g., a United States patent, United States patent application, book, article, etc.) that has been incorporated by reference herein, is only incorporated by reference to the extent that no conflict exists between such information and the other statements and drawings set forth herein. In the event of such conflict, including a conflict that would render invalid any claim herein or seeking priority hereto, then any such conflicting information in such material is specifically not incorporated by reference herein.
Accordingly, every portion (e.g., title, field, background, summary, description, abstract, drawing figure, etc.) of this application, other than the claims themselves, is to be regarded as illustrative in nature, and not as restrictive.
Number | Name | Date | Kind |
---|---|---|---|
4930077 | Fan | May 1990 | A |
5371673 | Fan | Dec 1994 | A |
6449603 | Hunter | Sep 2002 | B1 |
6535819 | Clark | Mar 2003 | B1 |
20080086444 | Yu | Apr 2008 | A1 |