速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

Cisco 为期一年的“Think Inside the Box”开发竞赛揭晓

  • 2009-10-19
  • 本文字数:3332 字

    阅读完需:约 11 分钟

Cisco 宣布了“Think Inside the Box”开发竞赛的获胜者。该竞赛提出的挑战题目是为Cisco 的整合服务路由器创建一个应用程序扩展平台应用。

Cisco 的“Think Inside the Box”开发竞赛开始于一年前,它邀请参与者为 Cisco 的应用程序扩展平台( Application Extension Platform ,AXP)开发一个能够运行在 Cisco 的整合服务路由器( Cisco Integrated Services Router ,ISR)中的应用程序。在竞赛的第一阶段中,来自于 75 个国家的 100 多个团队,总共超过 900 名开发者提交了他们的方案,其中的八个队进入了决赛。每个进入决赛的团队都实现了他们的方案并提交给由八人组成的委员会,这些专家来自于 Cisco、Forrester Research、Linux Foundation、Yankee Group 和 MWD Advisors。该委员会选出了三个获奖者:

第一名:MADnetwork 团队,由西班牙的 David Perez 带领,他们实现的构建自动化服务(Building Automation Service ,BAS)应用系统赢得了 50000 美元。BAS 是为分支办事处和多租户单位创建的,它可以帮助业务人员远程监控和管理构建操作。 第二名:Enhancers 团队,由印度的 Rajesh Kotagiri 带领,他们实现的本地广告网络平台(Local Advertising Mesh Network Platform ,LAMP)应用程序赢得了 30000 美金。LAMP 创建了一个运行在 AXP 上的分布式广告提供平台。这个平台将驻留在最初针对零售业部署的 ISR 上:例如,零售商店可以在不同的地点显示液晶单元的广告。有了这个解决方案,企业可以通过转移一些广告方面的投入到现存的网络基础架构上,从而挖掘新的收入来源。

第三名:BugsBernie 团队,由德国的 Bernhard Beckmann 带领,他们创建的综合监控系统应用赢得了 20000 美金。借助该应用,IP 电话可以在非工作时间被开启,用来监控办公室中所有的音频信号。当检测到非正常的音频信号模式的时候(通过可配置的阀值),应用会通知外部安全服务或者设备,像手机、计算机或者视频监视系统。对电话系统的破坏活动也会被检测到。

这些团队都能够访问为他们提供 ISR 和 AXP 模块的虚拟实验室。他们还可以使用一个 AXP 虚拟刀片机,一个基本上模拟 AXP 硬件的虚拟机。AXP 模块与 ISR 路由器连接,从中获取电力,并访问它的网络接口。该模块拥有一颗赛扬或者奔腾处理器,并且运行有 Cisco 基于核心版本 2.6.x 创建的 Linux,其中添加了一些安全和可管理性的改善。3 种现存的 AXP 模块的类型的硬件规格如下:

服务模块

CPU

内存

存储设备

AIM-102

300-Mhz Intel 赛扬

256 MB

1-GB 闪存

NME-302

1.0-GHz Intel 奔腾

512 MB

80-GB 硬盘

NME-522

1.4-GHz Intel 奔腾

2 GB

160-GB 硬盘

Cisco 的技术市场工程师 Anurag Gurtu [AG] 和 Csico 网络系统和解决方案市场团队的高级经理 Shashi Kiran [SK] 是这样描述 AXP 的:

AG**:开发者可以编写应用程序,然后从 Cisco 的 ISR(包含一个接口)采集数据,并得出有趣的应用程序。AXP 提供了大量集成在 ISR 中的 API,像 IOS API、事件触发器 API、串行 API 等等。运行在 AXP 上的应用程序能够做所有的事情,例如,它能够配置 ISR,从 ISR 获取数据和事件通知、管理连接在 ISR 上的串行设备等等。它拥有读写的能力,简单来说可能性是无尽的。AXP 提供了一个计算平台,它使应用程序和网络域能够整合在一起。 SK:** 我们可以认为 AXP 是整合在路由器中的服务器。分支办事处面临的最严重的问题就是缺少本地的 IT 资源。将基于服务器的应用程序放在路由器中,能够帮助他们统一分支机构 IT 的足迹、为他们的应用程序带来更好的网络感知,因为它是与通信基础结构相绑定的,并且更重要的是,它确保了远程的可管理性,而不消耗额外的电力,也不需要额外的维护合同。

