2009-10-13 67 views
2

我似乎无法找到这种类似的问题。网格计算和Java

我目前正在研究最佳的解决方案解决网格计算问题。

的设置:

  • 我哪里有客户[典型的哑巴大多数逻辑],并从服务器
  • 收到指令具有授权请求
  • 客户端的服务器/客户端的情况汇报信息在完成任务的速度(该任务的困难是由任务型判断)
  • 客户收到他们以往的表现最合适的任务(最好的客户得到最严重的问题)

最终的要求是:

  • 客户的足迹必须小而独立的 - 我不能有一个客户,需要大量的安装和设置
  • 客户端应该能够抓住新的就业机会和工作运行时从服务器(这将是不错的电网规模,新的问题所导入[和新的问题将被服务器分发])
  • 我需要有一个认证层(没有按”吨有很复杂或符合现有的LDAP)更容易要求:客户端可以注册一个新的“MEM bership”并访问(我不知道该RMI的优势在于这里)
  • 的客户将能够从互联网上运行,而在网络environement
    • 这意味着结果的加密要求

我正在使用webservices在客户端和服务器之间进行通信。所有信息和结果都返回到托管服务器(J2EE)。

我的问题是有没有匹配所有/大部分的这些要求,而且是开源的网格系统设置?

我没有兴趣做云计算,因为大多数的这些任务虽小,但很频繁(一天一次,但任务可能很容易,但执行维护)。

所有该系统的代码是在Java中。

回答

3

看看你可能想调查space-based architectures,特别JiniJavaspaces。 Jini是什么?它本质上是具有可配置发现机制的RMI。您请求的Java接口的实现者和Jini的子系统找到实现该接口目前的服务和动态告知您的这些服务。

简单地说,你会写工作项目进入的空间。网格节点将被设置为从空间事务性地读取数据。每个网格节点将采取一个工作项目,并处理和写回结果到该空间(或另一个空间)。分发节点可以监控写回的结果(和。或按照您的要求预测结果时间)。

这是所有的Java,并将线性缩放。因为它是Jini,网格节点可以动态地从HTTP服务器加载它们的类,所以你可以平常地传播代码更​​新。

+1

JINI是否有大量的客户端运行时需求,也可以由客户端配置而不用硬编码所有东西? – monksy 2009-10-13 08:10:25

+1

分别是和是。 – 2009-10-13 08:27:33

+0

你是什么意思?我真的很喜欢空间的想法。这听起来像一个更好的方法,而不是用RMI做所有事情。对安全渠道的要求如何?是可配置的吗?还有被遗弃的孩子呢?另一个问题,(网格豆考虑的)那份工作拨款呢? – monksy 2009-10-13 08:34:22

0

BOINC听起来像它会适用于您的问题,但您必须为您的客户包装java。那,这对你来说可能是矫枉过正的。