Software systems, security, distributed systems and networks

Software systems, security, distributed systems and networks


Extracting or recovering useful information while reducing unwanted noise can be achieved using sophisticated mathematical methods and computation to process signals (audio, video, electromagnetic, biomedical, remote sensing, multimedia, fiber optics, and others). Optimal design and engineering systems operation methodologies enable the understanding, design, and control of systems (integrated circuits, vehicles and autopilots, energy systems (storage, generation, distribution, and smart devices), wireless networks, financial trading, and others). Together, these approaches are foundational for observing, estimating, learning, and fitting signals and for controlling on optimizing systems. In addition to using theoretical analyses and systematic experiments to study the underlying principles, we often build real-time test beds and prototypes to validate and demonstrate our ideas. Applications include multimedia compression, communications, networked media systems, augmented and virtual reality, remote sensing of Earth and other plants, neuroscience, compact descriptions for visual search, sensors for driverless cars, biomedical systems, signal processing for neuroscience languages, and solvers for convex optimization, distributed convex optimization, robotics, smart grid algorithms, learning via low rank models, approximate dynamic programming, methods for sparse signal recovery, dynamic game theory, control theory, decentralized control, and computational imaging and display.

Software Defined Networking: Software defined networking (SDN) has emerged as a new paradigm of networking. Key aspects of SDN include separation of data and control plane, a well defined vendor-agnostic interface between the data and control plane (e.g. OpenFlow), and a logically centralized control plane that creates a network view for the control and management applications. Industry is embracing SDN because it enables competition and innovation and helps network operators reduce capex and opex and create revenue generating services. Examples include:

  • Foundations of SDN including abstractions for forwarding and control planes; SDN building blocks that embody the abstractions; controller design and data consistency guarantees; SDN scalability, reliability, and security;
  • New network capabilities or services enabled by SDN including network virtualization, troubleshooting and verification; traffic engineering; and other automation and orchestration for cloud applications;
  • SDN for different types of networks, including data center, enterprise wired and wireless, cellular wireless, and service provider networks.

Information Systems & Science: In addition to work on the core disciplines of information theory and coding, communications and networking, control and optimization, signal processing, (radar) remote sensing machine learning and inference, our research in this area spans several application areas, including biomedical imaging, optical communications, wireless communications and networks, multimedia communications, Internet, energy systems, transportation systems, computational imaging and display systems, and financial systems.

Societal Networks: Societal networks and urban systems can be improved using mathematical methods for analysis, design and optimization. Systems include transportation, health care, financial, water, waste management and emergency services, and they suffer from two major problems: a severe shortage of resource supply and excessive demand. Key outcomes involve using insights from data generated by these networks to improve the supply and curb demand, and large-scale deployments in cities around the world are a major result. Examples include:

  • Designing "nudge" engines,
  • Personalized recommendation engines,
  • Big data algorithms and systems,
  • Mobile phone-based sensing algorithms.

Communications Systems: Communications challenges exist over wireline, optical, and wireless links, and our research spans the study of fundamental limits, physical modeling, coding, networking and overall system design. The focus is on improving utility to users, power efficiency, and reliability. Examples include:

  • Cellular and adhoc networks,
  • Full duplex radio,
  • Wireless communications,
  • Optical communications,
  • Molecular communications,
  • Data center networking,
  • Sensor networks.

Data Science: All aspects of data and information are part of this research, including how to collect, store, organize, search, and analyze information. Recently there has been energized interest in information management because huge volumes of data are now available from sources such as web query logs, Twitter posts, blogs, satellites, sensors, and medical devices. The interest is not solely due to the volume, but because there has been a paradigm shift in the way data is used. In the past, data was used to verify hypotheses; today, mining data for patterns and trends leads to new hypotheses. The more data available, the finer and more sophisticated these hypotheses can be. Examples include:

  • Managing uncertain/approximate data and models;
  • Tracking data lineage;
  • Causality;
  • Automated data cleansing (e.g., entity resolution, graph alignment, etc.);
  • Scalable self-tuning optimization, machine learning, and data mining systems;
  • Algorithms for analysis of large, dynamic networks;
  • Next generation distributed large-scale computing and simulation environments;
  • Domain-specific languages and optimization systems for big data analytics;
  • Scalable analysis tools for automatic bug detection;
  • Data visualization.

Embedded Systems: Today, there is computation in everything. Birthday cards can play songs, fireworks use microcontrollers rather than fuses for timing, homes and buildings are becoming "smart", and we wear many computers in our pockets and on our wrists. These systems are characterized by a tight coupling of hardware capabilities, software functionality, application requirements, and physical form factor. They raise many open questions in power management, networking, security, privacy, and administration. We look at new, fundamental ways to design these systems that will make them robust, secure, and long-lived.

