绝对珍贵的“direct push技术原理”转载!谢谢原创!

  
在网上找了很长时间终于找到了内含“Direct Push技术原理”的文章,大部分都是配置类文章,而且99%都如出一辙,想必都是转载的吧!我在这也转载一篇,但是这篇的含金量要远比配置Direct Push的含金量要高很多,大家好好学习一下吧!以下全部为转载内容!
在这篇文章中,Brien Posey解释了直接推送技术工作的原理和如何在Exchange 2003 SP2中配置并实现该技术……
  微软Exchange Server一直以来都有给移动设备发送消息的能力,但是基于SMS的同步进程是昂贵的,而且用户也不能立即收到有新电子邮件的消息。在Exchange Server 2003升级维护包2(SP2)中,微软新引进了一种改进的名为直接推送(Direct Push)的同步技术来解决这些问题。它还提供了将安全策略应用到移动设备的能力。在这个教程里,Exchange最有价值专家”(MVP) Brien Posey解释了直接推送技术工作的原理和如何在Exchange 2003 SP2电子邮件环境中配置并实现直接推送技术。
  如果你对此处介绍的信息有任何评论或问题,请发送电子邮件至editor@searchexchange.com
  在SP2以前,Exchange Server 2003在有新邮件到达时会发送SMS消息告诉移动设备。然后移动设备启动与Exchange Server的同步进程来下载电子邮件。
  这种与移动设备的同步方法有以下几个缺点:
  尽管无限制通知的费率计划变得越来越普遍,但是一些移动通讯提供商仍然按每条消息进行收费。如果你把消息的数量与费率乘起来,再与用户拥有的移动设备数量相乘,你可以看到这种服务费用增长的速度是非常迅速的。
  基于SMS的同步过程,移动设备必须进行周期性检查来查看是否有新的消息到达(Exchange服务器发送的SMS消息是对设备检查的响应)。移动设备用户收到新电子邮件消息的频率完全取决于其移动设备检查新消息的频率是如何设置的。举例来说,一旦有新消息到达,用户就会马上收到随随时间变化的电子邮件消息。
  频繁的基于SMS的同步过程对移动设备的电池寿命有消极影响。
  为了解决这些问题,微软开发了一种新的名为直接推送的同步技术。该技术首先在Exchange Server 2003 Service Pack 2中引进,但也用于Exchange Server 2007中。在这个教程里,所有配置说明都是关于Exchange 2003 SP2 Direct Push以及Windows Mobile 5.0Windows Mobile 6.0设备的。

