© 2003 intel corporation *third party brands and names are

41
© 2003 Intel Corporation © 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Upload: jackie72

Post on 28-Nov-2014

496 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Page 2: © 2003 Intel Corporation *Third party brands and names are

How to Incorporate Mobility How to Incorporate Mobility into Oracle Based Solutionsinto Oracle Based Solutions

Karen MazurkiewiczKaren MazurkiewiczTechnical Marketing EngineerTechnical Marketing Engineer

Intel CorporationIntel CorporationSoftware and Solutions GroupSoftware and Solutions Group

Page 3: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

AbstractAbstract

With the number of internet connected hotspots With the number of internet connected hotspots

steadily growing, now is the time to ensure your steadily growing, now is the time to ensure your

application is ready for the changes occurring in application is ready for the changes occurring in

today's client computing environment.  The today's client computing environment.  The

concepts and issues relating to mobility will be concepts and issues relating to mobility will be

discussed, as well as the paradigms needed to discussed, as well as the paradigms needed to

address the new issues created by temporal address the new issues created by temporal

internet connectivity in today's software. Be sure internet connectivity in today's software. Be sure

that you are prepared to support the convergence that you are prepared to support the convergence

of computing and communications! of computing and communications!

Page 4: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

AgendaAgenda

Trends Towards Mobile ComputingTrends Towards Mobile Computing

Occasionally Connected Computing Occasionally Connected Computing

Technology Enabling MobilityTechnology Enabling Mobility

Implications for Software DesignImplications for Software Design

ConclusionConclusion

Page 5: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

The Drive for Mobile ComputingThe Drive for Mobile Computing

Mobile Users Want:Mobile Users Want:– Seamless connectivitySeamless connectivity

– Graceful handling of connection changesGraceful handling of connection changes

– Networked applications with “offline” mode Networked applications with “offline” mode

– Longer Battery LifeLonger Battery Life

– High PerformanceHigh Performance

Mobility Trends

“Consumers want more from their mobile devices and applications, especially in the future. Enhancements need to provide greater

utility in order to lure consumers to the buying table.”

Mobilizing the Consumer, Randy Giusto, IDC.

Page 6: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Traditional Apps in a Wireless WorldTraditional Apps in a Wireless World

People discard technology that DOES NOT meet their needs

Mobility Trends

Page 7: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

The Mobility Inflection PointThe Mobility Inflection Point

Opportunity to “Mobilize” ApplicationsOpportunity to “Mobilize” Applications• Develop an Occasionally Connected SW Architecture Develop an Occasionally Connected SW Architecture • Develop to Standards for the Robustness IT Requires Develop to Standards for the Robustness IT Requires

Volume Mobile PlatformsVolume Mobile Platforms

Laptops, Handhelds, PhonesLaptops, Handhelds, Phones

Wireless Roaming Stressing Traditional ApplicationsWireless Roaming Stressing Traditional Applications

Resets, Reboots, Service Disruptions, Refreshes, etc.Resets, Reboots, Service Disruptions, Refreshes, etc.

++

==

Mobility Trends

Page 8: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Overcoming Application LimitationsOvercoming Application Limitations

Offline Data ManagementOffline Data Management– Data caching and SynchronizationData caching and Synchronization

– Security ProtectionSecurity Protection

– ManageabilityManageability

Seamless Application ConnectivitySeamless Application Connectivity– Detect changes in network state & take actionDetect changes in network state & take action

Multiple Platform SupportMultiple Platform Support– Identification of Platform Attributes Identification of Platform Attributes

Power Reduction and Performance Power Reduction and Performance ManagementManagement

OCC Architecture

Page 9: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Occasionally Connected ComputingOccasionally Connected Computing

Be

nef

its

Fe

atu

res

Offline Data Offline Data ManagementManagement

Seamless Seamless ConnectivityConnectivity

Power and Power and Performance Performance ManagementManagement

Multiple Multiple Platform Platform SupportSupport

Access Your Access Your Data AnytimeData Anytime

Dynamically Dynamically manage manage

intermittent intermittent connectionsconnections

Run All Day Run All Day UnwiredUnwired

Common Common technologies/ technologies/ mechanismsmechanisms

Increased Increased User User

