高速服务器系统 相关申请的引用
本申请要求2001年4月27日提交的序列号为No.60/287,212的临时申请的优先权,其在此引入作为参考。
【发明背景】
本发明涉及基于网络的计算,尤其是涉及一种在因特网上运行的基于网络的高速计算机系统。
为了将通常位于一个以上地理位置的、公司内部的个人用户与中央处理器或者服务器相连接,许多年来各公司都是使用基于网络的计算机系统。网络的优点包括将一个或者多个中央计算机上的所有工作合并的能力,这提供了有效的数据备份,不会受到硬件故障或者任何个人计算机或工作站“崩溃”的不利影响。使用基于网络的软件也是一个优点,因为用户可能可以访问专用的软件,对于该软件,每个雇员都有单独拷贝的情况被证明不太合理。而且在网络上使用这种软件的成本可能比使用单独的拷贝要便宜,尤其是在任一时刻被允许访问一个给定软件包的用户数量受到限制的情况下。
传统上,前述的这种网络被限于在网络计算机和各个工作站之间安装或者租用专用通信链路的公司。对该网络的接入限于雇员或者由网络管理员特别安装和适当设立地第三方。网络用户的数量是已知的而且是受控制的,网络的性能例如速度和处理能力是在知道了(用户)数量的情况下来设计的。当增加新雇员或者网络用户时,能够预测需要添加的网络性能,并且能够按计划和有组织的方式来升级网络以适应这些需要。
在因特网上基于网络的计算的出现将专用网络的优点带给了个体用户或者订户,给予对专用、昂贵的计算机软件的单独访问,所述计算机软件由于不经常使用或者价格的原因而不适合于个人购买。另外,对存储在网络上的数据的方便和可靠的备份也是一个所期望的益处。
不过这样一种基于因特网的网络的设计和管理也带来了问题。用户或者网络订户的数量可能以大的和不可预测的方式变化,使得很难规划和实施网络的升级。大量用户同时要求网络系统资源会导致处理延迟和客户不满。
网络安全也是所关心的。仅允许经授权的用户可接入网络,以及允许用户仅访问他们自己的数据和文件是很重要的。通过用户鉴权和数据加密是可能提供这种安全性的,但是这种功能同样要求使用网络系统资源而且也可能增加处理时间,这对用户会表现为网络操作减慢。
发明概述
因此,本发明的一个目的是提供一种基于因特网的高速网络系统,该网络系统可根据并行用户数量的变化而进行快速的调整。
本发明的另一个目的是提供一种基于因特网的网络系统,该网络系统允许快速加密和解密用户数据和文件。
本发明的再一个目的是提供一种基于因特网的网络系统,该网络系统可容易地缩放和分布以便适应网络订户数量的变化。
从所示的附图和实施方案的描述中,这些和其它的目的将变得显而易见。
附图简述
图1是一个根据本发明的网络计算机系统的框图。
图2是一个示出了本发明的计算机系统的功能层的图。
图3是一个示出了本发明网络计算机系统的操作的一个方面的流程图。
实施方案的描述
参考图1,其中示出了包括中央服务器12的一个网络计算机系统10。服务器12按常规设计,但是已知道Unisys(优利系统公司)的ES7000计算机提供网络系统有效操作所需的性能。服务器12可操作地与计算机14a相连接,其形成了与网络上的各个用户的连接机器或者连接工厂(factory)。计算机14并入了安全功能,包括防火墙16a。由各个用户计算机18a,18b,和18c表示的各个用户可以通过多种方法连接到计算机14a,但这里在图1中示例性示出并描述的是经由因特网(图1中标明的19)连接。在系统10上、在任何给定时间的个体用户的数量可能会有相当大的变化;而且可能快速地增加或者减少。图1中虚的部分所示的个体用户计算机18n示出了这种可变性。系统10可能按需要而使附加的连接机器(诸如虚的部分所示的计算机14b(具有防火墙16b))联机以服务于诸如用户计算机18n这样的个体用户。因此,系统10提供了有效的可伸缩性以按需增加连接计算机。
根据本发明的一个方面,服务器12能够在用户计算机实际做出连接请求之前为所请求的客户机或者用户连接作准备。这可以在启动服务器12时通过利用服务器12的操作系统来创建或者注册足够多的客户机或者用户连接对象20来实现。被注册的客户机或者用户连接对象20的数量是基于预期会请求连接的用户数量的一个估计来确定的,使得可用的用户对象的数量等于或者超过预期用户的数量;然而,被注册或被准备的客户机或者用户对象20的数量取决于服务器12的可用的系统资源。被准备和被注册的用户连接对象20的存在允许系统10立即响应大量的、全部同时到达的用户连接请求。当连接了用户并消耗了连接对象20时,创建和注册更多的对象以确保足够数量的连接对象是可用的。
为了提高系统资源的效率,一个用户连接仅保持完成该用户请求所必需的时间长度。例如,如果将要传送一个文件,则在通信会话的开始就给定该文件长度,以便当确定已传送的数据块的大小等于预定的文件尺寸时,该文件就被视为已经传送,从而切断该连接。根据上述保持准备好的客户机或者用户对象的过程(该过程允许在要求更多的活动时快速与用户重新连接),终止用户通信不会对网络及时响应一个特定用户请求的能力产生不利的影响。如果对于预定的时间周期没有请求活动,那么服务器12也可以动作以断开与任何用户的连接。
利用了与用户的TCP通信协议的系统10将信息作为分组流来传送。在这个实施方案中,诸如数据文件这样的信息与用户请求共享同样的分组流,使得只要有客户机或用户请求要处理和/或响应要发送,服务器12就能够经由连接计算机14a和14b继续与客户机的对话。通过在所需数量的网络内的很多计算机或者处理器中分布该压缩和加密对象的创建,上述系统同样允许动态的数据压缩和加密,以便服务器12的操作系统的操作不会受到不利的影响或者被减慢。通过这个过程,服务器12可以将加密/解密、压缩/解压缩和其它的功能委托给其它计算机或者处理器,诸如计算机22,其被放置在系统10中以便加速用户请求的处理,且避免使服务器12的处理器资源负担过重。
如图2所示,网络计算机系统10由四个功能层组成。第一层21是负责在网络系统10和用户计算机18a,18b...18n之间的TCP/IP消息业务的通信层。该层21也称为无状态(stateless)的请求处理机,支持多个TCP服务器并行运行,同时也负责必要时在运行期间利用位于网络中的附加TCP服务器来支持请求与服务器12相连接的用户。该通信层能够同时而且无缝地支持经由HTTP应用的用户通信。该通信层也负责检测和解决网络入侵和服务中断的攻击。该通信层也利用用户属性的异步事务处理记录,举例而言用于例如通信层的用户IP地址。系统10对于此事务处理记录功能利用一个单独的线程(separate thread),其与主要可执行的与用户相关的事务处理并行运行。该系统将消息寄送给该记录线程,该记录线程然后与其它事务处理功能并行地执行所请求的记录功能。
第二功能层23称为加密和压缩层。并行地支持多个加密和压缩算法,包括例如56和128比特的RSA密码术。加密和压缩对象是基于连接的用户数量而动态创建和管理的,以便按照需要提供数据的快速加密和压缩。该层也利用先前描述的记录线程以允许诸如已标识用户的加密算法这样的加密和压缩属性的异步事务处理记录。
第三功能层25是代理服务或者事务处理路由层。该层负责标识正被请求的用户事务处理的类型,并且将该事务处理路由到合适的事务对象(business object)27。该事务对象27涉及事务处理的具体类型,举例而言,例如文件服务、电子邮件服务或者与用户个人信息管理程序相关的服务。根据本发明的一个方面,事务处理路由层将所请求的事务处理路由到合适的事务对象,并且能够适应新的事务对象的添加,所述新的事务对象将新的或者改进的服务加到网络中。作为一个实例,在不中断网络运行的情况下,可以加入一种新的服务的新的事务对象,例如,视频会议。事务处理路由层25继续标识该事务处理并且将其路由到合适的事务对象27。该事务处理路由层25也利用该记录线程,用于命令类型的异步事务处理记录,例如,是一个事务处理请求涉及的文件。该记录线程也记录信息在功能层之间传递所发生的时间长度,以便测量网络的效率。
第四层29是数据层。数据层负责提供数据业务以通过事务对象27来实现用户请求。作为示例,该层使用微软的SQL服务器数据机,该数据机向合适的功能层通知所请求的文件在网络文件存储器中的位置。例如,将文件定位路径提供给加密层以允许加密该文件。在该实施方案中,制作并加密该原始文件的拷贝。不修改原始存储的文件。然后将文件定位路径提供给请求它的用户。
图3示出了在网络计算机系统10的功能层内发生的处理步骤。排队技术用于在层之间传递信息。正如在图3中所能看到的,无状态的请求处理机(SRH)21或者通信层从一远程用户计算机18a接收一个事务处理请求。为了这个实例的目的,远程用户18a请求一个已由网络计算机系统10存储的文件。SRH21将此请求传递到压缩层请求队列26,该队列执行获取任何必要的解压缩和解密对象的步骤28。如果需要的话,就创建新的对象。然后在步骤30执行任何请求或者数据的解密和解压缩。在所描述的实例中,如果必要的话,就解密和解压缩该请求,并且将该请求转发到事务处理路由层输入队列32中。从队列32将该请求传递到代理服务或事务处理路由层25,后者标识所请求的事务处理的类型,并将该请求转发到其中一个合适的事务对象27。所指定的事务对象使数据层29请求加密和/或压缩所请求的文件所要求的、任何必要的加密和/或压缩对象。然后将该文件定位路径给予通信层,后者定位该文件并将其传送到请求它的用户。
尽管本发明已经在附图中示出而且在上述描述中被详细的说明,但应当理解这些例图和说明实质上是解释性的而不应被认为是限制性的,应当理解仅仅示出和描述了优选的实施方案,并且对本领域的普通技术人员来说显而易见的所有变化和修改都将被保护。