||The Problem it solves
|PHP-GigaSpaces Integration Blueprint
||A solution to use GigaSpaces in a software architecture based on PHP technologies. We have identified good softwares and practices.
This allows, for example, to use PHP for the presentation layer and Java layer for the business tier.
|This integration enables the use GigaSpaces to address performance problems on (existing) web site written in PHP.
|Excel-Based Oil and Gas Exploration Application
||The application will use Excel spreadsheets integrated with GigaSpaces to models/simulate probabilities of finding oil in a certain area/depths. The spreadsheets will be used to present the simulation results (charts/tables) and for user interaction. GigaSpaces will host the GEO analysis data and executed the models/simulation logic.
||GEO Analysis involves consolidating huge amount of data from multiple resources which are geographically distributed. This data grows rapidly and needs a powerful and scalable In-Memory Data Grid to store it. In their growing efforts to save $$, Oil&Gas companies are continuously improving their analysis algorithms to make sure they drill in the places with the highest probability. Lastly, much of this modeling is done in Excel, which like financial services is an extremely ubiquitous tool.
The results are spreadsheets with large amounts of data running extremely complex calculations on the user's desktop. This data cannot be shared between multiple excel users nor can it be scaled.
|Scalable Excel Working with GigaSpaces and Amazon EC2
||In many organizations Excel is being used to run business models on the organization's data.
The Excel application is a client of the GigaSpaces Clusters/Spaces.
The suggested application is using Excel RTD (Real Time Data), UDF (User Defined Functions) and HTTP (REST) API to the Space and to Amazon EC2.
|Excel is heavily used in many organizations with proven business models.
When moving from other data storage solutions to GigaSpaces, the organization has the ability to continue using the proven business models as they are in Excel and change the underlying API calls to GigaSpaces and Amazon EC2.
|HTTP (REST) API for the Space
||The REST API enables you to interact with OpenSpaces using a simple URL, getting XML back.
This would allow to implement GigaSpaces client applications in many environments (Microsoft Excel, Microsoft Office Research Pane, Mobile phones and devices and more), without any installations.
|The HTTP functionality is an integrated part of many environments. The existing GigaSpaces APIs are not sufficient for all problems; in some cases (e.g. mobile phones) it is not possible to run GigaSpaces client application stack over the application because it lacks the relevant APIs, while in others (e.g. Microsoft Office Research Pane, iGoogle) users are used to certain GUI environments and prefer to stick with them and simply add the GigaSpaces client application to their existing environment. Adding REST API to the platform would allow for many more applications to benefit from GigaSpaces software.
||Convergence is a project aimed at integrating Computational Engines with In-Memory Data Grids (IMDG). The key idea is to put IMDG instances under the supervision of the Computational Engines. In this way, the IMDG can be scheduled as a resource over the pool of available hardware, allowing proactive IMDG scale up/scale down as well as data-aware scheduling. The result is that data-intensive tasks can be scheduled to computational resources that have direct access to the relevant data partition, eliminating data transfer overhead. For the current version of the project, packages for integrating the GigaSpaces IMDG with the Sun Grid Engine (SGE) and Platform Computing's LSF are available.
||In current enterprise Computational Grid Engines are usually separated from In Memory Data grids. E.g. In Memory Data Grids runs in dedicated environment. This causes enterprise resources underutilization, inability to automatically react on software and hardware failure in IMDG environment and inability to resize IMDG basing on current workload. The aim of the project is to offer a way to put In-Memory Data Grids such as GigaSpaces under Grid Engine supervision and give Grid Engine the ability to manage IMDG lifecycle, adjust IMDG resources basing on workload as well as perform data-aware task routing.
|GigaSpaces workflow management
||This application translates a declarative specification of a workflow system into the necessary objects, states, guards, workers, and related software artifacts needed to mediate the workflow via GigaSpaces and run the executable components in OpenSpaces.
||Implementation of workflow systems in a Space Based architecture requires a very different design approach than that used by traditional workflow engines. This application eliminates the need to continuously reinvent the wheel by encapsulating the most common design and implementation patterns in code.
|OpenSpaces Eclipse Rapid Development Wizard
||The OpenSpaces Eclipse Rapid Development Wizard will allow users to rapidly develop OpenSpaces applications using Eclipse.
It will utilize a Wizard interface that will step the user through the steps necessary to generate a complete application that leverages OpenSpaces technologies.
|Getting new users up to speed rapidly, and avoiding much of the normal confusion caused by starting fresh with any new technology. The only dependencies it will have are itself, GigaSpacesXAP and Eclipse.
|Record / Reply
||A plugin that will allow recording space activities (i.e. space destructive operations), storing them, and replaying them into the space at a latter stage.
||Currently, it is not possible to recreate a space and set its state in a deterministic way.
Two use cases:
- Development and testing. Developers will be able to set up the space in a predefined and deterministic state.
- Trouble shooting. Customers will be able to record their space and send the activity log to support to create a problem.
|Multi-Media Content Delivery
||Rich Media ultra-fast delivery, including video, images, audio, etc.
||The application solves the problem of multimedia on-demand delivery for enterprise wide scaling scenarios; starting with the company itself up to the cable operators' cached front-end.
||The RSS appliance will be a black box solution allowing to offload the delivery of RSS content to the appliance built on top GigaSpaces. The appliance will allow to register it with different RSS feeds, and it will act as a mediator between the different RSS clients and the actual RSS content. Using GigaSpaces SBA model, the periodic fetching of the actual RSS content will be done with processing units, while the actual delivery of RSS content to the clients will be done based on GigaSpaces caching support.
||Today sites are faced with a major load problems when providing the ability to subscribe to RSS feeds. When providing RSS feeds, major sites need to provide support for both static and dynamic RSS content. If we take the BBC site as an example, it needs to provide a static feed of all the different news items, as well as dynamic RSS feeds for comments posted on each news item.
|Maven 2 GigaSpaces Archetype
||The Maven 2 GigaSpaces Archetype allows you to instantly create Maven-enabled GigaSpaces-powered projects for your favorite IDE.
||In day-to-day work it is often needed to quickly create IDE project with well-defined structure and all required GigaSpaces libraries configured. Also it's often a case that different versions of GigaSpaces platform should be used for testing purposes. This can quickly become boring and annoying process. Maven 2 GigaSpaces archetype is designed to automate this process.
|Electronic Library Browsing
||The application compiles a map of the relatedness of documents to each other. It attempts to find the real categories around which documents cluster based on the words they use.
This project is in several parts: (1.a) It analyzes a large corpus of books or articles (I'm using 10k digitized books from the Gutenberg Project as a sample.) This step computes the entropy value of all words or word tuples in the initial corpus---e.g., the word "the" is worth little, while "anthropophagy" is worth a lot. (1.b) locates the position of every work in the million-dimension word space. (1.c) Computes the mutual Euclidean distances among the 10k works, and identifies the clusters among them. The cluster space has (presumably) a much smaller number of dimensions and each cluster is an empirical similarity class, or "subject". Every work is assigned a position with respect to the clusters. (2.a) A new work subseqently submitted is given a position relative to those clusters. (2.b) The user can browse the nearby clusters and search the space for works which are similar in any combination of dimensions.
|When you buy a book from Amazon.com, they give you a list of "Other people who bought this book also bought...". This program attempts to do something similar for researchers: "Other books that used language this way include....". This program generalizes the concept of keywords in order to provide human researchers a search path through a large electronic library.A user's search path would be based upon the resemblance of a book's ideosyncratic use of language to that of various sets of books in the library. The implicit assumption is that word use is a reasonable proxy for ideas (which are impractical to capture and classify.) The major problem it addresses is giving a way to browse through a large body of documents. The subsidiary prolems it solves are (a) how to provide huge lookup tables to distributed space workers. (b) How to do 100,000,000 comparisons of large objects in a short time.