ProductivityProductivity

Transparent Transparent User User

ExperienceExperience

Increased Increased efficiency and efficiency and

utilizationutilization

Consistent Consistent User User

ExperienceExperience

Ca

pab

iliti

es

OCC enables applications to OCC enables applications to overcome mobility challengesovercome mobility challenges

OCC Architecture

Page 10: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Breakthrough Mobile PerformanceBreakthrough Mobile Performance

Enables Extended Battery LifeEnables Extended Battery Life– Intelligent power distributionIntelligent power distribution

– New SpeedStepNew SpeedStep®® power-optimized logic design power-optimized logic design

Integrated WLAN capability Integrated WLAN capability – Wi-Fi CompliantWi-Fi Compliant

Innovative Form FactorsInnovative Form Factors– Smaller componentsSmaller components

– Minimized thermal powerMinimized thermal power

High PerformanceHigh Performance

Enabling Technology

Page 11: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

IntelIntel®® Technology Designed Technology Designed Specifically for MobilitySpecifically for MobilityIntel® Centrino™ Mobile Technology: Intel® Centrino™ Mobile Technology:

Intel® Pentium® M processorIntel® Pentium® M processor– 32K L1 code and data cache, 1MB Unified Cache32K L1 code and data cache, 1MB Unified Cache– Data Prefetch Data Prefetch – Advanced Branch PredictionAdvanced Branch Prediction– 400 MHz Processor System Bus400 MHz Processor System Bus

855 chipset855 chipset– Supports up to 2GB 266/200 DDRSupports up to 2GB 266/200 DDR– USB 2.0 SupportUSB 2.0 Support– Optional Integrated GraphicsOptional Integrated Graphics

Integrated Wireless Pro 802.11b WLAN Integrated Wireless Pro 802.11b WLAN – Power Management FeaturesPower Management Features

Enabling Technology

Page 12: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

IntelIntel®® Technology Designed Technology Designed Specifically for Hand Held DevicesSpecifically for Hand Held Devices

IntelIntel® XScale Technology® XScale Technology– Fully Integrated Cellular and Application ProcessorFully Integrated Cellular and Application Processor– High-performance/Low-power Intel XScale Core High-performance/Low-power Intel XScale Core – Low-Power Intel Micro Signal Architecture Low-Power Intel Micro Signal Architecture

Key ApplicationsKey Applications– Data-enabled Cellular phones Data-enabled Cellular phones – Smartphones Smartphones – Wireless Communicators Wireless Communicators – WPDAs WPDAs

Intel® Intel® PPersonal Internet ersonal Internet CClient lient AArchitecture rchitecture – Promotes Rapid Development and DeploymentPromotes Rapid Development and Deployment– Cross Architecture Java* SupportCross Architecture Java* Support

Page 13: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Oracle Leadership in Enabling MobilityOracle Leadership in Enabling Mobility

Worldwide Middleware Forecast and Analysis: 2002-2006. Drake, Stephen D., IDC.

Enabling Technology

Page 14: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Oracle Products Enabling MobilityOracle Products Enabling Mobility

Oracle9i* LiteOracle9i* Lite– Introduced 1995Introduced 1995

– Client Side Component of Oracle9iAS*Client Side Component of Oracle9iAS*

– Allows Offline Business FunctionalityAllows Offline Business Functionality– Data Synch With Mobile ServerData Synch With Mobile Server

– http://otn.oracle.com/products/lite/htdocs/o9ilite_datasheet.htmhttp://otn.oracle.com/products/lite/htdocs/o9ilite_datasheet.htm

Oracle9iAS* WirelessOracle9iAS* Wireless– Introduced 1999Introduced 1999

– Component of Oracle9iAS*Component of Oracle9iAS*– Universal Access to content and applicationsUniversal Access to content and applications

– Normalizes underlying technology to one protocol / language – HTTP/XMLNormalizes underlying technology to one protocol / language – HTTP/XML

– http://http://otn.oracle.com/products/iaswe/htdocs/datasheet.pdfotn.oracle.com/products/iaswe/htdocs/datasheet.pdf

Enabling Technology

Page 15: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Oracle 9i Lite* Enabling OCCOracle 9i Lite* Enabling OCC

