throbber
HTTP as the Narrow Waist of the Future Internet
`
`Lucian Popa
`U.C. Berkeley / ICSI
`
`Ali Ghodsi
`U.C. Berkeley
`
`Ion Stoica
`U.C. Berkeley
`
`ABSTRACT
`Over the past decade a variety of network architectures have
`been proposed to address IP’s limitations in terms of flexi-
`ble forwarding, security, and data distribution. Meanwhile,
`fueled by the explosive growth of video traffic and HTTP in-
`frastructure (e.g., CDNs, web caches), HTTP has became the
`de-facto protocol for deploying new services and applica-
`tions. Given these developments, we argue that these archi-
`tectures should be evaluated not only with respect to IP, but
`also with respect to HTTP, and that HTTP could be a fertile
`ground (more so than IP) for deploying the newly proposed
`functionalities. In this paper, we take a step in this direction,
`and find that HTTP already provides many of the desired
`properties for new Internet architectures. HTTP is a content
`centric protocol, provides middlebox support in the form of
`reverse and forward proxies, and leverages DNS to decouple
`names from addresses. We then investigate HTTP’s limita-
`tions, and propose an extension, called S-GET that provides
`support for low-latency applications, such as VoIP and chat.
`
`1.
`
`INTRODUCTION
`During the past decade, a plethora of new Internet archi-
`tectures have been proposed to address the shortcomings of
`IP in terms of flexibility, scale, and security (e.g., [10, 20,
`27, 28, 31, 42, 47, 49]). Some of these limitations have been
`traced to IP’s inability to decouple the concepts of address
`and identity, its lack of explicit support for middleboxes, mo-
`bility, and content distribution.
`Meanwhile, industry has been pushing through changes
`that are having a profound impact on the Internet. In partic-
`ular, we are witnessing an explosive growth of HTTP traf-
`fic [29, 39]. This trend is driven by the prevalence of the
`existing HTTP infrastructure (e.g., CDNs, HTTP proxies,
`and caches), the ease of deploying new functionality on the
`data path via reverse and forward proxies, and the ability of
`HTTP to penetrate corporate firewalls. In turn, the growth of
`HTTP traffic pushes infrastructure providers to expand their
`HTTP footprint, creating a positive feedback loop, which
`further accelerates HTTP traffic growth.
`
`Permission to make digital or hard copies of all or part of this work for
`personal or classroom use is granted without fee provided that copies are
`not made or distributed for profit or commercial advantage and that copies
`bear this notice and the full citation on the first page. To copy otherwise, to
`republish, to post on servers or to redistribute to lists, requires prior specific
`permission and/or a fee.
`Hotnets ’10, October 20–21, 2010, Monterey, CA, USA.
`Copyright 2010 ACM 978-1-4503-0409-2/10/10 ...$10.00.
`
`1
`
`In this paper, we take this trend to its logical conclusion
`and consider the scenario where HTTP becomes the de facto
`“narrow waist” of the Internet—that is, the vast majority of
`traffic runs over HTTP instead of directly over IP, and HTTP
`itself might run on top of network layers other than IP.
`Given such scenario, we argue that we should start evalu-
`ating HTTP with respect to the existing Internet architecture
`proposals, and, in the process, answer the following ques-
`tions: What are the properties aimed by these architectures
`that HTTP already provides, and what are the ones it does
`not? What are HTTP’s main drawbacks? Can these draw-
`backs be addressed by extending HTTP, or are they the result
`of fundamental limitations of HTTP?
`In this paper, we find that HTTP addresses many of the
`limitations of IP, limitations which have been the target of
`several recently proposed network architectures. First, HTTP
`is a content-centric protocol, as each HTTP method speci-
`fies the name of the resource (content) it operates on. This
`allows proxies along a request’s path to cache the content,
`or to redirect the request to the closest or least loaded server
`storing a copy of the content. Building a content-centric net-
`work, albeit at the network layer, has been one of the main
`goals of recently proposed architectures such as DONA [28]
`and CCN [27].
`Second, HTTP supports both reverse and forward prox-
`ies [3, 16]. This allows senders and receivers to add middle-
`boxes on the data path, functionality proposed by many to
`be incorporated in the Internet [10, 20, 28, 42, 47].
`Third, HTTP uses DNS names to refer to content. This
`enables data “mobility” in the context of a DNS name, and
`basic anycast functionality via DNS round-robin or modified
`DNS resolution (typically done by CDNs).
`However, HTTP is not without drawbacks. HTTP does
`not address network-level DoS attacks, nor is HTTP a good
`fit for low-latency services, such as VoIP, chat, and real-
`time applications. To alleviate some of these drawbacks, we
`propose a new HTTP GET method, called S-GET, which
`enables datagram services on top of HTTP. S-GET can be
`used to provide low-latency communication between clients,
`end-host mobility, and implement delay tolerant networks.
`Moreover, the HTTP datagram communication model inher-
`ently enables users to be default-off, shielding them from
`unwanted traffic. We show that such an extension achieves
`high throughput and incurs low overhead.
`We are not the first to argue that the narrow waist of the
`Internet is changing. Several previous works have argued
`that the transport layer should be incorporated in the Inter-
`net’s narrow waist [17, 36]. However, we believe that HTTP
`
`Genius Sports Ex. 1047
`p. 1
`
`

`

`would represent a far more drastic change of the narrow
`waist, as it provides a data centric abstraction which is fun-
`damentally different from the unicast and multicast abstrac-
`tions, and there is already a tremendous HTTP infrastructure
`(e.g., caches, proxies, servers) deeply integrated in the Inter-
`net fabric.
`While in this paper we argue that HTTP achieves many
`of the properties targeted by the recently proposed Inter-
`net architectures, we emphasize that it is not our intention
`to underestimate the importance of research on clean-slate
`designs. On the contrary, we strongly believe that such re-
`search is necessary to better understand the limitations of
`today’s Internet, and explore the solution space. Moreover,
`we do not argue that HTTP is the right layer to implement
`these properties. Instead, in this paper we merely take note
`of the seemingly inevitable trend of HTTP becoming the de
`facto protocol used by new services and applications, and ar-
`gue that: (1) HTTP could be a fertile ground (more so than
`IP) for deploying the solutions and techniques provided by
`the clean slate proposals, and (2) new functionalities pro-
`posed at the IP layer (already implemented by HTTP or not)
`should consider their interaction with HTTP and should be
`evaluated with respect to HTTP.
`
`2. HTTP TAKES OVER THE WORLD (AGAIN)
`With the advent of the web in mid-90’s, HTTP became
`the dominant traffic in the Internet [33]. This led to the rapid
`development of the Internet infrastructure to support HTTP
`traffic. Content distribution networks as well as HTTP prox-
`ies greatly increased the distribution scale and the availabil-
`ity of the HTTP content.
`However, the emergence of video and audio traffic at the
`end of 90’s and the beginning of this decade challenged the
`dominance of HTTP. Real Networks, Microsoft, and Adobe
`employed streaming protocols, such as RTSP and RTMP, to
`deliver media content. More recently, peer-to-peer technolo-
`gies saw an explosive growth, with their traffic being dom-
`inated by video and audio content. These trends seemed to
`indicate that HTTP would lose its dominant position in the
`Internet traffic.
`However, today we are witnessing a resurgence of HTTP
`traffic.
`Ironically, this resurgence has been driven by the
`growing popularity of video traffic (in a recent report, Cisco
`forecasts that by 2013, 90% of the consumer traffic will be
`video [4, 38]). To sustain such growth, the content providers
`and aggregators have recently turned their attention to HTTP
`for video distribution.
`Several companies, including Move Networks and Swarm-
`cast, have pioneered HTTP chunking, which enables the de-
`livery of video and audio over HTTP instead of traditional
`streaming protocols. The basic idea is to chunk a video
`stream into blocks of a few seconds each, and then distribute
`these blocks as individual files by leveraging existing CDNs
`and HTTP proxies. In turn, a client downloads the chunks,
`stitches them together, and plays the original stream.
`HTTP chunking has several advantages over traditional
`streaming protocols. First, it increases the distribution scale
`
`and reduces the cost, as CDNs have more HTTP servers
`than streaming servers, and they do not incur licensing costs
`for the HTTP servers (these servers are typically based on
`open-source software, unlike the streaming servers). Fur-
`thermore, using HTTP to distribute video can leverage the
`HTTP caching proxies deployed by ISPs and enterprises.
`Second, it improves availability: if an HTTP server fails, the
`client can mask such a failure by requesting the subsequent
`chunks from a different server or CDN. Third, it improves
`quality, as a client can request multiple chunks simultane-
`ously, which leads to aggregating the throughput of multiple
`TCP connections. In contrast, traditional streaming proto-
`cols use one TCP connection for data transfer. Fourth, it
`improves penetration. Unlike streaming protocols such as
`RTPS and RTMP that are blocked by some firewalls, HTTP
`traffic is almost universally allowed.
`These advantages have pushed HTTP chunking to the fore-
`front of distribution technologies for both video-on-demand
`(VoD) and live streaming content. Indeed, Microsoft used
`HTTP chunking to stream the Beijing Olympics for NBC.
`com, and used a second generation HTTP-based technol-
`ogy, called Smooth Streaming [30], to stream the Vancouver
`Winter Olympic Games. Apple uses an HTTP-chunking so-
`lution to stream video to the iPhone, and Adobe, which dom-
`inates the video market, recently announced their HTTP-
`based solution [5].
`HTTP traffic is also increasing at the expense of peer-to-
`peer (P2P) traffic, as indicated by recent reports [4, 32, 38].
`The promise of P2P has been to provide highly scalable, low
`cost (in some cases free) content distribution. However, the
`CDN delivery cost has decreased dramatically in the past
`few years (e.g., by a factor of 10 between 2006 and 2010),
`which had considerably decreased the appeal of P2P distri-
`bution. Thus, it should come as no surprise, that today vir-
`tually all major content providers, including Youtube, Hulu
`and MLB use CDNs instead of P2P for content delivery.
`With the advent of HTTP chunking and with a continuous
`expansion of the HTTP infrastructure, we expect that this
`trend will only intensify.
`We therefore project that HTTP traffic will dominate (at
`least in volume) Internet traffic.
`
`3. HTTP VS. THE BRAVE NEW WORLD
`Given the rapid growth of HTTP, we argue that the pro-
`posals for new Internet architectures should be evaluated,
`not only in the context of IP, but also in the context of HTTP.
`Next, we contrast HTTP to several of these research propos-
`als.
`For the clarity of the comparison, we classify the numer-
`ous research proposals to improve the Internet architecture
`into five categories1: (a) proposals to transform the Internet
`into a content centric network, e.g., [10, 13, 27, 28]; (b) pro-
`posals to enable the explicit use of middleboxes, e.g., [10,
`20,28,42,47]; (c) proposals to enable more flexible commu-
`nication patterns, such as mobility, anycast and multicast,
`
`1Note that some proposals belong to multiple categories.
`
`2
`
`Genius Sports Ex. 1047
`p. 2
`
`

