SecureU System

1 What to expect from the CITYCoP portal and back-end

The aim of this section is to answer some key initial questions that potential and current users of the CITYCoP system and back-end may have regarding its functionalities, role, and overall use. This is why the section has been divided in several questions, each addressing one important issue that users should consider before actually using the system.

1.1 Where is the system hosted

The decision whether to host your CITYCoP system on your own servers or use external servers and the cloud is an important one. There are pros and cons for each method, from security to control and ease of use. Assessing your own needs and reviewing the options is the first step.

If the user would like to host the system on their own servers, then they would require at least one Linux server (e.g. UBUNTU). The resources required by the system vary greatly depending on the type of adaptation and integration that users require from the CITYCoP system. The minimum server requirements for 40 Concurrent Reporting Users and 200 concurrent Viewers:

  • CPU: Quad 2GHz+ CPU
  • RAM: 8GB+
  • Minimum hard drive space: 1TB

The current cost for a standalone system of this type was 700-1200 Euro, in May 2016. Larger cities would need to increase the power in relation to the number of users.

1.2 Who should be part of the team preparing the adoption of the CITYCoP system?

When adopting the CITYCoP system the users would need to set-up a team composed of at least one representative from their IT department and several representatives from their operational teams (e.g. police officers, 112 operators, first-line managers etc.) who would work together with the software developers to decide on the functional requirements of the system and the way it will be integrated into existing work flows. A more representative implementation team on the user side will facilitate the installation process and ensure the efficient use of the system once it is deployed. The need for a representative implementation team stems from the product’s flexibility. The CITYCoP system and back-end, in its current form, enables users to adapt it to their own needs and operational requirements (e.g. activating or deactivating certain functions, integrating it with their existing ICT systems and databases, creating new categories of reporting, etc.), which is something each user needs to consider before deployment.

1.3 How long does the implementation process last?

The duration of the implementation process depends greatly on the level of adaptation that the users require from the system. If users decide to use the product as it is or with minimum adaptation (e.g. introduction of local language, de-activation of some of the existing functionalities, selection from pre-existing reporting categories), then the installation process can take up to ~ 3 months from the first meeting to having the system rolled-out, including a one month period of internal testing. If the users require extensive adaptation (e.g. integration with current systems), then the process can extend to ~ 6 months.

1.4 What are the stages of the implementation process?

The implementation process of the CITYCoP system and back-end includes 6 main stages:

  • Presentation of the product;
  • Consultation between software developer and users on the type and level of adaption required;
  • Work on adaptation which concludes with the production of a first version of the system;
  • Pilot testing the system (3-4 weeks) in a controlled environment;
  • Production of final system;
  • Deployment

2 Installation Guide for the CITYCoP Portal and Back-end

2.1 General Description of the CITYCoP System

The CITYCoP system is comprised of four components: a portal, a central back-end system, a mobile app, and a social media infrastructure. The following figure (Fig. 2.1) depicts the overall architecture:

As it has been mentioned, the CITYCoP platform has a distributed architecture that contains multiple services and systems arranged on three different layers, namely the city layer, the country layer and the registry layer, in order to ensure both the security of users’ personal data and the ability to connect and use the system in any city that provides this service.

This architecture provides flexibility, reliability, and scalability to the system. It offers the possibility to extend the solution into a virtually unlimited number of countries and cities as each instance of the system runs independently of the others. The condition of independence is given by the fact that, although all instances are integrated within the system, regardless of the circumstances, an instance will not disturb the activity of other installations of the system.

2.2 Hardware Requirements for Back-end System

The primary factor that determines the requirements of the hardware for the backend system is the database access and responsiveness. The system is likely to be responding to a similar leave of peak load as the Web Portal backend. Given a max load of 200 concurrent users per 1 000 000 citizens in a city, the requirements would be the same as the Web Portal:

Minimum server requirements for 40 Concurrent Reporting Users and 200 concurrent Viewers:

  • CPU: Quad 2GHz+ CPU
  • RAM: 8GB+
  • Minimum hard drive space: 1TB

Larger cities would need to increase the power in relation to the number of users.

2.2.1 APPLICATION SERVER

