Dataflow Tunneling: Mining Inter-request Data Dependencies for Request-based Applications
Xiao Yu and Guoliang Jin
Nowadays web-based applications are ubiquitous in server applications to serve web pages and RESTful APIs. One typical characteristic of such applications is the use of modular and stateless request handlers to process user requests. It is notable that making individual handlers stateless does not actually remove the underlying data dependencies over multiple requests. Data can still be propagated across requests by implicit calling relationships between seemingly stateless handlers, and these handlers may still have to retain or recompute internal states, such as querying a backend database repeatedly.
This accepted paper represents our newest effort in advancing analysis techniques for web-based applications. We argue that inter-request analysis, which analyzes request handlers with data propagation across user requests, is potentially beneficial for performance optimization and information-flow integrity. And we propose an approach to capture and abstract such data propagation going through multiple application and library components, and client side applications, such as web browsers and mobile apps. We believe that our work is the first step towards practical and full-fledged inter-request analysis tools.
Prof. Yuanyuan Zhou’s talk on her startup experience. Although the talk is in Chinese, most of the slides are still in English. Below is the brief intro for the talk.
In this talk, I will share with everyone about the challenges and lessons of starting companies from academia. I have co-founded companies either as a fresh Ph.D graduate (my first startup), and also as a professor (my second and third startup). I have learned many valuable lessons along the way and have also learned a lot from my advisor and many other mentors in entrepreneurship. Moreover, I will also share with everyone some of the logistics such as IP issues with universities, visa problems for your co-founders or early employees, fund raising, etc. At the end, I will also invite two founding members from my current company (one is my former Ph.D student who had a very strong publication record, and the other is a Ph.D graduate from a famous architecture professor at UIUC also with a strong publication record) to share with everyone why they chose to join a startup and what they have learned so far from the startup. So feel free to invite your own Ph.D students or postdoc, too.
Bio: Yuanyuan Zhou is a Qualcomm Chair Professor in Mobile Computing at University of California, San Diego (UCSD) since 2009. Prior to UCSD, she was a tenured professor at University of Illinois, Urbana-Champaign (UIUC). Her area of expertise include data centers, computer systems, data analytics and mobile systems. She has so far graduated 18 Ph.D students, most of whom are now either successful entrepreneurs or tenured/tenure-track professors at top universities including University of Chicago, University of Toronto, University of Waterloo, Ohio State University, etc. In parallel to her academic career, she has also co-founded three companies, with the first two successfully exited to public companies. As the President in her second startup, Pattern Insight, she led the company to become profitable since 2010 and was acquired by VmWare in July 2012, providing good returns for investors and shareholders. Currently she is busy with her third startup, Whova. It has gained substantial customer traction worldwide and has successfully raised substantial investment last year. She obtained her BS in computer science from Peking University, and her MS and Ph.D from Princeton University. She is an ACM Fellow and IEEE Fellow, Sloan Research Fellow (2007) and the winner of ACM Mark Weiser award (2015).
I haven’t got time to update this site for a long time, because of the busy work with NEC Labs, and the recent paper submission to USENIX ATC’15 (reviewers, don’t be too harsh…). Now it’s time to reflect, and plan for the future.
Looking back on my experiences in the past one year and a half, one of my major achievements was to have successfully registered my car with three states: North Carolina, Illinois, and New Jersey! I left North Carolina in August 2013, and stayed at University of Illinois at Urbana-Champaign from September to May 2014, then worked at NEC Labs in New Jersey from May to December, finally returned to North Carolina in January 2015. What a roving life!
I really appreciate those experiences, which have given me a clear mind on what I should pursue, what person I am willing to become, as well as some important counterparts, such as what person I should never become. There were successes and failures, up and down, all strengthening my determination of being a successful PhD. I promise to present memoirs discussing details of those experiences later, probably when I graduate (“Memoirs, alas, are an occupational hazard” – “Sir Humphrey Appleby”).
Anyway, a new journey has started. Once again I can work with passionate people on such a beautiful campus of NC State.
A takeaway for myself, and for anyone who is reading this post: always remember to work with right people, and look forward to a fruitful future.
A really nice “open-source” book on the Bayesian method, in an easy-read form. I wish I could have read it when I was an undergrad 😛
I will continue working on the current projects at NEC Labs until mid December.
I will go back to NC State in Spring 2015 for the rest of my PhD program.
My summer internship at NEC Laboratories America starts from this week! This year’s internship is going to be another exciting experience – I have realized that only “real” and “big” stuff can make me feel excited.
Back to the summer of 2012, I was working on some OS performance stuff with the Software Analytics Group at Microsoft Research Asia. That experience was so memorable – I had a good chance to understand what could happen inside an operating system to slow down the whole ecosystem, which includes the operating system itself as well as the applications running on it. By analyzing large-scale real runtime data, I was able to acquire some valuable knowledge of OS performance, and to know what kind of research was attractive to people in industrial labs – I will use another post to discuss.
Let’s see what will happen this year – we are going to start another “real” and “big” project. Allow me to keep it a little bit mysterious for now, in the Cloud.