Presentation is loading. Please wait.

Presentation is loading. Please wait.

11/29/2018 6:58 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.

Similar presentations


Presentation on theme: "11/29/2018 6:58 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered."— Presentation transcript:

1 11/29/2018 6:58 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

2 Exchange Server 2010 SP2 High Availability Deep Dive
11/29/2018 6:58 AM EXL401 Exchange Server 2010 SP2 High Availability Deep Dive Scott Schnoll Principal Technical Writer, Microsoft Corporation Blog: © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

3 Agenda Recent Behavior Changes – SP2 + UR3
Database Availability Group Networks Active Manager Best Copy Selection Datacenter Activation Coordination Mode

4 Recent Behavior Changes
Deep Dive Recent Behavior Changes Code changes in Service Pack 2 (SP2) and Update Rollup 3 for SP2

5 OWA Cross-Site Silent Redirection with SSO
Introduced in Service Pack 2 If you access OWA via CAS in the ‘wrong’ AD site, CAS has a decision to make: it can proxy or redirect to the target site If there is no ExternalURL in that site, we proxy, the mailbox opens and the user gets access If the target site has an ExternalURL the user gets a page with a link to click The user clicks the link, and logs in again, and gets access The user has to log in twice We removed the need to click the link, which in some scenarios, results in a Single Sign On experience

6 OWA Cross-Site Silent Redirection with SSO
Documentation Video

7 Changes to Set-DatabaseAvailabilityGroup
Introduced in Update Rollup 3 for Exchange 2010 SP2 AllowCrossSiteRPCClientAccess property of the DAG now available for use True – When database *overs from DC1 to DC2, Outlook will continue to use the CAS array in DC1 as the RPC endpoint False (default) – When a database *overs from DC1 to DC2, the Outlook profile will be updated to use the CAS array in DC2 as the RPC endpoint This will require a restart of the Outlook client AlternateWitnessServer and AlternateWitnessDirectory can now be set to $null

8 Changes to Set-DatabaseAvailabilityGroup
Documentation *To be published very soon!

9 Changes to Active Manager
Introduced in Update Rollup 3 for Exchange 2010 SP2 Mailbox database move using dial tone portability can take an extremely long time to fail if the source or destination mailbox server is down Get-Mailbox -Database DB1 | Set-Mailbox -Database DTDB1 RPC attempts to purge remote mailbox objects, but it can’t when one side is down, and it will eventually timeout Could take second per mailbox! We no longer need to wait that long, as we now handle the down server in a different manner

10 High Availability Concepts

11 Database Availability Group Networks
Deep Dive Database Availability Group Networks

12 Database Availability Group Networks
A DAG network is a collection of one or more subnets Two types of DAG networks MAPI Network - connects DAG members to Active Directory, other Exchange servers, DNS, etc.; also used by content indexing Registered in DNS / DNS configured Uses default gateway Client for Microsoft Networks/File and Print Sharing enabled Replication Network - used for continuous replication Not registered in DNS / DNS not configured Does not use a default gateway Client for Microsoft Networks/File and Print Sharing disabled

13 Database Availability Group Networks
All DAGs must have: Exactly one MAPI network Zero or more Replication networks Separate network(s) on separate subnet(s) LRU determines which network is used in multiple replication network environment Automatically created when server is added to DAG Based on cluster’s enumeration of networks Cluster enumeration based on subnet One cluster network is created for each subnet

14 Database Availability Group Networks
Server / Network IP Address / Subnet Bits Default Gateway EX1 – MAPI /24 EX1 – REPLICATION /24 N / A EX2 – MAPI /24 EX2 – REPLICATION /24 Name Subnet(s) Interface(s) MAPI Access Enabled Replication Enabled DAGNetwork01 /24 EX1 ( ) EX2 ( ) True DAGNetwork02 /24 EX1 ( ) EX2 ( ) False

15 Database Availability Group Networks
Server / Network IP Address / Subnet Bits Default Gateway EX1 – MAPI /24 EX1 – REPLICATION /24 N / A EX2 – MAPI /24 EX2 – REPLICATION /24 Name Subnet(s) Interface(s) MAPI Access Enabled Replication Enabled DAGNetwork01 /24 EX1 ( ) True DAGNetwork02 /24 EX1 ( ) False DAGNetwork03 /24 EX2 ( ) DAGNetwork04 /24 EX2 ( )

16 Database Availability Group Networks
Collapse subnets into two DAG networks and disable replication for the MAPI network: Set-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork01 -Subnets , ReplicationEnabled:$false Set-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork02 -Subnets , Remove-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork03 Remove-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork04 Name Subnet(s) Interface(s) MAPI Access Enabled Replication Enabled DAGNetwork01 /24 EX1 ( ) True DAGNetwork02 /24 EX1 ( ) False DAGNetwork03 /24 EX2 ( ) DAGNetwork04 /24 EX2 ( )

