WO2016044587A1 - Efficient time-series histograms - Google Patents
Efficient time-series histograms Download PDFInfo
- Publication number
- WO2016044587A1 WO2016044587A1 PCT/US2015/050677 US2015050677W WO2016044587A1 WO 2016044587 A1 WO2016044587 A1 WO 2016044587A1 US 2015050677 W US2015050677 W US 2015050677W WO 2016044587 A1 WO2016044587 A1 WO 2016044587A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bins
- bin
- data
- minimum
- maximum
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G06T11/26—
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/50—Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
Definitions
- the present invention relates to efficient storing and displaying of time-series histogram data.
- a histogram is a graphical representation of data samples.
- time-series histograms may be inefficient. For example, when current systems retrieve time-series histograms, the histogram
- the data may exceed visual space over the time (x) axis, over the bin (y) axis, or both. Accordingly, efficient techniques are needed for storing and retrieving time- series histogram data.
- Embodiments of the invention may include a system, method, and/or computer- readable medium.
- a method may exist for constructing histograms may comprise: receiving, by one or more processors, a set of data values, wherein the data values are two-dimensional or three-dimensional and the data values contain at least one measurement over time; creating, by the one or more processors, a plurality of bins in memory, wherein the plurality of bins are log-linear bins using 2 significant digits base 10; creating, by the one or more processors, a zero bin representing the number 0;
- a non-transitory computer-readable medium comprising instructions, which when executed by one or more processors causes the one or more processors to perform operations for constructing histograms, the computer- readable medium comprising instructions to: receive a set of data values, wherein the data values are two-dimensional or three-dimensional and the data values contain at least one measurement over time; create a plurality of bins in memory, wherein the plurality of bins are log-linear bins using 2 significant digits base 10; create a zero bin representing the number 0; place non-zero numbers of the set of data values into the plurality of bins; and generate one or more histograms using the bins.
- the plurality of instructions including instructions to: receive a set of data values, wherein the data values are two-dimensional or three-dimensional and the data values contain at least one measurement over time; create a plurality of bins in memory, wherein the plurality of bins are log-linear bins using 2 significant digits base 10; create a zero bin representing the number 0; place non-zero numbers of the set of data values into the plurality of bins; generate one or more histograms using the bins; and display the one or more histograms via the display device.
- FIG. 1 depicts a sample histogram of eleven units
- FIG. 2 depicts a sample time-series, with the measurement value on the y-axis and a time of measurement on the x-axis;
- FIG. 3A-3D depict histograms using color density
- FIG. 4 depicts side-by-side vertical histograms representing measurements over time
- FIG. 5 depicts example fixed bin sizes
- FIG. 6 depicts an example of multiple bin aggregation
- FIG. 7 depicts an example flowchart describing processing performed in an
- FIG. 8 depicts an example computer processing system that may be used in
- the term “a” refers to one or more.
- the terms “including,” “for example,” “such as,” “e.g.,” “may be” and the like, are meant to include, but not be limited to, the listed examples.
- FIG. 1 depicts a sample histogram of eleven units or bins.
- a histogram is a dense representation of data samples where samples themselves may be grouped together
- FIG. 1 depicts 11 "bins" of size 1 : [0,1), [1,2), [2,3), [3,4), [4,5), [5,6), [6,7), [7,8), [8,9), and [9,10).
- the number and size of the bins may change. There are two numbers in each of [0,1) and [2,3), and one number in each of [7,8) and [9, 10) as shown in FIG. 1. [00019] FIG.
- a time series is a set of measurements over time. In this example, it is measured how long a specific action took (e.g. loading a web page) every minute for 30 minutes.
- a common visual representation would be to place the measurement on the y-axis and the time on the x-axis as shown in FIG. 2.
- Histograms may also display three dimensions of data in a two dimensional view.
- time may be the x-axis
- a measurement value may be the y-axis
- a third dimensions may be represented using color density.
- FIG. 3 A depicts a histogram using color density to represent values. There are eighteen bins along the axis. The frequency the values appear in the bins is along with y- axis. Large populations in a given bin result in a more dense (e.g., darker) color representation.
- FIG. 3B depicts another histogram using color density to represent values.
- FIG 3B depicts an example of a histogram using color density to represent values without using bar height. Thus, the frequency is removed from the y-axis. Population can be understood based on color density without explicit bar height.
- FIG. 3C depicts the histogram of FIG. 3B where height is reduced to compress space.
- FIG. 3D depicts the reduced height histogram of FIG. 3C rotated counter- clockwise 90 degrees as a "vertical histogram.”
- FIG. 4 depicts side-by-side vertical histograms representing measurements over time. For example, once the vertical color-density transformation of FIGS. 3A-3D is applied to a histogram, many vertical histograms over time may be represented by placing them side-by-side and a large amount of data may be visually displayed in a limited space. This may be one technique to visually display a large amount of data in a limited space.
- time-series histograms may be inefficient. For example, when retrieving time-series histograms the histogram information stored in the system often exceeds the visual space available to visualize the data. The data may exceed the visual space over the time (x) axis or it may exceed the visual space over the bin (y) axis, or both. [00027] For example, if histograms are stored on a one minute basis, over a two year period more than one million histograms will be stored.
- a limited visual space such as a computer monitor or other display
- aggregation of the one-minute histograms into a larger time interval for visualization may be required.
- the visual space can display 1,500 vertical histograms.
- groups of 720 one-minute histograms may be aggregated into a single 12-hour-histogram.
- the number of 12-hour-histograms over 2 years is approximately 1,460 which may fit within the designated visual space.
- a data set may have measurements that are very small and very big such that differentiating small values in a visualization is not possible (e.g., measurements 1,000,000, 900,000, 0.1, and 0.13).
- measurements 1,000,000, 900,000, 0.1, and 0.13 e.g., measurements 1,000,000, 900,000, 0.1, and 0.13.
- a linear representation of values, 0.1 and 0.13 may be represented too close visually to be discerned. Accordingly, the difference between the 0.1 and 0.13 values may be indistinguishable as opposed to the difference between 1,000,000 and 900,000.
- time-realm efficiency may be achieved.
- selection may be the same to allow, for example, aggregating two histograms.
- bin measurements may maintain (1) a fixed size bin description, (2) a universal compatibility regardless of measurement magnitude while maintaining a satisfactory and useful level of precision, and (3) an ability to aggregate while controlling bin space.
- a fixed size bin description may be accomplished by sizing the bin [begin, end) into a fixed bit- width (e.g., 16 bits) representation.
- the fixed-bit width may, for example, allow for more efficient key lookup.
- the bin size may be fixed (e.g., two significant digits base 10) regardless of the data values. This creates a uniform bin scheme that may be used, for example, across different data streams and keeps the same key space.
- a fixed keyspace may be provided.
- the fixed keyspace is above and beyond fixed bins and may be a limitation to the number of total bins.
- the fixed key space may represent buckets between 1.0xlO A -127 and 9.9 ⁇ 10 ⁇ 128, 0, and between - 1.0xlO A -127 and -9.9xlO A 128 and thereby limits the keys represent into 16 bits.
- the fixed keyspace allows for aggregating, for example, the 720 one-minute
- Histograms into a single 12-hour histogram both (1) efficiently and (2) in a fashion that tracks error consistently. Histogram may be aggregated more efficiently because the keyspaces between the histograms are identical. For example, two histograms may be simply be added together (e.g., bin by bin). If the keyspaces were different, mathematical conversions would be required and the effects on error would be even more complicated. Additionally, the uniform binning across various data streams also provides for highly compressible histograms. For example, restricted use of keyspace leads to better compression.
- the number zero may be treated as an exact bin (e.g., all measurements that equal zero).
- a bin zero may be defined as containing all
- Non-zero numbers may be represented in bins that are bounded numbers with two significant digits in base ten. This has characteristics of representing numbers of wide magnitude space (i.e., 10 A -128 to 10 A 127) logarithmically, while maintaining a linear granularity within each bin set aiding human understanding and visualization (e.g., a large set of bins such as, [1.0, 1.1), [1.1, 1.2),... [9.9,10) collectively times 10 A n). Bins may be log-linear bins using 2 significant digits base 10, and, therefore, the maximal error is 5% and the average error is approximately 0.65%. As the base or significant digits changes, the error would change as well.
- Bins may be from one point on a discrete number line to the next, with a closed interval on the point closest to zero and an open interval on the number furthest from zero (e.g. [1.7,1.8) and [-3400,-3500) and [8.2 ⁇ 10 ⁇ 14,8.3 ⁇ 10 ⁇ 14) ).
- two bins touch (e.g., two adjacent bins), for example, [1.0,1.1) and [1.1, 1.2) the bins cannot both represent 1.1 (e.g., no overlap). If both bins were closed, both would represent the point where they touch. If both bins were open, neither would represent the point where they touch. Accordingly, one bin must be open and one bin must be closed.
- closed-interval includes the point, open does not. Accordingly, in one embodiment, the point closest to zero is closed.
- brackets [] indicate closed (including) and parenthesis () indicate open (excluding).
- FIG. 5 depicts a bin selection using two significant digits in base 10 and illustrates how the bottom 10% of each exponent range is actually represented by the adjacent smaller exponent. Additionally, the last exponent bin range in the figure depicts 0 as a special value wherein smaller measurements cannot be accounted for. This is a log-linear bin selection from 1.0xlO A -127 to 9.9 ⁇ 10 ⁇ 128.
- selected histograms may be aggregated without arbitrarily expanding the bin space, which may provide an ability to aggregate (e.g., via addition and subtraction) while controlling bin space. This may have the distinct real- world advantage of a highly controlled bin space for a physical system (e.g., a system having prescribed constraints).
- FIG. 6 depicts an example of multiple bin aggregation.
- histograms in (a) added with histograms in (b) equals the histograms in (c).
- the display may communicate the number of histograms desired and the storage system may dynamically aggregate requested data into lengthier periods of time. For example, displaying a two-year histogram time series where all histograms are stored by minute would require 1,051,200 histograms returned to the visualization system.
- the display may request 1,000 histograms, which may result in the storage systems combining 720 one-minute histograms inclusively between [00:00 and 11 :59] into one 12-hour histogram and the 720 one- minute histograms inclusively between [12:00 and 23:59] into one 12-hour histogram for each day of the two years resulting in 1,460 histograms to the visualization system instead of 1 ,051 ,200 with conventional techniques.
- This new representation presents a waste of 46% as opposed to a waste of 105000% with conventional techniques.
- the display may understand horizontal resolution and
- horizontal viewport size may be the number of histograms requested (e.g., a number equal to or less than the number of horizontal pixels).
- the histogram delivery technique may attempt to aggregate the number of bins to a level where the number of histograms returned for the requested time range roughly approximates but is less than the
- horizontal viewport size (e.g., within a factor of 4 to be roughly approximate).
- available visual space may be pulled or requested from the display itself through various techniques.
- the number of horizontal and vertical pixels available in the viewport may be accessible by calling a Javascript routine.
- the number of histograms may be less than the number of horizontal pixels, as any number greater may be lost during visualization.
- the number of bins desired may be less than the number of vertical pixels, as any number greater may be lost during visualization.
- the number of histograms is roughly half the number of
- horizontal pixels For example, with 1000 pixels of horizontal space, roughly 500 histograms may be created. And, with 600 pixels of vertical space, 300 bins may be used.
- fine granularity histograms may be automatically aggregated into successively wider granularity histograms to accelerate visualization of data over arbitrary periods of time (e.g., storing 1 minute, 5 minute, 1 hour, and 12 hour aggregations). For example, each time a one-minute histogram is stored, the containing five-minute histogram is recalculated and stored, causing the containing one-hour histogram to be recalculated and stored, causing the containing 12-hour histogram to be recalculated and stored, etc. Accordingly, histogram data is pre-calculated as data is received. The largest feasible pre-calculated histogram accumulates is selected above.
- a user may provide the largest feasible pre-calculated histogram based on how often the user believes they would be used. For example, a user may provide the largest feasible pre-calculated histogram based on how long they believe they will retain data and how frequently long time periods will be visualized.
- Another advantage of the techniques described herein is an ability to represent histograms in a smaller information footprint based on the visualization parameters.
- specific user-supplied minimum and maximum visual limits may be provided. For example the number of pixels and size of a display may impact the visual limits. The greater of the absolute value of the minimum and maximum visual limits is taken as the focal maximum. In one example, there may be 90 bins like
- the logarithmic bin set (e.g., the 90 bins for a particular value of n) containing the focal maximum is preserved (e.g., unchanged, these bins will not be combined with other bins for efficiency).
- EXAMPLE Given a data set: 0.02, 0.04, 1.8, 11, 76, 873, we would represent this in a log-linear histogram as one sample in each of the following buckets: [0.02,0.03), [0.04,0.05), [1.8,1.9), [11,12), [76,77), and [870,880).
- the focal maximum of the data set is 880 (the top of the largest bin).
- a user-supplied maximum may override this, let us assume a user-supplied focal maximum of 100. Assuming a vertical space of 1000 pixels, we can display the bins [11,12) and [76,77) in 10 pixels of vertical space each (bins [10,11) through [99,100) consuming 900 pixels of vertical space total).
- FIG. 7 depicts an example flowchart describing processing performed in an
- a data set may be received or accessed. From 710, flow may move to 720.
- maximum may be determined from the larger of the absolute value of minimum visual limit or maximum visual limit. From 720, flow may move to 730.
- a determination may be made if data minimum (e.g., the smallest value in a data set) is greater than 0. If so, a new bin may be created using [data minimum, focal minimum) and the covered bins may be discarded as in step 780. A new bin may be created and all data in bins between [data minimum, focal minimum) may be placed in the newly created bin. For example, a new bin may be created using (10*focal maximum, data maximum) and the covered bins may be discarded as in step 780. From 730, flow may move to 740.
- data minimum e.g., the smallest value in a data set
- a determination may be made if data maximum is less than 0. If so, a new bin may be created using (-1 * focal minimum, data maximum) and the covered bins may be discarded as in step 780, and a new bin may be created using (data minimum, -10 * focal maximum) and the covered bins may be discarded as in step 780. From 740, flow may move to 750.
- a determination may be made if data minimum is less than or equal to 0 and data minimum is greater than or equal to -1 * focal minimum. If so, (1) the 0 bin is preserved, (2) a new bin may be created using (data minimum, 0) and the covered bins may be discarded as in step 780, (3) a new bin may be created using (0, focal minimum) and the covered bins may be discarded as in step 780, and (4) a new bin may be created using (10 * focal maximum , data maximum) and the covered bins may be discarded as in step 780. From 750, flow may move to 760.
- a determination may be made if data maximum is less than or equal to focal minimum and data maximum is greater than or equal 0. If so, (1) the 0 bin is preserved, (2) a new bin may be created using (0, data maximum) and the covered bins may be discarded as in step 780, (3) a new bin may be created using (-1 * focal minimum, 0) and the covered bins may be discarded as in step 780, and (4) a new bin may be created using (data minimum, -10 * focal maximum) and the covered bins may be discarded as in step 780. From 760, flow may move to 770.
- the stored histograms may be reevaluated over time for
- minimum and maximum values may be used as if they were supplied as described above in 720. For example, if user or viewer selected limits were not received, the minimum and maximum values may be calculated from the dataset itself.
- FIG. 8 depicts an example computer system that may be used in implementing an illustrative embodiment of the present invention.
- Figure 8 depicts an illustrative embodiment of a computer system 800 that may be used in computing devices such as, e.g., but not limited to, standalone, client, server devices, or system controllers.
- Figure 8 depicts an illustrative embodiment of a computer system that may be used as client device, a server device, a controller, etc.
- the present invention (or any part(s) or function(s) thereof) may be implemented using hardware, software, firmware, or a combination thereof and may be implemented in one or more computer systems or other processing systems.
- Figure 8 depicting an illustrative embodiment of a block diagram of an illustrative computer system useful for implementing the present invention.
- Figure 8 illustrates an example computer 800, which in an illustrative embodiment may be, e.g., (but not limited to) a personal computer (PC) system running an operating system such as, e.g., (but not limited to) MICROSOFT® WINDOWS® NT/98/2000/XP/Vista/Windows 7/Windows 8, etc.
- PC personal computer
- a computing device such as, e.g., (but not limited to) a computing device, a communications device, a telephone, a personal digital assistant (PDA), an iPhone, a 3G/4G wireless device, a wireless device, a personal computer (PC), a handheld PC, a laptop computer, a smart phone, a mobile device, a netbook, a handheld device, a portable device, an interactive television device (iTV), a digital video recorder (DVR), client workstations, thin clients, thick clients, fat clients, proxy servers, network communication servers, remote access devices, client computers, server computers, peer- to-peer devices, routers, web servers, data, media, audio, video, telephony or streaming technology servers, etc., may also be implemented using a computer such as that shown in Figure 8.
- a computing device such as that shown in Figure 8.
- services may be provided on demand using, e.g., an interactive television device (iTV), a video on demand system (VOD), via a digital video recorder (DVR), and/or other on demand viewing system.
- Computer system 800 may be used to implement the network and components as described above.
- the computer system 800 may include one or more processors, such as, e.g., but not limited to, processor(s) 804.
- the processor(s) 804 may be connected to a
- Processor 804 may include any type of processor, microprocessor, or processing logic that may interpret and execute instructions (e.g., for example, a field programmable gate array (FPGA)).
- FPGA field programmable gate array
- Processor 804 may comprise a single device (e.g., for example, a single core) and/or a group of devices (e.g., multi-core).
- the processor 804 may include logic configured to execute computer- executable instructions configured to implement one or more embodiments.
- the instructions may reside in main memory 808 or secondary memory 810.
- Processors 804 may also include multiple independent cores, such as a dual-core processor or a multi- core processor.
- Processors 804 may also include one or more graphics processing units (GPU) which may be in the form of a dedicated graphics card, an integrated graphics solution, and/or a hybrid graphics solution.
- GPU graphics processing units
- Various illustrative software embodiments may be described in terms of this illustrative computer system. After reading this description, it will become apparent to a person skilled in the relevant art(s) how to implement the invention and/or parts of the invention using other computer systems and/or architectures.
- Computer system 800 may include a display interface 802 (e.g., the HMI) that may forward, e.g., but not limited to, graphics, text, and other data, etc., from the communication infrastructure 806 (or from a frame buffer, etc., not shown) for display on the display unit 801.
- the display unit 801 may be, for example, a television, a computer monitor, a touch sensitive display device, or a mobile phone screen.
- the output may also be provided as sound through a speaker.
- the computer system 800 may also include, e.g., but is not limited to, a main memory 808, random access memory (RAM), and a secondary memory 810, etc.
- Main memory 808, random access memory (RAM), and a secondary memory 810, etc. may be a computer-readable medium that may be configured to store instructions configured to implement one or more embodiments and may comprise a random-access memory (RAM) that may include RAM devices, such as Dynamic RAM (DRAM) devices, flash memory devices, Static RAM (SRAM) devices, etc.
- RAM devices such as Dynamic RAM (DRAM) devices, flash memory devices, Static RAM (SRAM) devices, etc.
- DRAM Dynamic RAM
- SRAM Static RAM
- the secondary memory 810 may include, for example, (but is not limited to) a hard disk drive 812 and/or a removable storage drive 814, representing a floppy diskette drive, a magnetic tape drive, an optical disk drive, a compact disk drive CD-ROM, flash memory, etc.
- the removable storage drive 814 may, e.g., but is not limited to, read from and/or write to a removable storage unit 818 in a well-known manner.
- Removable storage unit 818 also called a program storage device or a computer program product, may represent, e.g., but is not limited to, a floppy disk, magnetic tape, optical disk, compact disk, etc. which may be read from and written to removable storage drive 814.
- the removable storage unit 8.18 may include a computer usable storage medium having stored therein computer software and/or data.
- secondary memory 810 may include other similar devices for allowing computer programs or other instructions to be loaded into computer system 800.
- Such devices may include, for example, a removable storage unit 822 and an interface 820.
- Examples of such may include a program cartridge and cartridge interface (such as, e.g., but not limited to, those found in video game devices), a removable memory chip (such as, e.g., but not limited to, an erasable programmable read only memory (EPROM), or programmable read only memory (PROM) and associated socket, and other removable storage units 822 and interfaces 820, which may allow software and data to be transferred from the removable storage unit 822 to computer system 800.
- a program cartridge and cartridge interface such as, e.g., but not limited to, those found in video game devices
- EPROM erasable programmable read only memory
- PROM programmable read only memory
- Computer 800 may also include an input device 803 which may include any
- Input device 803 may include logic configured to receive information for computer system 800 from, e.g. a user or operator. Examples of input device 803 may include, e.g., but not limited to, a mouse, pen-based pointing device, or other pointing device such as a digitizer, a touch sensitive display device, and/or a keyboard or other data entry device (none of which are labeled). Other input devices 803 may include, e.g., but not limited to, a biometric input device, a video source, an audio source, a microphone, a web cam, a video camera, and/or other camera.
- Computer 800 may also include output devices 815 which may include any
- Output device 815 may include logic configured to output information from computer system 800.
- Embodiments of output device 815 may include, e.g., but not limited to, display 801, and display interface 802, including displays, printers, speakers, cathode ray tubes (CRTs), plasma displays, light-emitting diode (LED) displays, liquid crystal displays (LCDs), printers, vacuum florescent displays (VFDs), surface-conduction electron-emitter displays (SEDs), field emission displays (FEDs), etc.
- Computer 800 may include input/output (I/O) devices such as, e.g., (but not limited to) input device 803, communications interface 824, connection 828 and communications path 826, etc. These devices may include, e.g., but are not limited to, a network interface card, onboard network interface components, and/or modems.
- I/O input/output
- Communications interface 824 may allow software and data to be transferred between computer system 800 and external devices or other computer systems.
- Computer system 800 may connect to other devices or computer systems via wired or wireless connections.
- Wireless connections may include, for example, WiFi, satellite, mobile connections using, for example, TCP/IP, 802.15.4, high rate WPAN, low rate WPAN, 6I0WPAN, ISAlOO.l la, 802.11.1, WiFi, 3G, WiMAX, 4G and/or other communication protocols.
- computer program medium and “computer readable medium” may be used to generally refer to media such as, e.g., but not limited to, removable storage drive 814, a hard disk installed in hard disk drive 812, flash memories, removable discs, non-removable discs, etc.
- removable storage drive 814 a hard disk installed in hard disk drive 812
- flash memories removable discs
- non-removable discs etc.
- electromagnetic radiation such as wireless communication, electrical
- an electrically conductive wire e.g., but not limited to twisted pair, CAT5, etc.
- an optical medium e.g., but not limited to, optical fiber
- These computer program products may provide software to computer system 800.
- a computer-readable medium that comprises computer-executable instructions for execution in a processor may be configured to store various embodiments of the present invention.
- references to "one embodiment,” “an embodiment,” “example embodiment,” “various embodiments,” etc., may indicate that the embodiment(s) of the invention so described may include a particular feature, structure, or characteristic, but not every embodiment necessarily includes the particular feature, structure, or characteristic.
- processor may refer to any device or portion of a device that processes electronic data from registers and/or memory to transform that electronic data into other electronic data that may be stored in registers and/or memory.
- a “computing platform” may comprise one or more processors.
- Embodiments of the present invention may include apparatuses for performing the operations herein.
- An apparatus may be specially constructed for the desired purposes, or it may comprise a general purpose device selectively activated or reconfigured by a program stored in the device.
- Embodiments may be embodied in many different ways as a software component.
- Computer system 800 may be used to create a general purpose computer.
- a general purpose computer may be specialized by storing programming logic that enables one or more processors to perform the techniques indicated herein and one or more of the steps of FIG. 6.
- Computer system 800 or multiple embodiments of computer system 800 may be used to perform the functions described above.
- Embodiments of the present invention may include apparatuses for performing the operations herein.
- An apparatus may be specially constructed for the desired purposes, or it may comprise a general purpose device selectively activated or reconfigured by a program stored in the device.
- Embodiments of the present invention may improve the functioning of computer system 800.
- embodiments of the present invention processing speed for creating and manipulating histograms.
- Embodiments may be embodied in many different ways as a software component.
- it may be a stand-alone software package, or it may be a software package incorporated as a "tool" in a larger software product. It may be downloadable from a network, for example, a website, as a stand-alone product or as an add-in package for installation in an existing software application. It may also be available as a client-server software application, or as a web-enabled software application.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Image Generation (AREA)
- User Interface Of Digital Computer (AREA)
- Complex Calculations (AREA)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017534903A JP6677733B2 (ja) | 2014-09-17 | 2015-09-17 | 効率的時系列ヒストグラム |
| CA2961751A CA2961751C (en) | 2014-09-17 | 2015-09-17 | Efficient time-series histograms |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/488,867 | 2014-09-17 | ||
| US14/488,867 US10282874B2 (en) | 2014-09-17 | 2014-09-17 | Efficient time-series histograms |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2016044587A1 true WO2016044587A1 (en) | 2016-03-24 |
Family
ID=55455227
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2015/050677 Ceased WO2016044587A1 (en) | 2014-09-17 | 2015-09-17 | Efficient time-series histograms |
Country Status (4)
| Country | Link |
|---|---|
| US (3) | US10282874B2 (enExample) |
| JP (2) | JP6677733B2 (enExample) |
| CA (1) | CA2961751C (enExample) |
| WO (1) | WO2016044587A1 (enExample) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10756948B1 (en) * | 2015-08-19 | 2020-08-25 | Amazon Technologies, Inc. | Horizontal scaling of time series data |
| US10909177B1 (en) * | 2017-01-17 | 2021-02-02 | Workday, Inc. | Percentile determination system |
| JP7245954B2 (ja) * | 2019-07-30 | 2023-03-24 | ファルコンリー インコーポレイテッド | 大量の時系列データの滑らか且つ解像度が扱いやすいビュー |
| GB202202794D0 (en) * | 2022-03-01 | 2022-04-13 | Graphcore Ltd | Machine code instruction |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040260517A1 (en) * | 2003-01-02 | 2004-12-23 | Chen Ding | Temporal affinity analysis using reuse signatures |
| US20080027774A1 (en) * | 2002-11-25 | 2008-01-31 | Joel Jameson | Optimal Scenario Forecasting, Risk Sharing, and Risk Trading |
| US20110063479A1 (en) * | 2009-09-11 | 2011-03-17 | Panasonic Corporation | Zoom lens system, imaging device and camera |
Family Cites Families (49)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5613105A (en) | 1993-06-30 | 1997-03-18 | Microsoft Corporation | Efficient storage of objects in a file system |
| JPH07134777A (ja) * | 1993-11-11 | 1995-05-23 | Hitachi Medical Corp | データのヒストグラム表示方法 |
| US5960435A (en) | 1997-03-11 | 1999-09-28 | Silicon Graphics, Inc. | Method, system, and computer program product for computing histogram aggregations |
| US6744923B1 (en) * | 1999-08-30 | 2004-06-01 | Cornell Research Foundation, Inc. | System and method for fast approximate energy minimization via graph cuts |
| US6477523B1 (en) | 1999-12-03 | 2002-11-05 | Ncr Corporation | Selectivity prediction with compressed histograms in a parallel processing database system |
| US20030033403A1 (en) * | 2001-07-31 | 2003-02-13 | Rhodes N. Lee | Network usage analysis system having dynamic statistical data distribution system and method |
| US7219034B2 (en) * | 2001-09-13 | 2007-05-15 | Opnet Technologies, Inc. | System and methods for display of time-series data distribution |
| JP3715577B2 (ja) * | 2002-02-20 | 2005-11-09 | 日本電信電話株式会社 | 通信トラヒック分析方法および通信トラヒック分析装置 |
| US7599059B2 (en) * | 2002-07-25 | 2009-10-06 | The Regents Of The University Of California | Monitoring molecular interactions using photon arrival-time interval distribution analysis |
| EP1678649A2 (en) * | 2003-10-21 | 2006-07-12 | Philips Intellectual Property & Standards GmbH | Method of automatically displaying medical measurement data |
| SE0401021D0 (sv) | 2004-04-21 | 2004-04-21 | Sectra Imtec Ab | Datareduktion för framställning av datorgenererad grafik och analys |
| US7389283B2 (en) * | 2004-12-07 | 2008-06-17 | International Business Machines Corporation | Method for determining an optimal grid index specification for multidimensional data |
| US7454058B2 (en) * | 2005-02-07 | 2008-11-18 | Mitsubishi Electric Research Lab, Inc. | Method of extracting and searching integral histograms of data samples |
| JP2006258686A (ja) * | 2005-03-18 | 2006-09-28 | Agilent Technol Inc | 信頼性測定装置および測定方法 |
| JP2006293902A (ja) * | 2005-04-14 | 2006-10-26 | Nippon Telegr & Teleph Corp <Ntt> | 信号探索装置、信号探索方法、信号探索プログラム及び記録媒体 |
| WO2006132686A2 (en) * | 2005-06-03 | 2006-12-14 | Sarnoff Corporation | Method and apparatus for designing iris biometric systems for use in minimally |
| US7660461B2 (en) | 2006-04-21 | 2010-02-09 | Sectra Ab | Automated histogram characterization of data sets for image visualization using alpha-histograms |
| US7707005B2 (en) | 2006-09-02 | 2010-04-27 | Microsoft Corporation | Generating histograms of population data by scaling from sample data |
| US7826663B2 (en) | 2006-12-12 | 2010-11-02 | International Business Machines Corporation | Real time analytics using hybrid histograms |
| US7962434B2 (en) * | 2007-02-15 | 2011-06-14 | Wisconsin Alumni Research Foundation | Extended finite state automata and systems and methods for recognizing patterns in a data stream using extended finite state automata |
| US20110005918A1 (en) * | 2007-04-04 | 2011-01-13 | Akeson Mark A | Compositions, devices, systems, and methods for using a nanopore |
| US20100218078A1 (en) * | 2007-08-28 | 2010-08-26 | Martin Gerard Channon | Graphical user interface (gui) for scientific reference comprising a three-dimentional, multi-framed unification of concept presentations |
| US8189912B2 (en) | 2007-11-24 | 2012-05-29 | International Business Machines Corporation | Efficient histogram storage |
| JP5369490B2 (ja) * | 2008-05-13 | 2013-12-18 | シンフォニアテクノロジー株式会社 | アーク検出装置及びこれを備えた航空機 |
| US20090327913A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Using web revisitation patterns to support web interaction |
| US8078974B2 (en) * | 2008-06-27 | 2011-12-13 | Microsoft Corporation | Relating web page change with revisitation patterns |
| US8390626B2 (en) | 2008-11-11 | 2013-03-05 | Oracle International Corporation | Radial histograms for depicting path information |
| US8666911B2 (en) * | 2008-12-31 | 2014-03-04 | Stmicroelectronics, Inc. | System and method for statistical measurment validation |
| EP2448124A4 (en) * | 2009-06-22 | 2012-08-29 | Univ Barcelona | METHOD FOR COMPLETELY ADAPTIVE CALIBRATION OF A PREDICTION ERROR ENCODER |
| TW201143305A (en) | 2009-12-29 | 2011-12-01 | Ibm | Data value occurrence information for data compression |
| EP2558026A4 (en) * | 2010-04-16 | 2013-10-23 | Micell Technologies Inc | STENTS WITH TAXED ELUTION |
| US8458547B2 (en) | 2010-10-26 | 2013-06-04 | Hewlett-Packard Development Company, L.P. | Method for constructing a histogram |
| US8527704B2 (en) | 2010-11-11 | 2013-09-03 | International Business Machines Corporation | Method and apparatus for optimal cache sizing and configuration for large memory systems |
| US9001117B2 (en) | 2011-08-11 | 2015-04-07 | Siemens Aktiengesellschaft | Selective flow visualization of traced particles |
| US9021319B2 (en) * | 2011-09-02 | 2015-04-28 | SMART Storage Systems, Inc. | Non-volatile memory management system with load leveling and method of operation thereof |
| US20130064815A1 (en) * | 2011-09-12 | 2013-03-14 | The Trustees Of Princeton University | Inducing apoptosis in quiescent cells |
| JP2013061756A (ja) * | 2011-09-13 | 2013-04-04 | Sony Computer Entertainment Inc | 情報処理システム、情報処理方法、プログラム及び情報記憶媒体 |
| US8433702B1 (en) | 2011-09-28 | 2013-04-30 | Palantir Technologies, Inc. | Horizon histogram optimizations |
| US9697316B1 (en) * | 2011-12-13 | 2017-07-04 | Amazon Technologies, Inc. | System and method for efficient data aggregation with sparse exponential histogram |
| CN102621214B (zh) * | 2012-03-13 | 2014-10-29 | 美国哈佛大学 | 一种基于固态纳米孔对核酸分子进行减速及单分子捕获的方法 |
| US20130304396A1 (en) * | 2012-05-08 | 2013-11-14 | Sean E. Walston | Online statistical analysis of neutron time intervals using bayesian probability analysis |
| JP6066163B2 (ja) * | 2012-05-17 | 2017-01-25 | 株式会社Gsユアサ | 開路電圧推定装置、状態推定装置及び開路電圧推定方法 |
| JP6206791B2 (ja) * | 2012-08-31 | 2017-10-04 | パナソニックIpマネジメント株式会社 | 集中度計測装置、プログラム |
| JP6187902B2 (ja) * | 2012-08-31 | 2017-08-30 | パナソニックIpマネジメント株式会社 | 知的生産性分析装置、プログラム |
| US9335434B2 (en) * | 2012-11-02 | 2016-05-10 | Pgs Geophysical As | Method and system for processing data acquired in an electromagnetic survey |
| US9772923B2 (en) * | 2013-03-14 | 2017-09-26 | Soasta, Inc. | Fast OLAP for real user measurement of website performance |
| US9218382B1 (en) * | 2013-06-18 | 2015-12-22 | Ca, Inc. | Exponential histogram based database management for combining data values in memory buckets |
| US20150046862A1 (en) * | 2013-08-11 | 2015-02-12 | Silicon Graphics International Corp. | Modifying binning operations |
| CN105900092B (zh) * | 2014-03-26 | 2019-05-14 | 株式会社日立制作所 | 时序数据管理方法以及时序数据管理系统 |
-
2014
- 2014-09-17 US US14/488,867 patent/US10282874B2/en active Active
-
2015
- 2015-09-17 JP JP2017534903A patent/JP6677733B2/ja not_active Expired - Fee Related
- 2015-09-17 WO PCT/US2015/050677 patent/WO2016044587A1/en not_active Ceased
- 2015-09-17 CA CA2961751A patent/CA2961751C/en active Active
-
2019
- 2019-05-06 US US16/403,917 patent/US20190259188A1/en not_active Abandoned
-
2020
- 2020-03-13 JP JP2020043823A patent/JP7104386B2/ja active Active
- 2020-11-09 US US17/092,774 patent/US20210056741A1/en not_active Abandoned
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080027774A1 (en) * | 2002-11-25 | 2008-01-31 | Joel Jameson | Optimal Scenario Forecasting, Risk Sharing, and Risk Trading |
| US20040260517A1 (en) * | 2003-01-02 | 2004-12-23 | Chen Ding | Temporal affinity analysis using reuse signatures |
| US20110063479A1 (en) * | 2009-09-11 | 2011-03-17 | Panasonic Corporation | Zoom lens system, imaging device and camera |
Also Published As
| Publication number | Publication date |
|---|---|
| CA2961751A1 (en) | 2016-03-24 |
| US10282874B2 (en) | 2019-05-07 |
| US20210056741A1 (en) | 2021-02-25 |
| US20190259188A1 (en) | 2019-08-22 |
| JP2017537413A (ja) | 2017-12-14 |
| CA2961751C (en) | 2023-03-28 |
| JP6677733B2 (ja) | 2020-04-08 |
| JP7104386B2 (ja) | 2022-07-21 |
| JP2020107358A (ja) | 2020-07-09 |
| US20160078654A1 (en) | 2016-03-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20210056741A1 (en) | System and method for generating histograms | |
| US9842424B2 (en) | Volume rendering using adaptive buckets | |
| CN103460253B (zh) | 用于图形处理的像素值精简 | |
| US20070229503A1 (en) | Method of and system for non-uniform image enhancement | |
| US20120287151A1 (en) | Partitioning high resolution images into sub-images for display | |
| CN109920056B (zh) | 建筑物渲染方法、装置、设备和介质 | |
| US10482629B2 (en) | System, method and computer program product for automatic optimization of 3D textured models for network transfer and real-time rendering | |
| CN104966265A (zh) | 图形处理系统 | |
| CN114092673B (zh) | 图像处理的方法、装置、电子设备和存储介质 | |
| WO2019192165A1 (zh) | 一种分层式图形实时绘制渲染方法与系统 | |
| CN105637556A (zh) | 用于图形处理单元功率管理的系统和方法 | |
| WO2017139500A1 (en) | System and method for manipulating acceleration structures | |
| CN114092708A (zh) | 特征图像的处理方法、装置和存储介质 | |
| US20190311510A1 (en) | Techniques for automatic and dynamic opacity settings for scatterplots | |
| US8810572B2 (en) | Tessellation cache for object rendering | |
| JP2022172292A (ja) | テキスト認識の方法、装置、電子機器、記憶媒体およびコンピュータプログラム | |
| JP2023040162A (ja) | 特徴画像の処理方法、装置及び記憶媒体 | |
| CN115842892A (zh) | 一种图片压缩方法、装置、电子设备及存储介质 | |
| CN112416489A (zh) | 工程图纸显示方法及相关装置 | |
| Cao et al. | Distributed multi-gpu accelerated hybrid parallel rendering for massively parallel environment | |
| US20240331661A1 (en) | Content Based Foveation | |
| EP4621703A1 (en) | Image scaling method and apparatus, and device and storage medium | |
| US20240087207A1 (en) | Depth analyzer and shading rate controller | |
| CN108021331B (zh) | 一种空隙消除方法、装置、设备及存储介质 | |
| WO2021163496A1 (en) | Method for compressing sequential records of interrelated data fields |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15841922 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2017534903 Country of ref document: JP Kind code of ref document: A Ref document number: 2961751 Country of ref document: CA |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 15841922 Country of ref document: EP Kind code of ref document: A1 |