300 likes | 375 Views
NODAL : A Filesystem for Ubiquitous Collaboration. Lee Iverson SRI International leei@ai.sri.com. High-performance Teams. Teams should be more than sum of parts Rapidly make decisions Make the right decisions Respond quickly to new tasks Rapidly allocate resources
E N D
NODAL:A Filesystem forUbiquitous Collaboration Lee Iverson SRI International leei@ai.sri.com
High-performance Teams Teams should be more than sum of parts • Rapidly make decisions • Make the right decisions • Respond quickly to new tasks • Rapidly allocate resources • Reuse previous work in context • Integrate remote members effectively
Ubiquitous Collaboration • Development of rich, complete, adaptive, exploitable knowledge archive for teams. • Facilitation, recording and indexing of dialogue and processes of decision making • What? • Who and when? • Why?
Barriers High cost of entry • Extra work to get data into shared repository • Much relevant data is never entered • Failure to interoperate with legacy applications and work models High cost of exploitation • Inadequate search and reuse • Not integrated with tools • No support for dependencies/relationships
Example:Software Development • Products: • Design documents • Source code • Documentation • Papers • Marketing documents • Discussion: • Email • Chat
Example:Software Development • Relationships and dependencies are critical but implicit • Maintaining dependencies requires great effort • Expensive, unreliable • Combination of products and discussions form a knowledge base • Currently unexploitable
Example: Proposals • Products: • Background research • Proposal proper • Costing • Bios • Integrated, online product and knowledge base more critical when collaborators physically distributed
OHS/DKR • Open Hyperdocument System • Open standard • All kinds of documents • Tools for creating and manipulating… • Dynamic Knowledge Repositories • Recorded dialog • Collective IQ
Data Knowledge Context OHS/DKR:Proposed Organization Brain metaphor
Data Knowledge Context OHS/DKR: Data • Filesystem & Database • Data Model for Documents • Content and Structure • Communication model(s) • Security/Privacy • Auditing & Attribution Neurons
Data Knowledge Context OHS/DKR: Knowledge • Semantics • Explicit knowledge • RDF/DAML • Topic maps • Object models Long term memory
Data Knowledge Context OHS/DKR: Context • User interfaces • Perception and action • User modelling • Intention • Action • User adaptation Short term memory, Perception
The Data Layer: Requirements • Distributed – network oriented • Application independence • Cross-platform • Cross-language • Cross-application • Shareable and reusable content • Built-in security/privacy model • Change attribution and auditing • Legacy document and application support
The Data Layer: Requirements • Flexible communication model • Synchronous • Asynchronous • Hyperlinking • To/from any context • Stability through changes • Rich search facilities
NODAL: The Data Layer • Network-Oriented Data Abstraction Language • Web-based filesystem and database • Granularity below file level • General, extensible data model • Fully addressable content • Inherent hyperlinking and reuse • Radical simplicity and generality
NODAL: Filesystem • Traditional filesystem model • Hierarchical directories • Documents • Accessible by HTTP/S • Documents all typed (MIME) • Encoder/decoder • Type of root node of document data model
NODAL: Type System • Atomic types: • boolean, integer, character, octet, float, double • Node types (collections): • Struct – like C struct • Sequence – indexible sequence • Map – extensible dictionary • Language for extending/composing types
NODAL: Data Model • Document is graph of nodes • Accessible from root node • Nodes reusable • Within and between documents • String is: <sequence itemType=“character”>
NODAL: Navigation • Every data item addressable by URI • Paths: • Document URI specifies root node • Path operators for moving through node graph • Every path expressible as URI • Hyperlinks (dependencies): • Any set of URIs can be linked • Embedded and external links managed
NODAL: Metadata • Node is basic unit of granularity • Extend filesystem principles inside documents • Every node has: • Unique ID • Version and transaction history • Permission record
NODAL: Communication • Local memory store (cache) • Storage interface (transactional) • Wire protocol(s) • XML-RPC • SOAP • OAA • SQL binding (PostgreSQL, Oracle, etc.) • Lightweight databases (Berkeley DB)
NODAL: Search • Simple search language • SQL as model • Structure and content • Usable as content filter (views) • Always up-to-date • Possible integration with P2P search • Gnutella • NEVRLATE
NODAL: Application Model • Design data model • Adopt/adapt document format • MIME type & encoding plugin • Build application on top of NODAL API • Object model > data model • A shared, collaborative application!
NODAL: Legacy Applications • Filesystem interface via WebDAV • Traditional distributed filesystem over HTTP • COM+/CORBA applications expose controls • Windows applications (Office) augmentable • Linux (GNOME/KDE) expose CORBA controls
New capabilities • All documents integrated into reusable knowledge base • Live collaboration recorded and integrated into knowledge base • Dependencies easily tracked and notifications processed • Automatic processes integrated with manual
Why Open Source? Ubiquity: Create an industry, not an application Web model: • Simple, open standards • Open source implementations • Free, end-user applications
Open Source Funding? • Government funding • Agencies becoming more aware of the advantages of open source efforts • Foundations • Mostly educational • Enlightened corporations • Sun, IBM, HP, MSDW, … • Venture capital?
Open Source Funding? • Service model • Companies pay for service and development of open source technologies they depend on • Client has much greater control of development process than with proprietary software • In-house developers can easily work with others “Given enough eyeballs, all bugs are shallow.”
Competition • None really. • Alternatives all smaller scope • Groove • Successor to Lotus Notes • Proprietary, Windows-specific • Integration of DB and UI • Must build new applications (SDK)
Competition • Subversion • Version control for software development • Purely asynchronous model • Incremental path from CVS • No direct access to document structure