1. Professional Experience - Innowatch Control Server Design
1. Introducing Innowatch
2 Years ago, I worked as a Senior Developer at Innotive, a huge software company in Korea. At
that time, the company was trying to develop a huge CCTV solution. That solution was Innowatch.
A huge feature of Innowatch was that it could display more than two hundred cameras on one
screen at the same time and in real time. As a consequence of network bandwidth, it was
impossible to show more than two hundred cameras on a single screen. However, Innotive found
a solution. Innowatch uses several video servers that combine from the data from twenty to forty
cameras into a single video. The video server data is sent to the screen software that splits the
origin data. If the screen software requests to zoom using a certain camera, the video server
transfers high quality data.
The pictures below demonstrate some of these features.
[Feature1-1] building observation in 3D
2. [Feature1-1] Song-Do security system
2. Structure of project team
The project involved three teams:
1. Camera Video Team
2. UI Team
3. Control Server Team
[feature2-1] Project Team
3. As I mentioned, the camera video team developed the video server to encode the many cameras
to 1 screen and the UI team developed the screen software and console program. The console
software supplies various features that controls the screen and triggers the alarm whenever an
emergency situation is raised.
Finally, the control server team plays a key part in the communication of the software, notably, in
the transfer of video data and also passing command Console to Screen(Player)
3. My Role
I worked as senior developer and designed all of the network communications. Below [feature3-1]
shows the communication architect.
[Feature3-1] Control Server Architecture
There are two kinds of communication channel, Sync Service and Data Service. Sync Service
provides a sync service between Play and IConsole and Video Server for adjusting the screen. In
contrast, Data Service to transfer data, such as a request for setting the UI, storing information of
UI or Video server information.
4. In order to develop the Sync Server, I normally employed socket programming. However, to
develop the Data Service, I used Web Service, which is a standard technique worldwide, having
been established by W3C. Major reasons for using Web Service were that the project was using
many platforms such as Linux and Windows, and the issue of reusability.
In addition, in order to the control server, we developed 5 applications. Below [feature3-1]
summarizes each client application.
[Feature3-1] Control Server Application
In conclusion, I designed the entirety of the structure. I also wrote a guidance document for
developers using communication framework, using the experience I have gained from being
involved with the framework over the past seven years. Additionally, I have also participated in
developing Sync Service and DB Services.