第一部分:微软Exchange Direct Push技术的工作原理
  微软Direct Push技术不是使用SMS消息,而是靠在移动设备和Exchange Server之间维持一个常HTTPS连接来发挥作用的。因为这个连接总是处于可用状态,所以有新电子邮件的消息就几乎能即时转发给移动设备。
  Direct Push HTTPS连接的优缺点
  保持常HTTPS连接有一些顾虑。对于发起者来说,数据发送接收时某些移动设备不能接收到语音呼叫。另一个普遍的顾虑是发送和接收数据消耗了与语音呼叫同样的电力。
  虽然这是一些严重的问题,微软仍采取措施来最小化发送接收数据的影响。直接推送不会在几个小时内就完全消耗掉移动设备的电力。移动设备维持与Exchange Server的常HTTPS连接,但不会一直发送或接收数据。
  这种情况是可能的,因为HTTPHTTPS协议是为分布式网络设计的,所以HTTPHTTPS消息的发送和响应不是既时的。

  解决办法是设置一个与HTTPHTTPS会话相联系的超时值。当发送者发送一个包时,要隔多久收到响应并不重要,只要响应在会话超时前到达即可。Direct Push通过设置超时值就可使移动设备在包间隙时间内处于休眠状态。

  Direct Push“心跳消息

  Direct Push使用心跳消息”(heartbeat messages)来保持Exchange服务器与移动设备之间的会话连接。所谓心跳,仅仅是指周期性发送一些消息来保持会话连接,允许移动设备检查同步过程是否有必要。
  当移动设备开始与Exchange Server的会话时,这一过程就开始了。在这一过程中,移动设备以预先定义的间隔发送心跳消息给服务器。此时,有以下3种情况之一发生。
  1. Exchange服务器以新的同步数据作为响应。这种情况下,新的数据与存储在移动设备中的数据进行同步。
  2. Exchange服务器以HTTP 200 OK消息作为响应。这意味着没有同步新的数据。更为重要的是,这还表示会话没有超时。
  当移动设备收到这个响应时,也许会尝试动态调整它的心跳间隔,因此心跳间隔的时间周期会变长。要知道,心跳间隔时间越长,电池消耗越低。更长的心跳间隔也减少了心跳被潜在语音呼叫打断的可能性。
  3. 会话在心跳间隔时间到来前超时。这种情况发生时,为了防止Direct Push会话超时,Exchange会自动减小心跳间隔。
  我们可以很清楚地看到Direct Push会话是如何通过发送心跳消息并等待响应来保持的。然而,根据我上面的描述,还似乎有很多未解决的偶然性。举例来说,Exchange Server如何知道心跳间隔调整的幅度为多大?或者如果有中断通信过程的意外事件发生会怎样呢?
  但是在实际过程中,却没有这么多的偶然性。微软在动态调整Direct Push“心跳技术中积聚了很多人的才智。
  微软明白那些引起心跳异常的因素。举例来说,如果Exchange服务器突然比预期繁忙,于是服务器就不太可能在超时之前对心跳消息进行响应。如果是这种情况,Exchange Server设计了在调整好直接推送心跳间隔之前必须出现连续往返心跳的机制。
  微软在Direct Push中凝聚集体智慧的另一个表现是Exchange Server很聪明地知道,如果已知心跳超时的原因,它就不应该调整心跳间隔。
  比如,如果用户正在电话上通话,这时Exchange Server发送了一个心跳响应,那么移动设备将永远不会收到这个响应,于是心跳就会超时。然而,Exchange Direct Push知道超时只会出现在用户正在通话的情况下,因此不会调整心跳间隔。

  Direct Push“心跳注册表项
  Direct Push“心跳由以下四个注册表项控制:

  ● HeartbeatDefault
  ● HeartbeatIncrement
  ● HeartbeatMin
  ● HeartbeatMax

  这些值在注册表储存的位置如下:
  HKEY_LOCAL_MACHINE/Software/Microsoft/ActiveSync
  记住,编辑注册表是危险的,因为错误修改容易摧毁Windows/或应用系统。在进行任何注册表修改前都要对系统进行完全备份。
  HeartbeatDefault是指调整前的初始心跳间隔。默认情况下,注册表项的这个值被设置成480秒,或8分钟。
  HeartbeatMin的注册表项表示心跳间隔时间的最小量。最小的心跳间隔与微软默认的心跳间隔相同,即480秒。微软推荐不要调整这个值,因为减小它会引起更多数量的心跳发生,这就会使移动设备消耗更多的电力。微软声称,减小这个值带来的性能提高远远不及对电池寿命造成的负面影响。
  HeartbeatMax是指心跳间隔时间的最大值。正如我前面所说,当移动设备证明它能处理更长的心跳间隔而没有超时,Exchange Server会动态增加心跳间隔时间。
  然而,为了防止Direct Push不确定地增加心跳间隔,应该有一个截止点。微软设置心跳间隔默认的最大值为1680(28分钟)。研究这个教程时,我发现因特网上有管理员声称能把HeartbeatMax值增加到45分钟,但微软建议不要超过默认值。

  默认值设为正好低于大多数网络的网络超时周期。如果你设置HeartbeatMax的值太高,移动设备会逐渐增加心跳周期到心跳超时临界点附近。这种情况下,Exchange Server会减小心跳间隔到一个可接受的水平,但是数据只有达到这个临界点才能被同步。所以最好是保留默认值不动,首先防止超时发生。
  这4个注册表项中最有趣的是HeartbeatIncrement。这一项决定了一次心跳间隔调整量的多少。默认情况下,HeartbeatIncrement值被设置为300(5分钟)。这也是微软的建议值。
  你可以调整HeartbeatIncrement注册表项,但有一点棘手。如果你心跳增量设置得太高,Exchange Server会对心跳间隔做大的调整,这样可能会导致超时的出现(如果网络超时门限未知,或者HeartbeatMax值没有做相应设置)
