Tuple space

A tuple space is an implementation of the associative memory paradigm for parallel/distributed computing. It provides a repository of tuples that can be accessed concurrently. As an illustrative example, consider that there are a group of processors that produce pieces of data and a group of processors that use the data. Producers post their data as tuples in the space, and the consumers then retrieve data from the space that match a certain pattern. This is also known as the blackboard metaphor. Tuple space may be thought as a form of distributed shared memory.

Tuple spaces were the theoretical underpinning of the Linda language developed by David Gelernter and Nicholas Carriero at Yale University in 1986.

Implementations of tuple spaces have also been developed for Java (JavaSpaces), Lisp, Lua, Prolog, Python, Ruby, Smalltalk, Tcl, and the .NET Framework.

Object Spaces

Object Spaces is a paradigm for development of distributed computing applications. It is characterized by the existence of logical entities, called Object Spaces. All the participants of the distributed application share an Object Space. A provider of a service encapsulates the service as an Object, and puts it in the Object Space. Clients of a service then access the Object Space, find out which object provides the needed service, and have the request serviced by the object.

Object Spaces, as a computing paradigm, was put forward in the 1980s by David Gelernter at Yale University. Gelernter developed a language called Linda to support the concept of global object coordination.

Object Space can be thought of as a virtual repository, shared amongst providers and accessors of network services, which are themselves abstracted as objects. Processes communicate among each other using these shared objects — by updating the state of the objects as and when needed.

An object, when deposited into a space, needs to be registered with an Object Directory in the Object Space. Any processes can then identify the object from the Object Directory, using properties lookup, where the property specifying the criteria for the lookup of the object is its name or some other property which uniquely identifies it. A process may choose to wait for an object to be placed in the Object Space, if the needed object is not already present.

Objects, when deposited in an Object Space are passive, i.e., their methods cannot be invoked while the objects are in the Object Space. Instead, the accessing process must retrieve it from the Object Space into its local memory, use the service provided by the object, update the state of the object and place it back into the Object Space.

This paradigm inherently provides mutual exclusion. Because once an object is accessed, it has to be removed from the Object Space, and is placed back only after it has been released. This means that no other process can access an object while it is being used by one process, thereby ensuring mutual exclusion.

JavaSpaces

JavaSpaces is a service specification providing a distributed object exchange and coordination mechanism (which may or may not be persistent) for Java objects. It is used to store the distributed system state and implement distributed algorithms. In a JavaSpace, all communication partners (peers) communicate and coordinate by sharing state.

JavaSpaces can be used to achieve scalability through parallel processing, it can also be used to provide reliable storage of objects through distributed replication, although this won't survive a total power failure like a disk; it is regarded by many to be reliable as long as the power is reliable. Distribution can also be to remote locations; however, this is rare as JavaSpaces are usually used for low-latency, high-performance applications rather than reliable object caching.

The most common software pattern used in JavaSpaces is the Master-Worker pattern. The Master hands out units of work to the "space", and these are read, processed and written back to the space by the workers. In a typical environment there are several "spaces", several masters and many workers; the workers are usually designed to be generic, i.e. they can take any unit of work from the space and process the task.

JavaSpaces is part of the Java Jini technology, which on its own has not been a commercial success.[1] The technology has found and kept new users over the years and some vendors are offering JavaSpaces-based products. JavaSpaces remains a niche technology mostly used in the financial services and telco industries where it continues to maintain a faithful following. The announcement of Jini/JavaSpaces created quite some hype although Sun co-founder and chief Jini architect Bill Joy put it straight that this distributed systems dream will take "a quantum leap in thinking."[2]

Example usage

The following example shows an application made using JavaSpaces. First, an object to be shared in the Object Space is made. Such an object is called an Entry in JavaSpace terminology. Here, the Entry is used to encapsulate a service which returns a Hello World! string, and keeps track of how many times it was used. The server which provides this service will create an Object Space, or JavaSpace. The Entry is then written into the JavaSpace. The client reads the entry from the JavaSpace and invokes its method to access the service, updating its usage count by doing so. The updated Entry is written back to the JavaSpace.

