1 / 20

Peer services: from Description to Invocation

Peer services: from Description to Invocation. Manuel Oriol. International Workshop on Agents and Peer-to-Peer Computing (AP2PC 2002). Introduction. P2P networks may be characterised by the fact that they are: Decentralised. Potentially Large. Very Dynamic. Heterogeneous.

marie
Download Presentation

Peer services: from Description to Invocation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Peer services: from Description to Invocation Manuel Oriol International Workshop on Agents and Peer-to-Peer Computing (AP2PC 2002)

  2. Introduction • P2P networks may be characterised by the fact that they are: • Decentralised. • Potentially Large. • Very Dynamic. • Heterogeneous. • Provides (Distributed) Services.

  3. Focus • We want to ease the use of services from peer to peer: • Adding services seamlessly. • Deciding to invoke the most adapted service on demand. • Using a mechanism adapted to the high dynamicity of P2P networks. • Contribution • An infrastructure for peer services that relies on...

  4. Principles • Associative Naming: Peers are not named at all but they specify what do the services they provide. Peers do not call methods on other peers, they specify what they want. • Late Binding A request is served and bound on demand. • Asynchronous Communications All communications are asynchronous and peers do not block.

  5. Peer & Peer Services

  6. Model

  7. Invocation & Answer

  8. How to Specify? • Functionality: What does it do? (comparable to a method name) • Behaviour How does it do it? (comparable to method signature) • QoS How well does it do it? (comparable to the description of a method in an API)

  9. Example of Code: Service providers • Service BubbleSort(F: "sort": "BubbleSort", B: argument: (int a[]: return: int[], char a[] : return: char []), QoS: local)[2,5,2]{...} • Service QuickSort(F: "sort": ”QuickSort", B: argument: int a[]: return: int[], QoS: local: “Complexity”: “Nlog(N)"), )[2,5,2]{...} Minimal Matching

  10. Services Trees: BubbleSort ( , , ) QoS F B « Sort » argument  local  « BubbleSort » int [] char [] return return int [] char []

  11. Services Trees: QuickSort QoS F B « Sort » argument  local  « QuickSort » int [] « Complexity » return « Nlog(N) » int [] ( , , )

  12. Example of code: Clients • int a[]; T=Invoke((F: "sort", B: argument: a: return: int[], QoS: local: "Complexity": "Nlog(N)"), [2, 5, 2]); • char a[]; T=Invoke((F: "sort”: “QuickSort”, B: argument: a: return: char[], QoS: local), [3, 5, 2]); Minimal Matching

  13. Clients trees (1) QoS QoS F F B B « Sort » « Sort » argument argument  local   local  « QuickSort » « BubbleSort » int [] « Complexity » int [] char [] return « Nlog(N) » return return int [] int [] char [] ( , , ) QoS F B « Sort » argument  local  int [] « Complexity » return « Nlog(N) » int []

  14. Client Trees (2) QoS QoS F F B B « Sort » « Sort » argument argument  local   local  « QuickSort » « BubbleSort » int [] int [] char [] « Complexity » return return return « Nlog(N) » int [] int [] char [] ( , , ) QoS F B « Sort » argument  local  « QuickSort » char [] « Complexity » return « Nlog(N) » char []

  15. Special Labels for Matching • Ø: adds 1 to the depth of this branch. • Ø*: the branch matches at an infinite depth. • : the branch should terminate there (otherwise the depth is 0). • ? : the label may be everything.

  16. Relocalizing Peer Services in JXTA PeerGroup Services Basic With Service Manager

  17. Conclusion • We presented our architecture that addresses the problem of services in very dynamic environments through associative naming, late binding and asynchrony. • We give a way of quantifying how well (possibly complex) descriptions match and prefer some services to others. • We show that the principles may be adapted to decentralized P2P networks.

  18. Future work • We want to implement a prototype of this architecture on top of JXTA. • We want to investigate further the use of already existing ontology technologies.

  19. QoS F B « Sort » argument  local  « QuickSort » int [] « Complexity » return « Nlog(N) » int []

  20. QoS B argument  local  int [] char [] return return int [] char [] F « Sort » « BubbleSort »

More Related