Main Page

From Crosspoint

Jump to: navigation, search

Contents

Vision

Crosspoint is a web-based collaboration service intended to enhance interactions among interagency problem holders. Based upon a Service-Oriented Architecture, end users utilize this electronic service to identify a problem and request assistance by issuing a Request for Information (RFI) and identifying the nature of the solution needed (end-state information requirements). Active RFIs are held in a database for review by analysts. An analyst picks (or is assigned) an RFI for review, and the analyst engages the end user as necessary to understand the problem, sharpen the question, and clarify the end user’s goals. The analyst utilizes Crosspoint’s query service to locate Subject Matter Expert (SMEs) whose skill set and availability match the requirements of the problem being addressed. The set of collaborators selected may form a Crisis Action Team (CAT) or, for longer-term problems, a Community of Interest (COI). The collaboration team members collectively develop an action strategy, locate and collect relevant information and data assets, perform analyses, and produce information products and visualizations relevant to the desired information end-state. The analyst managing the RFI ultimately delivers the collaboration team’s response to the end user. Analysts provide feedback regarding the utility of each SME’s contribution. End users provide feedback regarding the utility of the analyst’s response. Over time, analysts and SMEs acquire electronic reputations regarding the utility of their work product.

Need

Today’s collaboration toolsets operate as independent entities with only limited mechanisms for discovery, access, and interaction among users. The collaboration tools themselves (e.g., email, instant messaging, videoconferencing, whiteboards, chat rooms) are often stand-alone applications. Most importantly, these tools assume that the user already knows the identities of those with whom he or she wishes to collaborate, and requires the user to choose collaborators by name or by group affiliation.

In contrast, Crosspoint is a user-friendly environment for problem holders (end users), analysts, and subject matter experts alike. Problems can be described from the problem holder’s perspective, and the characteristics of the desired outcome can be identified. Crosspoint is collaborator-focused, in that the analyst uses a query service to locate SMEs with relevant skills. The analyst can prioritize the search criteria to increase the relevance of the search response. Collaborators are known to the system through SME profiles that characterize the SME’s skills and experience.

Crosspoint will be based upon a Service-Oriented Architecture and will be implemented using web services; this avoids the creation of yet another “stovepipe” or independent application.

Capabilities

To achieve the articulated vision, Crosspoint must support these capabilities:

  • Support user-friendly creation and management of RFIs
  • Permit the analyst to define a search query to be applied to the SME profile database
  • Implement a search that emphasizes the information priorities set by this analyst for this search
  • Respond to the search with targeted suggestions for collaborators
  • Deliver the requested information end-state to the end user

Requirements

Architecture

Crosspoint is based upon a Service-Oriented Architecture (SOA) and is implemented using web services. The demonstration system is being implemented using industry standard languages, tools, and techniques.

Request for Information Service

End users identify their problems using an electronic form, the Request for Information (RFI). RFIs identify the end user and permit specification of the problem description, type of result needed, importance of the request, and a deadline for a response. RFIs permit the user to describe the problem and to identify the desired information end-state using plain text. Each RFI is time-stamped when it is submitted to the Crosspoint RFI database. Analysts can view and modify RFIs to improve their specificity based upon interaction between the analyst and the end user.

Subject Matter Expert Profiles

Subject Matter Experts are identified by their electronic profiles. Profiles permit specification of an expert’s identity, resources, specialization, and experience. The expert’s specialization is identified at two levels: a general characterization of the specialty chosen from a menu, and a more detailed specification provided using plain text. The description of the SME’s experience is also provided using plain text. When an analyst conducts a search of the SME profile database and selects SMEs for inclusion in a Crisis Action Team (CAT) or Community of Interest (COI), administrative tools ease the formation of such groups.

Search Engine

The search engine provides both a basic and an advanced search capability. The basic search permits the analyst to provide free-text search terms that are matched against all the fields in the SME profile database. The advanced search permits the analyst to restrict the search to selected fields, or to indicate an importance factor to be associated with each search term. The search engine returns results in an order consistent with the importance of each search term as specified in the analyst’s query. The search engine is the core intellectual component of Crosspoint.

Feedback

The SME profile provides a field to indicate the SME’s electronic reputation within the community. Analysts can provide feedback information for each SME utilized in a problem solution; over time these feedback ratings contribute to the SME’s electronic reputation. Similarly, end users can provide feedback regarding an analyst.

Access to Information

All information provided in the SME profile is exposed to the search engine, although any SME may mark individual fields of his or her profile such that its content is not displayed if that particular SME profile is returned as part of a search result.


System Architecture

One of Crosspoint’s core design principles is that it be based upon a Service-Oriented Architecture. Our adherence to an SOA approach assures that the services we develop are accessible by any authorized web client, which in turn avoids the generation of stovepipes or proprietary designs.

Crosspoint's System Architecture
Enlarge
Crosspoint's System Architecture

User

The User experiences Crosspoint through a web-based front end (the user interface). Users are all those who utilize the Crosspoint system, including problem holders, analysts, and subject matter experts. In addition, some users may be designated as administrators who have the ability to change certain portions of the Crosspoint system.