Secure Distributed Systems: An increasing amount of computation is now hosted on private and public clouds, backed by warehouse-scale datacenters. At the same time, web-scale applications such as search, social networks, and software-as-a-service, are changing not just the way we use information, but also the way that people interact with each other. We are investigating next generation computation, storage, and communication platforms that enable and simplify the development of such applications. Moreover, we are developing novel security architectures, exploring new attack vectors, and experimenting with new user interfaces is important, necessary work for enhancing the security of computer systems. Examples include:

  • Low latency data center technologies;
  • Resource efficient cloud computing;
  • Software platforms for coordinating swarms of smart objects and connecting them with web-scale services;
  • Network and web security protocols, operating system and hardware support for security, security through programming language paradigms, cryptography;
  • Security for embedded devices;
  • New applications for cloud computing, e.g., distributed graphics.

Mobile Networking: As personal computing and data move to the cloud, mobile wireless networks form the substrate over which users access these services. Our research aims to design and build the next generation of wireless networks, taking a cross-disciplinary approach that tackles broad cross-cutting problems such as interference, mobility, and network complexity using tools from RF circuits, signal processing, communications and information theory, and distributed software systems. Examples include:

  • New network designs that embrace and exploit interference instead of avoiding or ignoring it in order to create high capacity wireless networks;
  • Programmable wireless infrastructure that expose interfaces for fine-grained control of the radio spectrum;
  • Software systems that manage such large dense networks automatically and continuously to maximize spectral efficiency, facilitate seamless handoff between networks, and enable new services to be deployed easily in wireless networks.

Information Theory & Applications: Core topics of information theory, including the efficient storage, compression, and transmission of information, applies to a wide range of domains, such as communications, genomics, neuroscience, and statistics. Examples include:

  • Compression,
  • Coding,
  • Network information theory,
  • Computational genomics,
  • Information theory of high dimensional statistics,
  • Machine learning,
  • Information flow in neural systems.

This course listing is an example; Please speak with your Advisor about what courses are best suited for your individual interest areas.

CS107E: Computer Systems from Ground Up
CS111: OS Principles
EE 284: Introduction to Computer Networks
EE 284A: Introduction to Internet of Things
EE 285: Embedded Systems Workshop (CS 241)
EE 292Y: Software Techniques for Emerging Hardware Platforms
EE 374: Foundations of Blockchains
EE 384A: Internet Routing Protocols and Standards
EE 384S: Performance Engineering of Computer Systems and Networks
CS 142: Programming Languages
CS 143: Compilers (should count as 200-level)
CS 144: Introduction to Computer Networking (should count as 200-level)
CS 145: Data Management and Data Systems
CS 148: Introduction to Computer Graphics and Imaging
CS 149: Parallel Computing (should count as 200-level)
CS 155: Computer and Network Security
CS 212: Operating Systems and Systems Programming
CS 240: Advanced Topics in Operating Systems (should count as 300-level)
CS 240LX: Advanced Systems Laboratory, Accelerated (should count as 300-level)
CS 242: Programming Languages
CS 243: Program Analysis and Optimization
CS 244: Advanced Topics in Networking (should count as 300-level)
CS 244B: Distributed Systems (should count as 300-level)
CS 245: Principles of Data-Intensive Systems (should count as 300-level)
CS 248A: Computer Graphics: Rendering, Geometry, and Image Manipulation
CS 248B: Fundamentals of Computer Graphics: Animation and Simulation
CS 249I: The Modern Internet (should count as 300-level)
CS 251: Cryptocurrencies and Blockchain Technologies
CS 253: Web Security
CS 255: Cryptography
CS 257: Introduction to Automated Reasoning
CS 295(?): Software Engineering
CS 340R: Rusty Systems
CS 341: Project in Mining Massive Data Sets
CS 343D: Domain-Specific Programming Languages and Compilers
CS 344: Topics in Computer Networks
CS 348A: Computer Graphics: Geometric Modeling & Processing
CS 348B: Computer Graphics: Image Synthesis Techniques
CS 348C: Computer Graphics: Animation and Simulation
CS 348E: Character Animation: Modeling, Simulation, and Control of Human Motion
CS 349D: Cloud Computing Technology
CS 349F: Technology for Financial Systems
CS 350: Secure Compilation
CS 355: Advanced Topics in Cryptography
CS 356: Topics in Computer and Network Security
CS 357S: Formal Methods for Computer Systems