Eduardo Bezerra

Software developed


Eyrie
Eyrie is a Java library that allows service designers to implement scalable, strongly consistent services, allowing replication and maintaining consistency by means of atomic multicast. Except when providing an partitioning oracle, the designer does not need to worry about partitioning, replication or synchronization, as all this is encapsulated by Eyrie and the oracle. To make partitioning transparent, it uses AOP (aspect-oriented programming) with AspectJ. Eyrie also allows for optimistic execution of client requests, allowing servers to deliver fast (albeit possibly mistaken) replies. The servers always check if the sent reply was correct. If not, a correct version is sent to the client. The client is also informed whether a reply is sure to be correct or not.

Ridge
Ridge is Java library for atomic multicast, with optional optimistic delivery. It is inspired by Multi-Ring Paxos, although it does not present the latency problems observed with a big number of replicas in the same group.

libmcad
libmcad is a Java library that provides a unified API with the abstraction of groups and messages, by providing an adaptor to different atomic broadcast/multicast libraries, such as Multi-Ring Paxos and Ridge.

Volery
Volery is an implementation of a subset of Zookeeper's API. It was built on top of Eyrie, and had better scalability results than Zookeeper, which was achieved by means of partitioning. Thanks to Eyrie, Volery provided strong consistency for both read- and write-dominated workloads, unlike Zookeeper, which has great scalability, but only for read requests.

Chirper
Chirper is a social network application that implements some of the functionalities of Twitter. It was developed on top of Eyrie2, thus providing both fast (optimistic) and final (conservative) replies to clients.

Sense
Sense simplifies monitoring throughput, latency, bandwidth usage of distributed processes in Java. It is extensible, being able to monitor many different kinds of computational resources.

netwrapper
netwrapper is a Java library that simplifies the use of TCP connections in Java, providing a very simple API, while providing multi-threaded message processing and different serialization codecs. Under the hood, it uses multiple selectors for networking and the Kryo serialization library.

InGE Game Engine
InGE is a game engine oriented to 3D games in general, although it has been optimized for first-person action games. It is implemented in C++ and has been used on both Windows and Linux. InGE comes with an LGPL license, meaning that it can be used to develop both free (open-source) and commercial games. Inge provides functionalities of networking, audio, mathematics, physics, control and graphics. It differs from other engines available in the market, as each of such engines usually deals exclusively with one (or a few) of these areas.

Game: "We are the champignons"
WATC is a 3D FPS (first-person shooter) multiplayer action game. It was built using the InGE game engine and won 3rd place in a festival of independent games, with contestants from all over Brazil.