Researchers at MIT have developed a new way to monitor network traffic that provides great flexibility in data collection while keeping both the circuit complexity of the router and the number of external analytic servers low. Photo by Ritchie B. Tongo/EPA
Aug. 24 (UPI) -- Researchers at MIT, Cisco Systems and Barefoot Networks have developed a new way to monitor network traffic that gives more flexibility and efficiency.
"There's this big movement toward making routers programmable and making the hardware itself programmable," Mohammad Alizadeh, the TIBCO Career Development assistant professor of Electrical Engineering and Computer Science at MIT, said in a press release. "So we were really motivated to think about what this would mean for network-performance monitoring and measurement. What would I want to be able to program into the router to make the task of the network operator easier?
"We realized that it's going to be very difficult to try to figure this out by picking out some measurement primitives or algorithms that we know of and saying, here's a module that will allow you to do this, here's a module that will allow you to do that. It would be difficult to get something that's future-proof and general using that approach."
Researchers have developed a way to approach network monitoring that provides flexibility in data collection while still keeping both the circuit complexity of the router and the number of external analytic servers low.
The system, called Marple, consists of a programming language that allows network operators to specify a range of network-monitoring tasks and a small set of simple circuit elements that can execute any task specified in the language.
Marple is designed to individually monitor the transmissions of each computer sending data via a router. This translates to more than 1 million connections, where a typical router can only store statistics of 64,000 connections.
The system is able to monitor so many more transmissions through a variation on the common computer science technique of caching, where it kicks out old data for new once the data limit is reached.
"We found that for operations where it wasn't immediately clear how they'd be written in this form, there was always a way to rewrite them into this form," Srinivas Narayana, of MIT's Computer Science and Artificial Intelligence Laboratory, said. "So it turns out to be a fairly useful class of operations, practically."
The research was presented recently at the Association for Computing Machinery's Special Interest Group on Data Communication.