HOME
*





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 characterize ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Content-addressable Memory
Content-addressable memory (CAM) is a special type of computer memory used in certain very-high-speed searching applications. It is also known as associative memory or associative storage and compares input search data against a table of stored data, and returns the address of matching data. CAM is frequently used in networking devices where it speeds up forwarding information base and routing table operations. This kind of associative memory is also used in cache memory. In associative cache memory, both address and content is stored side by side. When the address matches, the corresponding content is fetched from cache memory. History Dudley Allen Buck invented the concept of content-addressable memory in 1955. Buck is credited with the idea of ''recognition unit''. Hardware associative array Unlike standard computer memory, random-access memory (RAM), in which the user supplies a memory address and the RAM returns the data word stored at that address, a CAM is designed suc ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Paradigm
In science and philosophy, a paradigm () is a distinct set of concepts or thought patterns, including theories, research methods, postulates, and standards for what constitute legitimate contributions to a field. Etymology ''Paradigm'' comes from Greek παράδειγμα (''paradeigma''), "pattern, example, sample" from the verb παραδείκνυμι (''paradeiknumi''), "exhibit, represent, expose" and that from παρά (''para''), "beside, beyond" and δείκνυμι (''deiknumi''), "to show, to point out". In classical (Greek-based) rhetoric, a paradeigma aims to provide an audience with an illustration of a similar occurrence. This illustration is not meant to take the audience to a conclusion, however it is used to help guide them get there. One way of how a ''paradeigma'' is meant to guide an audience would be exemplified by the role of a personal accountant. It is not the job of a personal accountant to tell a client exactly what (and what not) to spend money o ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Ken Arnold
Kenneth Cutts Richard Cabot Arnold (born 1958) is an American computer programmer well known as one of the developers of the 1980s dungeon-crawling video game ''Rogue'', for his contributions to the original Berkeley ( BSD) distribution of Unix, for his books and articles about C and C++ (e.g. his 1980s–1990s ''Unix Review'' column, "''The C Advisor''"), and his high-profile work on the Java platform. At Berkeley Arnold attended the University of California, Berkeley, after having worked at Lawrence Berkeley National Laboratory computer labs for a year, receiving his A.B. in computer science in 1985. At Berkeley, he was president of the Berkeley Computer Club and of the Computer Science Undergraduates Association, and made many contributions to the 2BSD and 4BSD Berkeley Unix distributions, including: * curses and termcap: a hardware-independent library for controlling cursor movement, screen editing, and window creation on ASCII display terminals, based on termcap (b ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Susanne Hupfer
Susanne may refer to: * Susanne (given name), a feminine given name (including a list of people with the name) *, later USS ''SP-411'', a United States Navy patrol boat in commission from 1917 to 1919 *, the proposed name and designation for a vessel the Navy considered for service during World War I but never acquired * ''Susanne'' (1950 film), a Danish film directed by Torben Anton Svendsen * ''Susanne'' (1961 film), a Swedish film directed by Elsa Colfach * "Susanne" (song), by Weezer See also * * Suzanne (other) * Susanna (other) * Susana (other) * Susann *Zuzana Zuzana is a common female given name in the Czech Republic and Slovakia. It is often translated to other languages as Zuzanna ( Polish), Suzanne, Susan, or Susannah – all commonly derived from the Hebrew language name Shoshana, meaning "lilly". ...
{{disambiguation ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Eric Freeman (writer)
Eric Freeman is a computer scientist, author and constituent of David Gelernter on the Lifestreaming concept. Authored works Eric Freeman has publishing accolades for ''Head First HTML and CSS'' () which he co-authored with Elisabeth Robson, and ''Head First Design Patterns'' () also co-authored with Elisabeth Robson, Kathy Sierra and Bert Bates Bert Bates (18 August 1907 – 23 April 1976) was a British film editor, sometimes credited as A. S. Bates. He worked on more than sixty films during his career. Bates edited his first feature film, ''Many Waters'', in 1931. He went on to be em .... References External links * *http://www.technologyreview.com/tr35/Profile.aspx?TRID=479 *http://portal.acm.org/citation.cfm?id=1057270.1057279 *http://www.objectsbydesign.com/books/EricFreeman.html {{DEFAULTSORT:Freeman, Eric American technology writers American computer scientists Living people Year of birth missing (living people) ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Bill Joy
William Nelson Joy (born November 8, 1954) is an American computer engineer and venture capitalist. He co-founded Sun Microsystems in 1982 along with Scott McNealy, Vinod Khosla, and Andy Bechtolsheim, and served as Chief Scientist and CTO at the company until 2003. He played an integral role in the early development of BSD UNIX while being a graduate student at Berkeley, and he is the original author of the vi text editor. He also wrote the 2000 essay " Why The Future Doesn't Need Us", in which he expressed deep concerns over the development of modern technologies. Joy was elected a member of the National Academy of Engineering (1999) for contributions to operating systems and networking software. Early career Joy was born in the Detroit suburb of Farmington Hills, Michigan, to William Joy, a school vice-principal and counselor, and Ruth Joy. He earned a Bachelor of Science in electrical engineering from the University of Michigan and a Master of Science in electrical eng ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Jini
Jini (), also called Apache River, is a network architecture for the construction of distributed systems in the form of modular co-operating services. JavaSpaces is a part of the Jini. Originally developed by Sun Microsystems, Jini was released under the Apache License 2.0. Responsibility for Jini has been transferred to Apache under the project name "River". History Sun Microsystems introduced Jini in July 1998. In November 1998, Sun announced that there were some firms supporting Jini. The Jini team at Sun has always stated that ''Jini'' is not an acronym. Ken Arnold has joked that it means "Jini Is Not Initials", making it a recursive anti-acronym, but it has always been just ''Jini''. The word 'jini' means "the devil" in Swahili; this is borrowed from the Arabic word for a mythological spirit, originated from the Latin ''genius'', which is also the origin of the English word 'genie'. Jini provides the infrastructure for the Service-object-oriented architecture (SOOA). U ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Software Pattern
In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code. Rather, it is a description or template for how to solve a problem that can be used in many different situations. Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system. Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved. Patterns that imply mutable state may be unsuited for functional programming languages. Some patterns can be rendered unnecessary in languages that have built-in support for solving the problem they are trying to solve, and object-oriented patterns are not necessarily suitable for non-object-oriented lan ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Low-latency
Latency, from a general point of view, is a time delay between the cause and the effect of some physical change in the system being observed. Lag, as it is known in gaming circles, refers to the latency between the input to a simulation and the visual or auditory response, often occurring because of network delay in online games. Latency is physically a consequence of the limited velocity at which any physical interaction can propagate. The magnitude of this velocity is always less than or equal to the speed of light. Therefore, every physical system with any physical separation (distance) between cause and effect will experience some sort of latency, regardless of the nature of the stimulation at which it has been exposed to. The precise definition of latency depends on the system being observed or the nature of the simulation. In communications, the lower limit of latency is determined by the medium being used to transfer information. In reliable two-way communication sys ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Scalability
Scalability is the property of a system to handle a growing amount of work by adding resources to the system. In an economic context, a scalable business model implies that a company can increase sales given increased resources. For example, a package delivery system is scalable because more packages can be delivered by adding more delivery vehicles. However, if all packages had to first pass through a single warehouse for sorting, the system would not be as scalable, because one warehouse can handle only a limited number of packages. In computing, scalability is a characteristic of computers, networks, algorithms, networking protocols, programs and applications. An example is a search engine, which must support increasing numbers of users, and the number of topics it indexes. Webscale is a computer architectural approach that brings the capabilities of large-scale cloud computing companies into enterprise data centers. In mathematics, scalability mostly refers to closure ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Distributed Algorithm
A distributed algorithm is an algorithm designed to run on computer hardware constructed from interconnected processors. Distributed algorithms are used in different application areas of distributed computing, such as telecommunications, scientific computing, distributed information processing, and real-time process control. Standard problems solved by distributed algorithms include leader election, consensus, distributed search, spanning tree generation, mutual exclusion, and resource allocation. Distributed algorithms are a sub-type of parallel algorithm, typically executed concurrently, with separate parts of the algorithm being run simultaneously on independent processors, and having limited information about what the other parts of the algorithm are doing. One of the major challenges in developing and implementing distributed algorithms is successfully coordinating the behavior of the independent parts of the algorithm in the face of processor failures and unreliable communic ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Java Platform
Java is a set of computer software and specifications developed by James Gosling at Sun Microsystems, which was later acquired by the Oracle Corporation, that provides a system for developing application software and deploying it in a cross-platform computing environment. Java is used in a wide variety of computing platforms from embedded devices and mobile phones to enterprise servers and supercomputers. Java applets, which are less common than standalone Java applications, were commonly run in secure, sandboxed environments to provide many features of native applications through being embedded in HTML pages. Writing in the Java programming language is the primary way to produce code that will be deployed as byte code in a Java virtual machine (JVM); byte code compilers are also available for other languages, including Ada, JavaScript, Python, and Ruby. In addition, several languages have been designed to run natively on the JVM, including Clojure, Groovy, and Sc ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]