The application server will host the Node.js server and will provide the RESTful Web Services that will be used by the other components of the system to store and receive data from the Backend.

2.2.2 DATABASE SERVER

This server will host the database for the Backend system and the database for the Maps server, but if the number of concurrent user increases in time the databases can be hosted on different machines.

    Hardware specifications:
  • Processor: 32 cores 2.0+ Ghz
  • Memory: 64GB
  • Storage: 1TB
  • Maps Server
  • Hardware specifications:
  • Processor: 8 cores 2.0+ Ghz
  • Memory: 16GB
  • Storage: 2TB

2.3 Hardware Requirements for Web Portal

The hardware requirements for the CITYCoP servers depend on the expected utilisation of the services. For the web portal this is determined by the expected maximum number of concurrent users and the amount of data those users are transferring, both to and from their server.

Different regional coverage and number of citizens within each region mean that the hardware requirements need to scale with the number of citizens likely to use the service. According to our estimates, there would be approximately 10-20 maximum concurrent users per 100 000 citizens (20 cu/100k). Thus, we can expect peak usage for a city of 1 million people to be 200 users with 40 reports being submitted.

Minimum server requirements for 40 Concurrent Reporting Users and 200 concurrent Viewers:

  • CPU: Quad 2GHz+ CPU
  • RAM: 8GB+
  • Minimum hard drive space: 500GB

Larger cities would need to increase the power in relation to the number of users. This hardware can be standalone, virtualized on larger server systems, or hosted in the cloud. Given the requirements related to maintaining control of personal data, we will consider only the standalone and virtualized systems. Virtualized systems allow scaling of responses to load across the resources of Law Enforcement and Community Organizations. These systems cost more per processing time than the standalone system, but require less maintenance from system administrators.

The server that will host the Web Portal application will also provide the SSL termination facility and will also be a proxy server that will rewrite the requests for the Back-end application server. In the event that the number of requests is large or increases in time, this server can also provide the facility of load-balancing for the Back-end system.

2.4 WEB PORTAL OVERVIEW

In the screenshot, highlighted using green rectangles from top to bottom, the main web portal overview are presented: the internet address, the name of the user, the option to list reports from different timeframes, the map of the city and the main navigation menu.


2.5 FUNCTIONALITIES

Report function: In the screenshot, highlighted using green rectangles and arrows, from top to bottom, are the main functionalities for managing the reports received, the sorting option using different criteria (start date, end date, category of reports, status) and the report list.

Report details: from the report list, the user can export the data in different file formats (xls, doc, pdf) or can view the report details, as depicted in the screenshot below. The main data provided about the report are: the report unique registration number, the date, location, category and details about whom was sending the specific report. The portal user can update the status of the report and can send a notification to citizen.

Notification to citizen: the user can send a notification to the author of the report, after clicking the Send notification button, indicated with the green arrow in the screenshot above. The text box is open and the user is allowed to write the text of the notification. After completion, the user must click on the Send button.

Emergency function: In the screenshot, highlighted using green rectangles from top to bottom, the emergencies list is visualized and also a filter option can be applied, using different criteria of the emergencies reported: id, start date, end date, active emergencies. A different feature of this function is the visualization of the emergencies on the map, using three different criteria: starting position, intermediate position and last position

Alert function: In the screenshot, highlighted using green rectangles and arrows the alert function is detailed: after clicking on the left main navigation menu the Alerts button, the New alert feature pops-up and the user can select from different options: location, severity of the alert, language, title, content of the alert, link to an internet domain/ website, timing of the alert (using the calendar function for selecting the year, month, date, hour). After setting all the features of the alert, the user clicks on the Save button.

User function: In the screenshot, highlighted using green rectangles and arrows the user function is explained: after clicking on the left main navigation menu the User button, the User page pops-up and the portal user can select from different options: create new user or view the user list and filtering the list after different criteria (roles, active users).

Nearby places function: In the screenshot below, highlighted using green rectangles and arrows the Nearby places function is shown: after clicking on the left main navigation menu the Nearby places button, the city map pops-up and the portal user can click on any point in the map to see the closest emergency services.