5,329 research outputs found
MobiThin management framework: design and evaluation
In thin client computing, applications are executed on centralized servers. User input (e.g. keystrokes) is sent to a remote server which processes the event and sends the audiovisual output back to the client. This enables execution of complex applications from thin devices. Adopting virtualization technologies on the thin client server brings several advantages, e.g. dedicated environments for each user and interesting facilities such as migration tools. In this paper, a mobile thin client service offered to a large number of mobile users is designed. Pervasive mobile thin client computing requires an intelligent service management to guarantee a high user experience. Due to the dynamic environment, the service management framework has to monitor the environment and intervene when necessary (e.g. adapt thin client protocol settings, move a session from one server to another). A detailed performance analysis of the implemented prototype is presented. It is shown that the prototype can handle up to 700 requests/s to start the mobile thin client service. The prototype can make a decision for up to 700 monitor reports per second
Service-oriented mobility of java code in web services-based architectures
Dissertaรงรฃo apresentada na Faculdade de
Ciรชncias e Tecnologias da Universidade Nova
de Lisboa para a obtenรงรฃo do Grau de Mestre
em Engenharia InformรกticaSoftware mobility consists of providing software components, the ability to migrate to a remote host with the purpose of interacting locally. In other words, this technology enables computations to be transferred from the current machine to a remote one. This powerful enhancement embodied in a traditional network fairly raises security concerns. For now, we believe that software mobility paradigm is confined to environments with bases of trust such as local area networks or middleware layers where security issues can be better controlled.
Service-oriented computations reorganize the network architecture in the form of services, where components are more easily integrated, modified and removed. They have the ability to cooperate between them regardless the programming language used in their development. In addition, service-oriented computing is a widely accepted technology for the implementation of distributed applications, namely middleware.
The work developed in this thesis consists of instantiating a model which combines software mobility and service-oriented paradigms as proposed by Paulino [20]. In this model, migrating sessions take advantage of the resources of a service-oriented network, creating thus an environment where the migration is modeled in terms of services instead of network nodes abstractions.
In the instantiated model, we aim to apply the migration of Java programs in a context of a service-oriented architecture developed with Web services. This application comprises of a middleware layer that runs between the source program and the Web services technologies, and whose interface is the result of the mapping of the operations defined in the model.
The evaluation performed to the instantiated model allows us to identify situations in which component migration to the server to interact locally is more advantageous in comparison to remote interacting with it
Recommended from our members
MobiDesk: Mobile Virtual Desktop Computing
We present MobiDesk, a mobile virtual desktop computing hosting infrastructure that leverages continued improvements in network speed, cost, and ubiquity to address the complexity, cost, and mobility limitations of today's personal computing infrastructure. MobiDesk transparently virtualizes a user's computing session by abstracting underlying system resources in three key areas: display, operating system and network. MobiDesk provides a thin virtualization layer that decouples a user's computing session from any particular end user device and moves all application logic from end user devices to hosting providers. MobiDesk virtualization decouples a user's computing session from the underlying operating system and server instance, enabling high availability service by transparently migrating sessions from one server to another during server maintenance or upgrades. We have implemented a MobiDesk prototype in Linux that works with existing unmodified applications and operating system kernels. Our experimental results demonstrate that MobiDesk has very low virtualization overhead, can provide a full-featured desktop experience including full-motion video support, and is able to migrate users' sessions efficiently and reliably for high availability, while maintaining existing network connections
Split and Migrate: Resource-Driven Placement and Discovery of Microservices at the Edge
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
Web API Fragility: How Robust is Your Web API Client
Web APIs provide a systematic and extensible approach for
application-to-application interaction. A large number of mobile applications
makes use of web APIs to integrate services into apps. Each Web API's evolution
pace is determined by their respective developer and mobile application
developers are forced to accompany the API providers in their software
evolution tasks. In this paper we investigate whether mobile application
developers understand and how they deal with the added distress of web APIs
evolving. In particular, we studied how robust 48 high profile mobile
applications are when dealing with mutated web API responses. Additionally, we
interviewed three mobile application developers to better understand their
choices and trade-offs regarding web API integration.Comment: Technical repor
ES6 ์๋ฐ์คํฌ๋ฆฝํธ์ ์ค๋ ์ท ๊ธฐ๋ฐ ๋ง์ด๊ทธ๋ ์ด์
ํ์๋
ผ๋ฌธ(์์ฌ) -- ์์ธ๋ํ๊ต๋ํ์ : ๊ณต๊ณผ๋ํ ์ ๊ธฐยท์ ๋ณด๊ณตํ๋ถ, 2021.8. ๋ฌธ์๋ฌต.์ต๊ทผ ์น ํ๋ซํผ ๋ฐ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ธ๊ธฐ์ ํจ๊ป, ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ ์ํ ์ฑ ๋ง์ด๊ทธ๋ ์ด์
๊ธฐ์ ์ด ์ฐ๊ตฌ๋ ๋ฐ ์๋ค. ์ด๋ ์ด์ข
์ ๊ธฐ๊ธฐ ๊ฐ์ ์ฐ์์ ์ธ ์ํฌํ๋ก์ฐ๋ฅผ ์ ๊ณตํด ์๋ก์ด ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ๋ ๊ธฐ์ ์ ์ผ์ปซ๋๋ค. ์ฌ๋ฌ ์ ํ ์ฐ๊ตฌ์์ ์ค๋
์ท ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ ์ฌ์ฉํด ์ฑ์ ๋ฐํ์ ์ํ๋ฅผ ํ
์คํธ ํํ๋ก ์ง๋ ฌํ ๋ฐ ๋ณต์ํ๋ ์๋๋ฅผ ํ๋ค. ๊ทธ๋ฌ๋, ๊ธฐ์กด ์ฐ๊ตฌ๋ค์ ๊ตฌ ๋ฒ์ ์๋ฐ์คํฌ๋ฆฝํธ ์์์ ์งํ๋๋ค๋ ํ๊ณ๊ฐ ์๋ค. ์ด์ ๋นํด ECMAScript2015 (ES6) ์
๋ฐ์ดํธ ์ดํ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ค์ํ ๊ธฐ๋ฅ์ด ๋์
๋์๊ธฐ ๋๋ฌธ์, ๊ธฐ์กด ๋ฐฉ๋ฒ๋ค์ ์ค๋๋ real-world ์ ํ๋ฆฌ์ผ์ด์
์ ๋ง์ด๊ทธ๋ ์ด์
ํ๊ธฐ ์ด๋ ต๋ค.
๋ณธ ๋
ผ๋ฌธ์ [19]์์ ์๊ฐ๋ ์ฐ๋ฆฌ์ ํ๋ ์์ํฌ๋ฅผ ์๊ฐํ๋ค. ์ฐ๋ฆฌ๋ ์ ํ ์ฐ๊ตฌ์์ ๋ค๋ค์ง์ง ์์ block scope, module, class syntax์ ๊ฐ์ ES6์ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ถ์ํ์ผ๋ฉฐ ์ด๋ฌํ ์๋ก์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ์ฑ์ ๋ง์ด๊ทธ๋ ์ด์
ํ๊ธฐ ์ํ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ํ๋ค. ๋ํ, ์ฐ๋ฆฌ๋ ์ต์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ๋ํ ๋ถ์์ ํตํด ์คํ ์ค์ธ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋จ์ ๋ฐํ์ ์ํ๋ฅผ scope tree๋ผ๋ ์๋ฃ๊ตฌ์กฐ ์์ ์ง๋ ฌํํ๊ณ , ํ์ฒ๋ฆฌ๋ฅผ ๊ฑฐ์น scope tree๋ก๋ถํฐ ์ค๋
์ท ์ฝ๋๋ฅผ ์์ฑํ๋ค. ์ด๋ฌํ ๋ฐฉ๋ฒ๋ก ์ V8 ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ธ ์์ ๊ตฌํํ์ผ๋ฉฐ, ๋ณต์กํ ์ต์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๋ฒค์น๋งํฌ ํ๋ก๊ทธ๋จ์ ๋ํด ์คํํ๋ค. ์คํ ๊ฒฐ๊ณผ๋ฅผ ํตํด ์ด๋ฌํ ๋ฐฉ๋ฒ์ด ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ ๊ฐ์ 5๊ฐ์ ๋ฒค์น๋งํฌ ํ๋ก๊ทธ๋จ์ ์ฑ๊ณต์ ์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์
์ํจ๋ค๋ ๊ฒ์ ๋ณด์๋ค. ๋ณต์ก๋๊ฐ ๊ฐ์ฅ ๋์ ์ฑ (ML ๋ฒค์น๋งํฌ, ์์ค ์ฝ๋ ํฌ๊ธฐ 213KB)์ ๋ํ ์คํ์์ ํ๋ ์์ํฌ๋ก ์ธํ ์๊ฐ ๋ถํ๋ฅผ ์ธก์ ํ ๊ฒฐ๊ณผ, X86 ๋ฉํฑ์์ 200ms ๋ฏธ๋ง, ARM ๊ธฐ๋ฐ ์๋ฒ ๋๋ ๋ณด๋์์ 800ms ๋ฏธ๋ง์ด์๋ค. ์ด๋ฌํ ๊ฒฐ๊ณผ๋ฅผ ํตํด ์์์ด ์ ํ๋ IoT ๊ธฐ๊ธฐ ๋ฑ์ ๋ํ ์ ์ฉ ๊ฐ๋ฅ์ฑ์ ๊ฒ์ฆํ์ผ๋ฉฐ, ์ถ๊ฐ์ ์ผ๋ก ํ๋ ์์ํฌ์ ํ์ฉ ๋ฐฉ์ ๋ฐ ํฅํ ์ฐ๊ตฌ ๋ฐฉํฅ์ ๋ํด ๋
ผ์ํ๋ค.With the growing popularity of the web platform and JavaScript, an interesting user experience called application (app) migration has been proposed for JavaScript programs. To enable a non-breaking workflow across different devices, recent studies have proposed snapshot-based techniques in which an appโs runtime state is serialized into a text form that can be restored back later. A limitation of existing literature, however, is that they are based on old JavaScript specifications. Since major updates introduced by ECMASCript2015 (a.k.a. ES6), JavaScript supports various features that cannot be migrated correctly with existing methods. Some of these features are heavily used in todayโs real-world apps and thus greatly reduces the scope of previous works.
In this thesis, I will mainly introduce my work presented in [19]. In the paper, we analyzed ES6 features such as block scopes, modules, and class syntax that were previously uncovered in app migration. We presented an algorithm that enables migration of apps implemented with these new features. Based on the standards adopted in modern JavaScript engines, our approach serializes a running program into a scope tree and reorganizes it for snapshot code generation. We implemented our idea on the open source V8 engine and experiment with complex benchmark programs of modern JavaScript. Results showed that our approach correctly migrates 5 target programs between mobile devices. Our framework could migrate the most complex app of source code size 213KB in less than 200ms in a X86 laptop and 800ms in an embedded ARM board, showing feasibility in resource-constrained IoT devices. I will also discuss possible use cases and research directions and conclude.Chapter 1. Introduction 1
1.1. JavaScript App Migration 1
1.2. Purpose of Research 2
Chapter 2. Background 4
2.1. Snapshot-based Approach 4
2.2. Function Closure and Scope Tree 6
2.3. Limitations of Previous Works 6
Chapter 3. Proposed Approach 10
3.1. Module Profiling 10
3.2. Migrating Modified Built-in Objects 11
3.3. Scope Tree Building 11
3.4. Syntax-Aware Tree Re-ordering 12
3.5. Tree Partitioning 13
3.6. Snapshot Code Generation 13
Chapter 4. Evaluation 17
4.1. Implementation and Setup 17
4.2. Scope Tree Analysis 18
4.3. Snapshot Code Sizes 19
4.4. Framework Time Overhead 20
Chapter 5. Discussion 22
5.1. Limitations 22
5.2. Alternative Approach 22
5.3. Potential Use Cases 23
Chapter 6. Conclusion 24
Bibliography 25
Abstract in Korean 27์
- โฆ