17 Database Availability Group Networks
Collapse subnets into two DAG networks and disable replication for the MAPI network: Set-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork01 -Subnets , ReplicationEnabled:$false Name Subnet(s) Interface(s) MAPI Access Enabled Replication Enabled DAGNetwork01 /24 EX1 ( ) True DAGNetwork02 /24 EX1 ( ) False DAGNetwork03 /24 EX2 ( ) DAGNetwork04 /24 EX2 ( )

18 Database Availability Group Networks
Collapse subnets into two DAG networks and disable replication for the MAPI network: Set-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork01 -Subnets , ReplicationEnabled:$false Name Subnet(s) Interface(s) MAPI Access Enabled Replication Enabled DAGNetwork01 /24 /24 EX1 ( ) EX2 ( ) True False DAGNetwork02 /24 EX1 ( ) DAGNetwork03 DAGNetwork04 /24 EX2 ( )

19 Database Availability Group Networks
Collapse subnets into two DAG networks and disable replication for the MAPI network: Set-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork01 -Subnets , ReplicationEnabled:$false Set-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork02 -Subnets , Name Subnet(s) Interface(s) MAPI Access Enabled Replication Enabled DAGNetwork01 /24 /24 EX1 ( ) EX2 ( ) True False DAGNetwork02 /24 EX1 ( ) DAGNetwork03 DAGNetwork04 /24 EX2 ( )

20 Database Availability Group Networks
Collapse subnets into two DAG networks and disable replication for the MAPI network: Set-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork01 -Subnets , ReplicationEnabled:$false Set-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork02 -Subnets , Name Subnet(s) Interface(s) MAPI Access Enabled Replication Enabled DAGNetwork01 /24 /24 EX1 ( ) EX2 ( ) True False DAGNetwork02 /24 /24 EX1 ( ) EX2 ( ) DAGNetwork03 DAGNetwork04

21 Database Availability Group Networks
Collapse subnets into two DAG networks and disable replication for the MAPI network: Set-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork01 -Subnets , ReplicationEnabled:$false Set-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork02 -Subnets , Remove-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork03 Remove-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork04 Name Subnet(s) Interface(s) MAPI Access Enabled Replication Enabled DAGNetwork01 /24 /24 EX1 ( ) EX2 ( ) True False DAGNetwork02 /24 /24 EX1 ( ) EX2 ( ) DAGNetwork03 DAGNetwork04

22 Database Availability Group Networks
Collapse subnets into two DAG networks and disable replication for the MAPI network: Set-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork01 -Subnets , ReplicationEnabled:$false Set-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork02 -Subnets , Remove-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork03 Remove-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork04 Name Subnet(s) Interface(s) MAPI Access Enabled Replication Enabled DAGNetwork01 /24 /24 EX1 ( ) EX2 ( ) True False DAGNetwork02 /24 /24 EX1 ( ) EX2 ( )

23 Database Availability Group Networks
When using a single NIC It is both the MAPI and the Replication network EnableReplication is $True When using multiple NICs One NIC is the MAPI network (typically) EnableReplication is $False Other NIC(s) are Replication network(s) Replication uses LRU to pick network to use If Replication networks are unavailable, MAPI network is used

24 Database Availability Group Networks
DAG/cluster should ignore iSCSI or dedicated backup networks Set-DatabaseAvailabilityGroupNetwork -Identity <DAG Network Name> -ReplicationEnabled:$false -IgnoreNetwork:$true

25 Database Availability Group Networks
Install hotfix from KB Fixes issue with manually added route table entries disappearing Block cross-network communication Allowed Subnet 1 Subnet 3 M M M M R R R R Subnet 2 Subnet 4 Blocked

26 Deep Dive Active Manager

27 Active Manager Internal Exchange component that manages high availability platform Runs inside the Microsoft Exchange Replication service on every Mailbox server Is the definitive source of information on where a database is active Stores this information in cluster database Provides this information to Active Manager client running on other server roles (Client Access and Hub Transport)

28 Active Manager Standalone Active Manager Primary Active Manager (PAM)
Standby Active Manager (SAM) Active Manager Client Runs in RPC Client Access service on CAS and Transport service on Hub

29 Active Manager Primary Active Manager (PAM)
Runs on the node that owns the cluster core resources (cluster group) Gets topology change notifications Reacts to server failures Selects the best database copy on failovers and targetless switchovers Detects failures of local Information Store and local databases

30 Active Manager Standby Active Manager (SAM)
Runs on every other node in the DAG Detects failures of local Information Store and local databases Reacts to failures by asking PAM to initiate a failover Responds to queries from CAS/Hub about which server hosts the active copy Both roles are necessary for automatic recovery If the Microsoft Exchange Replication service is stopped, automatic recovery will not happen