第二部分:在Exchange Server 2003 SP2中配置Direct Push
  要在Exchange Server 2003 SP2中配置Direct Push技术,你显然必须运行Exchange 2003和升级维护包SP2。下面的步骤还假设你安装了SSL认证。技术上来说,这个配置在没有安装SSL的时候也是有效的,但用户的证书却是用明文发送的。
  为Exchange Server配置Direct Push
  1. 打开Exchange System Manager,在控制台树形目录中导航至Global Settings->Mobile Services
  2. 右键单击Mobile Services容器选择Properties(属性)
  3. 列表上第一个复选框是允许用户发起同步的选项。这允许用户采用以前的基于SMS的技术手动同步他们的移动设备。
  4. 下一个选项是允许通过SMTP和文本消息发送最新通知。这个复选框允许AUTD通知。使用Direct Push时,你不需要选择这个复选框。
  5. 第三个复选框是允许发送通知给用户指定的SMTP地址。这个复选框是为以前的AUTD技术而设计的,使用Direct Push时用不到。(设计这一特性的目的是让你直接发送AUTD通知给移动设备的SMS地址--即使Exchange Server没有配置为与设备相关的移动运营商协同工作。)

  6. Exchange ActiveSync部分的最后一个选项允许你通过HTTPS使用Direct Push。你必须选择这个复选框使Direct Push生效。
  我花了一些时间来解释那些非Direct push选项的用途,因为很多机构都存在新旧移动设备混合的情况。你也许会发现不是所有移动设备都支持Direct Push,因此你必须结合AUTD使用Direct Push以支持你所有的移动用户。
  7. 现在单击Device Security(设备安全)按钮来查看Device Security Settings(设备安全设置)对话框,如图B所示。Direct Push技术好处之一是允许你在移动设备上施加一个安全策略。你可以用这个对话框来为移动用户配置安全策略。
  值得注意的是,Exchange Server 2003对每个移动用户使用同样的安全策略,但微软在Exchange Server 2007中改变了这一点。Exchange Server 2007允许你为每个用户配置移动设备安全设置。
  Exchange Server 2003不像Exchange Server 2007那样允许你配置每个用户的移动设备安全策略。但如果你再看看图B的话,你会注意到有一个Exceptions(例外)按钮。点击这个按钮,你会进入一个免除安全策略的用户列表。但是,通常情况下,从安全的角度来讲,免除任意一个用户的安全策略都不是一个好主意。
  8. Device Security对话框中,选择Enforce Password on Device复选框。
  你能配置的其它安全设置包括Minimum Password Length (最小密码长度,按字符计算)Require Both Numbers and Letters (要求数字和字母)选项,从字面意思就能很容易理解,但如果你不是很了解Direct Push的安全能力,那么其它设置就不是那么明显了。
  下面是保留的安全设置列表及其功能:
  ● Inactivity Time (以分钟为单位)在指定的休止时间后自动锁定移动设备。
  ● Wipe the Device After Failed (以尝试次数为单位)防止对丢失或被盗设备的强力攻击。如果有人重复输入不正确的密码,移动设备会重启,恢复到工厂默认设置。管理员可以指定设备在重启之前密码允许出错的次数。
  ● Refresh Settings on the Device (以小时为单位) 强制移动设备周期性检查Exchange Server移动安全策略的改变。
  ● Allow Access to Devices that do not Fully Support Password Settings允许用户使用移动设备,即使他们缺乏实现安全性的必要软件。
第三部分:在Windows Mobile设备上配置Direct Push
  一旦你在Exchange 2003 SP2服务器上配置了Direct Push技术,并选择了你的安全设置,下一步就该在你的移动设备上配置Direct Push了。
  这些指导都是假设你手持移动设备运行的是带有消息和安全特性包(MSFP)Windows Mobile 5.0Windows Mobile 6.0
  如果你的移动设备运行的是Windows Mobile 5.0,继续之前你必须确定是否安装了MSFP包。要确定这一点,点击Start button(开始按钮)->Settings(设置)->About(关于)来查看移动设备的版本号信息。

仿真器运行的是Windows Mobile 6.0。但如果运行的是Windows Mobile 5.0,你要查看构建号以确定是否安装了MSFP。如果构建号的最后三位数字是2.0.0或更高,则移动设备安装了MSFP。如果MSFP没有安装,在继续下面的配置步骤前你得联系设备的生产商以获得更新。
  在Windows Mobile设备上配置Direct Push
  1. 配置Direct Push过程的第一步是进入移动设备的Start menu(开始菜单)->Programs(程序)->ActiveSync,可以看到如图D所示的消息。
   2. 点击Set up Your Device to Sync With It链接,你将会被带到图E所示的屏幕。屏幕上询问服务器的地址,输入你OWA服务器的URL,减去HTTPHTTPS的前缀。
     3.
在这个屏幕上,也有一个复选框告诉移动设备Exchange服务器要求一个HTTPS连接。如果你决定使用HTTPS,要确保你的SSL证书有效,并与你输入URL的域名相匹配。否则Direct Push不会配置成功。

  4. 输入必要的URLHTTPS信息后,按Next(下一步)按钮。
  5. 这个屏幕简单地询问用户的验证证书。这里,要确保你选择了Save Password(保存密码)的复选框。如果没有选择这个复选框,移动设备就没有办法与Exchange Server进行身份验证。(当用户改变他们的域密码时,他们得手动改变存储在移动设备上的密码以求匹配。密码不会自动同步。)
  6. 现在不要担心点击Advanced(高级)按钮。高级配置选项允许你简单地配置事件记录,如果有多个连接可选的话,选择你想使用的连接。
  7. 点击Next(下一步)来确定你想同步的数据类型,如图G所示。你可以通过选择相应的复选框来使同步联系人,日程表,电子邮件和任务选项生效。
  8. 先不要点击Finish来完成配置过程,现在选择Email选项,点击Settings按钮来选择与移动设备同步的email数量。你在这里还可以设置消息大小的限制,控制是否下载附件。
    9.
点击屏幕上的Advanced(高级)按钮,设置加密或标记出站电子邮件的选项。但是为了使用这些设置,你必须拥有能在该移动设备使用上的证书。
  10. 点击Finish,移动设备会启动同步进程。在这个过程中,你可能会被提示输入移动设备的密码。
  11. 当同步过程完成时,你需要做的最后一件事是设置ActiveSync,使其正常工作。在ActiveSync屏幕上,点击Menu按钮(在屏幕右下角),选择Schedule选项,如图I所示。默认情况下,移动设备在高峰时段每10分钟同步一次,在非高峰时段每4个小时同步一次。为了设置Direct Push正常工作,这两个选项都应该改为As Items Arrive

没有更多推荐了,返回首页