学海网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > A Design Pattern for Distributed Rendezvous

A Design Pattern for Distributed Rendezvous

In this paper we describe a design pattern for distributed rendezvous. We propose a variant of rendezvous that supports multiple server threads, each one devoted to a different client. On the server side a ForwarderObject is in charge of forwarding calls t

A Design Pattern for Distributed Rendezvous Ricardo Jimenez-Peris Marta Pati~o-Mart nez n Sergio Arevalo Universidad Politecnica de Madrid Facultad de Informatica 28660 Boadilla del Monte (Madrid), Spain frjimenez, mpatino, sarevalog@ .upm.es Keywords: Design Patterns, Rendezvous, Multithreaded servers, Distributed Systems, Object-Oriented Technologies. ABSTRACT In this paper we describe a design pattern for distributed rendezvous. We propose a variant of rendezvous that supports multiple server threads, each one devoted to a di erent client. On the server side a ForwarderObject is in charge of forwarding calls to the corresponding servers threads. This design pattern encapsulates both the forwarding algorithm and the server interface, so both can be changed independently. Guidelines are given on how to implement the design pattern in Ada 95, taking advantage of language speci c features such as streams. The Multithreaded Rendezvous pattern has been successfully applied in the implementation of Transactional Drago, an Ada extension to program fault-tolerant distributed applications. In applications based on rendezvous, when a client requests a service to a server, it issues a call to an entry point of the server with some parameters and then blocks till the server sends a reply with the service results. On the other hand, the server has its own ow of execution and at some points it accepts requests. When the server wants to accept a request for a particular service, it will block till a request for that service is received from a client. After that, the server executes the service, sends the results back to the client and then continues execution. Thus, rendezvous allows imposing a protocol of calls to clients. Distributed rendezvous implies that requests and replies may cross the network from the client node to the serve node. The implementation of distributed rendezvous ( g. 1) is very similar to the implementation of the wellknown RPC model 3]. In this implementation, when a server is designed, its services (or entry points) are speci ed by their name, and information about their parameters (types and modes) is also provided. From that speci cation, client and server stubs are automatically generated. The server stub is linked with the server and the client stub is linked with any client willing to use that server. The client stub must o er exactly the same interface the server o ers. The entry point implementation in the client stub must be able to locate the server, send it a message with the parameters of the call ( attened). Then, it waits for the server reply. When it is received it un attens the results and returns them to the client. Thus, the client makes calls to the remote server as it they were local. The server stub will have its own ow of control that receives messages from clients and then nds out which entry point is the message aimed to. It creates a task that knows how to un atten the message and how to call the entry point. T

his kind of tasks represents the client on the server side. When the server nishes the service, it returns the result to that task and the task sends a message back to the client stub with the attened results. When clients and servers interact by means of rendezvous, servers accept calls from di erent clients in their code. However, there are situations where it is not interesting that the same server accepts interleaving calls from di erent clients. For instance, in a transac-

Multithreaded Rendezvous:

1 INTRODUCTION Rendezvous has been widely used to synchronize concurrent programs. In a concurrent program the server o ers a set of services that clients call. In order to provide those services the client and server must synchronize, that is, the client should ask for a service and the server must be ready to execute it. Although rendezvous is provided as a basic mechanism in some languages, like Ada, distributed rendezvous is not. Using it in a distributed environment will be natural, especially for those that are used to work with it to build concurrent programs, but also to transform concurrent applications based on rendezvous into distributed ones. This work has been partially funded by the Spanish Research Council(CICYT), contract number TIC98-1032-C03-01 and the Madrid Regional Council (CAM), contract number CAM-07T/0012/1998.

第1页

TOP相关主题

  • design pattern
  • java design pattern
  • design pattern pdf
  • game design pattern
  • design pattern gof
  • cloud design pattern
  • ios design pattern
  • pattern design下载

我要评论

相关文档

  • Applying Design Patterns in Distributing a Genetic ...

    A key design pattern used for extending GALibRobocode to its distributed ...The adoption of the pattern allows for more flexibility in the rendezvous ...

  • ...and Mobile Ad-Hoc Network Rendezvous - a Data Ma...

    Network Rendezvous - a Data Management Pers_专业...of topology because of peer mobility pattern [8]...approach, thus it is essentially a distributed ...

  • Prototyping distributed multimedia systems using Co...

    Prototyping distributed multimedia systems using ...s were designed as an executable specification ...A rendezvous is implemented by having two ...

  • Management of Possible Roles for Distributed Softwa...

    To manage such distributed projects, the software design patterns are used. A design pattern is a template of formalized best practices to solve a problem...

  • WORK EXPERIENCE

    Developed verifiable design patterns for concurrent and distributed systems and interface-based automated modular verification techniques based on these patterns....

  • lecture-6-middleware

    Design Pattern 10 SoftwareArchitecture & Design Pattern ACE/TAO : A CORBA... - An industry standard for distributedobject systems (proposed and maintained...

  • 多智能体控制概述_图文

    assume specified pattern 形成指定的队形,队形 控制 ? rendezvous at a common ...? Design of provably correct, distributed coordination algorithms 分布式协同算法...

  • Optical design of a freeform TIR lens for LED stree...

    sources are Lambertian distributed, a freeform TIR lens is designed in this paper to create a rectangular light pattern and a batwing light intensity far ...

  • Outline

    A. Lynch. Distributed Algorithms. Morgan Kaufmann ...ock, reach pattern Sensor-based: search, estimate...S2: deployment S3: rendezvous Deployment (i) J....

  • Rendezvous Without Coordinates_图文

    Rendezvous Without Coordinates_工学_高等教育_教育...Index Terms—Consensus, distributed control, multi...become very limited, requiring a minimal design. ...

  • Distributed Coordination via ZooKeeper

    distributed Coordina=on Service Worker Worker ...ACLs, Tablet metadata Rendezvous ? Find tablet ...Communication pattern is arbitrary Replicating the ...

  • MAPLD-04

    Most likely scenario: distributed, mobile “tether...(4) rendezvous, (5) pipelining, (6) iteration...? Algorithms, Patterns and Protocols –– Davis,...

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.xuehai.net All Rights Reserved.  email
返回顶部