This blog post provides a reference architecture to the solution proposed in my previous posts â€“
Disaster Management Solution â€“ Part 1: Cloud, IoT, Blockchain
Disaster Management Solution â€“ Part 2: User Scenarios
The primary goals of this solution are as follows:
- One platform to connect the residents, service providers and funds providers â€“ Cloud, Mobile
- Visibility into movement of supplies and people (tracing at an individual level) â€“ IoT
- Visibility and transparency in the distribution of funds during the crisis. Accountability on usage of funds. Faster reconciliation. â€“ Blockchain
Based on the needs of the client, a combination of the solution can be used. If the client wants to address the problem related to connecting with all citizens and protecting them, then a solution with points 1 & 2 is sufficient. If the client is facing problems related to trust among all parties involved, then point 3 will be required.
Key differentiators in this solution proposal:
- Connecting the residents with each other in a more structured way because ground reality is that citizens around are in a better position to help each other than the Government. They are currently using various social media platforms to do this, but are struggling to get that single view.
- Empower the citizen with a mobile wallet which the Government or any funds provider can add money to, during the crisis. Instead of giving funds to the suppliers or service providers, the money can be given to the citizen to avail any paid service as needed.
UI / API Layer
- A web and mobile application called â€˜Disaster Management Applicationâ€™ is for the use of Residents and Shelters, and is authorized to invoke smart contracts on the blockchain network. Disaster management application can define APIs to allow querying the data stored in the database (Blockchain, No SQL DB, etc).
- API Management service provides secure access to the APIs exposed by the application. External authorized systems like Emergency Management Systems can extract data from the blockchain via the APIs.
- Login service should allow users to login via social media like Google, Facebook, etc.
- Mobile service provides sms and pop-up notification facility.
- Weather Data service provides insight on the latest weather.
- Maps service provides best route recommendations and geofencing.
- Data Storage
- No SQL Database
- Userâ€™s profile (ID, address, etc.).
- Preferences on medical support, baby and pet support. Type of food (to avoid allergies).
- Family and friend connections.
- Chat room logs.
- File / Object Storage
- Important documents (Passport, Insurance, etc.).
- Medical records.
- Images and videos recorded by users during the crisis.
- Userâ€™s verified identity and the mobile wallet data.
- Residents and service providers publish the services they offer.
- Complete life cycle of a request for services or supplies.
- Movement of funds.
- Transactions involving payment via mobile wallets.
- Internet of Things Platform
- Real time data access of movement of supplies and people. Need not persist device data as the starting and end points of a request is recorded in Blockchain for accountability.
- No SQL Database
- Blockchain Platform for enabling a transparent platform for all parties to perform transactions with trust.
- Mobile Platform for building and managing cognitive features in the mobile application. Provides offline capabilities for residents to get information even if they are not connected to the internet.
- Internet of Things Platform provides real-time access to the current location of supplies and people during movement to shelters or homes. Disaster Management application can subscribe to the events on IoT platform to bring this data to users who request for it.
Blockchain Network Design (High level):
The primary purpose of Blockchain is to have the transparency and accountability of the funds distribution and usage. Based on this aspect, the peers can be broadly classified into 2 categories:
- Fund providers (Government, Telecom Companies).
- Fund consumers (Residents, Shelters, Food Suppliers, Medical Suppliers, Medical Service Providers, Transporters).
The network will consist of a minimum of two endorsing peers (+ 2 for High Availability), one committing peer (Auditor) and seven members (Government, Telecom Company, Food Suppliers, Medical Suppliers, Medical Service Providers, Transporters, Auditor). If a member (SMB) would like to connect to a common consumer or provider peer, they can do so without purchasing a new peer. A large business partner has the option to purchase a new peer and host it on their network. The endorsement policies can be used to manage the endorsement of transactions from relevant parties. Enterprise systems of all the peers have access to invoke smart contracts on the Blockchain network. Applications are subscribed to events generated by the smart contracts.
IBM Cloud services:
This solution can be created using any Cloud services available in the market. Here is a list of IBM Cloud services that can be explored to achieve the same.
- IBM App ID provides the facility to login to the application using the social media identity (Google, Facebook).
- IBM Node.js service can be used to create the web / mobile application.
- IBM Mobile Foundation provides offline functionality.
- IBM Push Notifications can be used to popup alerts on the mobile phone.
- (Third party) Twilio can be used for sending SMS.
- IBM Blockchain provides a platform to create a blockchain network. Also, stores all the transaction data related to requests and payments in the Couch DB.
- IBM Internet of Things provides a platform to publish and subscribe to data from IoT devices (esp. mobile phones).
- IBM Cloudant NoSQL DB for storing usersâ€™ profiles and application data.
- IBM Object Storage can be used for storing documents, images, audio and videos.
- (Third party) Esri ArcGIS helps in providing map features. Best route recommendation and many other rich GIS features.
- IBM Geospatial Analytics helps provide geofencing. It alerts residents when they are close to the country borders or regions they should not enter.
- IBM Weather Company Data helps in getting the latest weather data. There are many Weather Company Data packages that tap into the breadth and depth of weather data to provide current and forecast conditions, seasonal and sub-seasonal forecasts, lifestyle indices, severe weather and historical weather data.
- IBM API Management service provides secure access to the APIs exposed by the application.
- Pricing for the IBM Cloud services is available on IBM Cloud catalog :
App ID, SDK for Node.js, Blockchain, Internet of Things Platform, Mobile Foundation, Push Notifications, Cloudant NoSQL Database, Object Storage, Weather Company Data, Geospatial Analytics, API Connect.
- Cost of IBM support is 10% of the total amount of the above mentioned services.
- Pricing for Twilio
- Pricing for Esri ArcGIS will have to be obtained by registering with Esri.
Pricing Calculation (as on Jan-2018):
During the disaster period, for 1 million users, it would cost an approximate of $100K USD per month.
During the non-crisis period, it would cost an approximate of $40K USD per month. It includes Node.js SDK, Cloudant DB, Blockchain, Mobile, Object Storage and IBM Support.
Note: You need to add the monthly cost of Esri ArcGIS to the above mentioned cost.
Call to Action:
Share your thoughts on using the above services (esp. Blockchain) for this solution.