Oracle9i Lite* RDBMSOracle9i Lite* RDBMS– Offline processing with local data storageOffline processing with local data storage

– Synchronization upon establishing connectivitySynchronization upon establishing connectivity

Mobile Server Mobile Server – Centralized provisioning of software componentsCentralized provisioning of software components

– Synchronization Logic and ServiceSynchronization Logic and Service

– User/Device/Application Data ManagementUser/Device/Application Data Management

Mobile Development KitMobile Development Kit– Tools, APIs, and Sample CodeTools, APIs, and Sample Code

– Packaging WizardPackaging Wizard– Packages Mobile Components into EXEPackages Mobile Components into EXE

Enabling Technology

Page 16: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Oracle9i Lite* Mobile DevelopmentOracle9i Lite* Mobile Development

Use standard development toolsUse standard development tools Packaging WizardPackaging Wizard

– Publish Application to Mobile ServerPublish Application to Mobile Server

Mobile Server Control CenterMobile Server Control Center– Provision UsersProvision Users

Enabling Technology

Page 17: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Take Advantage of Today’s TechnologyTake Advantage of Today’s Technology

Users Want Applications that:Users Want Applications that:– Increase ProductivityIncrease Productivity

– Can be Used AnywhereCan be Used Anywhere

IntelIntel®® and Oracle are working together to and Oracle are working together to provide the best complete solutionprovide the best complete solution– Early introduction of enabling productsEarly introduction of enabling products

– Development Tools Development Tools – Ease of Deployment/Write to all architectureEase of Deployment/Write to all architecture

– High PerformanceHigh Performance

– Working together to create the best solutionsWorking together to create the best solutions

Enabling Technology

Page 18: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Overcoming Application LimitationsOvercoming Application Limitations

Offline Data ManagementOffline Data Management– Data caching and SynchronizationData caching and Synchronization

– Security ProtectionSecurity Protection

– ManageabilityManageability

Seamless Application ConnectivitySeamless Application Connectivity– Detect changes in network state & take actionDetect changes in network state & take action

Multiple Platform SupportMultiple Platform Support– Identification of Platform Attributes Identification of Platform Attributes

Power Reduction and Performance Power Reduction and Performance ManagementManagement

Software Design

Page 19: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Occasionally Connected ComputingOccasionally Connected Computing

Be

nef

its

Fe

atu

res

Offline Data Offline Data ManagementManagement

Seamless Seamless ConnectivityConnectivity

Power and Power and Performance Performance ManagementManagement

Multiple Multiple Platform Platform SupportSupport

Access Your Access Your Data AnytimeData Anytime

Dynamically Dynamically manage manage

intermittent intermittent connectionsconnections

Run All Day Run All Day UnwiredUnwired

Common Common technologies/ technologies/ mechanismsmechanisms

Increased Increased User User

ProductivityProductivity

Transparent Transparent User User

ExperienceExperience

Increased Increased efficiency and efficiency and

utilizationutilization

Consistent Consistent User User

ExperienceExperience

Ca

pab

iliti

es

User Productivity Independent User Productivity Independent of Connection Stateof Connection State

Software Design

Page 20: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Oracle9i Lite* Offline Data ManagementOracle9i Lite* Offline Data Management Oracle9i Lite*Oracle9i Lite*

– Windows* 98/NT/XP/CE, Palm*, EPOC*Windows* 98/NT/XP/CE, Palm*, EPOC*

– Light Memory FootprintLight Memory Footprint

– Offline processing with local data storageOffline processing with local data storage

– Synchronization occurs upon establishing connectivitySynchronization occurs upon establishing connectivity

Web-to-GoWeb-to-Go– Lightweight web listenerLightweight web listener

– Java* based servlet engineJava* based servlet engine

– OTL* interpreterOTL* interpreter

Software Design

Page 21: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Oracle9i Lite* Offline Data ManagementOracle9i Lite* Offline Data ManagementSoftware Design

TransportTransport

HTMLHTML HTTPHTTP InternetInternet

Wireless NetworkWireless Network

LANLAN

OfflineOfflineOnlineOnline

Laptop ClientLaptop Client

Windows* 95/98/NT/2000/XPWindows* 95/98/NT/2000/XP

