Future Research Web browsers are some of the most frequently used computer applications today. However, a large portion of their data cycles is wasted.

Slides:



Advertisements
Similar presentations
University of Southampton Electronics and Computer Science M-grid: Using Ubiquitous Web Technologies to create a Computational Grid Robert John Walters.
Advertisements

Embedded Web Hyung-min Koo. 2 Table of Contents Introduction of Embedded Web Introduction of Embedded Web Advantages of Embedded Web Advantages of Embedded.
Scaling up a Web-Based Intelligent Tutoring System Jozsef Patvarczki, Shane Almeida, and Neil Heffernan Computer Science Department Our research team has.
Task Scheduling and Distribution System Saeed Mahameed, Hani Ayoub Electrical Engineering Department, Technion – Israel Institute of Technology
Multi-criteria infrastructure for location-based applications Shortly known as: Localization Platform Ronen Abraham Ido Cohen Yuval Efrati Tomer Sole'
Mi-Joung choi, Hong-Taek Ju, Hyun-Jun Cha, Sook-Hyang Kim and J
Gas Tracker 9000 Semester Project EEL 6788 Spring 2010 Chris Giles EEL April-2010 University of Central Florida.
Improving Proxy Cache Performance: Analysis of Three Replacement Policies John Dilley and Martin Arlitt IEEE internet computing volume3 Nov-Dec 1999 Chun-Fu.
Architecture, Deployment Diagrams, Web Modeling Elizabeth Bigelow CS-15499C October 6, 2000.
Implementing ISA Server Caching. Caching Overview ISA Server supports caching as a way to improve the speed of retrieving information from the Internet.
Introduction to Web Applications Instructor: Enoch E. Damson.
Computer Networks IGCSE ICT Section 4.
Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee.
Boris Tshibangu. What is a proxy server? A proxy server is a server (a computer system or an application) that acts as an intermediary for requests from.
Lecture # 1 M.Sc / BS(CS)/ BS(I.T) DPT www. Shahid Rasul.com.
Internet GIS. A vast network connecting computers throughout the world Computers on the Internet are physically connected Computers on the Internet use.
VAP What is a Virtual Application ? A virtual application is an application that has been optimized to run on virtual infrastructure. The application software.
Introduction to HP LoadRunner Getting Familiar with LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
Server-side Scripting Powering the webs favourite services.
GIS and Cloud Computing. Flickr  Upload and manage your photos online  Share your photos with your family and friends  Post your photos everywhere.
Design and Implement an Efficient Web Application Server Presented by Tai-Lin Han Date: 11/28/2000.
14 Publishing a Web Site Section 14.1 Identify the technical needs of a Web server Evaluate Web hosts Compare and contrast internal and external Web hosting.
Introduction To Computer System
Geographic Information Systems Cloud GIS. ► The use of computing resources (hardware and software) that are delivered as a service over the Internet ►
Open Web App. Purpose To explain Open Web Apps To explain Open Web Apps To demonstrate some opportunities for a small business with this technology To.
T. Rowe Price, Invest With Confidence and the Bighorn Sheep logo is a registered trademark of T. Rowe Price Group, Inc. Please dial from.
Enabling Embedded Systems to access Internet Resources.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 4. Understanding the Internet’s Software Structure.
Introduction to JavaScript + More on Interactive Forms.
NETWORK SERVERS Oliver Topping (with a little help from my Mum)
DELAYED CHAINING: A PRACTICAL P2P SOLUTION FOR VIDEO-ON-DEMAND Speaker : 童耀民 MA1G Authors: Paris, J.-F.Paris, J.-F. ; Amer, A. Computer.
Parallel and Distributed IR. 2 Papers on Parallel and Distributed IR Introduction Paper A: Inverted file partitioning schemes in Multiple Disk Systems.
Topaz : A GridFTP extension to Firefox M. Taufer, R. Zamudio, D. Catarino, K. Bhatia, B. Stearn University of Texas at El Paso San Diego Supercomputer.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Kiew-Hong Chua a.k.a Francis Computer Network Presentation 12/5/00.
 Distributed file systems having transaction facility need to support distributed transaction service.  A distributed transaction service is an extension.
Introduction to JavaScript CS101 Introduction to Computing.
An Investigation into Implementations of DNA Sequence Pattern Matching Algorithms Peden Nichols Computer Systems Research April,
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
 Registry itself is easy and straightforward in implementation  The objects of registry are actually complicated to store and manage  Objects of Registry.