// An Entry class
public class SpaceEntry implements Entry {
     public final String message = "Hello World!";
     public Integer count = 0;
 
     public String service() {
         ++count;
         return message;
     }
 
     public String toString() {
         return "Count: " + count;
     }
}
// Hello World! server
public class Server {
     public static void main(String[] args) throws Exception {
         SpaceEntry entry = new SpaceEntry();            // Create the Entry object
         JavaSpace space = (JavaSpace)space();           // Create an Object Space
         // Register and write the Entry into the Space
         space.write(entry, null, Lease.FOREVER);        
         // Pause for 10 seconds and then retrieve the Entry and check its state.
         Thread.sleep(10 * 1000);
         SpaceEntry e = space.read(entry, null, Long.MAX_VALUE);
         System.out.println(e);
     }
}
// Client
public class Client {
     public static void main(String[] args) throws Exception {
         JavaSpace space = (JavaSpace) space();
         SpaceEntry e = space.take(new SpaceEntry(), null, Long.MAX_VALUE);
         System.out.println(e.service());
         space.write(e, null, Lease.FOREVER);
     }
}

Books

  • Eric Freeman, Susanne Hupfer, Ken Arnold: JavaSpaces Principles, Patterns, and Practice. Addison-Wesley Professional, 1. June 1999, ISBN 0-201-30955-6
  • Phil Bishop, Nigel Warren: JavaSpaces in Practice. Addison Wesley, 2002, ISBN 0-321-11231-8
  • Max K. Goff: Network Distributed Computing: Fitscapes and Fallacies, 2004, Prentice Hall, ISBN 0-13-100152-3
  • Sing Li, et al.: Professional Java Server Programming, 1999, Wrox Press, ISBN 1-86100-277-7
  • Steven Halter: JavaSpaces Example by Example, 2002, Prentice Hall PTR, ISBN 0-13-061916-7

Interviews

Articles

See also

References

  1. ^ Lee Gomes: "Sun Microsystems' Predictions For Jxta System Sound Familiar". The Wall Street Journal, June 4th 2001
  2. ^ Rob Guth: "More than just another pretty name: Sun's Jini opens up a new world of distributed computer systems". SunWorld, August 1998 [15 January 2006]

Sources

Read other articles:

United States Transportation Command InformationDatum1987-idagLand USAFörsvarsgrenFörsvarsgrensövergripandeTypFunktionellt militärkommandoRollTransporterHögkvarterScott AFB, IllinoisSmeknamnTRANSCOM United States Transportation Command (USTRANSCOM), Förenta staternas transportkommando, är ett av USA:s försvarsgrensövergripande militärkommandon med funktionellt ansvarsområde. USTRANSCOM:s uppdrag är att samordna och leda det amerikanska försvarets världsomspännande transpor...

 

Book by George Montagu Ornithological Dictionary, or Alphabetical Synopsis of British Birds Title page of first editionAuthorGeorge MontaguCountryGreat BritainSubjectOrnithologyGenreNatural historyPublisherJ. WhitePublication date1802Pages717 (two volumes) The Ornithological Dictionary; or Alphabetical Synopsis of British Birds was written by the English naturalist and army officer George Montagu, and first published by J. White of Fleet Street, London in 1802. It was one of the texts, along ...

 

The Right HonourableSir Winston ChurchillKG OM CH TD DL FRS PC RAThe Roaring Lion, potret ikonis karya Yousuf Karsh, diambil di Parlemen Kanada, Desember 1941 Perdana Menteri Britania RayaMasa jabatan26 Oktober 1951 – 5 April 1955Penguasa monarkiGeorge VIElizabeth IIWakilAnthony Eden PendahuluClement AttleePenggantiAnthony EdenMasa jabatan10 Mei 1940 – 26 Juli 1945Penguasa monarkiGeorge VIWakilClement Attlee (1942–1945) PendahuluNeville Cham...