Mobile Client for Web-to-Go* (Oracle 9i Lite*)10MB HD, 12MB RAMMobile Client for Web-to-Go* (Oracle 9i Lite*)10MB HD, 12MB RAM

BrowserBrowser

Oracle Lite DB(Oracle 9i Lite*)Mobile Server

(Oracle 9i Lite*)Mobile Server(Oracle 9i Lite*)

JVMJVM

Mobile SQLMobile SQL

DataData

JDBCJDBC

ODBCODBC

AppsApps

RepositoryRepository

Mobile SyncMobile Sync

Web-to-go allows users to switch between online and

offline modes

Web-to-go allows users to switch between online and

offline modes

Page 22: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Occasionally Connected ComputingOccasionally Connected Computing

Be

nef

its

Fe

atu

res

Offline Data Offline Data ManagementManagement

Seamless Seamless ConnectivityConnectivity

Power and Power and Performance Performance ManagementManagement

Multiple Multiple Platform Platform SupportSupport

Access Your Access Your Data AnytimeData Anytime

Dynamically Dynamically manage manage

intermittent intermittent connectionsconnections

Run All Day Run All Day UnwiredUnwired

Common Common technologies/ technologies/ mechanismsmechanisms

Increased Increased User User

ProductivityProductivity

Transparent Transparent User User

ExperienceExperience

Increased Increased efficiency and efficiency and

utilizationutilization

Consistent Consistent User User

ExperienceExperience

Ca

pab

iliti

es

Seamless Adaptation to User Seamless Adaptation to User Connection StateConnection State

Software Design

Page 23: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Application ConnectivityApplication Connectivity Application Connectivity Assumptions Application Connectivity Assumptions

Becoming InvalidBecoming Invalid New OCC Architecture Introduces New New OCC Architecture Introduces New

Needs:Needs:– Managing Unreliable ConnectionsManaging Unreliable Connections

– Scaling Data RichnessScaling Data Richness

– Robust Error HandlingRobust Error Handling

– Compressed Data TransfersCompressed Data Transfers

– Maintaining ResponsivenessMaintaining Responsiveness

Assure Data Integrity With Temporal Assure Data Integrity With Temporal Connectivity Connectivity

Software Design

Page 24: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Occasionally Connected ComputingOccasionally Connected Computing

Be

nef

its

Fe

atu

res

Offline Data Offline Data ManagementManagement

Seamless Seamless ConnectivityConnectivity

Power and Power and Performance Performance ManagementManagement

Multiple Multiple Platform Platform SupportSupport

Access Your Access Your Data AnytimeData Anytime

Dynamically Dynamically manage manage

intermittent intermittent connectionsconnections

Run All Day Run All Day UnwiredUnwired

Common Common technologies/ technologies/ mechanismsmechanisms

Increased Increased User User

ProductivityProductivity

Transparent Transparent User User

ExperienceExperience

Increased Increased efficiency and efficiency and

utilizationutilization

Consistent Consistent User User

ExperienceExperience

Ca

pab

iliti

es

Seamless Adaptation to Seamless Adaptation to Characteristics of User PlatformCharacteristics of User Platform

Software Design

Page 25: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Multiple Platform SupportMultiple Platform Support

Similar User Interface for All PlatformsSimilar User Interface for All Platforms Content scaling for Content scaling for Device capabilitiesDevice capabilities

– Application Provisioning per deviceApplication Provisioning per device

– Dynamically obtain CPU InformationDynamically obtain CPU Information

Attributes Include:Attributes Include:– System CPUSystem CPU

– System MemorySystem Memory

– Screen Size and Graphics CapabilitiesScreen Size and Graphics Capabilities

Supported Data Feature Set May Vary Supported Data Feature Set May Vary Depending on Platform CharacteristicsDepending on Platform Characteristics

Software Design

Page 26: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Occasionally Connected ComputingOccasionally Connected Computing B

en

efit

sF

eat

ure

s

Offline Data Offline Data ManagementManagement

Seamless Seamless ConnectivityConnectivity

Power and Power and Performance Performance ManagementManagement

Multiple Multiple Platform Platform SupportSupport

Access Your Access Your Data AnytimeData Anytime

Dynamically Dynamically manage manage

