From: sss@world.std.com (Sergiu S Simmel)
Subject: Kala is a technology/product relevant to the c/s & p2p discussions
Organization: Penobscot Development Corporation, Arlington MA
Date: Sat, 10 Oct 1992 14:19:53 GMT





                         ====================
                         Kala Technical Brief
                         ====================


------- 
Summary
------------------------------------------------------------------------------

Kala(tm) is a Persistent Data Server managing distributed, shared,
arbitrarily complex and evolving persistent data. Kala is highly
efficient and secure. Kala manages the visibility of persistent data
elements to its clients, thus supporting any types of transactions,
versions, access control, security, configurations. Kala does not
restrict you to any particular model. Kala provides the mechanism, but
imposes no policy.

Kala is used for applications such as: kernel of DBMS products,
substrate for extended file systems, implementation of language
persistence, data manager for groupware applications as well as
applications which deal with large, complex, and changing volumes of
data (text databases, financial distributed transaction systems).
Kala is a component of broad reuse.


--------
Overview
------------------------------------------------------------------------------
Kala is not a DBMS. Instead, you use Kala whenever the few canned
combinations of DBMS features do not meet the needs of your
application. A DBMS product constrains you to accept *its* choice of
an end-user graphical interface, a query language binding, a specific
high level data or object model, a particular transaction model, a
single versioning scheme, etc. This either compromises your
application's functionality, or forces your to spend substantial
development effort and money to bridge the impedance mismatch to the
application.  Instead, Kala allows *you* to develop no more and no
less than the functionality you need. You build your domain specific
functionality our of a small set of primitives with very little code.
Your gains in productivity, efficiency, and flexibility are
substantial.

To sustain this level of flexibility and reuse, Kala manages any data
that you can represent in machine memory out of bits and references.
Examples include records, dynamically linked graphs and lists,
executable code, and object encapsulations.

Kala can handle data as small as one bit, and as large as the virtual
memory, while being totally unaware of the data's semantics. Its
stores and retrieves data efficiently, and compactly over a
distributed and dynamically reconfigurable set of Stores. Upon
retrieval, Kala dynamically relocates embedded references to retain
the original topological structure of the data, thus preserving
referential integrity. Kala also supports active data, physical store
management, and automatic archiving.

Kala repackages the fundamentals and universals of data management in
one reusable data server, separating them from the application domain
specific models and policies. Kala defines a low level
interoperability point for the data storage domain, just as X does for
the display domain and PostScript does for the printing domain.

Kala has matured through four successive versions to its present
industrial strength implementation and stable API. Kala is lean,
compact, and portable. Kala is a high performance, low overhead
system. We call it a Reduced Instruction Set Engine (RISE). Unlike
large, complex, and typically bulky DBMS products, Kala is small,
simple, and suitable for managing anywhere from a single diskette to
terabytes of distributed data.


--------
Features
------------------------------------------------------------------------------
- The execution architecture is that of multiple (communicating)
  servers and multiple clients. Kala can also be configured in a
  standalone (single process) mode. Kala's IPC is built for maximum
  performance, portable to any given datagram protocol.