31 Active Manager Which DAG member is the current PAM?
Get-DatabaseAvailabilityGroup DAG1 –status | fl PrimaryActiveManager How can I move the PAM role? Move-ClusterGroup “Cluster Group” -Node MBX2 or Cluster group “cluster group” /move

32 Active Manager Transition of Active Manager role state logged into Microsoft-Exchange-HighAvailability/Operational event log Crimson Channel

33 Active Manager Functionality
Mount and Dismount Databases Provide Database Availability Information Provide Interface for Administrative Tasks Maintains Database and Server State Information Monitor for Failures and Initiate Recovery

34 Database *over Database *overs
Switchover - An administrator action invoked by a task Failover - Automatic operation initiated by the PAM Begins with a Dismount operation and ends with a Mount operation

35 Mount / Dismount Database
An admin action invoked through a task The last part of a database *over Dismount Database The first part of a database switchover

36 AutoDismount Occurs when a DAG loses quorum
All DAG members are running (but may not be participating in the cluster) Databases dismounted as quickly as possible by terminating the Information Store service The only exception to the “SAM can take no action” rule

37 Crimson Channel Present on all Exchange 2010 Mailbox servers
Applications and Services Logs\Microsoft\Exchange HighAvailability BlockReplication Debug Operational TruncationDebug MailboxDatabaseFailureItems Applications and Services Logs\Microsoft\Windows FailoverClustering

38 HighAvailability Events for startup/shutdown of MSExchangeRepl.exe, and it’s components: Active Manager Third-Party Replication API Tasks RPC server TCP listener VSS writer Used by Active Manager for events related to role monitoring, database mount operations, log truncation, and cluster-related events

39 MailboxDatabaseFailureItems
Used to log events associated with any failures that affect a replicated mailbox database

40

41 Deep Dive Best Copy Selection

42 Best Copy Selection Process of finding the best copy of an individual database to activate, given a list potential copies for activation and their status Active Manager selects the “best” copy to become the new active copy when the existing active copy fails or when an administrator performs a targetless switchover During best copy selection, any servers that are unreachable or activation-blocked are ignored

43 Best Copy Selection First Three Steps – RTM
Sort copies by copy queue length to minimize data loss, using activation preference as a secondary sorting key if necessary Select “best” copy from sorted listed based on which set of criteria met by each copy Run Attempt Copy Last Logs (ACLL) and try to copy any missing log files from previous active copy

44 Best Copy Selection First Three Steps – SP1+
Sort copies by activation preference when auto database mount dial is set to Lossless (otherwise, sort copies based on RTM behavior) Select “best” copy from sorted listed based on which set of criteria met by each copy Run Attempt Copy Last Logs (ACLL) and try to copy any missing log files from previous active copy

45 Best Copy Selection Last Step – RTM+
Is database mountable? Is copy queue length <= AutoDatabaseMountDial? If Yes, database is marked as current active and mount request is issued by Active Manager to the Information Store If not, next database in sorted list is tried, if one is available. If one is not available, an administrator must manually resolve the problem

46 Best Copy Selection – Selection Criteria
Copy Queue Length Replay Queue Length Content Index Status 1 < 10 logs < 50 logs Healthy 2 Crawling 3 N / A 4 5 6 7 8 9 10 Any database copy with a status of Healthy, DisconnectedAndHealthy, DisconnectedAndResynchronizing, or SeedingSource

47 Example: Best Copy Selection – RTM
Four copies of DB1 DB1 active on Server1 Server1 Server2 Server3 Server4 X DB1 DB1 DB1 DB1 Database Copy Activation Preference Copy Queue Length Replay Queue Length CI State Database State Server2\DB1 2 4 Healthy Server3\DB1 3 DiscAndHealthy Server4\DB1 10 Crawling

48 Example: Best Copy Selection – RTM
Sort list of available copies based by Copy Queue Length (using AP if necessary): Server3\DB1 Server2\DB1 Server4\DB1 Database Copy Activation Preference Copy Queue Length Replay Queue Length CI State Database State Server2\DB1 2 4 Healthy Server3\DB1 3 DiscAndHealthy Server4\DB1 10 Crawling

49 Example: Best Copy Selection – RTM
Only two copies meet first set of criteria for activation (CQL< 10; RQL< 50; CI=Healthy): Server3\DB1 Server2\DB1 Server4\DB1 Lowest copy queue length – tried first Database Copy Activation Preference Copy Queue Length Replay Queue Length CI State Database State Server2\DB1 2 4 Healthy Server3\DB1 3 DiscAndHealthy Server4\DB1 10 Crawling