intermittent intermittent connectionsconnections

Run All Day Run All Day UnwiredUnwired

Common Common technologies/ technologies/ mechanismsmechanisms

Increased Increased User User

ProductivityProductivity

Transparent Transparent User User

ExperienceExperience

Increased Increased efficiency and efficiency and

utilizationutilization

Consistent Consistent User User

ExperienceExperience

Ca

pab

iliti

es

Maximization of Performance Maximization of Performance and Battery Lifeand Battery Life

Software Design

Page 27: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Power Reduction and PerformancePower Reduction and Performance

Increase CPU Idle TimeIncrease CPU Idle Time– Reduce Quality/Performance of FeaturesReduce Quality/Performance of Features

– Turn off or Queue Background ActivitiesTurn off or Queue Background Activities

– A Combination of Both A Combination of Both

User Interface for User Adjustments User Interface for User Adjustments Sleep/Wake Power TransitionsSleep/Wake Power Transitions Efficient SynchronizationEfficient Synchronization Minimize Drive AccessesMinimize Drive Accesses

Software Design

Intel® VTune™ Performance Analyzer 7.0 Intel® VTune™ Performance Analyzer 7.0 Can Help Identify Performance Bottlenecks!Can Help Identify Performance Bottlenecks!

Page 28: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Impact for Database ApplicationsImpact for Database Applications

Intelligent Use of System Power InformationIntelligent Use of System Power Information

– Smart handling of Sleep transitionsSmart handling of Sleep transitions

– Data Commit at Low Power ThresholdData Commit at Low Power Threshold

Scalable Data SynchronizationsScalable Data Synchronizations

– User configurable parametersUser configurable parameters

– Battery Power SourceBattery Power Source

UI Functionality AdjustmentsUI Functionality Adjustments

– User configurable parametersUser configurable parameters

– Low Battery ScenariosLow Battery Scenarios

Software Design

Page 29: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

ConclusionConclusion

Large Mobile Computing Base TodayLarge Mobile Computing Base Today

Ever Increasing ConnectivityEver Increasing Connectivity

Legacy Applications Cannot Provide Legacy Applications Cannot Provide Adequate User ExperienceAdequate User Experience

It is essential to adapt to how your users are computing

Conclusion

Intel, the Intel logo, Pentium, Itanium, VTune are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries

Page 30: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Next StepsNext Steps Join IntelJoin Intel®® Developers Services today! Developers Services today!

–Sign up at our booth Sign up at our booth

–Sign up at Sign up at www.intel.comwww.intel.com/ids//ids/

Join IntelJoin Intel®® and Oracle in and Oracle in Pioneering User Friendly Mobile Pioneering User Friendly Mobile ApplicationsApplications

Conclusion

Page 31: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

BackupBackup

Page 32: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Software Architecture & Technology “Guiding principles”Software Architecture & Technology “Guiding principles”

• Make the application network protocol independent Make the application network protocol independent (TCP/IP or Other) (TCP/IP or Other)

• Use open industry standard transport protocols Use open industry standard transport protocols (HTTP, HTTPS, FTPS, etc)(HTTP, HTTPS, FTPS, etc)

• Use XML (at least), SOAP/WSDL (better) to exchange data & state/eventsUse XML (at least), SOAP/WSDL (better) to exchange data & state/events• Use standard security mechanisms Use standard security mechanisms (SSL, client/server X.509 certificates, VPN, etc)(SSL, client/server X.509 certificates, VPN, etc)

• Use platform OS event policies & QoS capabilities for connectivityUse platform OS event policies & QoS capabilities for connectivity• Recognize & utilize device characteristics and capabilitiesRecognize & utilize device characteristics and capabilities

• Make mobility an integral aspect of the application design Make mobility an integral aspect of the application design • Assume & embrace asynchronous interactions & intermittent connectivity Assume & embrace asynchronous interactions & intermittent connectivity

(Adopt a Service Oriented Architecture at the business layer; client and server)(Adopt a Service Oriented Architecture at the business layer; client and server)

• Use data synchronization models for small, easily partitioned data sets and a Use data synchronization models for small, easily partitioned data sets and a business synchronization logic for complex data setsbusiness synchronization logic for complex data sets

