首页> 外国专利> Portable, resource sharing file server using co-routines

Portable, resource sharing file server using co-routines

机译:使用协同例程的便携式资源共享文件服务器

摘要

Disclosed is a resource sharing system having a host computer (102) and a plurality of client computers (106, 108, 110) connected by a Local Area Network (LAN) (104). Resource sharing software, located in the host (102), is comprised of a supervisor process (304), a spooler process, and a plurality of session worker processes (310, 312). The supervisor (304) receives an initial call request from a client, and creates a session worker (310) to handle all subsequent requests from that particular client. Each client may transmit several requests without waiting for a response from the session worker for each individual request, therefore, each session worker may be processing several client requests concurrently. Each session worker creates a plurality of co-­routines (320, 322, 324), one for each request, which operate concurrently to provide a high-performance response to the network. Co-routines share the session worker stack (900), as well as all other memory areas in the session worker. Co-routines are not time-sliced -- they execute until they complete a request, or until they are blocked by the need to wait on an unavailable resource. When complete, or when blocked, a co-routine gives up the processor to the next co-routine ready to perform work. Because a co-routine is never interrupted by another co-routine, there is no competition for resources, and no need for critical sections of software. The co-routine software is divided into multiple levels, with all levels above level zero being written in a high level language. Therefore, conversion to a different processor only requires conversion of level zero routines. Each session worker (310, 312) is dedicated to one and only one client, so the session worker need not provide any file protection between client files, and can rely on the underlying host operating system for such file protection.
机译:公开了一种资源共享系统,其具有通过局域网(LAN)(104)连接的主机计算机(102)和多个客户端计算机(106、108、110)。位于主机(102)中的资源共享软件由管理者进程(304),假脱机程序进程和多个会话工作进程(310、312)组成。主管(304)从客户端接收初始呼叫请求,并创建会话工作器(310)以处理来自该特定客户端的所有后续请求。每个客户端可以发送多个请求,而不必等待会话工作器对每个单独请求的响应,因此,每个会话工作器可能正在同时处理多个客户端请求。每个会话工作者都创建多个协程(320、322、324),每个协程用于一个请求,这些协程同时运行以向网络提供高性能响应。协同例程共享会话工作程序堆栈(900),以及会话工作程序中的所有其他内存区域。协同例程不是按时间划分的,它们会一直执行直到完成请求,或者由于需要等待不可用的资源而被阻塞为止。完成或阻塞后,协同例程会将处理器放弃到下一个可以执行工作的协同例程。因为一个协同例程永远不会被另一个协同例程中断,所以没有资源竞争,也不需要软件的关键部分。协同例程软件分为多个级别,高于零级别的所有级别均以高级语言编写。因此,转换为不同的处理器仅需要转换零级例程。每个会话工作器(310、312)专用于一个并且仅一个客户端,因此会话工作器不需要在客户端文件之间提供任何文件保护,并且可以依赖底层主机操作系统来进行这种文件保护。

著录项

相似文献

  • 专利
  • 外文文献
  • 中文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号