cellular networks and mobile computing coms 6998-8, spring 2012

Download Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012

Post on 24-Feb-2016

51 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012. Instructor: Li Erran Li ( lierranli@cs.columbia.edu ) http:// www.cs.columbia.edu /~coms6998-8 / 2 /6/2012: Introduction to iOS programming. Outline. iOS Overview Objective-C Model-View-Controller Demo Networking - PowerPoint PPT Presentation

TRANSCRIPT

Narrowing the Beam: Lowering Complexity in Cellular Networks by Scaling Up

Cellular Networks and Mobile ComputingCOMS 6998-8, Spring 2012Instructor: Li Erran Li (lierranli@cs.columbia.edu)http://www.cs.columbia.edu/~coms6998-8/2/6/2012: Introduction to iOS programming1OutlineiOS OverviewObjective-CModel-View-ControllerDemoNetworkingiCloud2/6/12Cellular Networks and Mobile Computing (COMS 6998-8)2iOS ArchitectureImplemented as a number of layersLower layers provide fundamental services and technologiesHigher layers provide more sophisticated services Builds upon the functionality provided by the lower layersProvides object-oriented abstractions for lower layer constructs2/6/12Cellular Networks and Mobile Computing (COMS 6998-8)3

iOS FrameworksFrameworks are packages of system interfaces.Each framework contains dynamically shared libraries and associated resources (header files, images, etc)When a framework is used, they need to be linked into the projectStandard frameworks such as Foundation and UIKit are linked by default, when a template project is startedHigher level frameworks often build on lower level frameworks2/6/12Cellular Networks and Mobile Computing (COMS 6998-8)4iOS Overview: CoreOSCoreOS is based on MachSystem FrameworkThreading (POSIX)Networking (BSD sockets)File system Service discovery (Bonjour & DNS)Memory management Math computationsExternal Accessory Framework and Core Bluetooth Framework: support for communicating with hardware accessories Security Framework: crypto library and keychain Services (secure storage of passwords, keys, for one or more users)Accelerate FrameworkDSP, linear algebra and image processing optimized for hardware

2/6/12Cellular Networks and Mobile Computing (COMS 6998-8)5

iOS Overview: Core ServicesHigh level featuresiCloud storage (iOS5)Automatic reference counting (iOS5)SQLite: lightweight SQL databaseGrand Central Dispatch (GCD): manage concurrent execution of tasks Thread management code moved to the system levelTasks specified are added to an appropriate dispatch queue. Block objects: a C-level language construct; an anonymous function and the data (a closure or lambda)In-App purchase: process financial transactions from iTune accountXML support

2/6/12Cellular Networks and Mobile Computing (COMS 6998-8)6

Bonjour is Apples proposal for zero-configuration networking over IP. Bonjour comes out of the work of the ZEROCONF Working Group, part of the Internet Engineering Task Force (IETF). The ZEROCONF Working Groups requirements and proposed solutions for zero-configuration networking over IP essentially cover three areas:

addressing (allocating IP addresses to hosts)naming (using names to refer to hosts instead of IP addresses)service discovery (finding services on the network automatically)Bonjour has a zero-configuration solution for all three of these areas, as described in the following four sections.

Bonjour allows service providers, hardware manufacturers, and application programmers to support a single network protocolIPwhile breaking new ground in ease of use.

Network users no longer have to assign IP addresses, assign host names, or even type in names to access services on the network. Users simply ask to see what network services are available, and choose from the list.

In many ways, this kind of browsing is even more powerful for applications than for users. Applications can automatically detect services they need or other applications they can interact with, allowing automatic connection, communication, and data exchange, without requiring user intervention.

6iOS Overview: Core Services (Contd)CFNetwork Framework: object-oriented abstractions for working with network protocols (DNS, http, ftp, Bonjour services)Address Book FrameworkCore Data FrameworkCore Foundation Framework: arrays, sets, string, url, threadsFoundation Framework: Objective-C wrapperCore Media FrameworkCore Location FrameworkCore Telephony FrameworkNewsstand Kit Framework (iOS5): a central place to read newspapers and magazinesStore Kit Framework: support purchasing from iOS appsSystem Configuration Framework: determine network configuration2/6/12Cellular Networks and Mobile Computing (COMS 6998-8)7

