首页 >解决方案 >IT / 电信 / 专业服务 >微软机器人工作室

客户故事

微软机器人工作室

泰科安防设备通过使用微软机器人工作室确保实时报警发送

泰科安防设备为 100 多个国家的客户提供世界一流的安全和门禁系统,协助保护 300 多家机场、世界 100 强零售商中的 80 家零售商及超过 500 万其他机构的安全。由于泰科 Software House 提供安全-关键解决方案,并准备推出新 C•CURE 9000 安全和事件管理应用程序,因此其开发商需要一个更好地管理系统(有时每秒处理数百或更多的通知)内实时并发和协调挑战的方式。当 Software House 开发商了解到微软机器人工作室 CCR(并发与协调运行时)库时,他们在其解决方案中插入代码。CCR 进行无缝运行,其开发商发现了直接利益,包括 100% 快速线程处理和线性扩展。

 

形势

谈及世界范围内使用世界一流的安全和门禁系统的企业,非泰科安防设备公司(泰科国际有限公司的分支)莫属,该公司拥有 9 万名员工,且其年收入为 110 多亿美元。泰科安防设备协助保护 300 多家国际机场、世界 100 强零售商中的 80 位零售商和 500 万家企业及 100 多个国家的公共建筑物、发电厂、道路、轮船、医院及住房 — 包括柏林议会大厦的消防系统、华盛顿世界银行总部的安防系统以及澳大利亚悉尼港海底隧道的火灾探测和灭火系统。

泰科安防设备的 Software House 解决方案用于世界上一些最敏感的安全机构,包括核电站、主要政府大楼和大型公司。Software House’s C•CURE 800/8000 生产线提供门禁软件平台,该平台因其可靠性能而受到高度重视。6000 多位客户和近一半的世界 500 强公司都采用 Software House 解决方案以保护、监控及控制对公司的访问。

由于泰科安防设备公司准备推出主要升级产品 — C•CURE 9000,其采用微软应用程序平台,从而利用微软的最新技术。泰科设备公司使用微软 Visual Studio 2005 开发系统开发出 C•CURE 9000。该公司使用 Windows Server 2003 操作系统和微软 SQL Server 2005 数据库软件配置位于该系统中心的 C•CURE 服务器。此外,泰科安防设备使用微软 NET Framework 3.0.,为客户提供灵活的最佳安全和事件管理解决方案,该方案在大范围网络上运行顺利。使用微软应用程序平台可协助确保 Software House 客户使用最新、安全的因特网通信协议。

Software House 开发商自豪于 C•CURE 为监控事件提供实时响应的能力。该任务要求用于大型部署中,其中,C•CURE 服务器可能每秒收到数百或更多通知,这些通知必须分配到 100 多位 C•CURE 客户监控站。其中许多通知为由 C•CURE 系统使用以维持所有系统组件状态的内部事件。这种信息仍然很重要,其用于公司记录和审核需要。然而,最高优先权通知是安全人员必须了解的系统事件 — 从某人在电子读卡器上刷 ID 卡使门解锁到重要报警(如,当门被强开或相反门被非授权人员打开时)。Software House 开发商需要一种能有效将这种安全-关键事件区分优先次序的方式。

“为获取所期望的实时响应时间,我们需要一种技术,这种技术应能够解决监控系统本身面临的并发性问题,”Software House 设计师 Stephen Tarmey 说。“而且我们需要有为 C•CURE 客户区分出监控站安全人员正使用的信息优先次序的能力。”

 

解决方案

Software House 开发商在微软机器人工作室 CCR(并发与协调运行时)库中找到了解决方案。微软机器人工作室最初开发作为软件平台,机器人社群可使用该平台通过大量硬件开发一系列应用程序。CCR 使程序编写更加容易,该程序用于从多个机器人传感器中处理异步输入及输出到电动机和致动器。

Software House 开发商发现,CCR 技术的价值不只在机器人。实际上,Tarmey 说他几乎是偶然听说 CCR 技术。“我们参加了波士顿 2007 Microsoft ReMIX 开发商大会,”他说。“那时,我还未听说过微软的机器人工作,而且坦白说我也不关心,因为我们不与机器人合作。但是,一次午饭时间听一位来自 MIT 的教授讲话,他试图解决当发送大量数据到资料库中进行处理时产生的异步 I/O 问题。”