模块上的应用程序能够被设计为与中央的应用程序通信,或者在中央应用程序不可用的时候以幸存模式(Survivable Mode)切换到本地实例上。它是运行在路由器中的,这让它能以网络基础结构一部分提供更好的支持——应用程序现在对 WAN 优化能力、更好的安全整合或者更紧密的网络整合都是可用的。集成的服务路由器将不同的服务都集成到同一个路由器形式的模块中了。

事实上,AXP 允许第三方提供商甚至用户来为 ISR 编写应用程序,从而以各种方式来改善它。我们想问为什么用户会对此该兴趣?

AG**:用户之所有购买路由器,是因为他们要完成所有的事情,包括路由、交换、呼叫管理、视频监视等等,然而,在这个“一个盒子分支解决方案”中没有考虑的是应用程序,但这已经被 AXP 解决了,现在它可以指出新的市场机会,其中用户不仅得到了路由器,而且还在这个路由器中得到了一个网络感知的应用程序运行环境,从而提高了应用程序真正的潜力。 SK:** 用户的需求是多变的。ISR 解决了分支机构真正为之头疼的问题——它优化了网络和 IT 的基础架构,同时提高了可管理性并降低了成本。有了 AXP,他们会得到更多的灵活性,可以让软件、服务或者应用程序与他们的业务需要更好地联系起来,并能够对其进行自定义。这可以是服务器基础程序或者独立的应用程序。当然,当他们购买带有路由功能、集成交换功能、统一通信功能、移动功能、WAS 优化功能的路由器的时候,也确实可以得到所有其它的服务,因为在 ISR 中提供的一整套服务都是与他们的业务需要相关联的。在市场上已经销售了超过七百万台路由器,而 ISR 现在拥有业界最丰富的服务。

我们还访问了八支决赛队伍中的一支,来自于巴西的 Jin Jin ,该团队由 Leonardo Gonçalves、Rogério Augusto 和 Alexandre Rodrigues 组成,他们创建了一个针对基于 IP 的媒体服务的管理平台。

什么是针对基于IP的媒体服务的管理平台应用呢?

我们创建这个软件架构是为了支持和管理在高性能环境中的 IMS 大规模基本应用程序的。简而言之,只要实现了 IMS 基本应用程序,就能够利用该平台的优势,而我们的想法是要在 AXP 中创建这种支持。

你们为什么想要实现这个应用程序呢?

我们想要将 AXP 移植到一个高性能的基于 IMS 的应用程序的运行环境中。我们使用的是那些应用普遍的技术,像 Java 和 OSGi,来创建框架,从而电信运营商和合作伙伴都带来简单性。电信运营商可以使用这个架构来通过 AXP 管理、更新和创建新的业务,而合作伙伴可以根据要求部署或者取消应用程序、创造出更多的收入。我们提出了 RaaS(路由器即服务)概念,它意味着电信运营商和他们的合作伙伴可以公布和使用已经可用的服务,而 AXP 则是保持会话状态的传递器(通过 IMS 架构组件)。

你们的计划是否已经成功了呢?你们实现的应用程序是否已经起作用,并能完成你们想要它做到的工作呢?

确实是那样。我们实现了 SIP 协议,它是 IMS 架构的一个组件。我们还在 AXP 中包装了带有 OSGi 的 Jini 和 Javaspaces(那是一项了不起的挑战),并且还创建了一个演示程序(聊天服务和 Amazon.com 一体化),用来验证在分布式会话中为用户动作保留轨迹的想法(在这个案例中使用了 AXP 公布的服务,从而进行聊天交互或者浏览 amazon.com 网站)。所有这些都运行在 ISR 中。演示程序是使用 RIA 接口创建的,它会使用部署在 AXP 中的服务。

在这次竞赛中,对和Cisco的合作感觉如何?有哪些经验教训?你们最喜欢、最不喜欢的是什么呢?