Bonjour is Apples proposal for zero-configuration networking over IP. Bonjour comes out of the work of the ZEROCONF Working Group, part of the Internet Engineering Task Force (IETF). The ZEROCONF Working Groups requirements and proposed solutions for zero-configuration networking over IP essentially cover three areas:

addressing (allocating IP addresses to hosts)naming (using names to refer to hosts instead of IP addresses)service discovery (finding services on the network automatically)Bonjour has a zero-configuration solution for all three of these areas, as described in the following four sections.

Bonjour allows service providers, hardware manufacturers, and application programmers to support a single network protocolIPwhile breaking new ground in ease of use.

Network users no longer have to assign IP addresses, assign host names, or even type in names to access services on the network. Users simply ask to see what network services are available, and choose from the list.

In many ways, this kind of browsing is even more powerful for applications than for users. Applications can automatically detect services they need or other applications they can interact with, allowing automatic connection, communication, and data exchange, without requiring user intervention.

7iOS Overview: MediaHigh level featuresGraphicsCore graphicsCore animationCore imageOpenGL ES and GLKitCore textAudio/videoMeida playerOpenALCore audioCore mediaAirPlay: stream audio to Apple TV and to third-party AirPlay receivers2/6/12Cellular Networks and Mobile Computing (COMS 6998-8)8

Bonjour is Apples proposal for zero-configuration networking over IP. Bonjour comes out of the work of the ZEROCONF Working Group, part of the Internet Engineering Task Force (IETF). The ZEROCONF Working Groups requirements and proposed solutions for zero-configuration networking over IP essentially cover three areas:

addressing (allocating IP addresses to hosts)naming (using names to refer to hosts instead of IP addresses)service discovery (finding services on the network automatically)Bonjour has a zero-configuration solution for all three of these areas, as described in the following four sections.

Bonjour allows service providers, hardware manufacturers, and application programmers to support a single network protocolIPwhile breaking new ground in ease of use.

Network users no longer have to assign IP addresses, assign host names, or even type in names to access services on the network. Users simply ask to see what network services are available, and choose from the list.

In many ways, this kind of browsing is even more powerful for applications than for users. Applications can automatically detect services they need or other applications they can interact with, allowing automatic connection, communication, and data exchange, without requiring user intervention.

8iOS Overview: Media (Contd)Core Audio FrameworkCore Graphics FrameworkCore Video Framework: provides buffer and buffer pool support for the Core Media frameworkCore MIDI FrameworkCore Image FrameworkCore Text FrameworkQuartz Core Framework: core animationAV Foundation Framework: Objective-C classes for playing audio/video contentAsset Library Framework: query-based interface for retrieving photos and videos from users device2/6/12Cellular Networks and Mobile Computing (COMS 6998-8)9

Bonjour is Apples proposal for zero-configuration networking over IP. Bonjour comes out of the work of the ZEROCONF Working Group, part of the Internet Engineering Task Force (IETF). The ZEROCONF Working Groups requirements and proposed solutions for zero-configuration networking over IP essentially cover three areas:

addressing (allocating IP addresses to hosts)naming (using names to refer to hosts instead of IP addresses)service discovery (finding services on the network automatically)Bonjour has a zero-configuration solution for all three of these areas, as described in the following four sections.

Bonjour allows service providers, hardware manufacturers, and application programmers to support a single network protocolIPwhile breaking new ground in ease of use.

Network users no longer have to assign IP addresses, assign host names, or even type in names to access services on the network. Users simply ask to see what network services are available, and choose from the list.

In many ways, this kind of browsing is even more powerful for applications than for users. Applications can automatically detect services they need or other applications they can interact with, allowing automatic connection, communication, and data exchange, without requiring user intervention.

9iOS Overview: Cocoa TouchHigh level featuresStoryboards: supplant nib files as the recommended way to design your applications user interfaceDocument Support: UIDocument class for managing the data associated with user documentsMultitaskingPrinting: support allows applications to send content wirelessly to nearby printersData protectionPush notificationGesture recognizersFile-sharingPeer-to-peer services: over Bluetooth, e.g. multi-player games

2/6/12Cellular Networks and Mobile Computing (COMS 6998-8)10

Bonjour is Apples proposal for zero-configuration networking over IP. Bonjour comes out of the work of the ZEROCONF Working Group, part of the Internet Engineering Task Force (IETF). The ZEROCONF Working Groups requirements and proposed solutions for zero-configuration networking over IP essentially cover three areas:

addressing (allocating IP addresses to hosts)naming (using na

Recommended

View more >