DOWNLOAD

 

 

 

......


3. Technology

3.1. AliceBot
Some fifty years ago, Alan Turing presented his remarkable artificial intelligence 'test': when chatting with the computer, can you guess are you talking to a man or a machine. Some ten years ago, Hugh Gene Loebner initialized annual competition and since then, the Loebner Prize for artificial intelligence became the equivalent of a Nobel Prize for humans.

A.L.I.C.E (Artificial Linguistic Internet Computer Entity) won this prize twice. You can already chat with John Lennon's and Elvis's' constructs and some other invented characters.

Previous researches and applications proved that robots have many difficulties in learning from humans, and other systems in which robots could learn from each other are being researched tested. Robots are 'programmed' in the variety of XML. The most common critical remark to this technology is that BotMaster has to predict the conversation flow, but developers usually start writing simple scripts and improve them by analyzing chat logs.

http://www.alicebot.org/

3.2. NeuroGrid
How do you usually search the internet? You don't. You just search the database of your favourite search engine.

NeuroGrid is self-adaptive system of document management based on keywords and reputation. System learns through interaction between users and documents, other users and hosts. Quality of the search is being evaluated implicitly, by clicking on the link, or explicitly, by writing down evaluation of each document/host. That kind of system can be also used for management of local documents, but it shows its full power in the distributed net search because it functions as a group of friends chatting about a certain topic.

http://www.neurogrid.net/

3.3. JXTA
Have you noticed words like 'server', PC, operating system in cyberpunk novels? Authors haven't. Net is a group of connected devices that share common data. People connect to the Net through "consoles", which convert data into shape acceptable to people, but all devices use the same data, even programs.

JXTA is platform-independent group of open protocols that enable devices p2p communication: finding peers, services and files. But in distinction from traditional hierarchical and client-server systems (DNS, Web Services...), in this system peer asks for a service from the peer group and not from the single server/cluster. In other words, that means that you will get your data/services even when hackers crash root-servers.net. System is designed to run on anything, from mobile phones to mainframes, and it is available for several programming languages. In distinction from already known p2p systems in which the emphasis is on data sharing, here the CMS (Content Management System) is less important, and emphasis is on advertising, finding and access to services. In short, it's SOAP, UDDI and Gnutella in one.

http://www.jxta.org/

3.4. JPos
In temporary business world programmers and all internet related professions, run their business over the Net, and are being paid over the Net.
JPos is open-source implementation of ISO 8583/ANSI X9.2 protocol. This protocol is a standard for financial transactions on practically everything, from bank machine to internet. Also, JPos gives level of abstraction that distinguishes business logic from protocol details.

http://www.jpos.org/

3.5. JBoss
VR is much more useful with various applications, and today there are thousands of applications working on J2EE platform. Those applications can be run and administered over the Jboss, the most popular java application server, which in a moment of writing this paper has over 150.000 downloads per month.

Implementing Jboss in VRSpace all those applications become available to users of VRSpace.

http://www.jboss.org/

3.6. James
E-mail is the inevitable part of net collaboration.
James (Java Apache Mail Enterprise Server) is java mail/news server, based on open protocols (POP3,SMTP,NNTP).

http://jakarta.apache.org/

3.7. Multimedia
In VRSpace project the emphasis is not on multimedia - VRSpace distributes URLs and leaves the interpretation to clients. We will list only basic tools for implementation of java client:
· Java Media Foundation, which supports a number of audio and video formats
· Java 3D API, standard platform-independent API, hardware optimized (for now) for windows, linux and solaris platforms.
· XJ3D, referential X3D browser by Web3d consortium
· Java Speech API, which we experimentally integrated with AliceBot, and put on hold due to deficiency of open-source speech grammar.
VRML specification and browsers very well support various multimedia formats, and even some VR goggles.

3.8. VRSpace
... or putting it altogether.
VRSpace gives to cyberspace a 3D show - to users and applications as well. It also functions as asynchronous messaging system, and enables users, objects and applications to communicate among themselves, takes care of the world persistence and state of all objects. It can function as client-server application or stand alone server application. It has been projected to be maximally flexible on purpose, so adding a new application in space is reduced to extending one class, and protocol is created with the intention to enable that on the client side can be anything that can open socket - even telnet or shell script.

3.9. Design Guidelines
Maximum flexibility mostly excludes direct connections, so VRSpace server knows very little about applications that run in its space. Besides, this enhances the performance of the system and developer's learning speed.

Main goals of design:
· Cross-platform - we want to enable a user to choose the best hardware and OS.
· Modular - VRSpace has been designed with the purpose of adding anything in space. That's why we have chosen the most general event model - observer. We want to enable a developer to expand possibilities of space in the easiest way, so we have chosen Command pattern. Also we wanted to ease persistence of objects to the developer, so we have chosen the object DB model with general interface and simple conventions.
· Multiuser - new dimension of collaboration.

Also, everything that works on-line must work off-line as well, that's why we emphasised intensive caching of content and classes.