778 research outputs found
Performance analysis of next generation web access via satellite
Acknowledgements This work was partially funded by the European Union's Horizon 2020 research and innovation programme under grant agreement No. 644334 (NEAT). The views expressed are solely those of the author(s).Peer reviewedPostprin
Forty hours of declarative programming: Teaching Prolog at the Junior College Utrecht
This paper documents our experience using declarative languages to give
secondary school students a first taste of Computer Science. The course aims to
teach students a bit about programming in Prolog, but also exposes them to
important Computer Science concepts, such as unification or searching
strategies. Using Haskell's Snap Framework in combination with our own
NanoProlog library, we have developed a web application to teach this course.Comment: In Proceedings TFPIE 2012, arXiv:1301.465
Is there a case for parallel connections with modern web protocols?
Modern web protocols like HTTP/2 and QUIC aim to make the web faster by addressing well-known problems of HTTP/1.1 running on top of TCP. Both HTTP/2 and QUIC are specified to run on a single connection, in contrast to the usage of multiple TCP connections in HTTP/1.1. Reducing the number of open connections brings a positive impact on the network infrastructure, besides improving fairness among applications. However, the usage of a single connection may result in poor application performance in common adverse scenarios, such as under high packet losses. In this paper we first investigate these scenarios, confirming that the use of a single connection sometimes impairs application performance. We then propose a practical solution (here called H2-Parallel) that implements multiple TCP connection mechanism for HTTP/2 in Chromium browser. We compare H2-Parallel with HTTP/1.1 over TCP, QUIC over UDP, as well as HTTP/2 over Multipath TCP, which creates parallel connections at the transport layer opaque to the application layer. Experiments with popular live websites as well as controlled emulations show that H2-Parallel is simple and effective. By opening only two connections to load a page with H2-Parallel, the page load time can be reduced substantially in adverse network conditions.Peer ReviewedPostprint (author's final draft
An Early Benchmark of Quality of Experience Between HTTP/2 and HTTP/3 using Lighthouse
Google's QUIC (GQUIC) is an emerging transport protocol designed to reduce
HTTP latency. Deployed across its platforms and positioned as an alternative to
TCP+TLS, GQUIC is feature rich: offering reliable data transmission and secure
communication. It addresses TCP+TLS's (i) Head of Line Blocking (HoLB), (ii)
excessive round-trip times on connection establishment, and (iii) entrenchment.
Efforts by the IETF are in progress to standardize the next generation of
HTTP's (HTTP/3, or H3) delivery, with their own variant of QUIC. While
performance benchmarks have been conducted between GQUIC and HTTP/2-over-TCP
(H2), no such analysis to our knowledge has taken place between H2 and H3. In
addition, past studies rely on Page Load Time as their main, if not only,
metric. The purpose of this work is to benchmark the latest draft specification
of H3 and dig further into a user's Quality of Experience (QoE) using
Lighthouse: an open source (and metric diverse) auditing tool. Our findings
show that, for one of H3's early implementations, H3 is mostly worse but
achieves a higher average throughpu
Systems and Methods for Measuring and Improving End-User Application Performance on Mobile Devices
In today's rapidly growing smartphone society, the time users are spending on their smartphones is continuing to grow and mobile applications are becoming the primary medium for providing services and content to users. With such fast paced growth in smart-phone usage, cellular carriers and internet service providers continuously upgrade their infrastructure to the latest technologies and expand their capacities to improve the performance and reliability of their network and to satisfy exploding user demand for mobile data. On the other side of the spectrum, content providers and e-commerce companies adopt the latest protocols and techniques to provide smooth and feature-rich user experiences on their applications.
To ensure a good quality of experience, monitoring how applications perform on users' devices is necessary. Often, network and content providers lack such visibility into the end-user application performance. In this dissertation, we demonstrate that having visibility into the end-user perceived performance, through system design for efficient and coordinated active and passive measurements of end-user application and network performance, is crucial for detecting, diagnosing, and addressing performance problems on mobile devices. My dissertation consists of three projects to support this statement. First, to provide such continuous monitoring on smartphones with constrained resources that operate in such a highly dynamic mobile environment, we devise efficient, adaptive, and coordinated systems, as a platform, for active and passive measurements of end-user performance. Second, using this platform and other passive data collection techniques, we conduct an in-depth user trial of mobile multipath to understand how Multipath TCP (MPTCP) performs in practice. Our measurement study reveals several limitations of MPTCP. Based on the insights gained from our measurement study, we propose two different schemes to address the identified limitations of MPTCP. Last, we show how to provide visibility into the end- user application performance for internet providers and in particular home WiFi routers by passively monitoring users' traffic and utilizing per-app models mapping various network quality of service (QoS) metrics to the application performance.PHDComputer Science & EngineeringUniversity of Michigan, Horace H. Rackham School of Graduate Studieshttps://deepblue.lib.umich.edu/bitstream/2027.42/146014/1/ashnik_1.pd
Exploring the Potential of Generative AI for the World Wide Web
Generative Artificial Intelligence (AI) is a cutting-edge technology capable
of producing text, images, and various media content leveraging generative
models and user prompts. Between 2022 and 2023, generative AI surged in
popularity with a plethora of applications spanning from AI-powered movies to
chatbots. In this paper, we delve into the potential of generative AI within
the realm of the World Wide Web, specifically focusing on image generation. Web
developers already harness generative AI to help crafting text and images,
while Web browsers might use it in the future to locally generate images for
tasks like repairing broken webpages, conserving bandwidth, and enhancing
privacy. To explore this research area, we have developed WebDiffusion, a tool
that allows to simulate a Web powered by stable diffusion, a popular
text-to-image model, from both a client and server perspective. WebDiffusion
further supports crowdsourcing of user opinions, which we use to evaluate the
quality and accuracy of 409 AI-generated images sourced from 60 webpages. Our
findings suggest that generative AI is already capable of producing pertinent
and high-quality Web images, even without requiring Web designers to manually
input prompts, just by leveraging contextual information available within the
webpages. However, we acknowledge that direct in-browser image generation
remains a challenge, as only highly powerful GPUs, such as the A40 and A100,
can (partially) compete with classic image downloads. Nevertheless, this
approach could be valuable for a subset of the images, for example when fixing
broken webpages or handling highly private content.Comment: 11 pages, 9 figure
Ur/Web: A Simple Model for Programming the Web
The World Wide Web has evolved gradually from a document delivery platform to an architecture for distributed programming. This largely unplanned evolution is apparent in the set of interconnected languages and protocols that any Web application must manage. This paper presents Ur/Web, a domain-specific, statically typed functional programming language with a much simpler model for programming modern Web applications. Ur/Web's model is unified, where programs in a single programming language are compiled to other "Web standards" languages as needed; modular, supporting novel kinds of encapsulation of Web-specific state; and exposes simple concurrency, where programmers can reason about distributed, multithreaded applications via a mix of transactions and cooperative preemption. We give a tutorial introduction to the main features of Ur/Web, formalize the basic programming model with operational semantics, and discuss the language implementation and the production Web applications that use it.National Science Foundation (U.S.) (Grant CCF-1217501
- …