We believe that it is not unreasonable to require individuals using the system to first register (making that individual a user). Although it may be frustrating to force individuals to register before receiving any benefit, the information collected during the registration process is no more than what is required to make a request for information. In addition, contact information can be inferred from the user’s account when submitting RFIs, thus simplifying the forms and eliminating redundancy.

Crosspoint User Interface (UI)

The Crosspoint UI serves as the gateway to the administrative engine, SOA service engine, and search engine. In addition, the web-based front end provides a standardized portal to view information stored in the Crosspoint database. The database stores all information pertinent to Crosspoint including user contact information, SME profiles, and RFIs (both active and archived). Before gaining access to the information, users must first authenticate. For simplicity, authentication is handled presently by providing an email address and password, but many other methods of authentication are clearly feasible. Authentication is a module that may be expanded to make it as robust as desired.

Administrator

A Crosspoint administrator functions as an ordinary user as well as database administrator and/or web master. Once an administrator authenticates with the system, additional links are provided to access restricted content.

Administrative Engine

The administrative engine possesses two linked pieces of functionality. First, the administrative engine provides access to the database schema. Administrators may add or remove tables and fields from the schema as well as indicate which fields are required or must be unique. The administrative engine enforces these selections and also provides oversight to safeguard against “accidents.” Complete control of the database schema is obviously provided by the backend database management system. The administrative engine is a convenience, allowing non-experts in database design to modify the system without risking compromise. As changes are made (via the administrative engine), the system will add constraints and indices automatically to the database to ensure both data integrity and performance.

Crosspoint profile page showing personal, SME profile, and contact modules. The contact module contains three fields: location, telephone, and email.
Enlarge
Crosspoint profile page showing personal, SME profile, and contact modules. The contact module contains three fields: location, telephone, and email.

Dynamic Page Generation

The administrative engine also allows administrators to dynamically update the Crosspoint UI. The web-based UI can be roughly broken down into three components. Fields provide the most basic functionality. A field corresponds to exactly one attribute (or column) of a database table. Each field is responsible for displaying this content and allowing users to update this information appropriately. Fields maintain a method for editing the information; for example, the email field allows users to enter an address in freeform text while the specialization field (for SMEs) is restricted (via a drop-down list) to the ontology approved by the administrators. A module contains some number of fields grouped together by a common theme. For example, the contact module contains fields for telephone number, location, and email address(es). Modules also streamline database accesses by reducing the number of queries sent to the database. Finally, a page is composed of modules.

When an administrator modifies a field, module, or page, affected portions of the UI are rebuilt automatically by the system. First, the Dynamic UI Engine determines which fields, modules, or pages are affected by the update. Altering a field requires that all modules including the field be rebuilt, but the same is not true for modules. When a module is modified (e.g., a field is added, altered, or removed), only the module must be updated because pages include module code “on the fly.” (The arrangement limits the amount of rebuilding which must be performed after a change while still providing efficient database access.) After the scope of the change is determined, the Dynamic UI Engine invokes the Schema Crawler to guarantee (1) the database cannot enter an inconsistent state while still providing meaningful error messages to users, and (2) database accesses are handled efficiently by the system.

Schema Crawler

The schema crawler determines database structure and models the entire database schema as a graph. Each table becomes a node in the graph, and foreign keys between tables are represented as edges. Nodes are decorated with attributes including the names and types of table columns as well as database constraints and indices on the specific table.

SOA Service Engine

The SOA service engine functions as an intermediary between the UI and external collaboration tools (e.g., Microsoft Groove, IBM Lotus Sametime). External collaboration environments often provide web-based “lightweight” clients which can be invoked through an ordinary web browser. The SOA service engine will maintain a module for each external collaboration tool; each module specifies how to create and launch a collaboration session. Naturally, users can opt to store login information for each collaboration tool so that their information will not have to be reentered each time a collaboration session is launched.

Search Engine

The search engine may also be decomposed into several distinct modules. A user initiates a search query through the UI. The query is parsed and keywords extracted before passing control to the Information Retrieval (IR) engine. The IR engine is an abstraction of the IR functionality provided by many modern relational database systems. The engine consults either a master index linking query keywords to database tuples or invokes the Schema Crawler to retrieve the full text indices present in the database. The Candidate Network (CN) Generator receives information from the IR engine and determines an efficient execution strategy for retrieving the top-k results of the user’s query. The CN Generator considers the relationships of each database table to determine which tuples may be related to each other. As candidates become available, they are passed to the Execution Engine. The execution engine may reorder the sequence of candidates to ensure efficient database execution. Finally, the Ranking Engine calculates a final relevance score for each candidate retrieved from the database. Ranked results are then displayed to the user.

Database

The Crosspoint database may be any relational database that provides support for full text search. (Full text search functionality is essential for efficient searching.) To avoid licensing restrictions, PostgreSQL was chosen for development purposes. Core database functionality is abstracted into modules completely separated from other pieces of code. Because there are numerous relational database platforms on the market (e.g., MySQL, DB2, Oracle) a simple substitution for the PostgreSQL modules allows the system to interface with alternative databases.

Screenshots

Personal tools