• Aucun résultat trouvé

Introduction - disparate computing

N/A
N/A
Protected

Academic year: 2022

Partager "Introduction - disparate computing"

Copied!
27
0
0

Texte intégral

(1)

TSpaces

Presentation of Maksym Perevozov ozzik@mail.ru

Alex Cozzi Yuhong Xiong Venu Vasudevan Sean Landis Pace Davis

(2)

Summary

„ Introduction - disparate computing

„ TSpaces

„ TSpaces function and usage taxonomy

„ Uses of TSpaces inside of IBM

„ Uses of TSpaces outside of IBM

„ Criticism and perspectives

(3)

Introduction - disparate computing

How can I maintain this all?

(4)

Introduction - disparate computing

How does the world look like?

„ user's viewpoint

„ provider's viewpoint

(5)

Introduction - disparate computing

„ What can we do to inter-connect the World?

¾ building all software pieces as

independent entities that communicate via messaging middleware.

(6)

Introduction - disparate computing

„ Why middleware?

¾ Independent testing, maintaining and improvement

¾ Opportunity for adding translators to the communication stream that fix protocol

¾ Flexibility without having to completely rewrite current software systems

(7)

TSpaces

http://www.almaden.ibm.com/cs/TSpaces/

Intelligent Connection-ware

(8)

TSpaces

„ IBM Almaden Research Center project

„ Decendant of the Linda system at Yale University

„ Messaging middleware

„ Asynchronous messaging

„ Database features

„ Written in Java

„ different style of multipoint communication

(9)

TSpaces

„ Tuples are the basic data structure

(integer, string, float, multi-dimensional array, Java object, Java class).

„ Spaces are simply collections of tuples

„ Tuple requests - queries.

(10)

Example

Client <5, ‘’bar’’, 9,3> Server

Client Server

queryTemplate <5, String, 9,3>

<5, ‘’bar’’, 9,3>

Query

(11)

Basic TSpaces operations(1)

„ write ( tuple ): Adds a tuple to the space.

„ take( template_tuple ): Searches for a tuple that matches the template. When found, the tuple is

removed from the space and returned. If none is found, returns null.

„ waitToTake(template_tuple ): Searches for a tuple that matches the template. Blocks until match is found. Removes and returns the matched tuple from the space.

„ read( template_tuple ): Like "take" above, except that the tuple is not removed from the tuple space.

(12)

Basic TSpaces operations(2)

„ waitToRead( template_tuple ): Like

"waitToTake" above, except that the tuple is not removed from the tuple space.

„ scan( template_tuple ): Like "read" above, except that it returns the entire set of tuples that match.

„ countN( template_tuple ): Like "scan"

above, except that it returns the number of matching tuples rather than the set of tuples

(13)

A simple usage taxonomy(1)

„ Heterogeneous message system

„ Event mechanism for heterogeneous platforms and disparate devices

„ Load sharing or load balancing

„ Object database, semi-structured database or transaction system

(14)

A simple usage taxonomy(2)

„ Gateway and host for transcoders

„ Local network controller

„ An XML Store

„ A service discovery mechanism

(15)

TSpaces

Uses of TSpaces inside

of IBM

(16)

A universal print solution

(17)

PIOVRA - an application launcher

(18)

Multi-sync server

(19)

TSpaces

Uses of TSpaces outside

of IBM

(20)

Motorola's Mojave system - mobile agents for wide-area systems management

(21)

Brokerage systems and services - an XMLbased equity trading solution

(22)

TSpaces

User requesting a price quote on a stock

User

Servlet Engine ID=QRID+1

QuoteReferanceID

Request

Request Formatting process

Market Maker

Market Maker Process Broker Process

Third Paty Market Maker

response request

Take

Write

WaitToTake(ID)

? request

reply

(23)

Cyberonix - ECP creates a true mirror world

(24)

Criticism and perspectives

„ Positive criticism:

¾ Breakthrough communication middleware

¾ Database functionality

¾ Asynchronous messaging

¾ XML support

Flexible for different usages

(25)

Criticism and perspectives

„ Negative criticism:

¾ Incompatible with the lower versions

¾ Security

(26)

Criticism and perspectives

„ Perspectives:

¾ Revised Transaction and Locking code

¾ XPath for XML document selection

¾ Regular expressions for string matching

¾ HTTP Server revision

¾ Secure Object Support

(27)

Questions ?

Références

Documents relatifs

● Programmation = expression dans un langage informatique donné d’un algorithme résolvant un problème. ● Nous avons choisi le langage Java pour introduire les notions

• Si plus d’une classe dans un fichier .java, javac génère des fichiers .class séparés pour chaque classe..

• Ils ont la portée de la classe : leur valeur est accessible à partir de n’importe quelle méthode de la classe. • Leur valeur est initialisée par le constructeur et peut

• Un nom de classe peut être utilisé comme type pour une variable (attribut, paramètre, variable locale) :.

ii) La variable d est déclarée en-dehors de la boucle for car on en a besoin après la fin de la boucle !.. Il veut avoir la certitude que toute sortie de fonction se fait sur un

● Chaque objet dispose d’un état représenté par les valeurs stockées dans ses champs. class Cercle {

● Il est considéré comme sain de passer par des sélecteurs pour accéder à la valeur du champ d’un objet plutôt que d’accéder directement à cette valeur avec la

• Ils ont la portée de la classe : leur valeur est accessible à partir de n’importe quelle méthode de la classe. • Leur valeur est initialisée par le constructeur et peut