text:
Systems and methods consistent with the present invention provide a data processing system for extending the business data associated with a collaboration tool engine to include spatial reference information for collaborative visualization. The engine has business data type schemas for generating an information store container associated with a respective business data element. A control specification having an information store type schema identifying a corresponding spatial data type schema is provided to the engine. In response to a request, a new information store is generated based on the business type schemas. A roster identifying the information store type schema is provided to the requester. In response to another request, the data processing system generates, via the collaboration tool engine, a spatial reference point container in the new information store for the information store type schema based on the spatial data type schema identified by the information store type schema.
This application claims the benefit of the filing date of U.S. Provisional Application No. 60/756,827, entitled "A System and Method for Extending the Business Data Associated with a Network Based User Collaboration Tool to Include Spatial Reference Information for Collaborative Mapping," filed on January 6, 2006, which is incorporated herein by reference to the extent permitted by law.
The invention relates generally to network-based collaboration tools, and more particularly to systems and methods for enabling a collaboration tool to generate and map or otherwise visualize geographically referenced information.
Standard network-based user collaboration tools, such as Microsoft's SharePoint®, allow users to collaboratively generate, store, and display business data or information (e.g.
SharePoint- lists, images, forms, and documents), associated with a defined project or business data model. However, SharePoint currently lacks the ability to allow users to associate geographical references with the collaboratively generated business data and therefore lacks the ability to map or three dimensionally visualize the geographical references so that users can graphically view newly generated, modified, or removed geographical references associated with the given business data model.
Systems and methods consistent with the present invention extend the capabilities of a network-based user collaboration tool to associate spatial reference information with business data stored in information stores associated with the collaboration tool. The term "information store" as used herein is intended to encompass any mechanism provided by a particular collaboration tool for storage of, or direct or indirect access to, business data irrespective of the collaboration tool's vendor-specific terminology or underlying method(s) of technical realization. In particular, a system and method consistent with the present invention extends Microsoft SharePoint stored list, image, form, and document data to be geographically aware. The method operates such that street addresses in SharePoint information stores are automatically converted to the corresponding latitude & longitude in near-real time without user interaction.
Systems consistent with the present invention also provide a web-based geographical information system ("GIS") viewer application which merges conventional GIS infrastructure layers, viewing controls, and mapping and visualization techniques with such SharePoint - stored data, including dynamic discovery of all GIS-enabled data within a SharePoint installation. Hereafter the term "visualization" will refer to a computerized rendering of two- dimensional maps, aerial photograph overlays, and mosaics as well as three-dimensional images, photographs, montages, fly-throughs, "bird's eye views", and other known three- dimensional images.
In addition, integrated linkages between the collaboration tool (e.g. SharePoint ) and the viewer web application are provided in systems consistent with the present invention such that users can switch at will between viewing data points in either the collaboration tool's business data display or the web-based GIS viewer web application. In accordance with methods consistent with the present invention, a method in a data processing system for extending the business data associated with a network-based user collaboration tool engine to include spatial reference information for collaborative visualization is provided. The collaboration tool engine has one or more business data type schemas for generating an information store container associated with a respective business data element. The method comprises providing a control specification to the collaboration tool engine. The control specification has one or more information store type schemas. Each information store type schema identifies a corresponding spatial data type schema in association with a geographical data type schema. The method further comprises receiving a request to generate a new information store; generating, via the collaboration tool engine, the new information store based on the one or more business type schemas; providing to the requestor a roster identifying the one or more information store type schemas; receiving a second request to add the one or more information store type schemas to the new information store; and in response to the second request, generating, via the collaboration tool engine, a spatial reference point container in the new information store for each of the one or more information store type schemas based on the spatial data type schema identified by the respective information store type schema.
In accordance with systems consistent with the present invention, a data processing system is provided. The data processing system comprises a collaboration tool system that includes a secondary storage having a control specification. The control specification has one or more information store type schemas. Each information store type schema identifies a corresponding spatial data type schema in association with a geographical data type schema. The collaboration tool system further includes a memory having a collaboration tool server and a geo-code driver operatively connected to the collaboration tool server and operatively configured to communicate with a geo-coding source. The collaboration tool server is operatively configured to control a collaboration tool engine based on the control specification, receive a request to generate a new information store, generate the new information store based on the one or more business type schemas via the collaboration tool engine, provide to the requestor a roster identifying the one or more information store type schemas, receive a second request to add the one or more information store type schemas to the new information store, and, in response to the second request, generate a spatial reference point container in the new information store for each of the one or more information store type schemas based on the spatial data type schema identified by the respective information store type schema. The collaboration tool system further includes a processor to run the collaboration tool server and the geo-code driver.
Fig. 4 depicts a flow diagram illustrating a process performed by the collaboration tool server to allow a user to create and update a record in a GIS-enabled information store in accordance with the present invention; and Fig. 5 depicts a flow diagram illustrating a process performed by the collaboration tool server and the web-based GIS viewer to allow user to selectively view a visualization of one or more GIS-enabled information stores in accordance with the present invention.
Fig. IA is a block diagram of a data processing system 100 having a collaboration tool system 102 enabled in accordance with the present invention to generate, store, and display geographical reference points associated with business data generated or accessed by or accessible through the collaboration tool system. Fig. IB is an exemplary functional block diagram of the image processing system 100 of Fig. IA. The data processing system 100 includes one or more client computers 50a-50n that are operatively connected via a network 51 to the collaboration tool system 102. The client computers 50a-50n may be any general- purpose computer system such as an IBM compatible, Apple, or other equivalent computer. The network 51 may be any known private or public communication network, such as a local area network ("LAN"), WAN, Peer-to-Peer, or the Internet, using standard communications protocols. The network 51 may include hardwired, as well as wireless branches.
As shown in Fig. 1, the collaboration tool system 102 comprises a central processing unit (CPU) 104, an input output (I/O) unit 106 for communicating across the network 51, a memory 108, a secondary storage device 110, and a display 112. The collaboration tool system 102 may further comprise standard input devices such as a keyboard 114, a mouse 116 or a speech processing means (not illustrated). The various components of the collaboration tool system 102 maybe physically located remotely from each other and connected via the network 51. Memory 108 stores a collaboration tool server 120, a geo-code driver 122, and web- based GIS viewer 124. As discussed in detail below, the collaboration tool server 120 encapsulates or extends the capabilities of an existing collaboration engine 126 to enable one or more users operating client computers 50 to create, access, and modify an information store 128a-128n so that spatial reference information and corresponding geographical reference point are associated with business data in the information store 128a-128n. In one implementation, the collaboration tool system 102 may be operatively connected to a database 130 for storing information stores 128a-128n generated by the collaboration tool server 120 as further described herein. However, the information stores 128a-128n may be contained in memory 108, secondary storage 110, or in a remote storage (not shown in figures) across the network 51.
The collaboration tool system 102 implemented in accordance with the present invention is referenced herein as a GIS-Enabled SharePoint® system. However, the present invention may be employed using other known collaboration tools such as Oracle Collaboration Suite or IBM Lotus Notes/Domino. As shown in Fig. 1, the data processing system 100 also includes a control file or specification 132. The term "specification" is used herein to generically refer to a persistent storage facility, interface, and content format operatively configured in accordance with the existing collaboration tool engine 126. Each control specification 132 serves to define and control the GIS-specific extensions (e.g., geographical reference point 254 in Fig.2) to the collaboration tool engine 126's information stores 128a-128n. The control specification 132 has one or more information store definitions 133a-133n each of which identifies a corresponding business data element type (e.g., city emergency response entity, such as a fire department) in association with a spatial reference point type (e.g., street address). For example, as shown in Fig. 2, each information store definition 133a-133n of the control specification 132 may correspond to a respective information store type schema 200a-200n having a structure consistent with data types recognizable by the collaboration tool engine 126 such that the collaboration tool engine may be prompted to instantiate or form an information store 128a-128n in accordance with a request from a user accessing the collaboration tool server 120. In the implementation shown in Fig. 2, the control specification 132 has one or more information store type schemas 200a~200n, each of which defines the schema for a particular type of information store 128a-128n. Each information store type schema 200a-200n includes two sub-schemas, a spatial data type schema 210 and a geographical data type schema 220. The spatial data type schema 210 includes one or more spatial data field schemas 215a-215n which define the attributes (data type, storage size, etc) of specific spatial data fields, such as street address, postal code, country, or other spatial reference information. The geographical data type schema 220 includes one or more geographical data field schemas 225a-225n which define the attributes (data type, storage size, etc) of the specific geographical data fields, such as latitude, longitude, point type, display icon, or other geographical reference information.
128a-128n based on a user or application 70 request as described in further detail herein. The content and structure of business data type schemas 230a-230n is based on the vendor and version of the collaboration engine 126. The business data type schemas 230a-230n may be hierarchical and/or extendable. In one implementation, the structure and format of information store type schemas 200a-200n and business data type schemas 230a-230n are substantially the same.
The collaboration tool server's 120 collaboration tool engine 126 processes the control specification 132 in conjunction with the business data store schemas 230a-230n provided during the installation of the collaboration tool server 120 or by the end user operating the client computer 50 to construct or extend GIS-enabled information stores 128a- 128n in accordance with the control specification 132 as further discussed below. Thus, the collaboration tool server 120 effectively enables user selectable business data schema(s) (e.g., 23On in Fig. 2), the spatial schema (e.g., 210) and the geographical schema (e.g., 220) into a single GIS-enabled schema from which a respective information store (e.g., 128n in Fig. 2) may be instantiated by the collaboration tool server 120 via the collaboration tool engine 126. As shown in Fig. 2, when the collaboration tool server 120 causes the information store 128n to be instantiated, the information store 128n includes one or more data rows 240a-240n. Each data row 240a-240n includes a business data portion 250 corresponding to the selected business data type schema(s) 230a-230n, spatial reference point portion(s) 252 corresponding to the selected spatial data type schema(s) 210, and geographical reference point portion(s) 254 corresponding to the selected geographical data type schema(s) 220.
GIS-Enabled SharePoint® 2007, the control specification comprises one or more SharePoint® List Templates and also SharePoint Content Type Definition Features, which collectively may be used to implement one or more information store type schemas 200a-200n as discussed herein. The SharePoint® List Templates and SharePoint Content Type Definition Features are physically implemented as XML data files whose content format is conventional XML and SharePoint's proprietary dialect (i.e., CAML). These files are physically stored on the machine(s) hosting the collaboration engine 126. Implementation details for SharePoint Content Type Definition Features are available from Microsoft at http://msdn2.microso.ft.com/en-us/library/ms434313.aspx and http://msdn2.microsoft.com/en-us/library/ms460318.aspx.
The collaboration tool engine 126 may, depending on the specific brand, model, version, and configuration of the collaboration tool engine 126, provide access to auxiliary business data elements 134a-134n stored, for example, in a database 136 associated with a particular business data source of an enterprise or company. Without limitation, examples of auxiliary business data elements 134a-134n include enterprise customer relationship management ("CRM") systems, employee data (Human Relations) systems, government agency caseload management systems, hospital medical records systems, and other known business data elements. The database 136 may be accessible by the collaboration tool server 120 across the network 51 or via a local or a respective private network 137a-137n. When operatively configured via auxiliary business data specifications 138a-138n, such data is made accessible to users of the collaboration tool engine 126 and hence users of the collaboration tool system 102, in a manner which largely or completely mimics that of information actually stored within the collaboration tool engine 126. The collaboration tool engine 126 may use any technical means to catalog, retrieve, display, and update such auxiliary business data that may itself reside in any storage or access technology interoperable with the collaboration tool engine 126.
The format and structure of an auxiliary business data specifications 138a-138n is based on the specific vendor and version of the collaboration tool engine 126. Typically an auxiliary business data specification 138 will include information elements describing the technical method of communication (e.g., direct SQL database connection, XML web service, RPC, or other communication technique.), the location of the source server (e.g. address, DNS name, server name, database identity, or other source server location information); the security protocol and security identity (e.g., type of authentication, user logon, user password or certificate, encryption requirements and protocols); the specific data elements to retrieve or update (e.g. named XML service methods, SQL tables, views, stored procedures, etc. and their corresponding input parameter requirements and result set schemas, such as field names, data types, data sizes, and data relationships), any translation between the data types and schemas supported by the source and that supported by the collaboration tool engine 126. Additional similarly-structured elements may provide information required for the collaboration engine 126 to perform updates to the auxiliary business data elements 134a-134n. When auxiliary business data elements 134a-134n are available or stored on an auxiliary business data source database 136a-136n and configured for access by the collaboration tool server 120 via a respective auxiliary business data source specification (e.g., 138a in Fig. 2 ) that includes auxiliary business data type schemas 260a-260n , the collaboration tool server 120 processes the auxiliary business data source specification 138a to effectively cause the collaboration tool engine 126 to generate an information store (e.g., information store 128a) substantially equivalent to an information store (e.g., information store 128n) generated by the collaboration tool engine 126 using the control specification 132 as discussed above. Thus, in accordance with the present invention, the collaboration tool server 120 is operatively configured to extend the capabilities of the collaboration tool engine 126 so that the collaboration tool engine 126 is equally capable of operating on auxiliary business data 134a-134n. Accordingly, an information store 128a-128n, as used throughout, may include information stores generated based on auxiliary business data and information stores generated based on business data associated with the information store definitions 133a-133n or information store type schemas 200a-200n in the control specification 132.
A user, via a browser 52 on a client computer 50, may access the collaboration tool server 120 to create, edit or delete information stores 128a-128n (e.g. SharePoint® lists, libraries, etc.) hosted on the collaboration tool server 120, and to attach or detach GIS- enablement to them as described in further detail below, for example, in reference to Fig. 3. After processing the control specification 132, the collaboration tool server 120 effectively causes the collaboration tool engine 126 to be operatively configured to expose a new or amended GIS-Enabled information store 128a-128n in accordance with a respective information store definition 133a-133n in the control specification 132. As shown in Fig. 2, each information store 128a-128n functions as a container for data rows 140a-140n, each of which has capacity for storing both arbitrary business data 250, a corresponding spatial reference point 250 and a geographical reference point 254. Each information store 128a- 128n generated by or accessible by the collaboration tool server 120 via the collaboration tool engine 126 immediately becomes accessible to the geo-coding driver 122 and the web-based GIS viewer 124. An external application 70, of whatever description(s) or purpose(s), running on external application server 72 may access the collaboration tool server 120 to create, edit or delete information stores 128a-128n (e.g. SharePoint® lists, libraries, etc.) hosted on the collaboration tool server 120, and to attach or detach GIS-enablement to them as described in further detail below, for example, in reference to Fig. 3. After processing the control specification 132, the collaboration tool server 120 effectively causes the collaboration tool engine 126 to be operatively configured to expose a new or amended GIS -Enabled information store 128a-128n in accordance with a respective information store definition 133a-133n in the control specification 132. As shown in Fig. 2, each information store 128a- 128n functions as a container for data rows 140a-140n, each of which has capacity for storing both arbitrary business data 250, a corresponding spatial reference point 250 and a geographical reference point 254. Each information store 128a-128n generated by or accessible by the collaboration tool server 120 via the collaboration tool engine 126 immediately becomes accessible to the geo-coding driver 122 and the web-based GIS viewer 124.
One of ordinary skill in the art will appreciate that the access technique implemented by the collaboration tool server 120 and the external application 70 may vary depending on the particular collaboration tool engine 126 employed by the collaboration tool server 120. For example, when the collaboration tool engine 126 employed by the collaboration tool server 120 is SharePoint® and extended or encapsulated in accordance with the present invention, an external application 70 may use an XML web service and/or a remote procedure call (RPC) technique to communicate with the collaboration tool server 120. A user, via a browser 52 (such as Internet Explorer® or Netscape®) on a client computer system 50, may access the collaboration tool server 120 to create and/or edit a GIS-enabled data row 240 associated with GIS-enabled information store 128a-128n (e.g. save, edit, & delete SharePoint®-stored list items, forms, and documents) hosted on the collaboration tool server 120 as further described herein, for example, in reference to Fig. 4.
An external application 70, of whatever description(s) or purpose(s), running on external application server 72 may access the collaboration tool server 120 via the network 51 to create and/or edit GIS-enabled data containers or rows 240 associated with GIS-enabled information store 128a-128n (e.g. save, edit, & delete SharePoint®-stored list items, forms, and documents) hosted on the collaboration tool server 120. One of ordinary skill in the art will appreciate that the access technique implemented by the collaboration tool server 120 and the external application 70 may vary depending on the particular collaboration tool engine 126 employed by the collaboration tool server 120. For example, when the collaboration tool engine 126 employed by the collaboration tool server 120 is SharePoint® and extended or encapsulated in accordance with the present invention, an external application 70 may use an XML web service and/or a remote procedure call (RPC) technique to communicate with the collaboration tool server 120. In addition, an external application 70 may mine external data sources for items of interest or gather data from other line-of- business applications (not shown in figures) and use the collaboration tool system 102 as a publishing or distribution channel or as an archive by generating GIS-enabled information stores 128a-128n via the collaboration tool server 120.
As shown in Figs. IA and IB, the collaboration tool server 120 also includes one or more event trigger/response components or modules 140 (e.g., GIS-Enabled SharePoint® Event Triggers or Features) each of which monitors a predetermined location or collection of information store 128a-128n locations, such as a SharePoint® data store location, where respective GIS-enabled information stores 128a-128n may have been created and stored by the collaboration tool server 120. Each of the event trigger/response modules 140 is operatively configured to react to or generate an event trigger upon the creation or deletion of GIS-enabled information stores 128a-128n, the creation or deletion of GIS-enabled records/documents within each of the information stores 128a-128n (e.g., business data row 250 information), and the update of GIS -significant fields (e.g., spatial reference point 252 or geographical reference point 254) within or associated with such records/documents. The event trigger mechanism of the event-trigger modules may be implemented across any technology base associated with the collaboration tool engine 126 encapsulated or implemented in the collaboration tool server 120. In one implementation in which the collaboration tool engine 126 is Microsoft® SharePoint,® the collaboration tool server 120 may utilize several Microsoft® technologies to implement the event trigger mechanism of the event trigger/response modules 140, including but not limited to SQL Server, MSMQ, .NET XML web services, and the SharePoint® object model and SharePoint® event facility. The conversion of a street address, street intersection , or similar culturally-described location (i.e. "a spatial reference point") to a latitude/longitude pair (i.e. a "geographical reference point" or "X/Y pair") is conventionally termed "geo-coding". Geo-coding can be performed by any number of publicly accessible geo-coding vendors such as ESRI, Google Maps®, or Microsoft® Virtual Earth®, as well as by privately-owned & locally installed specialist software from a similar array of vendors. Collectively these facilities are referred to herein as "geo-coding sources" or "geo-coding source systems". Particular geo-coding source systems may also return additional geographic information such as altitude; perform additional geographic services such as address correction; provide auxiliary cultural information, and other geographic related information. In each case data returned is applicable to the particular X/Y coordinate.
The geo-code driver 122 includes a source-agnostic geo-coding interface 144 and a plurality of source-specific geo-coding connectors 146. The geo-coding interface 144 is operatively configured to receive an event triggered by a respective event trigger/response module 140 of the collaboration tool server 120 and transfer the event to a corresponding one of the geo-coding connectors 146. Each geo-coding connector 146 is operatively configured to communicate with a respective geo-coding source system 150 using one of a variety of mechanisms, such as an XML web service, an RPC, or SQL record or file system drop. Regardless of the mechanisms used, in response to receiving an event from a respective event trigger/response module 140 via the geo-coding interface 144, each geo-coding connector 146 provides to the respective geo-coding source system 150 an address derived from the GIS-enabled information store 128a or 128n having the newly created or changed GIS- signifϊcant field (e.g., new or modified spatial reference point 252). In return, the respective geo-coding connector 146 is operatively configured to receive from the respective geo-coding source system 150 a geographic reference point (e.g., a latitude and a longitude, plus other source-specific optional geographic attributes) corresponding to the spatial reference point associated with the GIS-enabled information store record or document having the newly created or changed GIS -significant field. The respective geo-coding connector 146 is adapted to post or store, via the source agnostic geo-coding interface 144, the geographic reference point 254 data in association with the GIS-enabled information store 128a or 128n record or document which caused the event to be triggered.
In one implementation, for example when the collaboration tool server 120 extends or encapsulates SharePoint® 2003 as the collaboration tool engine 126 consistent with the present, the event trigger/response module 140 is operatively configured to monitor for the collaboration tool engine 126 to update (e.g., read from or to write to) or to delete the spatial reference point 252 or the geographical reference point 254 associated with a respective information store 128a-128n. When the information store 128a-128n is updated by the collaboration tool engine 126, the event trigger module/response module 150 communicates to a geo-coding interface 144 of the geo-coding driver 122 as further described below so that the corresponding geographical reference point 254 associated with a respective information store 128a-128n may be updated to reflect any change to the spatial reference point 252 of the information store 128a-128n. In another implementation , for example when the collaboration tool server 120 extends or encapsulates SharePoint® 2007 as the collaboration tool engine 126 consistent with the present invention, the event trigger/response module 140, the collaboration tool engine 126 includes an event subscription interface 142. In this implementation, the control specification 132 may include an event subscription 270 associated with an information store type schema (e.g., 20On) as shown in Fig. 2. The event subscription 270 causes the collaboration tool engine 126 to assign an event within the event subscription interface 142 to the event trigger/response module 140 so that when an information store (e.g., 128n) corresponding to the information store type schema (e.g., 20On) and the event subscription 270 is updated by the collaboration tool engine 126, the event subscription interface 142 communicates to the respective update event to the event trigger/response module 150. In response, the event trigger/response module 150 communicates the update event to the geo- coding interface 144 as further described below so that the corresponding geographical reference point 254 associated with a respective information store 128a-128n may be updated to reflect any change to the spatial reference point 252 of the information store 128a-128n.
In accordance with the present invention, a user, via the browser 52 on the client computer system 50, may also access the web-based GIS viewer 124 to view and/or manipulate a visualization of GIS-enabled data (e.g., spatial reference point 252 or geographical reference point 254) associated with GIS-enabled information stores 128a-128n created and managed by the collaboration tool server 120. The web-based GIS viewer 124 includes a display/control application, which may be an extension to a conventional web- based GIS viewer/editor application or toolkit, such as a web-based GIS viewer/editor commercially available from ESRI, Google®, or Microsoft®. In addition to offering the pan, zoom, search, select, and view options of a typical GIS viewer/editor, the web-based GIS viewer 124 has at least the following two key user selectable extensions: secure dynamic discovery ("SDD" interface 194 to SDD component of the collaboration tool server 120) and secure point retrieval ("SPR") sub-process.
URL associated with one or more GIS-enabled information stores hosted on the collaboration tool server 120 may see different data layers in a visualization generated by the web-based GIS viewer 124 depending on the personal security authority or profile (not shown in figures) associated with the user. SDD communication may be accomplished via an XML web service. In one implementation, the SDD interface 194 of the web-based GIS viewer is further augmented with a manual configuration of a persistent SharePoint®-based layer to provide specific repeatable graphic symbology and/or detailed data point categorization within the layer. Absent manual configuration, the SDD assigns unique symbology to each layer. SPR extension of the collaboration tool server 120 is operatively configured to allow the web-based GIS viewer 124 to retrieve points (e.g., geographic reference points 254 and business data attributes stored in the associated business data rows 250 of respective information stores 128a-128n) stored within the collaboration tool server's 120 installation site or within the data processing system 100. The web-based GIS viewer 124 is operatively configured to then display the retrieved points and associated business attributes in situ on the visualization web page provided to the browser 52 of the client computer 50 operated by the user. The GIS viewer 124 is also operatively configured to provide user interface (UI) linkages back into the associated GIS-enabled information store record hosted by the collaboration tool server 120. The UI linkages connect the user's browser 52 directly to the source data.
In one implementation, the collaboration tool server 120 incorporates an extract-and- save capability. This capability permits users to identify points on a visualization generated from local data layers 164 & GIS-enabled information stores hosted on the collaboration tool server 120; and to copy such identified points into alternative existing or newly created GIS- enabled information stores hosted on the collaboration tool server 120.
Turning to Fig. 3, a flow diagram is shown illustrating a process 300 performed by the collaboration tool server 120 to allow a user to generate a GIS-enabled information store 128a-128n having the capacity to store business data rows 250 coupled with a spatial reference points 252 and corresponding geographical reference points 254 consistent with the present invention. Initially, the collaboration tool server receives a request to create an information store from a requestor (e.g., a user operating client computer 50 or a network external application 70) (step 302). In one implementation, this request takes the form of the browser 52 posting a web page (not shown in figures) to the collaboration tool server 120 providing the location and name for the desired information store 128a or 128n as well as an initial information store schema from among the business data type schemas 230a-230n and the information store type schemas 200a-200n, which includes GIS-enabled information store type schemas characterized by or having spatial data type schema 210 and a corresponding geographical data type schema 220. In an alternate implementation, the request takes the form of an XML web service call (not shown in the figures) from an external application 70 to the collaboration tool server 120 providing the location and name for the desired information store 128a or 128n as well as the desired initial information store schema from among the business data type schemas 230a-230n and the information store type schemas 200a-200n, which includes GIS-enabled information store type schemas characterized by or having spatial data type schema 210 and a corresponding geographical data type schema 220. One of ordinary skill in the art will appreciate that additional or differing means of accomplishing the logically equivalent outcome may exist using various collaboration engines 126 and the collaboration tool server 120.
GIS-enabled information store type schemas to the requestor (step 306). In one implementation, the collaboration tool server 120 responds to the web page post of step 302 by replying with a web page (not shown in figures) indicating success in the creation of the information store 128a and showing the initial information store schema associated with the information store 128a. In addition, the web page may include a display of additional available business data type schemas 230a-230n and information store type schemas 200a- 20On, including GIS-Enabled information store type schemas having spatial data type schema 210 and a corresponding geographical data type schema 220 derived from the control specification 132. Upon receipt of the display of such schemas, the user may elect to cause his browser 50 to request that the collaboration tool server 120 add a plurality of such schemas, including GIS-enabled information store type schemas, to the schema of the instant information store (e.g. 128a). In an alternate implementation in which the requestor is an external application 70, the roster 190 may be provided in the form of an XML web service response back to the external application 70 from the collaboration tool server 120 indicating success in the creation of the information store and showing the initial information store schema associated with the information store 128a. Additional XML web services and web service methods may be used by the collaboration tool server 120 to make available to the external application 70 (on request) an enumeration of the available business data type schemas 230a-230n. and the information store type schemas 200a-200n, including GIS- Enabled information store type schemas derived from control specification 132. Upon receipt of the enumeration of such schemas, the external application 70 may elect to request that the collaboration tool server 120 add a plurality of such schemas, including GIS-Enabled schemas, to the schema associated with the instant information store (e.g. 128a). One of ordinary skill in the art will appreciate that additional or differing means of accomplishing the logically equivalent outcome may exist using various collaboration engines 126 and the collaboration tool server 120.
Next, the collaboration tool server 120 receives a request from the requestor to add one or more of the GIS-enabled information store schemas to the information store (step 308). In one implementation, this request takes the form of the browser 52 posting a web page (not shown in figures) to the collaboration tool server 120 providing the identity of the information store 128a as well as the identity(ies) of a plurality of desired additional information store schema(s) from among the business data type schemas 230a-230n. and the information store type schemas 200a-200n, including GIS-enabled information store type schemas having a respective spatial data type schema 210 and a corresponding geographical data type schema 220. In an alternate implementation the request takes the form of an XML web service call from an external application 70 to the collaboration tool server 120 providing the identity of the information store 128a as well as the identity(ies) of a plurality of desired additional information store schema(s) from among the business data type schemas 230a-230n. and the information store type schemas 200a-200n, including GIS-enabled information store type schemas having a respective spatial data type schema 210 and a corresponding geographical data type schema 220. One ordinarily skilled in the art can readily appreciate that other communication techniques for receiving a request from a user or an external application other than a web page or an XML web service call may be employed without departing from the scope of the present invention.
The collaboration tool server 120 then generates a container (e.g., information store field 280a-280n) in the information store based on each requested GIS-enabled information store schema (step 310) before ending processing. In one implementation, the collaboration tool server 120 causes the collaboration engine 126 to locate the schema (e.g., business data type schemas 230a-230n and/or information store type schemas 200a-200n) associated with the referenced information store (e.g. 128a) from its information store database 130, and for each requested GIS-enabled information store schema, access the requested schema (e.g., 200n) from the control specification 132 and generate corresponding entries in its information store database 130 to implement the information store fields 170a-170n based on the respective requested schema (e.g., including spatial data field schemas 215a-215n and geographical data field schemas 225a-225n) by recording its respective attributes (e.g. name, data type, storage capacity, and display format) and other information store attributes as may exist in the respective information store type schema 200a-200n (e.g. display options, security restrictions, etc.) Finally, entries are made in its information store database 130 to add additional data container(s) or row(s) 240a-240n to the newly created information store (e.g. 128a) based on the requested GIS-enabled information store schema. Note that the process of steps 306 - 310 is, or can be, iteratively performed by the collaboration tool server 120. Fig.4 depicts a flow diagram illustrating a process 400 performed by the collaboration tool server 120 to allow a user to create or update a data container or row (e.g. 240a) in a GIS-enabled information store 128a-128n in accordance with the present invention. Initially, the collaboration tool server receives a request from a requestor (e.g., a user operating client computer 50 or a network external application 70) to create or update a data row (e.g. 240a) (Step 402). In one implementation, this request takes the form of the browser 52 posting a web page to the collaboration tool server 120 providing the location and identity for the relevant information store (e.g. 128a) and the identities and values for business information store fields (e.g., 280a-280j) and spatial reference point information store fields (e.g., 280k- 28Oq) associated with the schema (e.g., 230a-230n and 200a-200n) associated with the instant information store (e.g. 128a). For updates to an existing data container or row (e.g., 240a), the identity of such data row is also provided. In an alternate implementation the request takes the form of an XML web service call from an external application 70 to the collaboration tool server 120 providing the equivalent information. One of ordinary skill in the art will appreciate that additional or differing means of accomplishing the logically equivalent outcome may exist based on the various collaboration engines 126 used by the collaboration tool server 120.
Next, the collaboration tool server 120 then locates the requested information store and creates or updates the data container or row (e.g. 240a) as requested (Step 404). In one implementation, the collaboration tool server 120 requests the collaboration engine 126 to locate the schema of the referenced information store (e.g. 128a) from its information store database 130, then, in the case of an update, locate the respective data container or row (e.g., 240a) from the information store (e.g., 128a). In the case of an update, the information store type schema (e.g., 20On) associated with or used by the collaboration tool server 120 to instantiate the respective data container or row is referenced to match the data element names & values provided in the update request with the underlying physical storage of the information store database 130, and to direct the information store database 130 to store such updated values in the matched physical locations for the data row (e.g., 24On). To create a new data container or row (e.g., 24On) the collaboration tool server 120 performs a similar process as an update using the collaboration tool engine 126; the schema 230a-230n and/or 200a-200n associated with the respective information store 128a-128n is referenced to match provided data elements and values provided in the create request with the underlying physical storage of the information store database 130, followed by directing the information store database 130 to create a new data container or row (e.g., 24On) with the new values in the matched physical information store fields 170a-170n of the new data container or row.
performs steps 420-424 as discussed below. After performing either steps 410-414 or steps 420-424, the collaboration tool server 120 continues processing at step 430.
Next, the event response module 141 determines whether the event occurrence or the notice of change corresponds to a GIS-enabled data container or row update (e.g., spatial reference point 252 update), and if so, communicates the event occurrence or notice of change to the geo-coding interface 144 (step 414). After determining that the collaboration tool engine 126 does have an event subscription interface 142, the event subscription interface 142 receives notice of the new/updated data container or row (e.g., 240a) (Step 420) as previously described in reference to event subscription 270. In one implementation, the collaboration engine 126's event subscription interface 142 stores information about event subscriptions 270 in secondary storage 110 and/or memory 108. One ordinarily skilled in the art can readily appreciate that the specificity of event subscriptions may vary between differing collaboration engines 126.
Next, the event subscription interface 142 communicates the event occurrence or the notice of change to the event response module 141 (step 422). In one implementation, when operatively configured, the present invention's event subscription is retrieved by the event subscription interface 142 in response to any data row creation/ update event affecting an information store 128a-128n associated with the event subscription 270. The event subscription interface 142 then communicates the event occurrence or notification of change to the event response module 141 by instantiating an copy of such module and passing to it a notification containing the nature of the event and the identity of the information store (e.g.
128a) and data row (e.g. 240a) associated with the event. One ordinarily skilled in the art can readily appreciate additional or differing functionally equivalent possibilities which may exist when the present invention is applied to differing collaboration engines 126.
The geo-coding interface 144 then identifies the corresponding source-specific geo- coding connector 146 from the operable configuration and context associated with the respective information store (e.g., 128a), and passes the spatial reference point 252 data to the identified geo-coding connector (Step 432). In one implementation, the geo-coding interface 144 references the information store schema 128a to determine the corresponding spatial data type schema 210 from the control specification 132 and thereby determine the appropriate geo-coding connector 146. In another implementation, the configuration information may be stored internal to the collaboration tool server 120 to identify a geo-coding connector 146 for each instantiated information store 128a-128n. Next, the geo-coding connector 146 contacts the geo-coding source system 150, provides it the spatial reference data and in turn receives geographical reference data, geo- coding status / results message, plus optional additional geographical attributes (Step 434). The geographical reference data, geo-coding status / results message, plus such additional geographical attributes as are made available are collectively termed herein "geographical results". In one implementation, the geo-coding connector 146 contacts Microsoft® MapPoint Web Services via XML web service and passes the spatial reference point information to the XML web service according to its well-known documented syntax and semantics. In response, the Microsoft® MapPoint Web Services® XML web service provides geographical results that include a geographical reference point (i.e. latitude & longitude), and an indication of success or failure and if failure some diagnostic information as to cause of failure.
The geo-coding connector 146 then passes the received geographical results back to the geo-coding interface 144 (Step 436). In one implementation, the geo-coding connector 146 composes such results into its return object (a term of art commonly known to skilled practitioners) and transfers the return object and programmatic control back to the geo-coding interface 144.
Next, the geo-coding interface 144 posts the geographical results back to the collaboration tool server 120 along with a reference to the associated information store (e.g., 128a) and identification of the data container or row (e.g., 24On) (Step 438). In one implementation, the geo-coding interface 144 uses the identity information obtained in step 414 or 424 to identify the instant data row (e.g. 240a).
The collaboration tool server 120 then locates the identified information store 128a and data row and updates the data row as requested (Step 440) before ending processing of process 400. In one implementation, the collaboration tool server 120 requests the collaboration tool engine to update the geographical reference point 254 data of the identified data container or row of the identified information store (e.g., 128a).
Turning to Fig. 5, a flow diagram is shown illustrating a process 500 performed by the collaboration tool server 120 working cooperatively with the web-based GIS viewer 124 to allow a user to selectively view a visualization of one or more GIS-enabled information stores 128a-128n in accordance with the present invention. Because this is a cooperative effort between two largely independent components of the collaboration tool system 102, there is a respective start point, labeled Start 1 & Start 2 on Fig. 5, associated with the respective component (the collaboration tool server 120 and the web-based GIS viewer 124 for performing the process 500. Although the process 500 is described herein as beginning with Start 1 based on an end-user access of the collaboration tool server 120, an end-user operating on a client computer 50 could alternatively first access the web-based GIS viewer 126 to cause the process 500 to begin at Start 2. To provide clarity to this aspect of the present invention associated with the process 500, a representative example involving an emergency management application dealing with evacuating a nursing home in the face of rising floodwaters is presented in context with the description of the process 500.
Commencing from point Start 1, the collaboration tool server 120 receives a request to display GIS-enabled business data (e.g. 240a) stored in an information store (e.g. 128a) and provides response. (Step 502). As a representative example, consider an information store containing data rows corresponding to nursing homes and containing business data consisting of management contact information and resident census information as well as spatial reference information ( i.e. street address) and geographical reference information (i.e. latitude / longitude). In one implementation, the request is in the form of a web page posted from the user's browser 50 which instructs the collaboration tool server 120 to generate a tabular report of data container(s) or row(s) (e.g. 240a-240n) from an information store (e.g. 128a). hi response, the collaboration tool server 120 retrieves the requested data from its information store database 130 and generates a web page containing the data formatted in a tabular row and column fashion. Because the information store (e.g. 128a) is GIS-enabled with spatial reference point 252 data and corresponding reference point 254 data as described herein in addition to business data 250, the information store includes a geographical reference URL which corresponds to a command to the web-based GIS viewer 124 to display a visualization of a certain configured type and containing a geographical reference point corresponding to this business record 250. The tabular data on the web page includes the geographical reference URL as a selectable (i.e., navigable) link. Having assembled the web page as described above, the collaboration tool server 120 transmits the page to the user's browser 50 for display.
1 Next, the user views the GIS-Enabled business data containers or rows 240a-240n from the collaboration tool server 120 using traditional textual record-oriented reporting or editing user interface (not show in figures) (Step 504). As a representative example, assume the user (an emergency management dispatcher) has requested the information associated with GIS-enabled business data containers or rows 240a-240n because of a call from one nursing home reporting rising floodwaters threatening their facility & residents. The user observes via the browser 50 the data 240a-240n as provided by the collaboration tool sever 120 sorted by name & locates the affected home.
Next, the user observes a business data row of interest (e.g., 24On) and requests the collaboration tool server 120 provide a visualization of this business data row of interest in association with related geographical reference points (e.g., point 254) (Step 506). As a representative example, our user recognizes the nursing home by name and wants to view it, and other nearby nursing homes, on a map (not shown in figures) created by the web-based GIS viewer 124 including topographical data and floodwater contour predictions.
(Step 522). As a representative example, the web-based GIS viewer 124 receives the request generated by our user in step 508. In one implementation, the web-based GIS viewer 124 examines the request to determine the visualization type desired and the geographical reference point(s) 254 desired. If such parameters are missing from the request, the web- based GIS viewer 124 provides a default visualization (for example, a 2D map) lacking any visible geographical reference points and centered on a operatively configurable geographical location (typically the center of the installation's region of interest or responsibility).
Next, the web-based GIS Viewer 124 contacts the collaboration tool server 120 to perform SDD based on the end-user's credentials (e.g., corresponding to the end-user's profile stored on the data processing system in accordance with known authentication techniques). The web-based GIS viewer retrieves a roster of available information stores or equivalently, GIS layers (Step 524). As a representative example, the web-based GIS viewer contacts the collaboration tool server 120's SDD component which reports that this user has available GIS-Enabled information stores 128 including schools, school bus storage yards, and current up-to-the-minute locations of city transit busses. In one implementation, the communication from the web-based GIS viewer 124 to the collaboration tool server 120 is accomplished via XML web service and passing along the end-user access credentials. The SDD component 192 web service queries the collaboration engine 126 via its well-known documented interfaces to determine the topology of the installation as of that moment and the GIS-enabled information stores available at each point in the topology to that user in accordance with the user's credentials. The collaboration engine 126 consults the secondary storage 110 and information store database(s) 130 to determine the appropriate response(s) to the SDD 192 web service queries. The collaboration tool server 120's SDD component 192 web service returns this information to the web-based GIS viewer's SDD interface 194 as an XML document. One of ordinary skill in the art will appreciate that other interface mechanisms are usable as well.
Next, the web-based GIS viewer 124 consults configured connections to secure data system(s) 160 to determine available GIS layers (Step 526). As a representative example, the web-based GIS viewer 124 contacts a secure data system 160 belonging to the emergency management agency which reports that topographical contours are available, as are real-time flood water depth maps generated from data provided by radio-based sensors located on traffic lights throughout the area. In one implementation, the web-based GIS viewer 124 communicates with ESRI ArcIMS secure data system servers via network 51 using the ArcIMS proprietary communications protocol to authenticate and determine available layers and map overlays. One of ordinary skill in the art can readily appreciate additional or differing functional equivalent communication technique or protocols may be employed based on the particular secure data system 160. Next, the web-based GIS viewer 124 sends the requested visualization and control user interface with complete layer roster back to the requesting browser 50 (Step 528). As a representative example, the web-based GIS viewer 124 provides the requested 2D map with topographical data centered on and displaying a reference point icon representing the nursing home. The response to the browser also includes a control user interface containing the roster of available collaboration tool server 120-based layers (schools, school bus yards and city busses) and the secure data system 160-based layers (the topographical contour information and the flood water depth information). In one implementation, the layers are depicted as a tree structure of layer names, each with check boxes to enable end-user selection. The visualization tool portion of the web-based GIS viewer 124 is capable of several types of visualization, including without limitation, 2D maps, 3D maps, and aerial photographs selected by dropdown controls. Additional capabilities of the control user interface include without limitation, selecting specific points by click, dragging a lasso around one or more points to select multiple points, zoom , pan, & rotate. In one implementation, the actual visualization is generated ("rendered" being the term of art) by Microsoft® Virtual Earth®, an XML web-service AJAX based technology. One ordinarily skilled in the art can readily appreciate additional or differing functionally similar possibilities which may exist when the present invention is applied to differing visualization rendering systems of similar purpose from other vendors. Upon receipt, the requesting browser 50 displays the visualization and control user interface as provided by the web-based GIS viewer for the user.
Next, the end-user identifies desired layer(s), base maρ(s), and visualization type to the web-based GIS viewer 124. The end-user's browser 50 sends the identified information in a request back to the web-based GIS viewer (Step 530). As a representative example, the user may decide to see flood water levels and current city bus locations and nursing home locations overlaid together on the map. In one implementation, the user selects the desired map via a dropdown menu, checks the boxes for the desired layers, and clicks the "update map" button (not shown in figures). The browser 50 processes the inputs and generates a corresponding command which is transmitted to the web-based GIS viewer 124 via XML / AJAX technology. Next, the web-based GIS viewer 124 performs the SPR subprocess to retrieve available points from user-selected layers regardless of source and renders the same into a visualization for display on the user's browser 50 (Step 532). As a representative example, the web-based GIS viewer receives the request generated by the user in step 530 and responds by contacting the collaboration server tool 120 to retrieve the requested layers (nursing homes & city busses) and contacting the secure data system 160 to retrieve the other requested layers (topographical and flood waters). In each case, the user's credentials may also be passed so that the respective secure data systems 160 is able to determine whether and which, data points to expose. In one implementation, the communication from the web-based GIS viewer 124 to the collaboration tool server 120 is accomplished via XML web service to authenticate & retrieve data while the communication to secure data system 160 (i.e. ESRI ArcIMS servers) uses the ArcIMS proprietary communications protocol. Following SPR data retrieval, the web-based GIS viewer 124 adds the requested points, contours or other graphical features (e.g. floodwater coloring based on depth) to the visualization type requested by the user. The geographical reference points 254 are rendered on the visualization using various representative icons and colors. Each geographical reference point 254 is also provided on the visualization with certain business attributes such as name or status. Each geographical reference point 254 is also provided by the web-based GIS viewer 124 on the visualization with a navigable URL to cause the browser 50 to request the collaboration server 120 to provide detailed information on that point and/or a tabular report of related points from the corresponding information store 128.
Next, the web-based GIS viewer 124 sends the updated visualization and control user interface to the user's browser 50 (Step 534). As a representative example, the web-based GIS viewer transmits the result of step 532 back to the browser 50 as discussed above. In one implementation, this is accomplished via standard internet communications protocols, including TCP/IP, HTTP, and SSL.
The browser 50 displays the visualization and the control user interface provided by the web-based GIS viewer 124, allowing the user to pan, zoom, extract, and use other known mapping functionality options (Step 552). As a representative example, the web-based GIS viewer 124 displays the result of step 532 on the user's browser 50. In one implementation, the browser uses a mixture of static HTML, DHTML and AJAX technologies to achieve this result.
After providing the visualization to the browser 50 in step 552, the process 500 can take several courses based on user input via the browser 50. The user is free to end the GIS visualization process 500, perhaps to return their browser 50 to the collaboration tool server 120 to access other unrelated data. This is depicted in Fig 5. by the Stop oval. The visualization process may take two other courses of action as discussed below.
activate point extract or other options of the control user interface requiring an updated visualization. The browser sends detailed request back to GIS Viewer 124 (step 562). As a representative example, the user decides to add the school bus yard layer to the display and change the visualization type to aerial photograph. In one implementation, the user selects the desired map via a dropdown of the control user interface provided by the Web viewer 124, checks the boxes for the desired layers, and clicks the "update map" button. The browser processes the inputs and generates a corresponding command which is transmitted to the web-based GIS viewer 124 via XML / AJAX technology. After performing step 562, processing continues at step 532, for example, to iterate several times through steps 532, 534, 552, and 562 in turn as the user adjusts the information displayed to accomplish their business purpose.
In response to performing step 574, processing continues at step 502 where operation reverts back to the collaboration tool server 120. As will be apparent to a discerning reader, the same cycle can be started at point Start 2 of Fig 5 and carried around and back to Start 2. Each of the components 120, 122, and 124 of the collaboration tool system 102 may be installed in the same physical computer system or on separate co-located or geographically-dispersed computer systems for redundancy, survivability, and/or load sharing. Additional secure computer systems 60 (one or many) may be co-located, or geographically dispersed with connections provided by any relevant secure connection technology. Auxiliary business data sources 122 (one or many) may also be co-located, dispersed, or both, and connected with any relevant technology. External Applications 70 (one or many) may also be co-located, dispersed, or both, and connected with any relevant technology.
The collaboration tool server 120, the geo-coding driver 122, and the web-based GIS viewer 124 each may comprise or may be included in one or more code sections containing instructions for performing respective operations as discussed herein, which may be accessed and run by the CPU 104. Although the collaboration tool server 120, the geo-coding driver 122, and the web-based GIS viewer 124 and other programs are described as being implemented as software, the present invention may be implemented as a combination of hardware and software or hardware alone (such as in a ASIC device). Also, one of skill in the art will appreciate programs may comprise or may be included in a data processing device, which may be a separate server, communicating with the collaboration tool system 102 via the network 51.
In addition, although aspects of one implementation shown in Fig. IA are depicted as being stored in memory, one skilled in the art will appreciate that all or part of systems and methods consistent with the present invention may be stored on or read from other computer- readable media, such as secondary storage devices, like hard disks, floppy disks, and CD- ROM; a carrier wave received from a network such as the Internet; or other forms of ROM or RAM either currently known or later developed. Further, although specific components of data processing system 100 have been described, a data processing system suitable for use • with methods, systems, and articles of manufacture consistent with the present invention may contain additional or different components.
1. A method in a data processing system for extending the business data associated with a network-based user collaboration tool engine to include spatial reference information for collaborative visualization, the collaboration tool engine having one or more business data type schemas for generating an information store container associated with a respective business data element, the method comprising: providing a control specification to the collaboration tool engine, the control specification having one or more information store type schemas, each information store type schema identifying a corresponding spatial data type schema in association with a geographical data type schema; receiving a request to generate a new information store; generating, via the collaboration tool engine, the new information store based on the one or more business type schemas; providing to the requestor a roster identifying the one or more information store type schemas; receiving a second request to add the one or more information store type schemas to the new information store; in response to the second request, generating, via the collaboration tool engine, a spatial reference point container in the new information store for each of the one or more information store type schemas based on the spatial data type schema identified by the respective information store type schema.
2. A method of claim 1 , wherein each information store type schema identifies the corresponding spatial data type schema in association with a geographical data type schema.
3. A method of claim 2, further comprising, in response to the second request, generating, via the collaboration tool engine, a geographical reference point container in the new information store for each of the one or more information store type schemas based on the geographical data type schema identified by the respective information store type schema.
4. A method of claim 3, further comprising: monitoring the collaboration tool engine to identify when one of the spatial reference point containers has been updated; and when the one spatial reference point container has been updated, obtaining a new geographical reference point from a geo-coding source system based on the updated one spatial reference point and storing the new geographical reference point in the geographical reference point container associated with the one spatial reference point container.
5. A method of claim 3, wherein the collaboration tool engine has an event subscription interface, the method further comprising: assigning an event within the event subscription interface to an event trigger module associated with the new information store, wherein the event identifies when the collaboration tool engine has updated one of the spatial point containers of the new information store and an occurrence of the event is communicated to the event trigger module; when an occurrence of the event is communicated to the event trigger module, obtaining a new geographical reference point from a geo-coding source system based on the updated one spatial reference point and storing the new geographical reference point in the geographical reference point container associated with the one spatial reference point container.
6. A method in a data processing system for extending the business data associated with a network-based user collaboration tool engine to include spatial reference information for collaborative visualization, the collaboration tool engine having one or more business data type schema for generating an information store container associated with a respective business data element, the method comprising: providing a control specification to the collaboration tool engine, the control specification having one or more information store type schemas, each information store type schema including a spatial data type schema; determining whether the collaboration tool engine has generated or exposed a business data information store record or document having a spatial reference point in accordance with the control specification; when it is determined that the collaboration tool has generated or exposed a business data information store record or document having a spatial reference point in accordance with the control specification, generating a geographical reference point corresponding to the spatial reference point; and storing the geographical reference point with the spatial reference point.
7. A method of claim 6, further comprising receiving a user request to view the business data information store record or document; and in response to the user request, displaying a map or other visualization to reflect the geographical reference point.
8. A method of claim 7, wherein the collaboration tool engine has a plurality of business data type schemas, the method further comprising: prompting the collaboration tool engine to generate the business data information store based on at least one of the business data type schemas and the one or more information store type schemas.
9. A method of claim 7, wherein the collaboration tool engine has a plurality of business data type schemas, further comprising: displaying a roster identifying each of the business data type schemas and the information store type schemas; receiving a request identifying one of the business data type schemas and one of the information store type schemas; and prompting the collaboration tool engine to generate the business data information store to have a first container based on the one business data type schema identified in the request and a second container based on the spatial data type schema of the one information store type schema identified in the request.
schema identifying a corresponding spatial data type schema in association with a geographical data type schema; the collaboration tool system further including a memory having a collaboration tool server and a geo-code driver operatively connected to the collaboration tool server and operatively configured to communicate with a geo-coding source, the collaboration tool server being operatively configured to control a collaboration tool engine based on the control specification, receive a request to generate a new information store, generate the new information store based on the one or more business type schemas via the collaboration tool engine, provide to the requestor a roster identifying the one or more information store type schemas, receive a second request to add the one or more information store type schemas to the new information store, and, in response to the second request, generate a spatial reference point container in the new information store for each of the one or more information store type schemas based on the spatial data type schema identified by the respective information store type schema; the collaboration tool system further including a processor to run the collaboration tool server and the geo-code driver.
11. A data processing system of claim 10, wherein each information store type schema identifies the corresponding spatial data type schema in association with a geographical data type schema.
12. A data processing system of claim 11, wherein the collaboration tool server is further operatively configured to, in response to the second request, generate a geographical reference point container in the new information store for each of the one or more information store type schemas based on the geographical data type schema identified by the respective information store type schema.
13. A data processing system of claim 12, wherein the geo-code driver is operatively configured to monitor the collaboration tool engine to identify when one of the spatial reference point containers has been updated; and when the one spatial reference point container has been updated, obtain a new geographical reference point from a geo-coding source system based on the updated one spatial reference point and storing the new geographical reference point in the geographical reference point container associated with the one spatial reference point container.
14. A data processing system of claim 12, wherein the collaboration tool engine has an event subscription interface and the collaboration tool server has an event trigger module associated with the new information store and assigned an event within the event subscription interface, the event identifying when the collaboration tool engine has updated one of the spatial point containers of the new information store, the event trigger module being operatively configured to receive an occurrence of the event from the event subscription interface and, , in response to receiving an occurrence of the event, to obtain a new geographical reference point from the geo -coding source system based on the updated one spatial reference point and storing the new geographical reference point in the geographical reference point container associated with the one spatial reference point container.


text:
Reduced in Price. Motivated seller.This is a well established, profitable, floating Seafood Market in the Great fishing community of Charleston, Oregon. We buy directly from commercial fishermen and sell directly to public and retail accounts. Newly acquired Beer and Wine off-premise ODCC License.
Owner willing to train: 2 weeks everyday in person, up to 12 months verbally on phone.
Reason for selling: Need to relocate to care for ageing parent.
• Getting Into Business: REDUCED IN PRICE! Well established, profitable Seafood Market.
• How To Value A REDUCED IN PRICE! Well established, profitable Seafood Market.

industry_corpus2: Agriculture & Fisheries


text:
There’s a better place for e-waste than your rubbish bin. It’s much better going to a place where we can recover the precious materials to be reused and capture the nasty bits before they can do harm.
Why recycle it? There are many reasons why you should recycle your e-waste.
Recycling your e-waste is important and necessary.
But even better is to try and avoid creating e-waste in the first place.
To support the rollout of the ban the Victorian Government is investing $16.5 million to upgrade e-waste collection and storage facilities across the state and deliver an education campaign to support the ban on e-waste in landfills.

industry_corpus2: Computing & Telecommunications


text:
[SIGBOVIK] Deadline & Last Paper Hacking Session: March 15!
Previous message: [SIGBOVIK] Reminder: Paper Hacking Sessions March 8 & 15!
Symposium on Robot Dance Party of Conference in Celebration of Harry Q.

industry_corpus2: Others


text: Discover gorgeous Humor living room painting reproductions on fine art prints. Fast and reliable shipping. 100% satisfaction guarantee.


text:
ST. CHARLES – The St. Charles fire chief is urging those on the Fox River not to stray too close to the dam north of Main Street after a boat fell over it Saturday night.
A Stingray sport boat headed for the Hotel Baker, which is at 100 W. Main St., had motor failure, then got caught by the current and went over the dam sideways, St. Charles Fire Chief Joe Schelstreet said.
Emergency crews were dispatched to the Fox River at about 8:45 p.m. Saturday for the incident, St. Charles police spokeswoman Lisa Blackwell said.
The boat was located near the pedestrian bridge south of the Illinois Street bridge floating upright with the boat’s owner, a St. Charles resident, and his passenger inside, according to a St. Charles police report.
“They were very wet, but they were uninjured,” Schelstreet said.
The boat was able to self-correct after going over the dam and did not capsize, Schelstreet said. The owner and passenger said they were thrown around in the boat during the impact, the police report states.
St. Charles Fire Department personnel tied the boat off to the shore until they were able to tow it with another boat to a lift station off Riverside Avenue, Schelstreet said.
The boat’s owner apologized for inconveniencing the first responders, Schelstreet said.
Schelstreet said southbound travelers on the Fox River should stop when they see buoys warning them of the dam ahead in St. Charles.
Like the dam north of State Street in Geneva, Schelstreet said there is a boil at the bottom of the St. Charles dam.
A 26-year-old Bloomington man who rode in a two-person kayak April 19, 2014, on the Fox River died after he went over the Geneva dam, the Kane County Coroner’s Office said.
Dinesh Sudhakar-Uckoo became caught in the boil in front of the dam, and his preliminary cause of death was drowning, according to the coroner’s office.
“If the [Stingray] boat had overturned instead of self-corrected, the outcome of that situation could have been tragic,” Schelstreet said.


text:
Recently deputies from parliamentary fraction of the Radical Party of Oleh Lyashko allow statements which by the standards of Maidan activists can be treated as pro-Russian.
the Kiev online newspaper "Strana" pays attention To this paradox.
the Edition specifies that the party leader Oleh Lyashko is supported now by the Ukrainian oligarch Rinat Akhmetoy, communication with whom is traced by constant presence of the scandalous politician at akhmetovsky media and also regular visit of matches of the football club "Shakhtar" belonging to the oligarch.
is Also specified that in Rada Lyashko actively lobbies Akhmetov's interests, striving for cancellation a rent for the enterprises belonging to Akhmetov, demanding increase in export duty for scrap metal from 10 to 30% for ton, opposing increase in tariffs for freight transportation of "Ukrzaliznytsi" which Akhmetov's enterprises and so on use.
Besides, the second year in a row Lyashko sells the real estate to the ex-regional Alexander Ryzhenkov who is a father of Yury Ryzhenkov, the CEO Metinvest of Holding for 16 million hryvnias.
at the same time a source in an environment of the oligarch, say that Akhmetov not especially trusts Lyashko who is famous for forgetfulness in relation to the sponsors and patrons long ago, and therefore in the management of radical party the top manager of Metinvest Yury Zinchenko who is designated on a post of the head of the campaign headquarters of Lyashko now.
"Explain to communication with Akhmetov one more surprising phenomenon which is observed with representatives of fraction of Radical party recently. The last, earlier known as ardent Ukrainian nationalists, have unexpectedly begun to allow statements which to "Maidan" measures can be treated as "pro-Russian", - it is noted in the publication.
actively on the side of east electorate, wears a helmet, goes on iron and steel works, makes statements which will be positively perceived in east regions. It is explained by Oleh Lyashko's finding in Rinat Akhmetov's orbit. His presence at those media which belong to Akhmetov is demanded by positioning balancings.
That is electorate on which Akhmetov has influence will definitely not vote for the nationalist Lyashko. Therefore it is necessary to change the shoes to Lyashko and his people on the run, generating theses which somehow can reconcile with them voters of the southeast. But hardly this attempt will be successful. Too strong negative background at Lyashko for this region", - writes the edition.
At the same time the other day he has urged Islamist militants to destroy Krymsky Bridge.
Poroshenko conducts the supporters to "Olympic"

industry_corpus2: Politics & Administration


text:
The Big Pink have announced details of a new UK tour for October.
The 2009 NME Philip Hall Radar Award winners will play 10 dates as part of the gig run, kicking off at the Portsmouth Wedgewood Rooms on October 8.
The band are set to release a new single, ‘Stop The World’, on June 22.
Tickets go on sale at 9am (BST) on Thursday (June 25).

industry_corpus2: Film & Entertainment


text:
After one year hiatus, Optometry Giving Sight is thrilled to be able to fund the Judy Glover Memorial Scholarship again this year.
Established by Margie O’Neill and supported by Judy’s family, and this year with the assistance of The Lions Save Sight Foundation, the Judy Glover Memorial Scholarship honours the late optometrist, Judy Glover. Judy, who passed away in 2010, was well known for her kindness and commitment to providing eye care to Indigenous people in North Western Australia.
By exposing final year students, Judy’s family hoped that her legacy would live on in the passion and conviction students develop for the cause when undertaking vision care in remote areas during their trip to North Western Australia.
With the support of Lions Outback Vision, Optometry Giving Sight plays a key role in facilitating this incredible opportunity. This year’s four successful students, Hamina Arif and Annee Yogarajah (UNSW), Byron Klein and Jessamy Bound (Flinders University) will have the chance to experience Remote Area Eye Care and Indigenous culture in either the Pilbara or the Kimberley Regions of Western Australia. As part of the two-week trip, students will visit remote communities and observe optometry clinics, as well as observing ophthalmological consultations and surgery in regional hospitals.
According to Optometry Australia, Aboriginal and Torres Strait Islanders are 3 times more likely to have impaired vision and 6 times more likely to be blind than non-indigenous Australians. Remote eye care in Indigenous communities in Western Australia, like those visited by the students, provides clinical experience in unique pathology unseen in metropolitan practices.
With the establishment of the scholarship, Judy’s legacy lives on whilst inspiring the next generation to join her cause to bridge the gap in Indigenous Eye Health.

industry_corpus2: Health & Medicine


text:
For the fourth straight year, Legacy Church is transforming our parking lot for everyone’s favorite costumed holiday.
Trunk-Or-Treat is your opportunity to enjoy candy, games, and giveaways among friends and family in a safe and fun environment for kids of all ages.
Dress up and join us as we bring out the bounce houses, dish out some door prizes, and pack the parking lot with trunks full of treats.


text:
Cultivating its mission To give every guest a legendary experience since its inception in 1981, Pizza Ranch connects with its communities in a way that provides bridges for friends, family and colleagues to come together. Today, Pizza Ranch is based in Orange City, Iowa and owns, operates and franchises over 190 locations in 13 states. Consistent growth has been a Pizza Ranch staple, as the brand has become a beacon of community involvement and exceptional food. The Pizza Ranch buffet features legendary pizzas, salads and desserts, and is delivered with an unmatched service quality. We are extremely blessed to have a very close connection with our guests, said Adrie Groeneweg, co-founder and president of Pizza Ranch. This project extends the brand’s essence to a new dimension beyond our four walls and into their lives. It’s a new kind of way for us to relate to our loyal fans.
Last week at youth group the youth minister asked all the kids to raise their hands if they like Christmas music, and come to find out my darling daughter didn't raise her hand. BAH HUMBUG she doesn't like Christmas music! Where have I gone wrong with her? So I started asking her WHY?? What's the deal? How can you not like Christmas music? Come to find out, she doesn't like the majority of Christmas music. There are a few exceptions like Pentatonix and YES she likes this Christmas CD by Mercy Me! Maybe I haven't gone wrong after all. Although she did inform me it's still too early to play Christmas music, the appropriate date to starting listening is apparently the day after Thanksgiving! Yippee it's almost time (according to Makenzie).
Anyway, I really enjoyed this CD and can't wait to listen as I play taxi driver and take my kids back and forth to all of their different activities and I added it to my Christmas playlist on my iPhone. You really can't go wrong with anything by MercyMe, they're one of my absolute all time favorites.
In the comments let me know what your favorite Christmas song is. Mine is Mary did you know?
*Open to the US and Canada. Giveaway ends on 11/24/15 at 11:59pm CST.

industry_corpus2: Hospitality & Catering


text:
For the finalists of the prestigious Bolz Young Artist competition, the journey to Overture stage is a long one that often takes years of determination, hard work and hundreds of hours of practice to achieve.
In the first stage of the competition a pool of 30-40 contestants perform in a preliminary round of auditions for a panel of three judges. Students are separated into three areas for the audition, Strings, Piano and Brass/Woodwinds/Percussion/Harp. Approximately eight students are selected at the end of the day to move on to the semi-final round two weeks later. The stakes are higher than ever in this round of auditions as it is open to the public and recorded by Wisconsin Public Television. A new panel of judges, including Madison Symphony Orchestra Maestro John DeMain preside over the semi-final round. The four lucky finalists are announced immediately after the second round of auditions to the anxiously awaiting contestants and their families.
Then it is a long two-month wait until the final round. Finalists continue to diligently practice their piece over and over again in anticipation for the big day.
Each finalist meets with Maestro DeMain in the weeks leading up to the final competition to review his or her performance piece together. Then the week of the final competition arrives. Monday brings a rehearsal with the full orchestra and Maestro DeMain for each finalist. This rehearsal gives each student a chance to hear their performance with the full orchestra playing when previously they may only have had a chance to perform with a pianist. The Maestro and each finalist rehearse the pieces, stopping to adjust tempos, dynamics of the orchestra and coordinating the end of cadenzas. Then Tuesday night is a full dress rehearsal, followed by Wednesday, the culmination of months, sometimes years of hard work for these young performers.
This year’s finalists are harpist Naomi Sutherland, a senior at Interlochen Arts Academy.
Pianist, Michael Wu, a 9th grader at Cardinal Heights Upper Middle School.
Violinist Yao Yao Chen, a senior at Xavier High School.
And finally, violinist Julian Rhee, a junior at Brookfield East High School. If he looks familiar that’s because he was the winner of the 2015 Final Forte competition!
The Final Forte will be broadcast live by Wisconsin Public Television at 7 p.m. Wednesday, March 29th. Tune in on television or watch the live stream at wpt.org.
In Wisconsin, polka is tied to our identity like beer, brats and cheese! But, how much do you actually know about the music and dance?
Test your knowledge with this 10-question quiz!
And tune in Monday at 7 p.m. for Polka! with musician and host Mollie Busta — better known as Mollie B. — as she explores the history and culture surrounding the often misunderstood dance, the memories it conjures, the people who enjoy it … and the fun it invokes across Wisconsin. Watch the preview and read our interview with Mollie B.
Ready to get out your dancing shoes? Find polka across Wisconsin by exploring this map that lists venues with weekly music and annual festivals.
Funding for Polka! is provided in part by the Stanley J. Cottrill Fund, International Polka Association, Wisconsin Dells Polka Fest, and Friends of Wisconsin Public Television.
In Wisconsin Public Television’s new hour-long documentary airing 7 p.m. on Monday, March 6, musician and host Mollie Busta — better known as Mollie B. — explores how European immigrants brought polka music and dance to the hills and shores of Wisconsin in the 19th century — and how the folk tradition is being kept alive in communities across the state.
Watch the film preview below and read our interview with Mollie B.
Polka is music made for getting together, being happy, and dancing! It’s time to get up, get out, and enjoy polka at venues and festivals across Wisconsin. Find a location near you and join in the fun all year long!
And if you live near Monroe, please join WPT and Mollie B. on Thursday, March 2 for a Polka! advance screening.
We are still adding events and locations to the map, so check back soon! Know of another place or event where people enjoy polka concerts and dancing not shown here? Let us know! Leave a comment or email jessica.lee@wpt.org — and we’ll add it to the map.
An Eau Claire jazz tradition that highlights the talents of young Wisconsin performers comes to WPT this Monday, Dec. 19 at 9 p.m. The full Jazz Fest in Eau Claire special, along with bonus musical content from the 50th annual Eau Claire Jazz Festival, is also available online now.
Jazz Fest in Eau Claire takes you inside the festival to see students performing in venues across Eau Claire, as well as learning from experts in hands-on clinics.
Performances from the headlining concert at Eau Claire Memorial High School feature groups who received the festival’s highest honors, including the Whitewater High School Jazz Ensemble from Whitewater, the Waconia High School Jazz Ensemble from Waconia, Minn., the Black Elk Jazz Ensemble from Elk River, Minn., and Valley High School Jazz Ensemble from West Des Moines, Iowa.
World-renowned jazz artists Stefon Harris and Jimmy Heath also perform with the University of Wisconsin-Eau Claire Jazz Ensemble I.
Enjoy the web exclusive below, featuring the University of Wisconsin-Eau Claire Jazz I Ensemble performing Duke Ellington’s “Rockin’ in Rhythm,” at the 50th annual Eau Claire Jazz Festival. Then tune in Monday or watch the full program online now!
Jazz Fest in Eau Claire is part of WPT’s multiyear Young Performers Initiative, a statewide effort to raise the visibility of the arts, celebrate the creative achievements of Wisconsin’s young people and support the arts in education.
Funding for Jazz Fest in Eau Claire provided by David and Susan Manor in honor of Blaine and Loretta Manor, Holiday Vacations, and Friends of Wisconsin Public Television.

industry_corpus2: Subject Education


text:
MAHONEY, Barbara (O’Brien) of Weymouth, formerly of Dorchester, on December 3, 2018 after a lengthy battle with illness. Beloved wife of 56 years of Paul Mahoney. Loving mother of John & his wife Mary Mahoney of Braintree, Michael Mahoney of Quincy, Kathleen & her husband Claudio Carvalho of Weymouth, William & his wife Kristine Mahoney of Norton, James & his wife Michelle Mahoney of Abington, and Richard & his wife Kerry Mahoney of Taunton. Beloved daughter of the late Frederick & Hilda O’Brien. Cherished grandmother of Samantha, John, Michael, Shannon, Trevor, Kyle, Amanda, Meghan, Brendan, Christopher, James, Richard, Isabella, and Dean. Dear sister of the late Patricia Gray & Paul O’Brien. Barbara was a member of the St. Ann Women's Guild for many years and served as president from 1975-1977. She was also a Eucharistic minister for St. Ann Church as well as a Cub scout den mother for many years. Barbara was a proud employee of St. Joseph Manor/St. Joseph Nursing Care Center as a Food Service Supervisor. She was a devoted mother and grandmother.
Visiting hours in the John J. O’Connor & Son Funeral Home, 740 Adams St. (near Gallivan Blvd.) DORCHESTER, Thursday from 4-8pm. Funeral Mass in St. Ann’s Church, NEPONSET, Friday morning at 10 o’clock. Relatives & friends are respectfully invited. In lieu of flowers, remembrances may be made in Barbara’s name to the Dana Farber Cancer Institute. Interment in Cedar Grove Cemetery.


text:
Welcome to our Maui Vista condo, unit 1104, ideally located on the ground floor of building 1 which has many advantages, including being closest to the beach. Our condo has a large lanai where we enjoy a relaxing drink and most meals, and also offers easy access to the pool in front and barbecue area/tennis courts at the rear.
The condo features a fully equipped newly renovated kitchen with granite counters, front loading washer/dryer and a renovated bathroom/ bedroom. It also has a flat screen television, cd/dvd player, wireless Internet and free unlimited calls to Canada and the U.S.A.
We chose the Maui Vista, Building 1, due to its great location across the road from Charley Young / Kamaole 1 Beach and around the corner from Cove Park which is a popular stand up board/surfing spot. We love to stroll along the beach from Kamaole 1 to Kamaole 111 (about 1 mile), each morning before breakfast on the lanai. Within easy walking distance of the Maui Vista both to the north and south are many restaurants, coffee shops and retail stores.
The condo is bright and airy and has a through breeze from front to back when the windows are open which together with our efficient ceiling fans eliminates the need for using the air conditioning unit.
Beach chairs, mats, beach towels, cooler and umbrella are available for guests to use.
Full refund less $200 non-refundable deposit if cancelled more than 60 days prior to arrival. Refunds for cancellations made less than 60 days prior to arrival are subject to re renting the condo for similar rates and dates.
About the Owner: About the owner: We are from Alberta and have been visiting Maui since the 1990's. We live in one of the most beautiful places in the world (Jasper National Park) in the Canadian Rockies,where we operate a guest house (Raven House). We do however like to shorten our long winters by traveling to a warmer climate and after visiting various tropical destinations, we have found that Maui offers by far the best climate and beaches.
Why: We chose the Maui Vista, Building 1, due to its great location across the road from Charley Young / Kamaole 1 Beach and around the corner from Cove Park which is a popular stand up board/surfing spot. We love to stroll along the beach from Kamaole 1 to Kamaole 111 (about 1 mile), each morning before breakfast on the lanai. Within easy walking distance of the Maui Vista both to the north and south are many restaurants, coffee shops and retail stores.
Walking along the beaches in the morning or at sunset is a favorite pastime . We occasionally walk to the beaches at Wailea for coffee and a stroll through the shops (about 3 miles one way). We cycle most days to a variety of places between North Kihei and Makena for beaches, coffee and exercise.


text:
Delhi: M. Sreeshwan of Telangana (Rating 2064) held Grand Master M.S. Thejkumar to a draw in the sixth round of the Commonwealth Open Chess Championship 2018 at Delhi on Saturday.
After six rounds, GM M.S. Thejkumar, seeded eighth in the Tourney, has secured 3.5 points and is placed 64th in the rankings. In the fifth round, GM Thejkumar beat AGM Vinay Thomas Abraham (Rating 1938).
GM Vaibhav Suri of Delhi, Sankalp Gupta of Maharashtra and IM G. Akash of Tamil Nadu are jointly in the lead with 5.5 points from six rounds and are placed one to three in the rankings. IM S. Nitin of Railway with 5 points is placed fourth and GM Deep Sengupta with 4.5 points is placed fifth.

industry_corpus2: Sports


text:
Abstract: Kumasi needs to position itself strategically as a cultural destination, communicate its attributes more effectively to tourists already in Ghana and differentiate itself from other cities and attractions Position should entail marketing a larger cultural region than just Kumasi Several positioning statements can transmit Kumasi's new marketing strategy: Kumasi - Heart of the Kingdom of Ashanti. Ashanti - The Hidden Kingdom. Kumasi - Come and See! Kumasi is well placed to capitalize on the growth of tourism in Ghana due to its status as a cultural capital The financial impact of tourism growth is potentially significant for the city and its surrounding districts The creation of the Ashanti Region Marketing Corporation is fundamental to proper coordination among stakeholders.
Abstract: The development of urban infrastructure is intimately connected with the process of economic growth. Businesses depend on reliable water and electricity sources, affordable and plentiful land for expansion and modern transportation networks to reach the markets they serve. Inadequate infrastructure can deter investments and lead to a general climate of economic decline.
Abstract: The primary objective of this study was to assess the feasibility and investment opportunity of implementing a bamboo bicycle production facility in Kumasi, Ghana, in conjunction with the Millennium Cities Initiative (MCI) at Columbia University. For this assessment, desk-based research and interviews with industry and regional subject matter specialists were completed to assist with the following objectives: Understand the current transportation modes and bicycle market in Ghana Assess customer needs in Ghana to determine the suitability of a bamboo bicycle for rural use Identify the potential market size and demand Understand the operational considerations and costs associated with implementing a production facility Estimate the financial returns from investing in this opportunity.
Abstract: An investor, seeking to financially benefit from producing sugar as a commodity in Kisumu, Kenya, needs to consider the entire investment environment before making a decision. Since Kenya is a net importer of sugar, domestic demand cannot be satisfied by domestic production, which creates a potential opportunity for an investor looking to bridge the gap. As a result, an opportunity may exist for an investor who wants to play a significant role in the future of the industry. Sugar, produced as a commodity within Kisumu, may have the ability to compete on a global scale if time, investment, and governmental support align.

industry_corpus2: Travel & Geography