50 Example: Best Copy Selection – SP1+
Four copies of DB1 DB1 active on Server1 Auto database mount dial set to Lossless Server1 Server2 Server3 Server4 X DB1 DB1 DB1 DB1 Database Copy Activation Preference Copy Queue Length Replay Queue Length CI State Database State Server2\DB1 2 4 Healthy Server3\DB1 3 DiscAndHealthy Server4\DB1 10 Crawling

51 Example: Best Copy Selection – SP1+
Sort list of available copies based by Activation Preference: Server2\DB1 Server3\DB1 Server4\DB1 Database Copy Activation Preference Copy Queue Length Replay Queue Length CI State Database State Server2\DB1 2 4 Healthy Server3\DB1 3 DiscAndHealthy Server4\DB1 10 Crawling

52 Example: Best Copy Selection – SP1+
Sort list of available copies based by Activation Preference: Server2\DB1 Server3\DB1 Server4\DB1 Lowest preference value – tried first Database Copy Activation Preference Copy Queue Length Replay Queue Length CI State Database State Server2\DB1 2 4 Healthy Server3\DB1 3 DiscAndHealthy Server4\DB1 10 Crawling

53 Best Copy Selection – Post-Activation Events
Transport Dumpster requests will be initiated for the mailbox database to recover any lost messages The new active and mounted mailbox database will generate new log files using the same log generation sequence When the previous active copy recovers, it will run through divergence detection and either perform an incremental resynchronization or require an administrator to reseed the database copy

54 Datacenter Activation Coordination Mode
Deep Dive Datacenter Activation Coordination Mode The MommyMayIMount Bit

55 Datacenter Activation Coordination Mode
Tech Ed North America 2010 11/29/2018 6:58 AM Datacenter Activation Coordination Mode © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

56 Datacenter Activation Coordination Mode
Tech Ed North America 2010 11/29/2018 6:58 AM Datacenter Activation Coordination Mode © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

57 Datacenter Activation Coordination Mode
Tech Ed North America 2010 11/29/2018 6:58 AM Datacenter Activation Coordination Mode 1 1 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

58 Datacenter Activation Coordination Mode
DAC mode is a property of a DAG Acts as an application-level form of quorum Designed to prevent multiple copies of the same database from mounting on multiple members during the reactivation of a primary datacenter (or a set of DAG members) after a datacenter switchover has been performed Enables the use of Exchange cmdlets for datacenter switchovers of DAGs Stop-DatabaseAvailabilityGroup Restore-DatabaseAvailabilityGroup Start-DatabaseAvailabilityGroup

59 Datacenter Activation Coordination Mode
Uses Datacenter Activation Coordination Protocol (DACP), internally known as the MommyMayIMount bit DACP is an in-memory bit in the Microsoft Exchange Replication service (MSExchangeRepl.exe) DACP has two possible values: 0 = cannot automatically mount databases on startup 1 = can automatically mount databases on startup, provided Automount consensus is True

60 Datacenter Activation Coordination Mode
Microsoft Exchange Replication service startup sequence Active Manager initializes DACP bit is set to 0 DAG member communicates with other DAG members If the starting DAG member can communicate with all members on the StartedMailboxServers list, starting DAG member DACP bit is set to 1 If starting DAG member can communicate with another DAG member that has a DACP bit set to 1, starting DAG member DACP bit is set to 1 If starting DAG member can communicate only with members that have a DACP bit set to 0, starting DAG member DACP bit remains at 0

61 Datacenter Activation Coordination Mode
Side effects of enabling DAC mode When a DAG in DAC mode is started after a complete shutdown, databases will not be mountable until all DAG members are up, running, and in communication with each other When performing a datacenter switchover where only a single node remains in the cluster supporting the DAG, any reboot that changes both the boot time of the witness server and the boot time of the DAG member will prevent databases from mounting automatically If the reboots were necessary and valid operations, administrators can force the databases online without causing split brain

62 Scott Schnoll Thank You! scott.schnoll@microsoft.com Twitter: @Schnoll
Blog:

63

64 Related Content EXL301 - Archiving in the Cloud with Exchange Online Archiving (EOA) EXL302 - Exchange Simple Migration Gets a Makeover EXL304 - An Inside View of Microsoft Exchange 2010 SP2 EXL305 - Exchange Server 2010 SP2 Tips & Tricks EXL306 - Best Practices for Virtualizing Microsoft Exchange Server 2010

65 Track Resources Exchange Team Blog: Exchange TechNet Tech Center: Geek Out with Perry Blog: MEC Website and Registration:

66 Resources Learning TechNet http://europe.msteched.com
Connect. Share. Discuss. Microsoft Certification & Training Resources TechNet Resources for IT Professionals Resources for Developers

67 Submit your evals online
11/29/2018 6:58 AM Evaluations Submit your evals online © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

68 11/29/2018 6:58 AM © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "11/29/2018 6:58 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered."

Similar presentations


Ads by Google