About the Client
- 25 years in business
- Rated # 1 brand in US custom remote control and whole-house control markets
- Focused on providing high quality remote control based automation solutions of devices and appliances
- Customers include broadcasting, high end to premium residential and commercial automation
- Distributes products and services through a network of retailers, custom installation professionals and OEM partners
The client’s main home automation product lets users take control of entertainment systems, lights, security, door locks, temperature and any other compatible appliances and devices. The system exercises control on the appliances through a central controller also known as a “base-station” that gets installed at the customer premises. The “base-station” acts as an interface between the end nodes and the mobile application provided to the user.
The base-station could control multiple systems in a home by storing and issues commands and macros for all IP, IR, RS-232, Relay, Sensor and 12V based devices. Since the base-station does the heavy lifting of processing commands and communicating with the home devices, the user’s mobile app functions as a generic remote control through which users can control thousands of compatible home products such as Kitchen appliances, Audio, Video, Lighting, Climate and many other devices.
The original solution architecture was as follows:
- A Web based architecture wherein a HTTPS web service is used to send commands from the mobile app to the base-station installed at the customer premises
- The base-station processes the commands from the mobile app and communicates with appliances via the internet
- The base-station also communicates system usage data to the company’s cloud servers, in order to run reports and provide customer service to the end user
Key challenges faced with the current solution design were:
- Speed and Performance: Command processing in the current system took up to one minute to respond; Communication between the machines, the cloud servers and the mobile app created a heavy load on the HTTPS web service leading to poor response times.
- Communication Integrity and Reliability: Users of the client’s products were facing issues with connectivity, lost commands, and faulty communications between the services
The client was getting pressure from customers who were reporting these issues more frequently. They approached Silicus to perform an architecture analysis, troubleshoot the performance issues and suggest solutions for the same.
Need help with a Java Modernization project?Contact Silicus Sales
ANALYSIS AND TROUBLESHOOTING
- Preliminary investigation pointed towards the HTTP based web service having high latency issues and low communication integrity due to multiple points where communications could break down due to poor connectivity or service failure.
- The reporting and tracking system on the cloud servers further added to the poor response times since the base-station needed to communicate with multiple appliances and the mobile app in real time
To summarize, the use of web services was a poor choice and the architecture design was inefficient. Real time remote processing demanded a more robust architecture. Silicus recommended an architecture re-design that replaced HTTP web services with the SIP protocol (Session Initiation Protocol).
IP BASED ARCHITECTURE DESIGN
- The Session Initiation Protocol (SIP) is a communications protocol for multimedia communication sessions over Internet Protocol (IP) networks. Common applications include Internet telephony and instant messaging
- Silicus demonstrated that it was possible to design a SIP based solution where the communication between the mobile app and the base-station was extremely fast, simple, and efficient
- To dispel reservations over the cost of implementing this new IP based architecture, Silicus designed an Open Source architecture to deploy the new system more cost effectively than the client’s original solution
DEVELOPMENT AND DEPLOYMENT
The Silicus team developed and utilized their expertise in designing real time Remote Asset solutions in this project to develop SIP client software as per high quality performance specifications. Silicus developed and deployed the new SIP based software on nearly 100K customer systems in use, and created a process for easy deployment on future systems.
The following activities were completed as part of the solution:
- Develop and Install SIP clients in the base-station units
- Compiling of API Libraries to interface with the SIP clients
- Deployment of Cloud based SIP server for the customer support team
IP based Customer Support : Another innovation was the deployment of a feature included in the mobile app that allows users to directly contact Customer Service for assistance. It also automatically transmits all related user data and usage logs to the customer service representative, facilitating faster issue resolution leading to enhanced customer experience and satisfaction
VB.NET, PLC programming
iOS, Android, Linux
TOOLS / LIBRARIES
PJSIP and JSSIP
Faster response time
The new SIP architecture reduced response times from 1 minute to 3-5 seconds for a command to process, a vast improve over the previous times
100% communication integrity and reliability
With the new software installed there were zero instances of lost commands and miscommunication
Reduced customer complaints
Allowed the clients workforce to be deployed more productively towards new product development, feature enhancements, new business pursuits etc.
Enhanced customer experience and satisfaction
The new telephony feature facilitated real time access to usage log records and customer account information, greatly improving the quality of technical and user support