One of the most important concepts I learnt as a computer science student was that of algorithmic complexity, both space and time. But I never better realized the practical implications of these before I put them to application at Nevis Networks as an intern. I was assigned to come up with a generic method to detect zero day worm infections. Given my enthusiasm for network security, this was a perfect opportunity to get familiar with the current trends in the field. Most of the existing solutions suffer from several practical issues like high false positive rate, heavy resource usage and scaling issues. Thinking about the possible invariants in a worm infection, it occurred to me that any good worm spreads through a network forming a directed acyclic graph. The idea was confirmed in papers by W. Shi and D. Bulatovic. This feature could be exposed by raising alarms based on temporal and spatial proximity of possible anomalies. These minor alarms could then either cascade to a major one to indicate infection or simply die out over time. Although I am still trying to simulate the algorithm, theoretically it seems to take care of most drawbacks. This takes the form of a solution which while not being traditional, seems to be more practical.
"Thinking out of the box" is not something that is done forcefully, it ought to come naturally. When faced with tricky mathematical problems in my formative years, this is exactly what I realized I could do. Trying to solve those puzzling questions developed in me the intuition necessary to attack a problem uniquely; a quality that has persisted in me ever since. This intuitive approach is augmented by a strong logical backing. All these along with hard work and perseverance gave me early success as I went on to hold the first rank amongst nearly 1.2 million students giving the All India Board Examinations. Further achievements at national Science and Maths Olympiads made engineering my clear academic choice. These qualities of mine are, however, incomplete without foresight, that can only be gotten through sufficient experience.
These three and a half years at BITS-Pilani, preparing myself in the discipline of computer science, have not only helped me hone my intuitive and logical capabilities, but also provided me with the much required insight and preparedness, expected of an intelligent computer scientist. And I do not intend to end my learning curve right over here. The exciting intellectual challenge that computer science offers is something I would love to explore further. The little research I have done as a part of my undergraduate studies and otherwise, have made me appreciate several aspects of it and in spite of the hardships and stinging feeling of frustration that one may experience in the process, I have thoroughly enjoyed the ultimate moment of eureka that makes every effort worthwhile.
This is what I realized while I was working as an intern for the Central Institute of Road Transport (CIRT), Pune. I was asked to develop a bus scheduling software for the metropolitan bus network. Astonishingly, web searches provided almost no useful results and literary material was rare to come by. In spite of the limited information obtained after a month and a half of foraging around on the topic, I managed to develop an efficient algorithm which was suited for the Indian scenario. It also served its purpose of cutting down extraneous expenditure by the State Transport Undertakings and was hence appreciated. The benefits of optimization became clear to me and I intended to work in a field in which it would be of prime importance. Considering my interest in computer networks and sytems, I believe distributed computing became an obvious choice.
My interest in distributed systems was largely spurred by the concept of virtualization. My own little experiments with VMWare and VirtualBox on both Linux and Windows gave me the idea of exploiting this on a larger scale. A little research introduced me to distributed computing. Having tinkered around with numerous operating systems, and with the perspective obtained in ‘Parallel Computing’, I got to understand the intricacies of such a system. I knew that this is the area of study I must invest my hard work in. I therefore decided to take up the course on ‘Advanced Architecture and Performance Evaluation’ in which Prof J P Mishra helped me build upon my existing concepts and introduced me to new ones. Being an expert in OS himself, he helped me develop promising ideas. Prof Murali P too guided me on wireless networks and distributed systems and gave me useful insights regarding their security aspects which I have decided to take up as my field of interest.