Upload
le-kien-truc
View
67
Download
0
Embed Size (px)
Citation preview
I. Real-world problems:
- Now a day, all most everything is connected with the Internet, smartphone, tablet, electronic
devices, door, surveillance camera …
- IPv4 problem: due to technology limitation and security
II. Non functional Requirements:
- System shall guarantee message latency below 1000.
- System shall support 2-way communication and trigger from any parties.
- System shall prevent vendor lock in so that we can move and scaling without license
restriction.
- System shall provide service for at least 20.000 devices from the beginning.
- System shall support horizontal scaling.
III. Technology:
After researching and comparison between many solutions WebSockets, Http
Streaming, Http Long Polling ... The suitable technology for this system is http long polling.
HTTP Long Polling is able support HTTPS for encryption and horizontal scalability.
IV. Functional requirements:
We have 2 components in this system:
1. Real-time message streaming server:
● Live connection management.
● 2 way communication between devices, server, application.
● HTTPS support
● Horizontal scaling in Amazon AWS infrastructure.
1. API management server
● API definition for devices
● Device registration.
● Device management.
● User subscription management.
● Authentication
Other components that might be add later: Video streaming, Web user portal.
References:
http://en.wikipedia.org/wiki/Push_technology#Long_polling
http://blog.fanout.io/2013/10/30/pushing-to-100000-api-clients-simultaneously/