`

`Property
`Content centric network
`[10, 13, 27, 28]
`Middlebox support
`[10, 20, 28, 34, 40, 42, 47]
`Additional communication pat-
`terns
`– Mobility [10, 25, 42, 47]
`– Multicast [37]
`– Anycast [27, 28, 42, 47]
`– Multipath / Multihomed [10,
`47, 48]
`– DTN [15]
`Security extensions
`– Data Authenticity [27, 28]
`– DoS Protection
`[9, 26, 49]
`Routing policy extensions [19,
`22–24, 40]
`
`HTTP support
`Yes, via named resources and
`caching
`Yes, via proxies
`
`Yes, via proposed S-GET extension
`(see §4), caching, CDNs and DNS
`
`Yes/Partial via proposed S-GET
`extension (see §4), HTTPS and
`adding
`authentication
`field
`in
`header (see [12, 18, 35])
`No, but can be implemented mostly
`independently of HTTP
`
`Table 1: HTTP’s support for the main types the functionalities pro-
`posed in the Internet architecture literature.
`
`e.g., [10, 15, 20, 25, 31, 34, 37, 42, 44, 47]; (d) proposals to in-
`crease network security, e.g., [?, 8, 9, 11, 20, 26, 40, 49]; and
`(e) proposals to extend the Internet routing policies and add
`QoS policies, e.g., [19, 22–24, 40, 48].
`Table 1 presents a summary of our findings, which we
`discuss in more detail next.
`Content centric networks: Several research proposals have
`advocated for content centric network architectures [13, 27,
`28], where the communication revolves around data instead
`of end-points. HTTP is already a content centric protocol, as
`HTTP requests deal primarily with retrieving, storing, and
`updating content. In particular, each HTTP request contains
`the name of the content, similarly to the way the packets in
`these proposals contain the content name [13, 27, 28]. More-
`over, the massive HTTP caching infrastructure deployed in
`the Internet exhibits another common property of the afore-
`mentioned architectures, the pervasive use of caches.
`One aspect in which HTTP and some of the content cen-
`tric proposals differ is naming: while some of the proposals
`use global and semantic-free names [28], HTTP binds con-
`tent names to DNS names (in the form of URLs). We note
`that content-based architectures are likely to require a res-
`olution mechanism to translate human readable names into
`content identifiers [27, 41, 46], though that service might be
`outside of the architecture [28]. HTTP uses DNS for this
`purpose and names content directly with human readable
`names (similar to CCN [27]). There are five concerns asso-
`ciated with DNS names: (i) persistence, (ii) latency, (iii) fast
`updates, (iv) availability, and (v) security. We note, however,
`that recent developments have alleviated these concerns to
`some degree. The emergence of third party DNS infrastruc-
`tures, such as OpenDNS and Google Public DNS, improve
`latency and availability. In addition, they alleviate the per-
`sistence concern, as a user can obtain names from these ser-
`vices, instead of her own organization, and preserve these
`names when moving from an organization to another. Dy-
`namic DNS has been proposed to address the fast update
`problem [45], and more recently, OpenDNS has provided
`low latency updates [2]. Still, despite these developments,
`
`more research is needed to fully address the persistence and
`fast updates of DNS names. Finally, DNSSEC addresses the
`security of the name resolution (we discuss content integrity
`later in this section).
`Explicit middlebox support: Numerous proposals argue
`for explicit middlebox support in the Internet, e.g., [10, 20,
`28, 42, 47]. Since IP does not expose a middlebox-like ab-
`straction to end-hosts, this leaves one no choice but to physi-
`cally place the middlebox on the IP data path. This operation
`is not only complex, but also fails to guarantee correctness in
`the presence of IP path changes. Furthermore, implementing
`sophisticated middlebox functionality (e.g., caching, web ac-
`celeration) that changes the number, the size, or the content
`of the packets may require to violate the end-to-end seman-
`tics of IP.
`In contrast, HTTP does provide support for middleboxes
`via explicit forward proxies and via reverse proxies [16].
`Clients and servers can leverage these proxies to insert a va-
`riety of functionalities on the data path, including caching,
`web acceleration, content filtering, intrusion detection, load
`balancing, and anonymization.2
`Flexible communication: During the past two decades, many
`solutions have been proposed to extend IP to support mo-
`bility, multicast, anycast, multi-path and delay tolerant net-
`works (DTN), [15, 25, 34, 37, 42, 44, 47, 48]. HTTP can di-
`rectly offer some of these services. As we have discussed
`in § 2, HTTP has been successfully used to provide large
`scale single-source multicast (e.g., the live transmissions of
`the last two Olympic games, and the 2009 US presidential
`inauguration). HTTP can provide anycast by leveraging the
`DNS anycast functionality, or through reverse HTTP prox-
`ies, such as Squid [3]. Through DNS updates, HTTP sup-
`ports single host mobility. However, HTTP does not support
`simultaneous end-host mobility, or multi-path communica-
`tions.
`Security: A large body of research is concerned with im-
`proving the security of the Internet by providing defense
`against DoS attacks [9, 26, 49], or by ensuring data authen-
`ticity and integrity [27, 28]. While HTTP does not protect
`against IP-level DoS attacks, the widespread caching infras-
`tructure and proprietary HTTP-based DoS mitigation prod-
`ucts [1] do improve the status quo of DoS protection. On
`the other hand, data authenticity and integrity guarantees can
`be implemented within the existing HTTP in several ways:
`by embedding content-hashes and digital signatures in the
`HTTP header [12, 18], by using self-certified URLs, or by
`using HTTPS (see our extended TR [35]).
`Routing and QoS: Many proposals have aimed to improve
`the robustness, efficiency, and security of inter/intra domain
`routing, as well as to provide QoS guarantees [19, 22–24].
`With few exceptions3, HTTP does not address any of these
`
`2It is also possible to chain multiple HTTP proxies (e.g., the
`cache_peer option in Squid [3]).
`3HTTP can be used to implement loose source routing via mul-
`tiple proxies by using the CONNECT method. Since each proxy
`can control which other proxies it is willing to relay connections
`
`3
`
`Genius Sports Ex. 1047
`p. 3
`
`

`

`PUT
`
`A
`
`S
`
`GET
`
`B
`
`Figure 1: Two HTTP clients A and B exchanging data
`through an HTTP server S, which acts as a relay
`
`challenges directly. Thus, this remains an area of research
`largely unaffected by HTTP.
`In summary (see Table 1), HTTP already provides support
`for middleboxes and content-centric networking, and partial
`support for mobility, anycast and multicast. Many security
`properties can be achieved by using HTTPS or by leverag-
`ing the flexibility of the the HTTP header to implement new
`security mechanisms.
`Despite its many strengths, HTTP is not perfect. First,
`HTTP is a pull oriented protocol where receivers need to ex-
`plicitly ask for new data. As we will discuss in the next sec-
`tion, this is not a good fit for datagram and connection ori-
`ented services, such as VoIP, video-conferencing, and real-
`time applications. Second, HTTP incurs a non-trivial over-
`head when compared to IP. Third, as discussed in this sec-
`tion, HTTP does not provide or provides limited support for
`QoS, network layer DoS protection, and naming persistence.
`In the reminder of this paper, we focus on addressing the first
`limitation, and leave the others for future work.
`
`4. DATAGRAM SERVICES OVER HTTP
`In this section we describe a datagram communication
`model on top of HTTP. In this paper, we use liberally the
`term of “datagram” to denote a communication service in
`which two or more clients exchange application data units
`(ADUs) and does not provide end-to-end reliability or in-
`order delivery. The main goal of this datagram service is
`to support low-latency applications such as VoIP, chat, and
`video conferencing, which are hard to implement in the cur-
`rent client-server model employed by HTTP.
`The natural approach to implement a datagram service on
`top of today’s HTTP is for a sender, A, to publish data to an
`HTTP server and for receiver B to get the piece of data from
`the server (see Fig. 1). However, this pull communication
`abstraction is not appropriate for low-latency applications,
`as the receiver (client) does not know when new data has be-
`come available. The only way to reduce the latency from the
`time A publishes the content to the time B fetches it is for
`B to periodically check for the content availability as often
`as possible. Assuming the receiver checks for content every
`T ms, the end-to-end latency may exceed T ms. If an ap-
`plication wants to achieve an end-to-end latency on par with
`cross country latencies, it needs to pull about every 50 ms.
`Such high pulling frequencies can be prohibitive both for the
`client and the server, especially when the receiver does not
`know when and which sender starts sending data.
`To reduce the end-to-end delay, we argue that HTTP should
`also support a push communication abstraction, i.e., provide
`
`to, security concerns traditionally associated with IP loose source
`routing are mitigated.
`
`a mechanism that allows GET requests for content that is
`not yet available at the server.
`In particular, we propose
`to extend HTTP with a new type of GET request, called
`Subscribe-GET (S-GET), that “waits” for content at the server,
`instead of having the server return an error when content is
`not available.
`Note that while one could continue to use IP for latency-
`sensitive applications, providing a datagram service over HTTP
`has the advantage of leveraging all the HTTP benefits, as we
`discuss in Sec. §4.2.
`
`4.1 Subscribe-GET (S-GET)
`The format of an S-GET request is similar to that of a tra-
`ditional GET. However, unlike GET requests, HTTP servers
`store S-GET requests up to an expiration timeout associated
`to the request. As long as the S-GET is stored at the server,
`any updates (through PUTs) to the URI of the S-GET are
`sent to the client that issued the S-GET. A server removes
`an S-GET request only after the timeout expires. Each up-
`date is sent to the client through a regular HTTP response.
`S-GET only returns content published after the S-GET has
`been received by the server. Hence, upon receiving an S-
`GET request for a URI, the server does not match it against
`the content already stored under that URI. Proxies never cache
`the content returned by S-GET.
`Note that S-GET provides the abstraction of a named pipe,
`where the client opens a pipe through an S-GET request, and
`the sender writes data (using either POST or PUT) to the
`pipe. The use of S-GET represents just another instantiation
`of the publish-subscribe paradigm, which has been strongly
`advocated by previous work [14].
`S-GET represents a departure from HTTP’s stateless model,
`raising concerns about performance, memory requirements
`and failure resilience. Our evaluation shows that the perfor-
`mance impact of S-GET is not significant. S-GET also uses
`soft state, which leaves the failure semantics of HTTP based
`protocols largely unchanged.
`The S-GET request contains the desired timeout as a header
`attribute. For security purposes, the server may not accept
`large timeout values, in which case it returns an error re-
`sponse containing the maximum allowed timeout. To extend
`their duration, S-GET requests need to be “refreshed” before
`their expiration.
`S-GET is useful beyond the datagram abstraction we have
`discussed so far. Many websites today attempt to implement
`“HTTP push”, a similar functionality where the server sends
`data to the client without the need for the client to query the
`data explicitly. These solutions are implemented on top of
`HTTP, typically using CGI or Javascript scripts [6,7]. In this
`context, the S-GET primitive can be seen as an effort to stan-
`dardize these ad-hoc mechanisms. One advantage of stan-
`dardizing S-GET is that proxies would appropriately cache
`and handle S-GETs (see the next paragraph). In addition,
`ad-hoc methods suffer from portability issues, since differ-
`ent clients/servers use their own implementations and APIs.
`Caching Proxies: Today, proxies cache GET responses and
`deliver them to subsequent GETs for that URI. To support
`
`4
`
`Genius Sports Ex. 1047
`p. 4
`
`

`

`S-GET, proxies should cache S-GET requests rather than re-
`sponses, i.e., the dual of what is done today. If the proxy
`receives multiple S-GETs for the same URI, it should only
`forward the first to the server. The rest of the S-GETs could
`be satisfied by relaying content that is anyway being fetched
`for the first request; this behavior is similar to that of an IP
`multicast router.
`Usage Example: Consider a point-to-point communication
`between two hosts A and B, where A sends B a sequence of
`ADUs. In the HTTP datagram model (see Fig. 1) B regis-
`ters an S-GET for a URI and A sends all its ADUs to that
`URI through HTTP PUTs. For example, the URI can be
`S/from/A/to/B/x, where S is the server’s host name,
`and x is for distinguishing different sessions between two
`hosts (similar to TCP ports). Since publishing a new ADU
`through PUT modifies the content at S/from/A/to/B/x,
`the server will forward each ADU to B.
`
`4.2 Benefits of HTTP Datagrams
`Mobility: The proposed datagram communication on top of
`HTTP enables both end-hosts to move at the same time, thus
`supporting simultaneous mobility.
`Multicast and Large Scale Data Distribution: Multi-sender
`multicast can be implemented by having each participant
`register an S-GET request for the same URI, which plays
`the role of an IP multicast address. This implements an open
`group multicast model similar to IP multicast, but access
`control can be implemented on top (see [35] for details).
`HTTP has already been proven highly successful for stream-
`ing data to large audiences (see § 2 and § 3). The proposed S-
`GET method further improves this service for live streaming,
`in which the availability of new chunks needs to be signaled
`to receivers. S-GET can then be used as a control channel
`for signaling the availability of new chunks.
`Multi-homing and Multiple paths: Multi-homed clients
`can setup different S-GET receive channels for each inter-
`face, using multiple links for one communication. To further
`increase reliability and throughput, clients can use multiple
`intermediary servers, e.g., receiver B sends S-GET requests
`to servers S1 and S2 and sender A alternates between send-
`ing to S1 and S2. This way, even clients with a single inter-
`face can use multiple paths.
`Delay Tolerant Networking (DTN): The high level idea for
`supporting DTN is that during disconnection periods, the
`intermediary HTTP servers act as a buffer to store ADUs.
`Our DTN solution uses a combination of S-GET and GET
`to fetch and resume data transfers (see our TR [35]).
`NAT/Firewall Penetration and Default-Off: All HTTP re-
`quests are client-initiated and hence HTTP datagrams tra-
`verse today’s NATs and firewalls. More fundamentally, HTTP
`datagrams would enable an architecture with two types of
`entities, clients, which are default-off and servers, which are
`reachable by everyone. This emulates the architecture envi-
`sioned in [21], with the addition that in our proposal, clients
`can still communicate among themselves. This way, DDoS
`
`attacks can be alleviated since resource-weak hosts can be
`default-off and receive data through HTTP datagram chan-
`nels opened at multiple resourceful servers and data centers.
`4.3 Other Considerations
`Server Selection: The placement of the HTTP server has
`crucial impact on the performance of the HTTP datagram
`service. For good performance, each host may chose a nearby
`server to receive messages, similar to i3 [42]. This way, end-
`hosts can avoid the risk of picking a server far away from
`both the sender and the receiver, which may lead to inef-
`ficient routing. It has been previously observed that com-
`municating through a one-hop overlay using a carefully se-
`lected Akamai server often outperforms a direct connection
`between two end-points [43]. Thus, CDNs are already in a
`good position to offer HTTP datagram services. For other
`considerations such as DNS names corresponding to multi-
`ple IP addresses see our TR [35].
`Connection Establishment: HTTP datagrams can be used
`to provide functionalities provided by traditional connection-
`oriented services: listen, connect, and reliability. Lis-
`ten can be implemented using S-GET on a listen URI, e.g.,
`S/listen/B and a connection can be set up by having
`one URI per unidirectional channel, e.g., S/from/B/to/
`A. Please see our TR for details [35].
`Security: The HTTP datagram service faces three types of
`attacks: impersonation, eavesdropping and DoS attacks. First,
`a malicious node could impersonate a sender by putting ADUs
`at the receiver’s S-GET URI. Second, an attacker could eaves-
`drop by issuing an S-GET request to the receiver’s end-point
`URI. With a similar attack mounted on the receiver’s lis-
`ten channel, the attacker can hijack connections. Finally,
`a denial-of-service (DoS) attack could be launched against
`the server by sending many PUT requests (an attack that can
`also occur today) or by registering many S-GETs, to exhaust
`its resources.
`The impersonation and eavesdropping attacks can be pre-
`vented by the use of randomly selected URIs and encryption,
`e.g., end-point channels contain random strings and listening
`channels use encryption. Our analysis suggests that HTTP
`datagrams do not fundamentally increase attackers’ power to
`DoS HTTP servers (see our TR [35]).
`Interaction with Transport: In our implementation, the en-
`tire S-GET communication is performed over a single TCP
`connection. However, note that since S-GET does not pro-
`vide reliability or in-order delivery, in theory, it can be im-
`plemented over other protocols than TCP.
`
`5. PRELIMINARY EVALUATION
`The performance of an architecture based on HTTP de-
`pends on several factors: the performance of CDNs, the per-
`vasiveness of caches, the hit rate of caches, the scalability of
`HTTP proxies and the efficiency of the proposed datagram
`service. In this section, we summarize the preliminary eval-
`uation results restricted to the datagram service (for more
`evaluation results, see [35]).
`
`5
`
`Genius Sports Ex. 1047
`p. 5
`
`

`

`We have implemented an HTTP 1.1 server that supports S-
`GET, and several clients that communicate via HTTP data-
`grams. We provide preliminary results for the following
`metrics: latency, throughput, scale, and data overhead.
`Latency: There are three main types of latency that the
`HTTP datagram service adds to IP datagrams: (1) the ex-
`tra network latency due to using an off-path server as an in-
`direction point, (2) the HTTP processing overhead at end-
`hosts and the indirection server, and (3) the delay introduced
`by the “store-and-forward” mechanism employed by the in-
`direction server (i.e., the entire HTTP resource is received
`before being forwarded). The first type of latency depends
`on the choice of the indirection HTTP server and a study on
`this topic is outside the scope of this paper. The process-
`ing overhead is negligible in our implementation; the fine-
`grained measurement showed an additional latency on the
`order of a 100µs added by the server. Finally, the store-and-
`forward latency is typically small for resources < 10KB. We
`note that for applications that use larger ADUs, this latency
`is less important, as these applications tend to be throughput
`rather than latency oriented.
`Throughput: Our experiments using wide area setups indi-
`cate that the HTTP datagram communication does not sig-
`nificantly reduce the throughput between two end-points, if
`the ADUs are large. For example, by using 1MB ADUs we
`achieved close to 100% of the available bandwidth, where
`the available bandwidth was ∼20Mbps.
`Scalability: Our server’s performance degrades gracefully
`as the number of senders and receivers of HTTP datagrams
`increases. That is, the total server throughput remains con-
`stant (limited by the link bandwidth) up to 1000 users, and
`is shared evenly between the users.
`ADU Size Overhead: The larger HTTP headers used in
`our experiments are ∼160B (varying with resource and host
`names). Thus, for a 2 KB ADU this represents an 8% over-
`head. Since bandwidth is becoming cheaper, we argue this
`overhead is manageable.
`
`6. CONCLUSION
`The existence of a massive HTTP infrastructure, the growth
`of video traffic and the ability to traverse firewalls have led
`to a surge in HTTP traffic to the point that it is likely to
`dominate the Internet traffic. In this context, we have inves-
`tigated the implications of this trend on the Internet archi-
`tecture research. Our finding is that HTTP can be used to
`provide many of the properties proposed by previous archi-
`tectural proposals. We also investigated HTTP’s limitations,
`and proposed an extension for datagram-like services that
`enables low latency applications, end-host mobility, DTN
`functionality, and a default-off communication model.
`
`7. REFERENCES
`[1] Akamai DDoS Mitigation. http://www.dlt.com/akamai-ddos.
`[2] DNS-O-Matic. http://dnsomatic.com/.
`[3] Squid Web Cache. http://www.squid-cache.org/.
`[4] Cisco Visual Networking Index: Forecast

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket