nanoHUB 使得远程计算成为可能

Science Gateway 利用各种开放源代码组件实现分布式研究领域中新的里程碑

nanoHUB 是为支持纳米技术研究而创建的虚拟计算中心。它使用了各种开放源代码组件,以实现比以前的远程访问 工具功能更加强大的工具。为了使常用的软件(如 VNC 和 WebDAV)能够实现最好的性能、安全性和可用性,需要增加一些特定的配置和增强功能,本文将详细介绍这些内容。

Cameron Laird (claird@phaseit.net), 副总裁, Phaseit, Inc.

Photo of Cameron LairdCameron Laird 是 developerWorks 长期投稿者和前专栏作家。他经常编写关于促进其公司应用程序开发的项目的文章,主要关注可靠性、安全性和最初不是为协作而设计的系统集成。



Rick Kennell, 中间件工程师和虚拟化技术人员, 普渡大学

Rick Kennell 是普渡大学的一位中间件工程师和虚拟化技术人员。



2007 年 11 月 08 日

nanoHUB.org 使用了一种独特的中间件系统,该系统精确地兼顾了安全性、性能和方便性,以支持纳米技术的分布式公共研究。使用这个研究网关的科学家可以将精力集中在他们自己的研究上,而不必操心有关计算的问题。

与 nanoHUB 当前所提供的优点一样重要的是,它还告诉了我们如何配置和增强一些众所周知的开放源代码组件,以实现比大多数开发人员所想象的更加丰富的虚拟计算体验。让我们看看它究竟带来了什么,以使得像 Supriyo Datta(NASA/Purdue Institute for Nanoelectronics and Computing 的负责人)这样的研究人员对它进行报导,“就我们而言,只需很少的努力,就可以将我们的模拟工具提供给同事们使用。而且,我们的同事基本上不需要付出任何努力,就可以运行分子的电子模拟。”从下面的图 1 中可以看到,nanoHUB 很好地兼顾了两个方面的易用性,既适合于在其中发布工作成果的科学家,又适合于查看相关成果(可用内容)的同事们。

图 1. 碳纳米管模拟的屏幕截图
碳纳米管模拟的屏幕截图

nanoHUB 是一个基于 Web 的研究中心

其基本思想很简单:您是一位纳米技术研究人员,并且希望充分利用 Network for Computational Nanotechnology (NCN) 的资源,NCN 是几所大学与其他合作者组成的一个协会(请参见参考资料)。那么此刻无论您在哪里、无论这些特定的资源在物理上采用何种方式提供,在您的台式计算机或者便携式计算机中,都应该可以通过键盘和显示器连接到各种丰富的数据、计算能力、模拟硬件和 NCN 应用程序。

应该 是很简单的。从最终用户的角度出发,它在开发中得到了极大关注,具体原因如下:

  • 必须对所有的通信进行加密。
  • 为最终用户提供保护的本地防火墙,通常包含一些不容易理解的策略,甚至在少数情况下,最终用户能够意识到它们的存在。
  • NCN 资源的使用必须经过分配,并且在某些情况下,还必须实行定量配给。
  • 对于研究人员所连接的各种台式计算机,它们在技术功能上有着很大的不同。
  • 许多应用程序仅限于特定的硬件组合,并且使用方法各异。
  • nanoHUB 作为一个整体,必须是可管理的、可伸缩的、可靠的、可用的、可测试的和可恢复的。
  • nanoHUB 需要与现有的安全基础设施保持兼容,换句话说,让最终用户尽可能多地依赖于他们已经知道的帐号和密码。

尽管一些专有的和开放源代码工具能够满足一个或者两个需求,但即使在最好情况下,整个过程在配置上也是非常复杂的。那么为 nanoHUB 访问者所提供的方便性体现在哪里呢?

这种方便性的体现必须很好地兼顾自定义的 VNC、SSL、X11、Apache,以及一些其他开放源代码项目。可以考虑一下,在本文开头附近所显示的关于纳米管模拟的内容(请参见图 1)。通过单击特定的 nanoHUB 应用程序(CNTbands 2.0)、选择合适的参数、并以交互的方式调整 3-D 图像,可以在几秒钟之内获得这个图像。除了使用 Web 浏览器中所包含的典型的 Java™ 运行时解释器之外,不需要任何其他软件。具体说来,用户不需要获取和配置可视化系统。大多数研究人员并不知道如何使用 OpenDX 或者 PyMol(甚至不知道如何安装它们),而且他们也没必要知道。

nanoHUB 不需要进行这样的安装,这一点很好。纳米管可视化,与许多其他的 nanoHUB 支持有很多相似之处,它是相当复杂的,并且对于典型的桌面计算机来说运行速度很慢。

最初,这个模拟作为一个不带可视化功能的应用程序提供下载。在过去的一年里,基本上已经停止了这些下载,因为 nanoHUB 的易用性和硬件加速可视化的有效性完全超出了研究人员自己对源代码进行编译和修改所获得的边际收益。对于他们来说,使用本地资源对结果进行可视化,这样做没有任何优点可言。对于这些从事相关工作的科学家来说,与任何备选的本地提供方案相比,nanoHUB 更易于使用,并且可以提供更多有趣的结果。

此外,这个值得注意的示例非常具有概括性。在科学领域中通常认为,如果研究人员要查看令人满意的图形,必须使用最先进的硬件设备。nanoHUB 则一次又一次地证明了它所提供的、经过仔细优化的 VNC 解决方案能够实现更好的 性能,即使是通过普通的广域网 (WAN)。nanoHUB 充分地利用了 NCN 站点所提供的大量特殊用途的工具,然后依赖 VNC 的 RFB 协议,以便将可视化结果传递到 nanoHUB 客户端所在的台式计算机。计算专家专注于最大限度地利用 nanoHUB 的有形资产,而全球范围的、使用 nanoHUB 的纳米技术研究人员,则可以将他们的关注重点由计算问题转回到他们最擅长的科学领域。

软件细化:努力实现“使其正常工作”

nanoHUB 工作人员已经采用不同的方式解决了一些计算问题,以使得研究人员可以向前推进纳米科学的研究,相同的屏幕截图说明了这些方式的几个其他示例。在 Result 选择器的右边,有一个指向下方的绿色下载箭头。如果您单击它,那么将出现一个新浏览器窗口,其中显示了该模拟的静态图像;当然,在这个窗口中,可以直接使用浏览器以打印图像、将其保存到外部文件等等。

下面对这些操作进行更深入地研究:请记住,只有在计算服务器中才能看见这个按钮。为了实现文件的下载,服务器向客户端发送一条消息,以请求客户端的 Web 浏览器从 nanoHUB 获得该文件。这个请求将被路由到该应用程序(基于 Tcl 的 Web 服务器提供该文件的应用程序)。文件上传也很方便。最终用户可以获得他们所需的内容,并且无需担心通过 VNC 可视的图像会影响到新的浏览器框架的启动。

还有更多的内容。请注意,如果您用鼠标抓住该窗口的边界并拉伸应用程序的显示界面,那么会发生下面的事件:它的反应非常灵敏。这不仅仅只是对窗口的大小进行调整,因为 X11 帧缓冲区的尺寸限制了任何调整大小的操作。相反,nanoHUB 将调整自己的 X11 帧缓冲区的大小,并且它允许查看者的帧缓冲区将应用程序压缩 到合适的大小。据我们所知,对于 X11 服务器来说,以前没有记载过这种技术。例如,Xephyr X Server 可以在几个方面对 Xnest 进行更新,但是它并没有尝试这种相当微妙的效果。

该应用程序的显示中还包括一个 Popout 按钮,该按钮将取消 VNC 窗口的嵌入效果。因为某些浏览器无法很好地呈现嵌入的 Java Applet,所以这样做是有好处的。具体说来,最终用户在 Mac OS X 中使用 Firefox 时,或者使用任何运行于双屏幕的 XP 桌面的浏览器时,光标指针的移动常常会留下鼠标轨迹取消嵌入 可以提供一个可充分调整大小的、基于 VNC 的窗口,该窗口不显示鼠标轨迹。

nanoHUB 的实现还提供了大量其他所需的属性。它完全由虚拟计算机来承载,当然可以对这些虚拟计算机进行快照、重新承载、备份、写入到 DVD 等等。如果 nanoHUB 在普渡大学的当前主页受到了一定程度的破坏,那么它可以(至少在原则上可以)恢复到当前状态。

虚拟化基础设施有助于实现 nanoHUB 的可测试性和安全性。可以直接地启动“快速连续的 1000 个随机应用程序会话”、或者“同时启动 100 个会话”,在 nanoHUB 站点中做出了这样的说明。此外,当前的实现“为每个应用程序会话提供了一个完全私有的环境”。这些选项的高度可管理性增加了 nanoHUB 技术团队隔离错误并提高安全性的能力。

nanoHUB 还利用各种标准对其管理的其他方面进行简化。可以通过 WebDAV 完成大量的维护工作。出于这个目的,可以将 WebDAV 看作一种协议,它扩展了 HTTP 的检索模型,以便通过常见的浏览器技术提供读写能力。WebDAV 如何访问多用户文件系统(比如计算上非常复杂的 nanoHUB 结构)呢?可以通过 FUSE(一种可编程文件系统)将 Web 服务器快速、简单地映射到某个特定的用户。与传统备选方法相比,这种方法提供了更安全的访问:以 root 的身份运行 Web 服务器,并提供转换到文件访问器权限的实例。大量其他的站点在体系结构上选择了后面一种方法,它允许 Web 服务器使用 root 用户。开放源代码生态系统现在非常丰富,足以提供所有种类的组件(如 FUSE),可以组合这些组件以产生更好的(更安全的、更有效的、更具可维护性的)解决方案,这一点非常令人满意。

对开放源代码组件进行的修改

nanoHUB 的用户已经非常熟悉各种计算机。与其他情况相比,nanoHUB 向他们提供了一些存在本质区别的功能;它成功地结合了可靠性、性能、功能和安全等方面的特性,这使得 nanoHUB 能够给他们带来更多的东西。

到现在为止,nanoHUB 及其直接前趋已经经历了十多年的发展;详细描述启用 nanoHUB 的所有细化内容,已经超出了本文的范围。例如,对 VNC 和 X11 所做的修改多不胜数、非常复杂,并且分散在许多源文件中,以处理各种各样的安全注意事项,其不只是在最初对这些产品进行编码时出现的注意事项。同样,使用普渡大学的缺省规则(它并 赞成开放源代码)来管理 NCN 源代码的发行。

对 WebDAV FUSE 映射器所做的修改经过了本地化,以便容易理解,甚至在相对孤立的情况下。大多数 FUSE fusexmp.c 示例代码用于选项解析、错误处理和样板文件。其中最初包括 fuse_main(...),nanoHUB 依赖于下面按顺序排列的版本(请参见清单 1):

清单 1. nanoHUB 的经过精心设计的 fuse_main()
      fuse_setup(...);
      umask(0);
      setfsuid(...);
      chroot(...);
      setregid(...);
      setreuid(...);
      fuse_loop(...);
      fuse_teardown(...);

用于安全性的 Goldilocks 级别 在这里的含义是:严格设置合适的权限和访问,既不太多也不太少。

比较

nanoHUB 并不像常见的远程控制 系统(如 Fog Creek Copilot、Microsoft® Remote Desktop、WebEx Desktop、或者 GoToMyPc)那样共享一台计算机的物理显示器;相反,它是 Citrix(在一个服务器中承载多个虚拟显示器)的再现。使用 nanoHUB 无需缴纳许可费用,并且就承载和显示来说,nanoHUB 比 Citrix 具有更强的可移植性。同样,可以将 nanoHUB 客户端嵌入到 Web 浏览器中,如前所述,并且可以更加容易地对连接进行更改,以便穿过典型的防火墙。

nanoHUB 一次又一次地体现出它的总体主题,即类似于一些更常见的技术(例如,常规的 Web 应用程序),但是它在基础设施中进行了重新设计,以达到更高的安全标准、性能或者可伸缩性。

下面为端口转发提供了一个具有说明性的示例:nanoHUB 使用 Web 服务器中的连接路由器进行端口转发。它侦听端口 563 (NNTPS),并等待连接。当 nanoHUB 将 VNC 客户端配置提供给用户浏览器(通过 HTTPS 实现安全性)的时候,nanoHUB 将添加几个参数,以便告诉客户端如何与连接路由器进行协商。该路由器被动地将这个连接转发到私有内部网络中合适的 VNC 服务器。

在其早期历史中,nanoHUB 使用 iptable 进行连接路由。在最好的情况下,与用户空间路由相比,iptable 的效率要高得多,因为用户空间路由涉及到两条 通道中(通过内核从网络到路由器,再返回到其他网络)的数据包。用户空间路由还强制进行至少两次上下文切换。

与端到端的网络延迟相比,内核开销可以忽略不计。更重要的是,nanoHUB 早期是在这样的主机中使用 iptable,该主机需要动态添加和删除 iptable 规则,以便在内部网络中从一个特定端口路由到另一个端口。如果特定的主机中断服务,那么它与现有会话的重新同步就会变得异常困难。在对频繁更改的规则集进行遍历的过程中,对表的更新还将导致偶尔出现丢包的情况。

为端口转发进行用户空间路由则可以消除这些问题。甚至更好的是,连接路由器提供了另一个安全和监视层;具体说来,它可以很容易地准确报告何时对应用程序进行观察,以及对应用程序观察了多长时间。对于了解 nanoHUB 如何使最终用户受益并为记帐提供帮助,这是非常重要的。

通过代理的通道

nanoHUB 的通过 Web 代理穿越防火墙的方法是与众不同的,甚至可以说是独一无二的。正如侧栏所描述的,nanoHUB 设计人员不得不决定通过经过签名的 Applet 使用标准代理 CONNECT 访问方法。即使采取了这种决策,在经过数月的评估阶段后才能够适应其他的情况:

  • 不一致的代理
  • 针对 Java 运行时环境使用不同通信代理参数的特殊方法的 Web 浏览器
  • 采用 Java 1.4 语言,谨慎地实现网络故障的超时
  • 第 7 层的筛选器可能将 nanoHUB 连接误认为违反版权法的文件共享应用程序
  • 代理背后的最终用户不了解、不能够进行解释或者分析

nanoHUB 已经了解,并且现在基本上可以通过服务其客户所需的所有代理。

开放源代码科学

对于计算矛盾 的减少,nanoHUB 还有另一个推论:它积极地鼓励科学共享。几十年来,对于物理学家来说,他们经常会发布基于计算的结果,但是从本质上看,这些计算本身是无法再现的。相关的应用程序作为专有资产进行管理。即使对于那些在名义上将他们的计算结果公布于众的研究人员来说,也没有什么用处,因为他们在可移植性和部署等相关计算技巧方面缺乏专业技能。要充分地了解一个特定的科学结论,常常需要花费时间来研究得出该计算结果的特定的计算机。

nanoHUB 则改变了所有这些情况。它使得有关计算的许多方面实现便利化,包括呈现、显示、高性能计算、安全性和承载,从而能够更方便地使用,并且在许多情况下,纳米科学家能够采用可共享的方式(而不是在他们自己实验室的计算机上)运行他们的程序。

现在要分析所有的结果,还言之过早。我们期望,纳米科学计算方面更大的开放性和可视化将从整体上推进研究的发展速度。当然,计算基础设施的合理化已经受到使用过 nanoHUB 的无数研究人员和学生的极大欢迎。看起来,nanoHUB 的成功表现了几个独特方面之间的良性循环

  • 积极和进取的纳米研究社区
  • 开放研究带给教育的好处
  • 高质量安全性和支持基于开放源代码协作技术的远程程序
  • 大量艰辛而细致的工作

但是,仍然存在各种各样的挑战。例如,图 2 表现了金字塔形几何形状中一个量子点的第四能级。帽翼 (capped wings) 与常规的 P 轨道之间没有相似之处,并且很少有学生能够凭直觉想象出它们的形状。我们希望,使用合适的交互式可视化引擎,能够提高对这种特征值的理解,以及对纳米科学中众多其他方面的理解。

