© 2003 intel corporation *third party brands and names are
DESCRIPTION
TRANSCRIPT
© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners
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
© 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!
© 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
© 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.
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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!
© 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
© 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
© 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
© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners
BackupBackup
© 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
© 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
© 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;
© 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
© 2003 Intel Corporation© 2003 Intel Corporation *Third party brands and names are the properties of their respective owners
Information SourcesInformation Sources
© 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
© 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
© 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
© 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
© 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