• Separate application logic from synchronization logic Separate application logic from synchronization logic (Online/Offline transparency (Online/Offline transparency handled by a OCC proxy)handled by a OCC proxy)

• Architect for optimal use of resources Architect for optimal use of resources (e.g. Power Management)(e.g. Power Management)

• Address multi-master and multi-device synchronizationAddress multi-master and multi-device synchronization

• Provide a consistent and logical user view of data and state based on latest Provide a consistent and logical user view of data and state based on latest data, pending work, and potential conflicts.data, pending work, and potential conflicts.

• Move from user initiated synch to a connectivity availability synch modelMove from user initiated synch to a connectivity availability synch model• Provide a common interface to all user devices, scale functionalityProvide a common interface to all user devices, scale functionality• Allow the user to modify app and system policies relating to consistency, Allow the user to modify app and system policies relating to consistency,

synchronization, power mgmt, conflict resolution, etc.synchronization, power mgmt, conflict resolution, etc.

SW

Pla

tfo

rmS

W P

latf

orm

Fea

ture

sF

eatu

res

Ap

pli

cati

on

Ap

pli

cati

on

Arc

hit

ectu

reA

rch

itec

ture

Use

r U

ser

Exp

erie

nce

Exp

erie

nce

Page 33: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Seamless ConnectivitySeamless Connectivity

NetConnection.h for CNetConnection classNetConnection.h for CNetConnection class

Software Design Details

CNetConnection(void) //class constructor//mbInitialized set FALSE

BOOL Initialize(void) //query for network adapter with//data stored in PIP_ADAPTER_INFO//data structure

BOOL Uninitialize(void) //destructor functionBOOL IsNetOn(void) //TRUE returned if network

//adapters have live connectionsBOOL IsAnyAdapterConnected(void)

//returns TRUE is live network//adapter found

BOOL IsAnyModemConnected(void)//returns TRUE if live modem //connection is found

Page 34: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Multiple Platform SupportMultiple Platform Support Dynamic content scalingDynamic content scaling

– Device capabilitiesDevice capabilities– Application Provisioning per deviceApplication Provisioning per device– CPUIDCPUID

– Screen sizeScreen size

Software Design Details

typedef struct _processor_info { char v_name[_MAX_VNAME_LEN]; char model_name[_MAX_MNAME_LEN]; int family; int model; int stepping; int feature; int os_support; int checks; } _p_info;

Page 35: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Windows Power ManagementWindows Power Management Data StructureData Structure

Accessing Power InformationAccessing Power Information

Coding to Suspend CPU Activity for WaitingCoding to Suspend CPU Activity for Waiting– Avoid spin wait loopsAvoid spin wait loops– Use Use WaitMessage()WaitMessage() instead of instead of PeekMessage()PeekMessage()

typedef struct _SYSTEM_POWER_STATUS {BYTE ACLineStatus;BYTE BatteryFlag;BYTE BatteryLifePercent;BYTE Reserved1;DWORD BatteryLifeTime;DWORD BatteryFullLifeTime;

}SYSTEM_POWER_STATUS,*LPSYSTEM_POWER_STATUS;

Software Design Details

GetSystemPowerStatus //returns data structureWM_POWERBROADCAST //broadcasts state change

Page 36: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Information SourcesInformation Sources

Page 37: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Intel Development ToolsIntel Development Tools IntelIntel®® C/C++ Compiler C/C++ Compiler

– Auto-VectorizerAuto-Vectorizer

IntelIntel®® Integrated Performance Primitives Integrated Performance Primitives– Image/video/audio processing, small matrix operations Image/video/audio processing, small matrix operations

and moreand more

IntelIntel®® VTune™ Performance Analyzer 7.0 VTune™ Performance Analyzer 7.0– Non-intrusive Sampling, enhanced Call Graph, and Non-intrusive Sampling, enhanced Call Graph, and

Counter MonitorCounter Monitor

Communication ToolsCommunication Tools– Network Detection ToolNetwork Detection Tool

– Sample code with usable library to check network Sample code with usable library to check network on/off status from within apps. Available on the on/off status from within apps. Available on the Intel Developer Services Web siteIntel Developer Services Web site

