Back to main page.
The OnEarth WMS server technology offers a wide range of data processing options while providing reasonable performance. This makes it compatible with most WMS client applications and allows for easy development of new clients. However, this flexibility comes at a cost, in both latency and server side CPU utilization. The server itself is a technology prototype, as such it uses a very limited set of computing resources. Heavy use of the server often results in server overload and denial of service.
To alleviate this problem, the OnEarth WMS server offers fast response to a limited number of WMS access patterns. The images generated by these patterns have been prerendered, so when a matching request is identified it can be satisfied immediately, without any need for further data processing. This type of access is much faster than the default one, with server side latencies in the order of milliseconds, as opposed to a second or more for the main server.
Applications that need quick response times or relatively large amounts of data should prefferentialy use these access patterns, which can be described as tiled WMS.
The existing patterns have been generated as a response to a few such applications, to allow the server to supply data without being subject to continuous overloading. The tiled WMS patterns are exposed via a prototype WMS extension described in the OnEarth WMS Capabilities response.
A new type of request is provided by this server, GetTileService. The response is an XML encoded list of available WMS access patterns. A TiledPattern access pattern is a set gridded WMS requests, where parameter order, case and content are constant, with the exception of the bbox values. Using this pattern allows fast access to tiles for a given combination of layers and associated styles at a given resolution over a defined area. All the information about a pattern can be extracted form the provided WMS call, using these rules:
Server prefix is defined in the OnlineResource tag
Area covered is defined in the LatLonBoundingBox
Tile size is provided by the width and height parameters values
Tile format is provided by the format parameter value
Tile coverage can be computed as (Lon1-Lon0) and (Lat1-Lat0), where Lon1,Lon0,Lat1 and Lat0 are the arguments of the bbox parameter.
The Grid alignment results from the bbox argument and the tile coverage. The bbox argument values provided in the pattern are for the top-left tile, the other tile locations can be computed based on the tile coverage.
Other metadata that might be of interest to a user is contained in the Name, Title and Abstract tags.
Multiple WMS patterns in a single TilePattern are equivalent.
TilePattern tags that have something in common are grouped in a hierarchical structure build using TiledGroup tags. The innermost level refers to the same exact data, possible differences being the image size, image format, resolution, and alignment. Higher level TiledGroup are used to group together related datasets.
A client application is expected to request this information only if it is defined as a request in the WMS server Capabilities. Once obtained, the application needs to analyze the patterns, decide which ones can be used and then issue only WMS requests that match the pattern to the normal WMS server, requests that can be built by modifying the bbox argument in a TiledPattern and prefixing the resulting string with the content of the OnlineResource tag. If no patterns can be used by a given client, the client application still has the choice of using the normal WMS server.
Some features of this WMS extension mechanism:
- It is a minimal addition to the existing WMS standard.
- The data transfer is done using standard WMS, eliminating the need to introduce a different protocol.
- A tiled WMS client can operate as a full WMS client.
- A standard WMS server can easily be modified to provide the needed tiled WMS metadata, which exposes potential performance or allows the use of a stand alone WMS caching service.
- A stand alone tiled WMS server can operate without a full WMS server, providing data for only a limited set of clients. A tiled WMS server would be much easier to implement and deploy than a full WMS server, needs much lower computing resource and at the same time provides a higher performance level for certain applications. Such a server could just return a mostly empty Capability file to avoid breaking applications that do expect a full WMS server. This type of server could even be considered a WMS server itself.
- The full set of WMS features is available for tiled application use, including any coordinate system and resolution, layer combination or use of styled layer descriptors (SLD).
- It is intended to serve as the basis for an OGC WMS enhancement.
Available pattern comments :
Most patterns have been developed for certain applications, most notably the NASA WorldWind. Other patterns are a natural consequence of the storage format for a specific dataset. While it is possible to add new patterns to this server, each pattern requires disk space and other resources.
The choice of large tiles, 512 or 480 pixels is dictated by efficiency and the native data resolution. When compared with a 256 pixel jpeg image, a 512x512 pixel jpeg will deliver four times the pixel count for a negligible increase in overhead per tile.
Back to main page.