- The managed data elements are made out of uninterpreted bits and
  references. Data elements (named `monads') are universally uniquely
  identified. Bits are stored with no overhead. References,
  represented in memory as native machine pointers, are stored
  very compactly, introducing an average of 2.5 bytes overhead.

- Kala is a fully recoverable system, short of media damage. Recovery
  from hardware failures can be supported by the layer beneath Kala.

- The Kala primitives support arbitrary transaction models, including
  classic short transactions, long (persistent) transactions, nested
  transactions, shared transactions, pessimistic and optimistic
  policies, etc. Concurrency control is achieved through two locking
  mechanisms (short-term and long-term (persistent, shared) locking),
  with full support for atomicity of operations and two-phase commit.

- The Kala primitives support arbitrary versioning models, allowing
  versions to co-exist in split/rejoined networks, various version
  organization strategies (single-thread, tree, DAG, etc.). Kala
  primitives provide mechanisms for arbitrary access and update
  triggers, such as notifications, security checks upon access/update,
  etc. -- with no limitations on what the trigger code does. Kala
  provides protection measures against virus and other intruding
  executions.

- The Kala primitives support a wide range of access control, security
  and protection models, including revocable access rights, access
  control without the overhead of ACL management, arbitrary access
  validation routines, etc. Kala does not introduce any more security
  holes than the operating environment already has.

- Kala has primitives for physical store allocation and de-allocation
  management, for a wide spectrum of store administrative tasks, as
  well as licensing administration. The latter includes application-
  sensitive time-limited client-connect-based licensing, as well as
  metered (connect/load/store) usage. Kala can be set up to do
  automatic archiving and backup of its physical store.

- Kala provides a wide spectrum of licensing schemes, usable by
  platforms and applications built upon Kala to their customer base.
  Kala provides renewable licenses, perpetual licenses, full
  protection against duplication without hardware (hostid) support,
  metered usage, etc.

- And more ... not fitting on this page-long Technical Brief.


--------
Benefits
------------------------------------------------------------------------------
* For those who need functionality traditionally associated with
  databases, but cannot tolerate the overhead and complications DBMS
  products introduce, Kala offers a flexible, compact, performant,
  elegant, and simple alternative.

* For those whose application domain requires data models where the
  mapping to those offered by today's DBMS products is cumbersome,
  introduces development and execution overhead, and is not portable
  across multiple linguistic and environmental platforms, Kala offers
  a data model independent interface against any data model
  expressible in terms of bits and pointers can be easily built.

* For those who need DBMS functionality or qualities that no single
  DBMS product now has, Kala offers the opportunity to build that
  functionality now with little effort out of a simple set of
  primitives, and not wait for one vendor or another to deliver
  it later.

* For those who need performance, size, portability, storage
  compactness, and industrial strength that no single DBMS product can
  now satisfy, Kala offers all of the above now.

* For those who realize that while object-level interoperability is a
  strong desideratum, the likelihood of a single, universal such model
  in the foreseeable future is quite low, Kala offers a solid, long
  term alternative. Data store interoperability that brings us beyond
  file systems is the best practical bet. Kala is the basis for data
  store interoperability now.


------------
Availability
------------------------------------------------------------------------------

o Kala is available now on Sun platforms (SunOS / 68K & SPARC). A
  80x86/DOS version is now available to alpha and early beta sites.
  Ports to Windows and MacOS are also likely in the near future. Any
  port is possible as NRE.
o Kala's interface is ANSI C, also callable from C++.
o For pricing and other information, please contact PDC at the phone or
  fax numbers below, or via e-mail at kala-request@world.std.com



  ___    ___    ___   ________________________________________________________ 
 |   `  |   `  |   `  Sergiu S. Simmel       Penobscot Development Corporation
  \ __   \ __   \ __   50 Princeton Road      Internet: sss@world.std.com 
       \      \      \  Arlington, Mass        Voice:  +1-617-646-3951
   ` ___) ` ___) ` ___)  02174-8253 USA         Fax:  +1-617-646-5753 







---------------------------------------------------------------------
                 PENOBSCOT DEVELOPMENT CORPORATION

                              announces

              A NEW FORUM FOR DISCUSSION AND INFORMATION 

                                  on 
                                  
                  THE KALA(tm) TECHNOLOGY AND PRODUCT
---------------------------------------------------------------------


Welcome to Kala -- The Persistent Data Server. Now, you can ...

        o keep yourself up-to-date with Kala's new developments, 
        o share your experience in using Kala with others, 
        o hear what others have to say about it, 
        o ask us questions and benefit from the answers we provide to
          others, 
        o participate in discussions on Kala-related technical topics,
          such as data/object persistence, visibility management,
          databases and file systems, etc.,
        o learn more about the Kala technology, including as yet 
          undocumented details,
    	o give us important technical and business feedback on our
    	  products,

        o and more ...

... by subscribing to our new Kala Forum. This forum, organized as a 
mailing list, will be moderated, so we will try to keep its focus and 
orientation straight, and the junk mail out.

To subscribe (and subsequently for any other requests regarding your
subscription, such as change of address, unsubscription, etc.), direct
your request to:

                --------------------------
                kala-request@world.std.com
                --------------------------
        
To contribute to the on-going discussions address your messages to:

                    ------------------
                    kala@world.std.com
                    ------------------

Since we value most advertizing by word-of-mouth and personal
reference, please forward this message to whomever you believe could
also benefit from subscribing.

We are looking forward to your subscription request and your
participation in 

                   ###   ==============  ###
                   ###   The Kala Forum  ###
                   ###   ==============  ###




 _     _     ____   _         ____ tm ____________________________________
 \\   /     |    \   \       |    \       \\\\ 
  \\ /__     \ __ \   \       \ __ \       \\\\ 
   \\    \    \    \   \       \    \       \\\\  
    \\    \    \    \   \       \    \       \\\\  No more than you need !!!
     \\'   \'   \'   \'  '----'  \'   \'      \\\\  No less than you want !!!
      ........................................................................




-- 
  ___    ___    ___   ________________________________________________________ 
 |   `  |   `  |   `  Sergiu S. Simmel       Penobscot Development Corporation
  \ __   \ __   \ __   50 Princeton Road      Internet: sss@world.std.com
       \      \      \  Arlington, Mass        Voice:  +1-617-646-3951
Newsgroups: comp.client-server