那引起了 Tarmey 的注意。“我想:‘他’正在谈论我们的问题!”Tarmey 回忆道。“当这个教授说到使用软件机器人工作室的并发与协调运行时库解决该问题时,我做了笔记并立即采取进一步行动。当你发现有人已经解决了你仍然在面对的问题时,你会倾向于真正密切注意。”
尽管 Tarmey 面对的是不知所措。他的团队通过使用线程池解决方案处理并发和协调,已快完成 C•CURE 9000。他知道 CCR 将可提供更好的解决方案,但他关心的是集成新代码要花费多少时间。

这种不知所措的窘象没有持续很长时间。“我只将 CCR 运用到我们的代码中,它开始运行,”他说。“它集成如此简单以致切实促进了我的装置测试。”

 

体系结构注解

C•CURE 9000 通过使用微软应用程序平台而创建并具有多层体系结构,包括:

  • 硬件装置。Software House 配有多台智能读卡器,包括支持多种技术和协议的读卡器。这些装置安装在门、刷卡的读卡器上或旁边或接近于读卡器。该读卡器将数据传送到控制器中,便于用户验证和登记。
  • 控制器。Software House iSTAR eX 控制器与读卡器连接并使用内部存储的数据库确定个人访问特权。当在读卡器上刷卡时,该数据传送至控制器。若允许访问,则该控制器发送一条“打开”命令至该门,从而允许访问。若不允许访问,该门将一直关闭并锁定。大型部署中可包括多种控制器。
  • C•CURE 服务器。各控制器发送通知信息至中央 C•CURE 服务器,应用特定业务逻辑到系统活动中,处理数据持久性并处理服务器-客户端的通知。所有事件都存储在使用 SQL Server 2005(在 Windows Server 2003 操作系统上运行)的 C•CURE 服务器中。系统管理员使用 C•CURE 服务器为 C•CURE 客户端添加及删除访问权限和访问控制权。
  • C•CURE 客户端。个人计算机(在 Microsoft Windows Vista 或早期 Windows 操作系统上运行)的 C•CURE 客户软件为控制站人员提供实时信息,包括报警。一个大型组织可能有 100 多个 C•CURE 客户端,用于接收来自 C•CURE 服务器的信息。

 

安全验证

Software House 开发商使用 NET Framework 3.0 将编密码、验证信息和其他关键技术键入其产品套件中。

在发行之前,C•CURE 9000 通过 FIPS(美国政府联邦信息处理标准出版物)197 验证。FIPS 197 验证确保其符合政府高级加密标准编密码算法。因其高级别密钥强度,其为美国政府所使用的最优加密方案。FIPS 197 提供有关任何产品(包括政府机构可能购买的密码系统)安全索赔的第三方保险。

 

利益

Software House 开发商通过将微软机器人工作室的 CCR 库并入其 C•CURE 9000 应用程序而获取明显优势。Software House 发现 CCR 可提供更快的队列处理并可为其客户提供线性扩展。其开发商从 CCR 与同样来自于微软研究 R&D 发明的现有应用程序代码的轻易集成中获取利益。

 

CCR 更快队列处理

在使用微软机器人工作室的 CCR 技术之前,Software House 开发商已制定了一套使用线程池(75 个线程)的解决方案。最初的解决方案很有效,但在高要求的场合中其无法确保开发商所需的实时信息发送。幸运的是,CCR 提供了他们所寻求的实时性能。

“CCR 在处理队列数据上的速度远超过我们的线程池的速度,”Tarmey 说。“这使我们感到很惊喜。CCR 处理的越多,其速度就越快。CCR 迅速实现 100% 的快速,且其仅在两个信息线程而非我们所使用的 75 个线程就可达到这种速度。此外,减少线程数目可使处理更清晰。”
使用 CCR 时,一个线程用于普通信息,第二个线程用于高优先级的信息(如,门报警)。

