The present invention is a computer-implemented method that reduces the amount of data transferred to remote display devices while still relaying the critical information of the total assets under management. The advent of asset tracking devices employing modern wireless communication creates a significant problem when the number of assets to be displayed is large. A user trying to monitor a few assets has no difficulty monitoring and delineating them on a display terminal. When the number of assets is moderate or large, however, the display terminal becomes cluttered with information and overlapping icons.
For purposes of clarity, the following terms have the following meanings as used herein: An asset is the physical thing being monitored or tracked. The “tag” or “device” is the communications box attached to the asset and used to relay the location or status of the asset to the remote asset manager. Tags can be short-range (as in RFID, which operates over inches or feet) or long-range. Long-range communications typically operate over miles or on a global basis and may be satellite-based. The long-range devices generally have GPS (global positioning system) capability.
The present invention discloses a method for automatically mitigating the cluttering problem associated with displaying a large number of asset information.
The prior art and prevalent method for resolving this issue is to “zoom and view.” The operator would select a smaller section of the display to zoom or scale the map in order to create more physical display distance for the assets to be shown.
This automatic grouping function may also be performed proportional to display resolution to enable an optimal level of detail to maximize clarity of relay of information.
The group shape may contain a numeric value 305 that communicates the number of devices that are contained in that group. Alternatively, the shape may include any inherent data component that relays the desired information from assets contained in the group to the user.
The present invention also employs context-sensitive additional data. Specifically, if a user wishes to know the detailed content or status of devices that are grouped, the user would select the group with pointer, mouse, keyboard, stylus or any other typical selection means. The detailed status for that group is displayed in a popup or status pane. In this manner, the user may monitor each group or sets of groups with simple selection means and without the need to alter zoom scale.
In addition, the present invention enables wireless operation through data reduction. Grouping assets for display minimizes the amount of data required to generate or refresh the display. When the user selects a group for more detail, only the selected information may be relayed at that time, thus removing the need to always communicate every piece of information whether the user cares about it or not.
As in
In transit assets are often singles or small groups, so these often break out of the auto-grouping and appear as a single element 302. The same holds true for field deployed assets, which typically are scattered as individuals or in small clusters of groups.
Because the grouping is performed automatically proportional to scale of display, the user can quickly, in fewer steps, use a “zoom and view” method to evaluate a distribution of assets in local regions such as city blocks, transfer points and temporary storage locations. Users can also zoom out, to a state, national or global scale that quickly shows the distribution of assets regionally or nationally. The present invention, therefore, applies to large distributions of assets not only locally but on a global scale, providing intuitive information using simple computational means at the endpoint display terminal while minimizing on-air data communication.
One important innovation associated with the automatic grouping function is one of group shape. The group shape ideally relays information, and minimally obscures other information. For example, it is undesirable for a group to obscure the map features. One approach beyond shape is to use translucent group shapes to only partially obscure underlying map detail. Users may set as a personal preference the translucent or opaque attribute as a user preference.
Furthermore, the perimeter shape of the group should relay something about the internal distribution of assets contained in the group. Creating a group as just a large dot is helpful but not optimal as the shape communicates little about the distribution of units therein.
In a preferred embodiment, the present invention uses convex hull algorithms for creating group shapes. Although convex hull algorithms are used in one embodiment of the present invention, as explained more fully below, the present invention is not limited to any particular group shape (convex, concave, or otherwise). Convex hull algorithms are utilized in prior art for defining perimeter polygons to completely contain a given set of points in 2D or multi-dimensional space. Provided a set of points is selected for grouping, any number of convex hull algorithms would suffice. Popular algorithms such as “Grahams' Scan” [see reference 1] or “divide and conquer” [see reference 2] or “gift wrapping algorithm” [see reference 3] or any similar algorithm would suffice. These algorithms are designed to operate in multidimensional space, some up to eight dimensions of geometry. The present invention targets displaying mapping and data information to a flat panel screen; thus, in a preferred embodiment, the algorithm is optimized for 2D elements. For this purpose, the O'Rourke algorithm [see reference 4] is sufficient and computationally simple.
The problem of selecting which points in space to be group must next be solved. The present invention utilizes an automatic scaled grouping algorithm to determine which elements are to be combined into a group for display. As the display resolution is changed, the grouping function is repeated to combine and separate groups as needed to provide optimal clarity of information.
One method as used in the present invention employs the use of a coordinate grid subdividing the display data.
A count of assets in each grid results in a sum, which is compared to a threshold for grouping. The threshold may be fixed or variable depending on the application. For purposes of this disclosure, we shall assume the threshold to be a fixed value of 3. Grid regions that have 3 or more assets are candidates for grouping. As shown, asset 503 is a sole asset in the grid is therefore not eligible for grouping. Conversely, assets 504, 505, 506 and 507 will be grouped into one shape for representation. Assets 508 and 509, however, do not sum to the threshold, and as such are not grouped.
It is easy to see that the scale of grid and threshold provide a degree of grouping flexibility that dictate the grouping function. The grid as shown, and the threshold as stated, result in some assets remaining somewhat obscured (see, for example, asset 607). Nevertheless, the resulting displayed data is clearer and more concise than would be displayed without grouping. Also, it is clear that changing the threshold from 3 to 2 would create three additional groups that further clarify the map. It is necessary, therefore, for the user to experiment with icon size, text size, etc. in order to set the appropriate grid scale and threshold. Alternately, both the grid scale and/or threshold could be dynamically configured by the software to maintain a desired compression ratio. For example, the software could be programmed to set the grid scale based on a certain percentage of text overlap. This is but one of numerous ways in which the grid size and/or threshold could be dynamically configured by the software.
One artifact of the grid approach is that it is possible to artificially divide a set of assets that should logically be grouped because of a grid line bisecting the larger group. The grid approach (as discussed above) would produce two groups, one in each grid, but in some cases, it may be preferable for those groups to be combined. A solution to this problem is to post process the groups to determine if nearest-neighbor combining could be performed. If specific assets in two separate groups are within a threshold distance of each other, it may be used as a trigger to combine the groups into one group. This is an indication that the real physical group was arbitrarily bisected due to a grid line and not for any logical or meaningful group separation reason. This recombination, however, may or may not be necessary or even desirable as it could produce a super-group for very high density regions.
As discussed before, the shape of the group can also provide insight as to the distribution of assets contained. As shown, the shape of group 604 is rather ambiguous, largely due to the distribution of assets as found in the grid. In some cases, the shape can relay important information about the distribution, for example, if assets are distributed along a fault line or natural feature such as a river or ocean bay.
Besides convex hull, there exist many other algorithms for creating shaped polygons to represent the assets grouped. Depending on the application and computational capacity, it may be desirable to incorporate alternative grouping algorithms to depict the assets contained. The end goal is to present a group shape that intuitively communicates something about the object distribution contained.
A convex hull merely draws line segments around the perimeter of points that create a polygon that completely encloses the points inside.
Alternate polygon shape algorithms can provide added clarity if desired. The rightmost grid 805 of
Several algorithmic variables are used to form the shape. These variables, like the grid size and threshold discussed above, can be adapted to modify how the groups are formed and how the end shape profile appears when complete. The first variable is capture range. The capture range is depicted as element 903 with respect to asset 902. Other assets, such as 905 that are inside the capture range are considered for grouping with respect to element 902. The distance to each asset inside the capture range is calculated 904 and a center of mass is calculated 906 for all elements inside the capture range 903.
Distance measurement can be accurate or estimated using simple additions and subtractions and avoiding square root functions necessary to completely solve the Pythagorean range. The |L|+0.4|S| algorithm [see reference 5] can be used to closely approximate the coordinate range for two coordinate points x1, y1 to x2, y2.
The greater of the two difference values |(x1−x2)| or |(y1−y2)| is assigned to L, while the other value is assigned to S. The approximate range can be calculated with less than roughly five percent (5%) error as:
Range=The |L|+0.4|S|
The center of mass calculation for any N assets with a weighting index (mass) of each element m and total mass M in 2D space can be calculated as:
The center of mass is the location that best characterizes the center of the assets in the capture range. As explained below, the mass terms can be used to determine the center of mass location in a number of different ways. For example, the mass of the base asset for each calculation, such as 902 for pane 901, may be higher than the other assets considered in the capture range. Another approach is to inversely weight the mass as a function of the range from the base unit, giving more weight to closer assets and less weight to the distant assets in the capture range. Most simply, the mass of each unit may be uniform, making the calculation simpler still and requiring only one division by the total number of assets considered (M, assuming mass of each element is a uniform 1).
Once the center of mass is found 906, a shape circle 907 is calculated with the center of mass as the origin. The radius of the shape circle is a function of the mean range calculated. This mean range is the average of each of the ranges from the original point 902 to each asset to be considered in the capture range. The radius may be scaled from the average, in that a scalar value may be multiplied with the range to create the shape circle radius. This is one of the variables used to set the end shape of the polynomial.
Another alternative in the calculation of the radius of the shape circle may be to weight the radius by the number of assets considered, thus creating a larger shape that is proportional to the number of assets. This approach may also include the computation of mean range with the scalar as discussed, to produce shapes that reflect the number and distribution of assets contained.
The shape circle is retained (center and radius) as all points are considered similarly. Pane 908 shows the second point to be considered 909. Point 910 is shown as a white circle indicating it has already been processed. Again the capture range 911 is used to select all assets for consideration relative to point 909 with distances calculated 912. A center of mass is calculated 913 and a shape circle 914 calculated and plotted.
The process continues in pane 915 with point 916 considered, center of mass 918 calculated and shape circle 919 plotted. Note that point 917, as the original point considered, is outside the shape range of 916 so it is not considered in the calculation of center of mass 918.
The process continues recursively for all elements to be considered. Pane 920 shows the next point 923 considered with center of mass 924 and shape circle 925 plotted. It also shows asset 921 with a shape circle 922 capturing only one asset 926. Another variable of the algorithm is a threshold, used similarly to the threshold in the grid discussion previous, wherein the capture circle must capture a minimum number of assets exceeding the threshold before a center of mass and shape circle is calculated. For the purposes of this example, we shall assume the threshold is 2; thus, since only one asset is captured in 922, no shape circle for asset 921 is plotted.
The process is repeated in pane 926, plotting shape circle 927, and concluded in pane 928. where the shape circles are joined to create a composite polygon where they overlap. The assets that created shape circles are removed from the display as they are contained in the group represented by the composite shape. The assets that are too sparsely positioned to fail the capture test such as element 930 are left as individual assets to display.
Depending on how the user variables are set, the resulting shape may or may not totally enclose the assets grouped. The capture range and threshold, weighted mass and shape circle range greatly influence the resulting shape of the polygons. This algorithm has the advantage of not requiring gridding of the display with the potential separation of groups due to grid boundary bisection of assets. The groups are naturally formed by overlap of the shape circles.
Another method for naturally forming groups without the need to grid the display is by forming a Voronoi diagram from the asset locations. A Voronoi diagram seeks to draw lines that define a region of influence around all given points based on the proximity of other points nearby [see references 4, 6, 7]. As such, the area for each Voronoi region is indicative of the density of points nearby.
Pane 1001 shows a display with a distribution of assets such as 1002. Applying a Voronoi algorithm to the display results in the display shown in region 1003 with the line segments 1004 marking the region of influence for each point. Because the outside points are not influenced by adjacent points due to the artificial boundary of the display zoom scale, the regions for the outside points have some indeterminate weight. Applying a convex hull algorithm to all points 1006 creates an adaptation to the Voronoi set of lines, bounding the outside areas. This tends to create artificially smaller regions on the perimeter, which effect can be somewhat minimized by expanding the convex hull perimeter by a scaled offset toward the display boundaries. This scaled offset can be a selectable feature. As shown in 1006, the offset is zero. Pane 1005 shows the combination of the convex hull and the Voronoi algorithms, creating finite regions of influence for each asset point.
The area of each region is a function of the density of points nearby, thus regions around assets 1007 and 1008 are small in comparison to less densely positioned assets such as 1010 and 1011. An area threshold can be used to select which regions are small enough to consider for grouping. This area threshold can be variable, user selectable or fixed as the application requires. Pane 1012 shows the selection of asset regions that are below an arbitrary area threshold.
The region 1013 is the consolidation of two asset regions. The region 1014 is the consolidation of three asset regions. Applying a second minimum count threshold may further deselect some group region determinations. While the regions surrounding 1007 and 1008 are small enough to consider for grouping, a minimum count threshold of 3 as an example would deselect the grouping of 1007 and 1008 as a new group. The region 1014 however contains three asset regions and thus satisfies the minimum count threshold to be considered as a group.
Pane 1015 shows the surviving groups to be formed from this algorithm. It may be acceptable to simply leave the consolidated Voronoi regions as the group definition as shown in 1016. This shape may not satisfy the user interface requirements, however. In that event, the points selected can be simply radial shaded as shown in pane 1017, or more suitably combined using the converse hull or center of mass methods as discussed previously.
Another method for forming groups without gridding the display is to simply apply a radial intercept algorithm as depicted in
In still another method for determining which assets are to be grouped, consideration of the ancillary displayed data could be used to accomplish the mission of un-cluttering the display for the end user. Since the asset location can be represented in a small number of physical pixels on a display, the predominant number of pixels of use may be a data component displayed next to the asset icon. This is typically the case for asset displays where a user may wish an identification field or time or status component reported next to the icon representing location. As such, the text or graphic ancillary component also uses screen resolution and when overlapped becomes unreadable and distracting. This method is illustrated in
Pane 1204 shows the analysis of evaluating the regions that contain the data displayed. Each text field is allocated a region 1205, and an overlap determination is made resulting in detection of region 1206 overlapping regions 1207 and 1208. The overlapped text regions nominate the three assets to be grouped. Pane 1209 shows the resulting display where asset 1210 is left unchanged since the text region 1205 was not overlapping any other text regions. The three assets with overlapping regions are grouped 1211 with the assets shaped using one of the algorithms discussed previously. As with other methods, a threshold may be applied as a deciding factor for readability of overlapped text.
Much detail has been provided regarding the creation and display shape of groups of assets. The algorithms used to create these shapes are drawn from prior art, and there exist many other algorithms that may be suitable. The algorithm used in the present invention, however, must be tailored to the application with the objective of communicating something about the assets contained in an intuitive manner while simultaneously minimizing the amount of data that must be relayed to the display terminal for any given zoom level.
The preceding discussion focused on ways to reduce the amount of information displayed at any one time to both add clarity of information and reduce the amount of data to transfer to any remote display terminal. A similar problem exists when any given asset relays information at a rapid rate, or a lot of information for any given asset is to be displayed concurrently. Modern day asset tagging devices can communicate over terrestrial cellular networks frequently, even every few seconds, providing detailed series of location points often referred to as breadcrumbs. An asset tagged with a device that provides location updates even every few minutes create a large amount of data to display if all the reports were concurrently shown. Such a breadcrumb trail for even one asset might appear to a user as shown in
Furthermore, each point to be plotted invariably results in a point of data transferred from the core database to the display terminal, which increases the costs of wireless transmission. This large amount of data is often no more useful to the end user than a few points along the path.
The present invention utilizes decimation techniques to provide added clarity and reduced data transfer for any given asset.
The decimation may be a set ratio, or alternatively the decimation may be provided as a function of distance. Assets that move slowly for a period of travel and rapidly for others need not use a uniform decimation ratio; instead, the decimation may select points along a route that roughly establish a target distance between points.
The decimation ratio may also be automatically selected by a minimum asset gap distance for any selected display resolution. In this manner, no two points will be plotted any closer than the specified display distance, thereby providing ample room for any displayed data component.
If the asset data contains time, it is also sometimes valuable to perform decimation to present points that are roughly temporally spaced. Any data attribute may be used to select the points to be displayed. For example, if the data contained engine run temperature or speed, the user may only be interested in seeing assets that are operating above a specified speed or above an acceptable operating temperature, further reducing the data to that of interest while reducing transmission requirements.
The user may also set the decimation function as any combination of data. For example, the user may only wish to see data no more often than every 15 minutes and only for assets operating above a given speed.
Grouping assets for display creates such a reduction in data transfer that it enables true thin-client software applications even while managing very large numbers of assets. Thin-client means that the remote computer program need merely be an internet browser with minimal software graphic applications as opposed to thick-client applications that require a full user software program be installed in every endpoint computer, often at significant software cost per installation.
The grouping function allows for almost uniform data transfer for any view scale, enabling thin-client use that in turn allows for thousands of users accessing database information on tens of thousands of assets without the need to install costly software at each monitoring computer. The logistical problem of keeping software current on thousands of thick-client users is thus removed, as all users are automatically using latest version software readily accessible over brief downloads over the internet.
Many modifications and other embodiments of the invention will come to the mind of one skilled in the art having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Accordingly, it is understood that the invention is not to be limited to the embodiments disclosed, and that other modifications and embodiments are intended to be included within the spirit and scope of the appended claims.
1. Graham, Ronald, “An Efficient Algorithm for Determining the Convex Hull of a Finite Point Set,” Info. Proc. Letters 1, 132-133 (1972).
2. Preparata, Franco, and Hong, S. J., “Convex Hulls of Finite Sets of Points in Two and Three Dimensions,” Comm. ACM 20, 87-93 (1977).
3. Skiena, S. S., “Convex Hull,” The Algorithm Design Manual (New York: Springer-Verlag, 1997).
4. O'Rourke, Joseph, Computational Geometry in C (New York: Cambridge University Press, 1994).
5. Frerking, Marvin E., Digital Signal Processing in Communication Systems (New York: Van Nostrand Reinhold, 1994).
6. de Berg, M., et al., “Convex Hulls: Mixing Things,” Computational Geometry: Algorithms and Applications, 2nd rev. ed. (Berlin: Springer-Verlag, 2000).
7. Skiena, Stephen S., “The Stony Brook Algorithm Repository,” Department of Computer Science State University of New York Home Page (7 Mar. 2001 <http://www.cs.sunysb.edu/˜algorith/files/voronoi-diagrams.shtml>).