11,162 research outputs found

    Exploration of Dynamic Web Page Partitioning for Increased Web Page Delivery Performance

    Get PDF
    The increasing use of the Internet and demand for real-time information has increased the amount of dynamic content generated residing in more complex distributed environments. The performance of delivering these web pages has been improved through more traditional techniques such as caching and newer techniques such as pre-fetching. In this research, we explore the dynamic partitioning of web page content using concurrent AJAX requests to improve web page delivery performance for resource intensive synchronous web content. The focus is more on enterprise web applications that exist in an environment such that a page\u27s data and processing is not local to one web server, rather requests are made from the page to other systems such as database, web services, and legacy systems. From these types of environments, the dynamic partitioning method can make the most performance gains by allowing the web server to run requests for partitions of a page in parallel while other systems return requested data. This differentiates from traditional uses of AJAX where traditionally AJAX is used for a richer user experience making a web application appear to be a desktop application on the user\u27s machine. Often these AJAX requests are also initiated by a user action such as a mouse click, key press, or used to check the server periodically for updates. In this research we studied the performance of a manually partitioned page and built a dynamic parser to perform dynamic partitioning and analyzed the performance results of two types of applications, one where most processing is local and another where processing is dependent on other systems such as database, web services and legacy systems. The results presented show that there are definite performance gains in using a partitioning scheme in a web page to deliver the web page faster to the use

    Exploration of Dynamic Web Page Partitioning for Increased Web Page Delivery Performance

    Get PDF
    The increasing use of the Internet and demand for real-time information has increased the amount of dynamic content generated residing in more complex distributed environments. The performance of delivering these web pages has been improved through more traditional techniques such as caching and newer techniques such as pre-fetching. In this research, we explore the dynamic partitioning of web page content using concurrent AJAX requests to improve web page delivery performance for resource intensive synchronous web content. The focus is more on enterprise web applications that exist in an environment such that a page\u27s data and processing is not local to one web server, rather requests are made from the page to other systems such as database, web services, and legacy systems. From these types of environments, the dynamic partitioning method can make the most performance gains by allowing the web server to run requests for partitions of a page in parallel while other systems return requested data. This differentiates from traditional uses of AJAX where traditionally AJAX is used for a richer user experience making a web application appear to be a desktop application on the user\u27s machine. Often these AJAX requests are also initiated by a user action such as a mouse click, key press, or used to check the server periodically for updates. In this research we studied the performance of a manually partitioned page and built a dynamic parser to perform dynamic partitioning and analyzed the performance results of two types of applications, one where most processing is local and another where processing is dependent on other systems such as database, web services and legacy systems. The results presented show that there are definite performance gains in using a partitioning scheme in a web page to deliver the web page faster to the use

    Split and Migrate: Resource-Driven Placement and Discovery of Microservices at the Edge

    Get PDF
    Microservices architectures combine the use of fine-grained and independently-scalable services with lightweight communication protocols, such as REST calls over HTTP. Microservices bring flexibility to the development and deployment of application back-ends in the cloud. Applications such as collaborative editing tools require frequent interactions between the front-end running on users\u27 machines and a back-end formed of multiple microservices. User-perceived latencies depend on their connection to microservices, but also on the interaction patterns between these services and their databases. Placing services at the edge of the network, closer to the users, is necessary to reduce user-perceived latencies. It is however difficult to decide on the placement of complete stateful microservices at one specific core or edge location without trading between a latency reduction for some users and a latency increase for the others. We present how to dynamically deploy microservices on a combination of core and edge resources to systematically reduce user-perceived latencies. Our approach enables the split of stateful microservices, and the placement of the resulting splits on appropriate core and edge sites. Koala, a decentralized and resource-driven service discovery middleware, enables REST calls to reach and use the appropriate split, with only minimal changes to a legacy microservices application. Locality awareness using network coordinates further enables to automatically migrate services split and follow the location of the users. We confirm the effectiveness of our approach with a full prototype and an application to ShareLatex, a microservices-based collaborative editing application

    An Infrastructure for the Dynamic Distribution of Web Applications and Services

    Full text link
    This paper presents the design and implementation of an infrastructure that enables any Web application, regardless of its current state, to be stopped and uninstalled from a particular server, transferred to a new server, then installed, loaded, and resumed, with all these events occurring "on the fly" and totally transparent to clients. Such functionalities allow entire applications to fluidly move from server to server, reducing the overhead required to administer the system, and increasing its performance in a number of ways: (1) Dynamic replication of new instances of applications to several servers to raise throughput for scalability purposes, (2) Moving applications to servers to achieve load balancing or other resource management goals, (3) Caching entire applications on servers located closer to clients.National Science Foundation (9986397

    Cache Serializability: Reducing Inconsistency in Edge Transactions

    Full text link
    Read-only caches are widely used in cloud infrastructures to reduce access latency and load on backend databases. Operators view coherent caches as impractical at genuinely large scale and many client-facing caches are updated in an asynchronous manner with best-effort pipelines. Existing solutions that support cache consistency are inapplicable to this scenario since they require a round trip to the database on every cache transaction. Existing incoherent cache technologies are oblivious to transactional data access, even if the backend database supports transactions. We propose T-Cache, a novel caching policy for read-only transactions in which inconsistency is tolerable (won't cause safety violations) but undesirable (has a cost). T-Cache improves cache consistency despite asynchronous and unreliable communication between the cache and the database. We define cache-serializability, a variant of serializability that is suitable for incoherent caches, and prove that with unbounded resources T-Cache implements this new specification. With limited resources, T-Cache allows the system manager to choose a trade-off between performance and consistency. Our evaluation shows that T-Cache detects many inconsistencies with only nominal overhead. We use synthetic workloads to demonstrate the efficacy of T-Cache when data accesses are clustered and its adaptive reaction to workload changes. With workloads based on the real-world topologies, T-Cache detects 43-70% of the inconsistencies and increases the rate of consistent transactions by 33-58%.Comment: Ittay Eyal, Ken Birman, Robbert van Renesse, "Cache Serializability: Reducing Inconsistency in Edge Transactions," Distributed Computing Systems (ICDCS), IEEE 35th International Conference on, June~29 2015--July~2 201

    MADServer: An Architecture for Opportunistic Mobile Advanced Delivery

    Get PDF
    Rapid increases in cellular data traffic demand creative alternative delivery vectors for data. Despite the conceptual attractiveness of mobile data offloading, no concrete web server architectures integrate intelligent offloading in a production-ready and easily deployable manner without relying on vast infrastructural changes to carriers’ networks. Delay-tolerant networking technology offers the means to do just this. We introduce MADServer, a novel DTN-based architecture for mobile data offloading that splits web con- tent among multiple independent delivery vectors based on user and data context. It enables intelligent data offload- ing, caching, and querying solutions which can be incorporated in a manner that still satisfies user expectations for timely delivery. At the same time, it allows for users who have poor or expensive connections to the cellular network to leverage multi-hop opportunistic routing to send and receive data. We also present a preliminary implementation of MADServer and provide real-world performance evaluations

    GIS in the cloud: implementing a web map service on Google App Engine

    Get PDF
    Many producers of geographic information are now disseminating their data using open web service protocols, notably those published by the Open Geospatial Consortium. There are many challenges inherent in running robust and reliable services at reasonable cost. Cloud computing provides a new kind of scalable infrastructure that could address many of these challenges. In this study we implement a Web Map Service for raster imagery within the Google App Engine environment. We discuss the challenges of developing GIS applications within this framework and the performance characteristics of the implementation. Results show that the application scales well to multiple simultaneous users and performance will be adequate for many applications, although concerns remain over issues such as latency spikes. We discuss the feasibility of implementing services within the free usage quotas of Google App Engine and the possibility of extending the approaches in this paper to other GIS applications

    Basis Token Consistency: A Practical Mechanism for Strong Web Cache Consistency

    Full text link
    With web caching and cache-related services like CDNs and edge services playing an increasingly significant role in the modern internet, the problem of the weak consistency and coherence provisions in current web protocols is becoming increasingly significant and drawing the attention of the standards community [LCD01]. Toward this end, we present definitions of consistency and coherence for web-like environments, that is, distributed client-server information systems where the semantics of interactions with resource are more general than the read/write operations found in memory hierarchies and distributed file systems. We then present a brief review of proposed mechanisms which strengthen the consistency of caches in the web, focusing upon their conceptual contributions and their weaknesses in real-world practice. These insights motivate a new mechanism, which we call "Basis Token Consistency" or BTC; when implemented at the server, this mechanism allows any client (independent of the presence and conformity of any intermediaries) to maintain a self-consistent view of the server's state. This is accomplished by annotating responses with additional per-resource application information which allows client caches to recognize the obsolescence of currently cached entities and identify responses from other caches which are already stale in light of what has already been seen. The mechanism requires no deviation from the existing client-server communication model, and does not require servers to maintain any additional per-client state. We discuss how our mechanism could be integrated into a fragment-assembling Content Management System (CMS), and present a simulation-driven performance comparison between the BTC algorithm and the use of the Time-To-Live (TTL) heuristic.National Science Foundation (ANI-9986397, ANI-0095988
    • …
    corecore