“CCR 使用轮询调度方案处理该线程,这意味着当高优先级通知到达时,若此时普通队列中有 5000 条通知,则该优先级通知将等待后一个处理,”Tarmey 说。“之前仅在先进先出原则上处理通知,因此该高优先级通知必须等到这 5000 条普通级信息发送出去后才能得到处理。”

 

CCR 线性扩展

Software House 开发商对 CCR 提供的线性扩展印象深刻。其他解决方案可产生与增加处理内核有关的管理经费,但 CCR 却可自动利用附加内核而不无须经费,因而 C•CURE 9000 可获得直接扩展性。

“一般来说,当你增加处理器时,你会发现性能有所改善,但如果你双倍增加处理器的数目,你却发现性能并没有得到双倍提高,”Tarmey 说道。“通过 CCR,我们可以实现线性扩展。如果你双倍增加处理器的数目,你将会发现其性能也双倍提高了。那给人留下深刻印象。”
Tarmey 相信线性扩展,至少相信 CCR 处理线程的效率及其为 1 个 CPU 中 2 个线程完美服务的能力。

“在我们的 75 个线程解决方案中,由于移动核间线程时要求环境切换,因此我们将面临大笔经费问题,”Tarmey 说。“CCR 自动利用附加核,而不产生环境切换经费。如果我从双核计算机升级到四核计算机,我们会看到性能的线性扩展。当你扩展硬件时,CCR 自动利用新资源。”
CCR 的线性扩展使 Software House 及其客户的工作更轻松。“通过 CCR,我们可提供完全线性的扩展,”Tarmey 说。“因为可轻松升级硬件,那真的是个非常理想的设备。换作是软件,就没有如此简单。”

 

CCR 的简易集成

CCR 的简单性使其可并入当前 C•CURE 9000 应用程序代码,这可使 Software House 轻松利用新功能而不影响其发展规划。

“从微软大会回来两天后,我卸除了线程池代码并开始运行 CCR,”Tarmey 说。“你赢不了它。”

Tarmey 也喜欢与微软应用程序平台合作,因为它可提供紧密的集成。“从开发工具到操作系统、数据库及其他组件,所有事物都在一起顺利运行,”他说。“尽管如此,仍然很惊讶它可如此轻易地将 CCR 并入我们的产品,并看到如此立竿见影的效果。”

 

使用微软 R&D 重大发明

作为一位开发商,Tarmey 乐于利用微软的软件创新产品,他已使用过微软 NET Framework 3.0。“NET Framework 3.0 有如此多的功能,如,加密、验证通道、编序、扩展点及更多其他功能。那是许多我不需写的代码。”

他对 CCR 的效率有同样的看法。“我想利用那个雷蒙德开发商提出的工程计划,”Tarmey 说。“我已看到使用 CCR 所达到的成果,而你只看到微软开发商真正集中精力于确保任何地方没有阻塞。该代码已经过优化,因此似乎看不出来 CCR 中曾经是否有浪费循环。应在全部时间内利用所有处理能力。”

Tarmey 称赞微软在传统问题上采取创新解决方案:在处理多个线程时采用协调与并发解决方案。“这是个优秀代码,”他说,Software House 将花费更多时间将高质量产品供应到市场上。

“CCR 之类曾经并非我们的参照系,”Tarmey 说。“这是在常规工作环境下的人们没有时间考虑和制定的解决方案。”

 

微软机器人工作室

开发微软机器人工作室是为将其作为软件平台,机器人社群可使用该平台通过大量硬件开发一系列应用程序。微软机器人工作室的 CCR 功能是个管理代码库,满足服务型应用程序管理异步操作、处理并发性事件、开发平行硬件及处理部分故障的需求。机器人工作室的 DSS(分散式软件服务)功能支持简单的服务型应用程序模型,使开发商创建作为动态可互操作装置(可使用简单的开放协议进行通信)运行的程序模块。CCR 和 DSS 可用于多线程和多核处理。

“我仅将 CCR 并入我们的代码,其便开始运行。它集成如此简单以致切实促进了我的装置测试。”

Software House 泰科安防设备设计师 Stephen Tarmey