School of Computing and Information Systems CS 371 Web Application Programming AJAX.
1 Title: Introduction to Computer Instructor: I LTAF M EHDI.
Implementing ISA Server Caching
WS-DREAM: A Distributed Reliability Assessment Mechanism for Web Services Zibin Zheng, Michael R. Lyu Department of Computer Science & Engineering The.
HTML5 based Notification System for Updating E-Training Contents Yu-Doo Kim 1 and Il-Young Moon 1 1 Department of Computer Science Engineering, KoreaTech,
Lecture 1: Network Operating Systems (NOS) An Introduction.
Node.Js 1. 2 Contents About Node.Js Web requirement latest trends Introduction Simple web server creation in Node.Js Dynamic Web pages Dynamic web page.
Computer Systems Lab TJHSST Senior Research Project Browser Based Distributed Computing Siggi Simonarson.
G046 Lecture 04 Task C Briefing Notes Mr C Johnston ICT Teacher
The types of computers and their functionalities.
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
Web Concepts Lesson 2 ITBS2203 E-Commerce for IT.
Web Application.
Web Development Web Servers.
CS 371 Web Application Programming
Job Scheduling in a Grid Computing Environment
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Grid Computing Colton Lewis.
TYPES OF SERVER. TYPES OF SERVER What is a server.
PHP / MySQL Introduction
Lecture # 1 M.Sc / BS(CS)/ BS(I.T) DPT.
ITIS 1210 Introduction to Web-Based Information Systems
Network Media, models and number systems
Grid Computing Done by: Shamsa Amur Al-Matani.
Lecture Topics: 11/1 General Operating System Concepts Processes
Multithreaded Programming
Presentation transcript:

Future Research Web browsers are some of the most frequently used computer applications today. However, a large portion of their data cycles is wasted during idle time. The purpose of this project is to create a browser page that can take advantage of these wasted cycles, using them to analyze stock price trends. Multiple machines will analyze individual stocks and send their results to a central server, which will then determine the most profitable investment strategies from the compiled data. Following the naming convention of popular volunteer computing projects such as this program will be called has the potential to have processing power of a supercomputer for a fraction of the cost due to the prevalence of consumer computers and web browser users. The only limit to its computational capabilities is the number of contributing users. Create a volunteer computing application for stock analysis Sample Code Introduction Abstract Procedure 1.Install node.js 2.Implement server framework 3.Program function to calculate exponential moving averages 4.Program MACD analysis function 5.Implement requestTask request handler to distribute tasks to the client from the server 6.Implement reportResult request handler to collect responses from the clients for analysis 7.Create code for client HTML webpage 8.Program an xmlhttp request in the client code to call the requestTask handler in order to obtain the stock ticker for analysis 9.Implement a callback in this request to perform another xmlhttp request to get and analyze the stock data stored on the Amazon web server using the obtained stock ticker 10.Implement another callback to launch the reportResult handler to post the response to the server once calculations are completed 11.Have the requestTask function call itself recursively until the server sends out an ‘all-done’ message 12.Display result to clients 13.Compile stock data from finance.yahoo.com and upload it to the Amazon web server 14.Run finished program and record the time taken to analyze all the stocks in the server for different numbers of clients Conclusion takes less time to complete the stock analysis as more clients are added and is a successful implementation of the volunteer computing design. With further testing and design, it could potentially analyze thousands of stocks everyday with little-to-no upkeep costs.  Further optimizing code  Implementing security measures to prevent malicious/fraudulent responses  Testing over multiple devices and device types  Testing with greater volumes of data  Testing on more powerful machines  Using real-time price data as opposed to archived data Background Info  Quantitative analysis: Prediction of stock price trends solely using historical pricing data  MACD analysis: method of quantitative analysis of stock price trends  Node.js is an open-source, cross-platform runtime environment for server-side applications  Asynchronous I/O model: makes use of non-blocking calls to keep programs running efficiently  Asynchronous functions can be started and set aside until they are complete  The program completes other methods and comes back to the asynchronous method once it completes  The program continuously moves forward when using asynchronous methods Time Taken to Complete (ms) Clients Trial 1Trial 2 Trial 3Mean Objective Tasks Server Client Results Each task is stored in the server, ready to be sent out for completion The server sends each task to a client, which returns a response back to the server. The server compiles the responses and sends the final result back to the clients Design The large demand for processing power is often fulfilled by expensive supercomputers Volunteer computing: A central server sends many clients small tasks, receives responses from those clients, and compiles those responses into a useful result In this case, each client is a device whose processing power has been donated by a volunteer Benefits of volunteer computing: *Tested on a mid-2010 MacBook Pro on Safari Smaller completion times indicate greater processing speeds. Data Analysis The data were collected on a single device running multiple instances of the web client hosted locally to emulate multiple devices collaborating over the internet. The time taken for the server and clients to complete stock analysis gradually decreased as more clients were added. However, as more clients were added the test device struggled to provide the resources needed to drive each client. A performance plateau was experienced at four clients. The system’s CPU ran at 100% during all three four-client trials. *This all occurs asynchronously Little upkeep cost, volunteers pay for power costs Little startup cost, volunteers pay for devices Self-sustaining, volunteers maintain their own devices Self-adapting, volunteers naturally upgrade their own devices or upgrade the hardware/software in their devices Anderson, D.P.; Korpela, E.; Walton, R., "High performance task distribution for volunteer computing," e-Science and Grid Computing, First International Conference on, vol., no., pp.8 pp.,203, 1-1 July 2005 doi: /E-SCIENCE Stefan Tilkov, Steve Vinoski, "Node.js: Using JavaScript to Build High-Performance Network Programs", IEEE Internet Computing, vol.14, no. 6, pp , November/ December 2010, doi: /MIC References