Skip to main content

Controlling peer activity in a peer group

2 replies [Last post]
march44
Offline
Joined: 2007-09-17

Hi, I'm sure the answer is staring me in the face, but I just can't see it.

I can control which peers join a peer group but how do I control what a peer can do once it is in the peer group.

There are two scenarios I'm trying to figure out:

1) I create a peer group and my peer joins that group, my peer publishes a service into the group. I want other peers to join the group and load an application to use the service. But I do not want those peers to publish their own services in the peer group.

The only way I can think of doing this at the moment is to write a custom discovery service that prevents all guest peers from publishing advertisements into the peer group.

2) I create a peergroup with a peergroup service defined, I get one or more peers to join the group to provide redundancy. Again I want other peers to join the peer group to use the service but I don't want them implement the service or start publishing their own peer services into the peer group.

I realise that these scenarios are not pure P2P as the peers do not have equal status, they are more like a classic server/client model. This must be a fairly common scenario, or am I just not thinking with a P2P mind set?

Any thoughts or comments appreciated.

Andy

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
hamada
Offline
Joined: 2003-06-12

It's an application design choice.

Simply designate nodes to be servers and others to clients. Servers publish the advertisement, client don''t. A better approach is to avoid publication altogether, use pre-defined identifiers where all nodes can re-create the advertisement without having a central (the publisher in this case) entity. This avoids collisions and staleness, and high availability where more than one node can be service providers.

In the second scenario, simply designate nodes to be servers, and others to act as clients. see the core platform services, that's how they're modeled.

march44
Offline
Joined: 2007-09-17

hamada

Thanks for the reply, I have come to thinking exactly that, it is an application design choice.

My view now is that all my peers must implement a 'my-productX' service, this provides the basic mechanism to allow them to find each other and form groups. Then internal application policies control who is a server and client for any given scenario.

P2P brings a whole new set of possibilities and issues, still getting my head around most of them.