Thomas Blood. Thomas Blood (1618 - 23 Agustus 1680) adalah kolonel kelahiran Irlandia yang terkenal karena mencoba mencuri Crown Jewels Inggris dari Menara London pada tahun 1671. Ia dicatat sebagai noted bravo and desperado,[1]. Ia juga melakukan satu percobaan penculikan dan percobaan pembunuhan Adipati Ormonde. Blood jatuh sakit pada tahun 1680 dan meninggal pada tanggal 23 Agustus 1680. Pranala luar The Waverley Novels by Walter Scott, pages 674—678 (Google Books) Time and Histo...

 

† Человек прямоходящий Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:Синапсиды�...

 

Branch of the National Institutes of Health in the United States For other uses, see NIDA (disambiguation). National Institute on Drug AbuseAgency overviewHeadquarters6001 Executive Blvd, N. Bethesda, Maryland 20852Annual budget$1.05 billion[1]Agency executiveNora D. Volkow, M.D., DirectorParent departmentU.S. Department of Health and Human ServicesParent agencyNational Institutes of HealthWebsitenida.nih.gov The National Institute on Drug Abuse (NIDA) is a United States federal gove...

Indian association football club Football clubOil IndiaFull nameOil India Football Club DuliajanShort nameOIL, OILFCFounded1964; 60 years ago (1964)GroundNehru Maidan,[1] Duliajan, AssamCapacity10,000OwnerOil IndiaHead coachArjunan ShanthakumarLeagueGuwahati Premier Football League Home colours Away colours Oil India Football Club, also known as Oil India Limited FC, or simply Oil India FC, is an Indian institutional football club based in Duliajan, Assam.[1]...

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: I'm Good Clipse song – news · newspapers · books · scholar · JSTOR (May 2022) (Learn how and when to remove this message)2009 single by Clipse featuring PharrellI'm GoodSingle by Clipse featuring Pharrellfrom the album Til the Casket Drops ReleasedJune 30,...

 

