Paper #221, Location Services II
2001 Esri User Conference
Tuesday, July 10, 2001
3:30 PM - 5:00 PM
Room 19 - SDCC
An Architecture for Providing Location-Based
Telecommunications Applications Services
Clifford Behrens, Marek Fiuk, Chung-min Chen and Chit Chung
Recent activities at Telcordia Technologies have focussed on delivering to customers over the Internet new telecommunications services, based on an architecture that uses location to integrate telecommunications and commercial geospatial data. ArcSDE® provides a consistent means for accessing data stored in different commercial databases; ArcIMS® is exploited to build maps with these data that can be delivered to thick (or thin) clients. This framework also provides the software interfaces needed to integrate highly-customized applications. An initial implementation of this architecture demonstrates its applicability for supporting interconnection consulting, network planning and service negotiation with Telcordia COMMON LANGUAGE® Products, specifically the LocateIt® System and CLONES.
Telecommunications enterprises store information about their operations in disparate Operations Support Systems (OSSs). Through government deregulation and greater market competition, there are now compelling reasons to devise new ways of integrating this information to support next-generation network operations and services. Few keys seem better suited to enable integration of telecommunications applications data than location. Location, while having many representations, is already stored for data in some legacy products, and next generation OSSs are increasingly becoming locationally-aware. Georeferencing makes it possible to query databases spatially for useful information, but also creates an opportunity to summarize this information in maps.
Recent research activities at Telcordia Technologies have produced an architecture for delivering to customers over the Internet new map-enabled services that integrate telecommunications and commercial geospatial data. Esri's ArcSDE® provides a consistent means for accessing data stored in different commercial databases, and Esri's ArcIMS® is used to build maps with these data that can be delivered to thick (or thin) clients. An initial implementation of this architecture demonstrates its applicability for delivering map visualizations that support interconnection consulting, network planning and service negotiation, and other telecommunications business operations.
In the past, as work associated with the planning, provisioning and maintenance of the public telecommunications network became automated, each of these functions became supported by separate work centers, unique operations support systems, and specialized craft persons skilled in the disciplined use of these. A consequence of this long legacy is the existence of many non-interoperating systems and the proprietary data they produced. Product groups formed around these systems and their data, with little concern for systems interoperability and data sharing.
The Telecommunications Act of 1996 has created a competitive environment that has forced existing service providers and their suppliers to think about their businesses in new ways. Data that were once viewed as disparate, and only needed to support one step in a service provider's business model, are now being examined with the more comprehensive view of enabling new business "solutions" models. These require a much tighter integration of systems and data. This focus on business solutions has motivated some to search for new approaches to system integration and data reconciliation.
Table 1. Locational referencing of telecommunications data.
Data Type |
Example |
Geographical coordinates |
N402531 W1044736 |
Street address |
700 71ST AVE, GREELEY, CO 80634 |
V and H |
7350.00 5909.00 |
CLLI® code |
GRELCO05 |
NPA/NNX (Area Code) |
970 |
Misc. |
place names, postal codes, FIPS, etc. |
It is also important to note that, while the solutions view emphasizes data sharing and systems interoperability, different telecommunications business processes still possess different requirements for geospatial data and software. For example, much higher resolution data are required to support processes such as network design and maintenance than network planning and service negotiation. Furthermore, while network engineering functions require many of the capabilities of a commercial GIS by exploiting relationships between map layers, other functions, e.g., network monitoring, often only use maps as a backdrop or canvass for a network display. The challenge is to create an environment that reduces the cost associated with data redundancy and software "overkill," yet provides only the data and software capability required by an application. The rest of this paper describes our recent efforts to address this challenge in a project that leverages location to provide map support over the Internet for two COMMON LANGUAGE® Products: the LocateIt® System and CLONES.
Telcordia develops and sells location-based products as part of its COMMON LANGUAGE offering. These products combine numerics and mnemonics to establish code sets that are easy to remember and provide users with a shared method of identifying network components, interfaces and equipment. These products were created to help telecommunications companies exchange critical information with accuracy and precision to better achieve OSS interconnection.
The COMMON LANGUAGE® Address Analysis (LocateIt®) System is an application that provides precise geographic information for addresses, intersections, off-road points, and geopolitical boundaries. It features unique analysis and search algorithms that transform incomplete and partially inaccurate information into meaningful address information. The architecture of the LocateIt System is based on object-oriented software technology and uses OSMOS®, a Unisys® object-relational database management system. LocateIt can be accessed through a customized application programming interface (API) via client/server architecture, as a turn-key information system on a variety of platforms, as an interactive dial-up service, or as a batch reconciliation facility. It has been applied to solve a variety of business problems that require accurate geographic data analysis, such as communications switch box location, shipping address verification, sales lead identification, map drawing, tax jurisdiction identification, and determination of pricing for distance-based services.
The LocateIt system uses Dynamap/2000® and ZIP11 Address Coding Guide® data as data sources; the Dynamap/2000® data are updated on a monthly basis. These data include primarily street lines with the address ranges needed for performing address validation. The LocateIt system applies fuzzy logic algorithms to these data to produce valid addresses for an address it receives as input.
The Central Location Online Entry System (CLONES) is used to create, update and maintain all valid COMMON LANGUAGE Location Codes. CLLI codes are unique 11-character standardized geographic identifiers used worldwide to identify and describe three types of locations and entities placed at each: (1) network sites/entities, including such network locations as central office buildings, business and commercial offices, microwave radio structures and earth stations, (2) network support sites, including such locations as international boundaries or crossing points, end points, fiber nodes, cable and facility junctions, manholes, poles and repeaters, and (3) customers sites, including customer locations and associated circuit terminations, facilities or equipment for each specific customer. CLONES data are managed with the Informix Dynamic Server® DBMS, and currently access to CLONES is provided to subscribers through a text-based client, a telnet connection, or an RPC interface. It is important to point out that CLONES is a client for LocateIt as the latter provides address validation services to CLONES users as they create new CLLI codes.
The COMMON LANGUAGE product team, located in Telcordia's Software Systems organization, is eager to evolve its product line and explore new markets for its data and services built on these. A project was funded to explore the feasibility of providing map support for the LocateIt product (and to its clients that require address validation services), and of providing CLONES with a map query frontend and map visualization capability so that information stored in CLONES could be presented to remote users in maps. The latter capability might be particularly important to support Professional Services' business models, e.g., interconnection consultants who want more rapid access to CLONES information when working through planning scenarios with their customers. These model applications of the LocateIt and CLONES products have been useful for driving our thinking on prototype design. The attendant technical issues are described next.
New Internet mapping services are being developed to support address validation by LocateIt, and to deliver maps of telecommunications features stored in the CLONES database. While some requirements and technical issues are shared by these two applications, e.g., data security, others differ and require somewhat unique approaches.
The motivation for providing mapping support for LocateIt was to improve the quality of address information in Telcordia databases. Address validation is a service with many potential clients, human and machine. Furthermore, since the LocateIt database is updated on a monthly basis, it is most cost-effective to use its data as a central source of address information for other Telcordia client applications. To make LocateIt services available to these clients it was necessary to update its API and make it more readily accessible to users over the Internet. In the latter case, it was assumed that a user could input an address, then the LocateIt system would return a valid address (or list of potentially valid addresses). The user would then be given the option of mapping these for further validation before permanently storing an address in a data base. Since this type of user only needs a map showing the valid address with minimal support of other layers, e.g., state boundaries, highways and roads, wire center boundaries, streets and CLONES site locations, and required little interaction with objects displayed in the map, only a thin (HTML) client was required. This level of map support is sufficient for those who only need to use the LocateIt system for standalone address validation, or for CLONES users who rely on the LocateIt system to validate addresses for their CLLI codes.
Interconnection consultants had more complex mapping requirements. First of all, additional map layers were required to provide proper context for CLONES information in their planning scenarios. For example, consultants are interested in knowing something about the demographics of a planning area, e.g., density of households and their average income for US Census Bureau's Block Groups, along with the telecommunications facilities deployed at sites within the planning area, such as "entities" recorded in the CLONES database. Since these consultants might also be working in areas less familiar to them, it is important to have more interaction with map features, richer visual cues, and more options to query CLONES spatially. Typically, these consultants have access to high-end desktop or laptop computers (with at least 128MB of physical memory). For this group of users a thick JAVA® client, capable of rendering maps and revealing attribute information for features in them, was required.
Our project team was tasked to deliver an architecture capable of supporting the requirements of both types of LocateIt and CLONES users. In addition, this architecture had to make maximum reuse of existing applications software, eliminate data duplication, minimize data and software licensing costs, provide a consistent means for accessing data stored in a variety of COTS DBMSs, and produce map visualizations from Telcordia and commercial data that could be delivered to either thick or thin clients over the Internet. This comprehensive set of business requirements led us to propose an Esri-based architecture.
Several technical issues needed to be solved before mapping support could be provided to LocateIt and CLONES users. Among the most critical of these was that all CLONES data, including locational information, were stored in Informix Dynamic Server business tables as simple data types. For mapping to be cost effective, programmatic means needed to be developed to create geometry for these attribute data, i.e., to spatially enable these tables. The intent was to accomplish this in a way that minimized the need for costly data conversion, and made it possible to create geometry for new CLLI® codes as they were created. (Our solution to this problem is discussed below.) Another major design consideration was to access map layers common to both LocateIt and CLONES applications from a single source, yet deliver these data with the resolution required to support the particular needs of both types of users. It was also anticipated that there would exist sometime in the near future a need to integrate the data exploited by CLONESand LocateIt with other Telcordia and non-Telcordia data, so a solution providing a consistent means for querying all of these data was desirable. For the reasons above, we proposed the TIMS (Telcordia Internet Map Service) architecture (shown in Figure 1) that makes use of Esri's ArcSDE and ArcIMS products.
Figure 1. Architecture of the Telcordia Internet Mapping Service for COMMON LANGUAGE Products.
As mentioned earlier, the LocateIt application is accessed by CLONES users, either through the CLONES application itself, or through the CLONES client. Another remote access mechanism is provided through a special-purpose RPC interface. To make the LocateIt application more accessible to both machine and human interfaces, a JAVA-RPC API is being developed. (This work is described below.) Map support for the LocateIt application is provided by an ArcIMS image server since only thin-client support is required. ArcIMS gets its CLONES map data through an ArcSDE® for Informix® interface, and other GDT® map layers stored in an Informix Dynamic Server database, also using ArcSDE for Informix as a data access mechanism. In this architecture a user may input an address into a Web browser and send it to the LocateIt service for validation. LocateIt returns a valid address (or list of possible valids) along with its geographical coordinates. These can be sent to the TIMS server with the information needed to render a map with the valid address as a centerpoint, or with the minimal bounding rectangle containing all of the points returned by the LocateIt system. The user can then determine whether the address is indeed valid, while also having the option of turning on/off available map layers for additional context. The map service just described supports only address validation. Again, this service is the same regardless of whether a user inputs an address directly to the LocateIt service through a Web browser, or through the CLONES system.
For interconnection consultants, CLONES provides a valuable source of data layers that require additional query support. Greater interactivity is provided by the ArcIMS feature server since it delivers map features along with their attributes. While some of the same data layers exploited by the LocateIt service can be accessed through ArcSDE and reused for this application, e.g., state boundaries, roads and wire center boundaries, access to other data layers is essential. The TIMS architecture allows some of these layers to be stored on the local map server and others on the client. This is particularly attractive when data are private, or when these data are very high resolution, making it undesirable to transport them over the network. For interconnection consultants, the ArcIMS JAVA client (with customized helper applications) is provided to users. As an example, one of these applications creates dialog boxes needed by a consultant to query CLONES for information about facilities deployed at network sites, represented as push-pins on a map. Another custom application allows a user to track his/her current location on a map taking input from a GPS receiver.
We chose to Web-enable the LocateIt server in the JAVA development environment because of its simplicity, multi-platform support, performance and scalability qualities. In fact, it's the only environment that offers scripting (JSP) and compiling (Servlet) alternatives employing the same language. Since LocateIt is currently implemented in C, not JAVA, a gateway or bridging technology was needed to link the JAVA Web server environment with the backend LocateIt server.
The existing LocateIt application is an RPC server that conforms to RFC 1831/1832. Our objective was to reuse this server with only the fewest changes necessary. All C RPC implementations provide an interface file called the .x file that specifies both a server application's data and procedures. Therefore, we were able to map JAVA calls to this specification so that the LocateIt server receives the same data stream for each procedure invocation. To accomplish this mapping and enable communications between JAVA clients and the LocateIt server, we used the Distinct ONC/RPC Toolkit®. One interesting aspect of this approach is that it supports JAVA-RPC communications in both directions. That is, an RPC server can also be implemented entirely in JAVA and called by C clients. This offers additional flexibility should the LocateIt product team decide to convert the LocateIt server to JAVA later on.
We have enabled LocateIt services to three types of Internet clients: Browsers capable of supporting XML, HTML browsers not capable of supporting XML, and programmatic XML clients. In our architecture, clients transmit HTML or XML messages encoding the service to be invoked (and their required parameters) to a Web server. To comply with industry standards and maximize the potential customer base, the XML messages are expected to conform to the SOAP1 1.1 specifications. The Web server houses a security engine which intercepts all requests and authenticates the requesting client, prior to passing the request to a presentation-processing engine. (Authentication is based on a previously acquired token provided to the requesting client during login.) The presentation-processing engine accepts these requests and, in the case of HTML, converts it to an XML message as if coming from an XML client. The XML message is then passed to an XML engine where the message is parsed and the corresponding backend LocateIt service is invoked. When the response from LocateIt is returned, the XML engine formats it into an XML response message and sends it back to the presentation-processing engine where the message is converted to HTML or passed directly through as XML, depending on the client. The presentation-processing engine may also pass an XSL style sheet as part of the XML processing instructions to a XML capable browser. This allows the client to fetch the style sheet associated with the XML and perform the intended rendering. The valid address information returned in the message, specifically its associated geographical coordinates, can then be used to query the TIMS map server.
ArcIMS servers can be deployed as feature or image servers. The former delivers map features and their attribute information as XML objects for rendering by a thick client; while the latter renders a map and delivers it to a thin client as a bitmap. The TIMS architecture exploits both the feature and image server models.
Esri's ArcIMS feature server was chosen to deliver map information to interconnection consultants. The advantages of this option for this application included optimized local processing of frequent user requests (e.g., turning layers on/off, MapTips, feature highlighting) while minimizing involvement of the map server itself. This results in a mapping service that is more scalable, minimizes the number of roundtrip requests to the server and hence the impact of network congestion, and fast manipulation of map layers. There is also some support for dynamic creation and manipulation of map features (described later) and local rendering of the map data stream enables data caching on the client side.
The TIMS feature server does have some limitations. At the moment, the ArcIMS feature server supports only the Microsoft Internet Explorer® Web browser. Furthermore, the Arc IMS JAVA client requires a one-time downloading of several software components whose multi-megabyte size practically precludes initial connection with the TIMS image server through a dial-up modem.
Esri's ArcIMS image service was selected to deliver maps to LocateIt and CLONES users because this option provides a solution for generating simpler maps involving less data processing. Consequently, there is no need for specialized proprietary software components and maps can be presented on both Microsoft® and Netscape® Web browsers, yielding more widespread deployment on the Internet.
The TIMS image server also has several limitations. Nearly every user action results in a request being sent to the image server, which obviously makes this alternative less scalable (though multiple servers can be run in parallel to mitigate performance problems). We have found that for maps with high-resolution features, e.g., parcels, there is noticeable degradation in server response time when compared to the feature server. In addition, certain tools that require local handling, e.g., MapTips, are not supported with this server option. Since the JAVAScript® library doesn't provide any facilities to implement dynamic layers, features cannot be animated; nor is there support overlaying local layers on a map.
ArcSDE provide a gateway for ArcIMS to access spatial data stored in relational or object-relational databases. The CLONES database stores spatial information, namely longitude and latitude, in two separate columns of fixed-length character type. Spatial information stored in this format cannot support efficient processing of spatial queries such as radius search. A better approach, which we have taken, is to use the Informix® Spatial DataBlade®, which supports native geographical data types and operations. After the CLONES database is spatially enabled, ArcSDE communicates with the Informix Dynamic Server via ODBS to run spatial queries and retrieve the results.
Informix's Spatial DataBlade allows users to define geometric columns that are directly supported by a DBMS. In our case, we create a column of ST_POINT type for each of the network site, network support site and customer site tables. The ST_POINT type is a sub-class of ST_GEOMETRY type and represents a point on a map. These columns are automatically generated by ArcSDE when the spatial layer is created. In addition, for each spatial column, the Informix Spatial DataBlade creates an R-tree index. R-tree is a 2-dimemsional generalization of B-tree and supports more efficient searches of spatial objects. While R-tree adds space overhead to the database, its performance gain on the search can be very beneficial.
The first step to spatially-enable a CLONES table is to register it with ArcSDE. This is done through the ArcSDE command "sdetable -o register -t