我们学到了太多东西。使用像 AXP 这样有趣的技术是一种让人愉快的挑战。我们非常喜欢 Cisco 提供的实验室,但是我们总是遇到连接中断这样的问题。之前我们没有使用 Cisco 产品的经验,因此我们花费了一些时间来学习如何配置和部署我们的项目。我们的提案使用了很多开源的项目,并且碰到了很多其中的 bug,我们还需要思考并把这个项目配置在 ISR 中,还要考虑它能够很好地运行在 PC 上,但却突然在 ISR 中不好用了,等等。 我们对时间的使用也是个问题。团队的成员分散在巴西的不同地方,并且都有自己的工作,这使得安排他们的日程并不是一件简单的事情。我们需要知道如何一同工作并跟上计划的进度。

查看英文原文: Cisco Has Announced the Winners of a Year Long Contest


译者介绍:侯伯薇,生于丹东凤城,学在春城长春,工作在滨城大连;虽已年过而立,但自问童心未泯;对代码热情不减,愿与天下程序员共同修炼,不断提升。译有《学习WCF》、《Expert C# 2008 Business Objets》。InfoQ 中文站内容团队,尤其是架构、SOA 和Ruby 社区需要您的参与,有意者请邮件至 editors【AT】cn.infoq.com

2009-10-19 00:591217
用户头像

发布了 340 篇内容, 共 130.1 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

美团Java面试一轮游,太激烈了,问啥啥不会,我该怎么办?

比伯

Java 编程 架构 面试 计算机

区块链创新中国价值链

CECBC

区块链

10.2微服务:落地实践的策略与思路

张荣召

架构师训练营第十周学习总结

Gosling

极客大学架构师训练营

数仓搬迁:从方法到实践,带你解决数据一致性对比

华为云开发者联盟

数据仓库 数据 存储 数据校验 搬迁

区块链技术赋能信息通信行业信用监管

CECBC

区块链 信用

让“数字鸿沟”变为“数字通途”

CECBC

数字化时代 支付产品

Linux IO模式及 select、poll、epoll详解(含部分实例源码)

linux大本营

c++ Linux 后台开发 异步IO epoll

10.3微服务网关的技术架构

张荣召

10.5软件组件设计原则

张荣召

阿里要求其内部程序员必须精通的并发编程笔记:原理+模式+应用

Java架构追梦

阿里巴巴 编程 面试 并发 java架构

食堂就餐卡系统UML设计

简简单单

Mybatis【3】-- Mybatis使用工具类读取配置文件以及从属性读取DB信息

秦怀杂货店

Java 数据库 mybatis

10.4领域驱动设计DDD

张荣召

Mybatis【2.2】-- Mybatis关于创建SqlSession源码分析的几点疑问?

秦怀杂货店

Java 数据库 mybatis

Mybatis【2.3】-- Mybatis一定要使用commit才能成功修改数据么?

秦怀杂货店

Java 数据库 mybatis

多线程源码明白了吗?不明白的话来看腾讯大牛给你画的面试重点

小Q

Java 学习 架构 面试 线程

架构师训练营第十周课后作业

Gosling

极客大学架构师训练营

如何应对Spark-Redis行海量数据插入、查询作业时碰到的问题

华为云开发者联盟

数据库 redis spark 开源 数据

年轻人,学好Nginx,走遍天下都不怕

程序员小灰

c++ nginx Linux 服务器 架构师

Mybatis【4】-- 关于Mybatis别名定义

秦怀杂货店

Java mybatis

架构师训练营-week10

睁眼看世界

极客大学架构师训练营

JDBC【4】-- SPI底层原理解析

秦怀杂货店

Java 源码 spi

学习总结--week10

张荣召

和同事交流不会kafka怎么行,API奉上,不是大神也能编

小Q

Java 学习 架构 面试

架构师训练营第 10 周作业

netspecial

极客大学架构师训练营

10.7作业

张荣召

10.1微服务:服务本身的设计,维护及治理

张荣召

C语言常用错误代码释义大全,让你编译运行报错不是烦恼

ShenDu_Linux

编译原理 常见错误

【Java基础】-- isAssignableFrom的用法详细解析

秦怀杂货店

Java 关键字

架构师训练营3期第一周学习总结

简简单单

Cisco为期一年的“Think Inside the Box”开发竞赛揭晓_社区_Abel Avram_InfoQ精选文章