Treaty adopted by United Nations General Assembly in 1965 International Covenant on Civil and Political RightsParties and signatories of the ICCPR   State party   Signatory that has not ratified   State party that attempted to withdraw   Non-party; non-signatoryTypeUnited Nations General Assembly resolutionDrafted1954Signed16 December 1966[1]LocationUnited Nations Headquarters, New York CityEffective23 March 1976[1]Signatories74[1 ...

Matthew Kneale (Londra, 24 novembre 1960) è uno scrittore britannico, conosciuto in particolare per il suo romanzo Il passeggero inglese. Indice 1 Biografia 2 Opere 2.1 Narrativa 2.2 Saggistica 3 Note 4 Collegamenti esterni Biografia Figlio degli scrittori Nigel Kneale[1] e Judith Kerr[2], ha frequentato la Latymer Upper School di Londra[3], e in seguito ha studiato storia moderna al Magdalen College (Oxford)[4], prima di trascorrere un anno in Giappone, dove ...

 

The degree of religiosity in the population of the United States can be compared to that in other countries and compared state-by-state, based on individual self-assessment and polling data. Methodologies The Gallup Poll assesses religiosity around the world,[1] asking Is religion important in your daily life? and in the United States by state, asking the degree to which respondents consider themselves to be religious. The Pew Research Center and Public Religion Research Institute ha...

 

American politician John R. SteelmanPortrait of John R. Steelman as Director, United States Conciliation Service, Department of Labor.Director of the Office of Defense MobilizationActingIn officeMarch 31, 1952 – September 8, 1952PresidentHarry S. TrumanPreceded byCharles WilsonSucceeded byHenry H. Fowler1st White House Chief of StaffIn officeDecember 12, 1946 – January 20, 1953PresidentHarry S. TrumanPreceded byPosition establishedSucceeded bySherman Adams Personal detai...

First governor of Michigan This article is about the governor of Michigan. For his grandfather, the U.S. senator from Virginia, see Stevens Thomson Mason (senator). The Boy Governor and Boy Governor redirect here. For the Arkansas governor who later became President of the United States, see Bill Clinton. Stevens T. Mason1st Governor of MichiganIn officeNovember 3, 1835 – January 7, 1840LieutenantEdward MundyPreceded byJohn S. Horner as Territorial GovernorSucceeded byWilliam Woodb...

 

هذه المقالة تحتاج للمزيد من الوصلات للمقالات الأخرى للمساعدة في ترابط مقالات الموسوعة. فضلًا ساعد في تحسين هذه المقالة بإضافة وصلات إلى المقالات المتعلقة بها الموجودة في النص الحالي. (ديسمبر 2020) المديرية العامة للآثار والمتاحف (سوريا) تفاصيل الوكالة الحكومية البلد سوريا ...

 

Association football match Football match2006 Football League One play-off finalThe final took place at the Millennium Stadium. Barnsley Swansea City 2 2 Barnsley won 4–3 on penaltiesDate27 May 2006VenueMillennium Stadium, CardiffRefereeLee Mason (Lancashire)Attendance55,419← 2005 2007 → The 2006 Football League One play-off final was an association football match which was played on 27 May 2006 between Barnsley and Swansea City at the Millennium Stadium, Cardiff, to determine t...

Disambiguazione – Se stai cercando altri significati, vedi Strozzi (disambigua). Questa voce o sezione sull'argomento storia di famiglia è priva o carente di note e riferimenti bibliografici puntuali. Sebbene vi siano una bibliografia e/o dei collegamenti esterni, manca la contestualizzazione delle fonti con note a piè di pagina o altri riferimenti precisi che indichino puntualmente la provenienza delle informazioni. Puoi migliorare questa voce citando le fonti più precisamente. Se...

 

Android GingerbreadVersi dari sistem operasi AndroidAndroid 2.3 di emulator Android SDKPembangunGoogleRilis awal6 Desember 2010; 13 tahun lalu (2010-12-06)Rilis terbaru2.3.7 / 21 September 2011; 12 tahun lalu (2011-09-21)Didahului olehAndroid FroyoDigantikan olehAndroid HoneycombSitus resmideveloper.android.com/about/versions/android-2.3-highlights.htmlStatus dukunganDukungan utama berakhir tanggal 28 Maret 2012 dan dukungan tambahan berakhir tanggal 1 April 2020 Android 2.3–2.3.7...

 

Congolese footballer Matt Moussilou Moussilou in 2012Personal informationFull name Matt Devlin Moussilou MassambaDate of birth (1982-06-01) 1 June 1982 (age 42)Place of birth Paris, FranceHeight 1.82 m (6 ft 0 in)[1]Position(s) StrikerTeam informationCurrent team FC MeyrinNumber 9Youth career1994–1997 FC Bourget1997–1999 LilleSenior career*Years Team Apps (Gls)1999–2001 Lille B 54 (18)2001–2006 Lille 98 (24)2006–2009 Nice 19 (0)2007 → Saint-Étienne (lo...

Town in New South Wales, AustraliaDiamond BeachNew South WalesDiamond BeachCoordinates32°02′38.61″S 152°32′22.43″E / 32.0440583°S 152.5395639°E / -32.0440583; 152.5395639Population886 (2016 census)[1]Postcode(s)2430Elevation6 m (20 ft)Time zoneAEST (UTC+10) • Summer (DST)AEDT (UTC+11)Location 303 km (188 mi) NNE of Sydney 163 km (101 mi) NNE of Newcastle 30 km (19 mi) SSE of Taree 24 km (15&#...

 

Intelligence agency of the SS and the Nazi Party in Nazi Germany SS Security ServiceSicherheitsdienst des Reichsführers-SS (SD)SD sleeve insigniaAgency overviewFormedMarch 1931Preceding agencyIc-Dienst 1931Dissolved8 May 1945TypeIntelligence agencyJurisdiction  Nazi Germany Occupied Europe HeadquartersPrinz-Albrecht-Straße, BerlinEmployees6,482 c. February 1944[1]Minister responsibleHeinrich Himmler 1931–45Agency executivesReinhard Heydrich, 1931–1942Heinrich Himmler,...