图 2. 量子点第四能级的屏幕截图
量子点第四能级的屏幕截图

结束语

人们已经在 nanoHUB 上投入了超过十二年的编程工作。X11、VNC 和其他众所周知的技术都预示着远程计算的未来,但是经过在它们所提供基础之上的几番细化,已经使得 nanoHUB 的中间件具有了很好的透明性。在虚拟化的所有层次和所有方向上的努力造就了相关的软件,它们能够让科学走在人为约束(在许多计算环境中是很常见的)的前面。最终用户无需了解计算细节来调用产生重大科学成果的会话。开放源代码组件提供了大量的原始材料,但是目前,它仍然需要进行大量的正规编程和系统管理,以实现科学家所希望的无缝计算的体验。

致谢

如前所述,很多人都将大量的工作投入到 nanoHUB 中。其中,对本文的改进作出贡献的有 Sundar Jeyaraman。

参考资料

学习

  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文
  • nanoHUB:“这个站点提供了纳米科学和技术资源……是一个由 NSF 投资创建”的 NCN这个页面说明了什么是纳米技术,并介绍了关于 NCN 贡献的特定主题。
  • 中间件:“The Chronology of nanoHUB Middleware”介绍了 nanoHUB 中的体系结构基础内容。中间件的早期形式一直使用到 1995 年。在此以后的发展过程中,在使用标准组件增强可维护性的同时,改善了性能、安全性和可靠性。许多 nanoHUB 应用程序提供了相应的源代码
  • TeraGrid '07 会议:会议 TeraGrid '07 于 2007 年 6 月 4 日召开,在标题“Using nanoHUB.org as a Science Gateway”下提出了当前文章中的许多要点。nanoHUB 中同样的“效用计算 2.0”思想曾出现在 developerWorks 的一篇早期文章中,“Remote computing with a Linux application server farm(developerWorks,2007 年 2 月)”,该文章同样以 VNC 和相关的虚拟化技术为基础。
  • 通过执行下面这些步骤,您可以在自己的台式计算机中显示纳米管模拟:
    • 确保您的浏览器支持 JRE 1.4 或者更高版本。
    • 免费注册 nanoHUB。
    • 登录
    • 选择“My nanoHUB”。
    • 在“My Tools”中选择 CNTbands 2.0
    • 这时将在您的浏览器窗口中出现一个 Applet,选择“Simulate”按钮,然后在“Result”中:选择“Molecular structure:overall”。
  • SSL secures VNC applications”(developerWorks,2007 年 1 月):这篇文章介绍了加密和身份验证(用于 nanoHUB 中的 VNC 流量和类似应用程序)的一种早期形式。
  • FUSE:FUSE 表示“用户空间的文件系统”,它是一种可编程的、全功能文件系统。为什么说程序是一种文件系统呢?考虑这个问题的一种方法是“阻抗匹配”;FUSE 可以在这两者之间进行协调,以使它们的接口“紧密结合”,而不是强迫对体系结构进行不合适的设计。
  • “虚拟化”是贯穿 nanoHUB 实现的重要主题。上面提到了,VNC 和虚拟文件系统 FUSE 使其成为可能。在“Could it be time to virtualize?”(developerWorks,2006 年 10 月)一文中对 Xen 进行了介绍,它是一种众所周知的技术,用于 Linux® 和一些其他操作系统的计算机实例的“半虚拟化技术”。除了这些之外,还有几个次要的技术组件,nanoHUB 还充分利用了 OpenVZ。OpenVZ 大致相当于 Xen;当局限于 Linux 时,它宣称能够实现比 Xen 更高的性能。OpenVZ 还没有达到 Xen 那样的“知名度”,尽管在“Virtual Linux”(developerWorks,2006 年 12 月)中对其进行了介绍。
  • WebDAV:所有人都知道 Web 的用途:您的浏览器位于一个地方,而它可以读取到另一个地方 的文档。

    按照当初的设想,对这些文档进行写入 也是同样重要的。但是在 Web 的实际历史中,很多年来,后者却往往受到忽视。最近,WebDAV 得到了广泛地采用,现在,它实际上依赖于对 HTTP 的扩展,以支持分布式创作(“WebDAV”中的“D”和“A”)。



    Wikipedia 中有关 WebDAV 的条目比上面所引用的官方 WebDAV 主页更具可读性。developerWorks 本身已经发表了几十篇有关这个主题的文章,其中“Web Folders and WebDAV”和“The Future of Distributed Software Development on the Internet”针对我们的用途进行了很好的介绍。
  • Lightweight Web servers”:在构造复杂的 nanoHUB 时,这些服务器都是宝贵原始材料。
  • Rethinking the Linux Distribution:这篇文章介绍了许多主题,其中包括使用现有的技术(特别是 VNC),以便将本机应用程序作为桌面集成到浏览器中。这篇文章重点关注最终用户的观感,从而补充了我们对安全性和性能细节的关注。如“Can't Get Enough Desktops!”一文中所描述的,目前各种基于 X 的窗口管理器提供了许多专门的效果。请注意,XephyrXnest(后面的这篇文章对其进行了推荐)的一种有效的现代化。SkippyExpos?(有人帮助我通过 XML 获得)的方式提供了基于 X11 的“任务切换”,甚至使一些更深奥的接口和特性变得实际。“重新思考…...”,nanoHUB 汇聚了对相关可能性的认识,以便集中管理部署方式来重新构造所有这些可能性。虚拟化……基本的……来自所安装的操作系统的抽象……
  • 另一个对基础设施(如 nanoHUB)的积极补充是“Live CD”,如 cl33n,它启动、连接到公共 Internet,并启动一个浏览器实例。
  • 几篇早期的文章,包括“Open source in the biosciences”(developerWorks,2002 年 11 月)和“Collaboratory:An Open Source Teaching ...Facility ...”,研究了科学领域的开放计算的重要性。关于本主题的一个专论即将推出。
  • Citrix:Citrix 和许多其他软硬件公司采用不同的形式出售“瘦客户端”。在这些客户端中,“最精减的”的是像 ViewSonic ND4210w 这样的产品,它仅仅是一个“网络显示器”。这个特定的产品是适合于研究组或者班级使用的大屏幕 LCD,并且拥有内置的媒体播放器、Web 浏览器、Flash 播放器等等。可以将它连接到一个“即时可用的”网络,而不存在 PC 需要进行配置,并且它马上就可以显示 nanoHUB 应用程序。请注意,我们的重点并不是认可任何特定的产品,而是说明 nanoHUB 如何结合其他的元素以实现可行的功能性、安全性和可靠性新级别。
  • Application Virtualization Takes Hold:“应用程序虚拟化”是目前正在实现自动化的另一个领域。当一个组织通过最小本地安装(包括更改注册信息、系统可加载的库和系统配置)运行应用程序,以处理安全性和可管理性注意事项的时候,可以合理地将“远程”VNC 和 Web 应用程序作为应用程序虚拟化的变种。
  • AIX and UNIX 专区:developerWorks 的“AIX and UNIX 专区”提供了大量与 AIX 系统管理的所有方面相关的信息,您可以利用它们来扩展自己的 UNIX 技能。
  • AIX and UNIX 新手入门:访问“AIX and UNIX 新手入门”页面可了解更多关于 AIX 和 UNIX 的内容。
  • 按主题搜索“AIX and UNIX”库:
  • AIX 5L™ Wiki:AIX 相关技术信息的协作环境。
  • Safari 书店:访问此电子参考资料库可查找特定的技术资源。
  • developerWorks 技术事件和网络广播:了解最新的 developerWorks 技术事件和网络广播。
  • Podcasts:收听 Podcast 并与 IBM 技术专家保持同步。

获得产品和技术

  • IBM 试用软件:从 developerWorks 可直接下载这些试用软件,您可以利用它们开发您的下一个项目。

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX
ArticleID=268041
ArticleTitle=nanoHUB 使得远程计算成为可能
publish-date=11082007