This project studies the design and analysis of dynamic computer processes. Past research in theoretical computer science has focused mainly on static computation problems, where the input is known before the start of the computation and the goal is to minimize the number of steps till termination with a correct output. Many important processes in today's computing are dynamic processes, whereby input is continuously injected to the system, and the algorithms is measured by its long term, steady state, performance. Examples of dynamic processes include communication protocols, memory management tools, and time sharing policies. The goal of this project are: (1) To develop new tools for analyzing the performance of dynamic processes, in particular through modeling the dynamic process as an infinite stochastic processes. (2) Use the insight obtained from the above analysis to obtain provably better algorithm for fundamental dynamic processes such as (a) dynamic data structures, (b) communication protocols, and (c) resource sharing protocols. (3) Validate the analysis though simulations to develop algorithms of both practical and theoretical interest.