With the Teleputer, we envision cell-phones equipped with sophisticated sensors that stream data to a centralized service for processing. Traditional operating systems have a fundamental mismatch with such networked stream-oriented applications. A traditional OS has a process-centric view. The job of a traditional OS is to run user tasks, not store and serve data.
We propose a different approach in which the data-centric semantics of an application are exposed to the operating system. Our system, called Data-centric OS, enables a model where the application can simply declare its monitoring semantics by instantiating a QueryFile. Once an application has created a QueryFile, the application is no longer in the critical path of filtering, processing or storing a network stream. Instead, the Query File System plays an active role in efficiently processing and storing a network stream according to application semantics.
Exposing application-level semantics to the OS, helps to filter unimportant data early and upcalls to user-space are made only for semantically meaningful data. Application-specific processing paths can be set up to efficiently process incoming network packets. Also, OS resources may be allocated and adapted with varying data rates according to application semantics and different operations on the same data can be integrated.