绝对珍贵的“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.0 Windows Mobile 6.0 设备的。

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

  解决办法是设置一个与 HTTP HTTPS 会话相联系的超时值。当发送者发送一个包时,要隔多久收到响应并不重要,只要响应在会话超时前到达即可。 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.0 Windows 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 ,减去 HTTP HTTPS 的前缀。
     3.
在这个屏幕上,也有一个复选框告诉移动设备 Exchange 服务器要求一个 HTTPS 连接。如果你决定使用 HTTPS ,要确保你的 SSL 证书有效,并与你输入 URL 的域名相匹配。否则 Direct Push 不会配置成功。

   4. 输入必要的 URL HTTPS 信息后,按 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值