1 / 45

网络计 算 Lecture 1

网络计 算 Lecture 1. Getting Started. Today’s Agenda. Course Introduction What you will learn What I expect from you Grading Introduction to Network Computing. Teaching Staff. Lecturer and unit chair: Tom H. Luan ( 栾浩 ) Office: 行政辅楼 318 Web: web.xidian.edu.cn/ luanhao

ajanet
Download Presentation

网络计 算 Lecture 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 网络计算 Lecture 1 Getting Started

  2. Today’s Agenda • Course Introduction • What you will learn • What I expect from you • Grading • Introduction to Network Computing

  3. Teaching Staff • Lecturer and unit chair: Tom H. Luan (栾浩) • Office: 行政辅楼 318 • Web: web.xidian.edu.cn/luanhao • Email: tom.luan@xidian.edu.cn • Couse website: web.xidian.edu.cn/luanhao/teaching • Grading

  4. Self Introduction 教育经历: • 西安交通大学,电信学院,本科学位 • 香港科技大学,电机与计算机工程,硕士学位 • 加拿大滑铁卢大学,电子与计算机工程,博士 工作经历: • 2012.9 - 2013.9,加拿大滑铁卢大学博士后/中科院信息工程研究所访问研究员 • 2013.12 – 2017.2,澳大利亚迪肯大学,信息工程学院讲师,Lecturer in Mobile and Apps • 2017.8 – 至今,西安电子科技大学,网络与信息安全学院,教授,博士生导师 学术: • 车联网,移动云计算,边缘计算,无线多媒体网络 • 发表论文80余篇,专著2本,谷歌学术引用2000余次 URL:http://web.xidian.edu.cn/luanhao

  5. 什么是网络计算 • 什么是计算?计算机和计算器的区别是什么? • 计算器:数字计算(加、减、乘、除、指数、幂…) • 计算机:逻辑计算(if then, do while) • 人脑计算:分析与复杂逻辑计算 • 为什么需要计算? • 为人类提供更好地生产、生活的服务 • 如:游戏,视频会议,实时导航,数据挖掘,机器学习…

  6. 什么是网络计算 • 为什么需要计算? • 为人类提供更好地生产、生活的服务 • 如:游戏,视频会议,实时导航,数据挖掘,机器学习… • 什么是网络计算? • 采用连接于网络的设备提供计算服务 • 云计算:远程超大服务器群 • 移动计算:手机等智能终端提供计算支持 • 边缘计算:将蜂窝网基站改造为云服务器提供近域计算支持 • 为什么需要网络计算? • 本地计算设备无法支持其所需的计算资源(CPU,存储空间等),而需要网络中的计算设备辅助或替代其计算 • 网络计算的难点是什么?

  7. 网络计算关键技术 边缘计算 移动计算终端 云计算服务器 边缘云 接入设备(Access network) (将用户接入网络的设备,如WiFi接入节点,蜂窝网基站等)

  8. 网络计算 • 通过通信网络将计算资源提供给需求方,从而保障其所需的计算服务 • 关键技术 • 无线通信:大量的计算服务请求者为移动设备,如(仓库)机器人,无人驾驶汽车,谷歌眼镜 • 云计算:提供远程集中式计算资源 (高时延远端计算、计算能力强) • 移动计算:提供本地计算资源(快速本地计算、计算能力差) • 边缘计算:提供中间计算资源(及时近域计算、计算能力较强) • 通信网络:用于连接计算资源与需求方

  9. 自动驾驶 云计算支持 环境感知、机器学习与通信 图形用户界面(UI)

  10. 更多计算服务 • 谷歌眼镜:实时VR计算服务,让通信、计算贴身服务,畅通无阻 • 增强虚拟游戏:让游戏身临其境 • 仓储机器人:代替人类进行繁重作业 • 问题:网络计算如何应用?提示:移动计算,边缘计算,云计算等,如何辅助上述应用实现?

  11. 云计算 (Cloud Computing) • Large server and storage farms • 1000s of servers • Many terabytes (TBs) or petabytes (PBs) of data • Used by • Enterprises for server applications • Internet companies • Some of the biggest DCs are owned by Google, Facebook, etc • Used for • Data processing • Web sites • Business apps

  12. Inside a Cloud • Giant warehouse (仓储) filled with: • Racks (货架) of servers • Storage arrays(阵列) • Cooling infrastructure (冷却系统) • Power converters (变压器) • Backup generators (备用发电机) Each data center is 11.5 times the size of a football field

  13. 云计算 Virtualization Application virtualization Application Applications Application Application 云计算 普通电脑 Applications Operating System Operating System Operating System Operating System Operating System Applications Operating System Operating System Hypervisor Hardware Hypervisor Hardware Hardware Hypervisor is a software program that manages multiple operating systems (or multiple instances of the same operating system) on a single computer system. The hypervisor manages the system's processor, memory, and other resources to allocate what each operating system requires. Hypervisors are designed for a particular processor architecture and may also be called virtualization managers.

  14. Android:连接用户与移动设备 云计算支持 环境感知、机器学习与通信 图形用户界面(UI)

  15. Overview of Android

  16. 本课程主要介绍什么 • 基于Java的面向对象程序开发思想 • Android app development (安卓应用开发)

  17. User Interface • Layout • UI XML specification • Views • Widgets: buttons, text field, edit field, spinner, list view, radio button, …

  18. Transitions • Intent • Event broadcast with Intents • Data passing during the transitions

  19. Files and Database • Saving and loading files • SQLite databases • Content Provider for data sharing among apps

  20. Multimedia • Playing audio and video • Recording audio and video • Using the camera to take and process pictures

  21. Networking • Internet access • File download through Internet • XML Parsing

  22. Android History • Started by Android Inc. in 2005, which had been financed by Google, though initial developer wasn't part of Google. • In 2007 Google bought Android Inc. & also formed OHA (Open Handset Alliance). Andy Rubin • Android beta was released in Nov 2007. • Android v1.0 was released in Sep 2008. • HTC Dream had been first commercial android device. • Current android version is 5.1 (Lollipop).

  23. What is Open Handset Alliance? • A consortium of 84 hardware, software and telecommunication companies. • Devoted to advancing open standards for mobile devices. • Include top names like • Handset manufacturers: Acer, Dell, Fujitsu, HTC, LG, Motorola, Samsung, Toshiba, Sony, NEC, Asus, Lenovo • Semiconductors: Intel, ARM, NVIDIA, MIPS, Texas Instruments • Mobile operators: NTT Docomo, Sprint, T-mobile, Vodafone, Telus, China Mobile • Software companies: Google, eBay, SVOX, NXP • Marketing: Accenture, Teleca, Wipro

  24. Dissert-based Name • Alpha: Astro Boy • Beta: Bender

  25. Android Architecture

  26. Android Architecture

  27. Linux Kernel • Customized Linux kernel with a lot more android specific codes to support devices. • Drivers • Memory Management • Process Management • Network Stack • Security

  28. Linux Kernel • You could re-compile the android kernel if you want to • Advantage of tweaking the kernel can result in higher optimized speeds or optimized battery power, depending upon which governor you select, you must exactly know what you're doing. • Tweaking android kernel is something you could do in your spare time and see how amazingly you can manipulate hardware.

  29. Android Architecture

  30. Library (C/C++) • Surface Manager: Manages access to display subsystem • Media framework: Supports playback and recording of popular audio, video and image formats, e.g., MPEG4, H.264, MP3, JPG • SQLite: Self-contained, zero-configuration, SQL Database • OpenGL|ES(openGL for Embedded Systems): Standard specification for 2D/3D graphics Used in: Virtual reality, Augmented reality, Game programming, Scientific visualization, Flight simulations

  31. Library (C/C++) • FreeType: Bitmap and vector font rendering. • SGL (Skia graphic library): an underlying 2D graphics engine used to draw text, geometries & images • WebKit: Modern web browser enginethat supports CSS, Javascript, DOM, Ajax etc. • SSL (Secure Sockets Layer): Cryptographic protocol to provide information security over internet. • Libc: Standard C/C++ system libraries, tuned for Android

  32. Android Architecture

  33. Java Virtual Machine (VM) • A virtual machine (VM) is a software installed on a computer that executes programs like a physical machine with reserved memory, CPU, etc. • Java combines both the approaches of compilation and interpretation • First java compiler compiles the source code into bytecode. • At the run time, Java Virtual Machine (JVM) interprets this bytecode and generates machine code which will be directly executed by the machine in which java program runs http://www.careerbless.com/java/basics/JavaArchitecture.php

  34. Java Runtime Environment

  35. Why Android Uses Java? • Java is platform-independent The idea is to write programs in high-level language, but instead of compiling it (translating) into machine language, it translates it into an intermediate code. This intermediate code is executed by an interpreter, i.e., Virtual Machine.

  36. Dalvik Virtual Machine • Owned & maintaned by Google Inc. (Java VM is maintained by Oracle) • Custom implementation of virtual machine for android • Provides application portability and runtime consistency • Runs optimized file format (.dex) and Dalvikbytecode • Java .class/.jar files are converted to .dex at build time

  37. Android Runtime • Core Libraries (Written in Java): Core APIs for Java language • Data structures, File Access, Graphics, Network Access, Utilities

  38. Android Architecture

  39. Application Framework • Activity Manager: Manage lifecycles of the applications and a common “back-stack” for user navigation • Package Manager: Provides methods for querying and manipulating installed packages. • Content Providers: • Manage access to structured access of data. • Mainly used for data sharing purposes.

  40. View System: Basic building block for UI components. Package Manager: Provides methods for querying and manipulating the installed packages. Telephony Manager: Provides access to telephony services on android. Window Manager: Create layout/surfaces (using SurfaceManager) Location Manager: handle the information about location Resource Manager: Access to non-code resources, such as localized strings, XML Layouts, Bitmaps, raw files etc. Notification Manager:To display custom alerts in the status bar

  41. Android Architecture

  42. Applications • Android provides a set of core applications, e.g., Contacts, Calender, Browsers, etc. • Application developer’s codes can sit here with other core applications • All core applications are written using Java

  43. In this unit, we learn to use and appreciate the tools in Android. After that, in the future, we would dive into the kernel when we have a clear goal of what to do

  44. Android Studio • SDK manager manages the tools, Android SDK versions • when the SDK Tools are updated or a new version of the Android platform is released, you can use the SDK Manager to quickly download them to your environment • http://developer.android.com/tools/help/sdk-manager.html# • AVD manager • The AVD Manager provides a graphical user interface in which you can create and manage Android Virtual Devices (AVDs) • http://developer.android.com/tools/help/avd-manager.html

  45. Self-test • Why do we need to consider different versions of Androids when developing the app? • What is the Android system architecture? • Why is Java called a cross-platform language? • What is a Java Virtual Machine? How is that used? • What kinds of information have been provided in Android developer site (Design, Develop, Distribute)?

More Related