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. |