Page 38: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Intel White PapersIntel White Papers 2003 Intel2003 Intel®® Mobile Platform Vision Mobile Platform Visionhttp://http://developer.intel.com/design/mobile/platform/index.htmdeveloper.intel.com/design/mobile/platform/index.htm

Applications Power Management for MobilityApplications Power Management for Mobilityhttp://developer.intel.com/design/mobile/platform/downloads/apmhttp://developer.intel.com/design/mobile/platform/downloads/apmm_wp.pdfm_wp.pdf

Whitepapers at Whitepapers at developer.intel.comdeveloper.intel.com found by found by searching on author:searching on author:

– IntelIntel®® Centrino Centrino™™ Mobile Technology Unveiled, Mobile Technology Unveiled, Andrew BinstockAndrew Binstock

– Occasionally Connected Computing: The Occasionally Connected Computing: The Developer’s New Challenge,Developer’s New Challenge, Andrew Binstock Andrew Binstock

– Intel® Developer Services - The Occasionally Intel® Developer Services - The Occasionally Connected Computing (OCC) Model, Connected Computing (OCC) Model, Dan Fineberg Dan Fineberg 

Page 39: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

IntelIntel®® White Papers (continued) White Papers (continued)

– Network Status Detection, Network Status Detection, Majd NaciriMajd Naciri

– Mobile Platforms Need Power-Conserving Mobile Platforms Need Power-Conserving Applications,Applications, Eric L. Palmer Eric L. Palmer

– Revolution in our Hands: Mobility Matters-- Revolution in our Hands: Mobility Matters-- Application Design for a Wireless World,Application Design for a Wireless World, Chris Chris ThomasThomas

– From Here to There: Software Architecture for From Here to There: Software Architecture for Mobile Computing,Mobile Computing, Chris Thomas Chris Thomas

– Programming for Tablet PCs and Mobile Programming for Tablet PCs and Mobile ComputersComputers, Andy Wigley, Andy Wigley

– Writing Code to Reveal the Performance Details Writing Code to Reveal the Performance Details of Mobile Processors,of Mobile Processors, Richard Winterton Richard Winterton

– Optimizing for Mobility,Optimizing for Mobility, Alan Zeichick Alan Zeichick

Page 40: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

IntelIntel®® Developer Services Offerings Developer Services Offerings OracleTest Drive OfferingsOracleTest Drive Offerings

– Oracle9i RAC* (Real Application Clusters)Oracle9i RAC* (Real Application Clusters)– Featuring Dell Power Edge* ServersFeaturing Dell Power Edge* Servers

– Oracle9iAS* with Oracle 9i* Database Backend on Oracle9iAS* with Oracle 9i* Database Backend on IntelIntel®® Itanium Itanium®®2 Processor-based Server2 Processor-based Server

– Featuring Servers by Rackable SystemsFeaturing Servers by Rackable Systems

– Launched SoonLaunched Soon

www.intel.comwww.intel.com/ids/oracle/ids/oracle

IntelIntel®® Early Access Plan Early Access Plan www.intel.com/ids/eapwww.intel.com/ids/eap

IntelIntel®® Mobile Computing Mobile Computingwww.intel.comwww.intel.com/design/mobile/design/mobile

Page 41: © 2003 Intel Corporation *Third party brands and names are

© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners

Other ResourcesOther Resources

IDC Reports Available at: IDC Reports Available at: www.idc.comwww.idc.com– Worldwide Mobile Middleware Forecast and Worldwide Mobile Middleware Forecast and

Analysis, 2002 – 2006,Analysis, 2002 – 2006, Stephen D. Drake Stephen D. Drake

– Mobilizing the Consumer,Mobilizing the Consumer, Randy Giusto Randy Giusto

Oracle Tutorials and Whitepapers available Oracle Tutorials and Whitepapers available at at otn.oracle.comotn.oracle.com::– Oracle9i Lite*: An Oracle Business WhitepaperOracle9i Lite*: An Oracle Business Whitepaper

– Oracle9i Lite*: A Technical WhitepaperOracle9i Lite*: A Technical Whitepaper

– Oracle9i Lite* TutorialOracle9i Lite* Tutorial

– otn.oracle.com/products/lite/content.htmlotn.oracle.com/products/lite/content.html