part2_collaboration in ds ds+ai,coprba queue

Upload: chinmay-gargava

Post on 08-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    1/100

    Part 2Collaboration in the 21st Century :Models and Theoretical Foundations

    Dr. Y.V. Ramana Reddy

    Dr. Sumitra Reddy

    Vijayanand BharadwajLane Dept. of Computer Science and Electrical Engg.

    West Virginia University

    USA

    August 2005

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    2/100

    August 2005 SIPLab (CERC, WVU) 2

    Part 2: Overview

    Foundations of Collaboration Science (CSCW)Confluence of Various Disciplines

    Primary Disciplines

    Management ScienceDistributed Computing

    Artificial Intelligence

    A Review of FoundationsDistributed Computing

    Work, Organization & Management

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    3/100

    August 2005 SIPLab (CERC, WVU) 3

    Aspects of Collaboration

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    4/100

    August 2005 SIPLab (CERC, WVU) 4

    Multiple Perspectives of Collaboration

    Human User Perspectivesfor example

    Sociology

    Psychology

    Linguistics

    Group Perspectivefor example:

    Organization and Management Science

    Economics

    Technology Perspectivefor example:

    Distributed Computing

    Human-Computer Interaction

    Information Systems & Knowledge Engineering

    Artificial Intelligence

    Pervasive and Ubiquitous Computing

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    5/100

    August 2005 SIPLab (CERC, WVU) 5

    Multiple Perspectives of Collaboration

    There are many more.

    Can You Think of Any Others ?

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    6/100

    August 2005 SIPLab (CERC, WVU) 6

    Primary Disciplines

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    7/100

    August 2005 SIPLab (CERC, WVU) 7

    Distributed Computing

    Foundations of Collaboration

    Collaboration

    Science

    Artificial IntelligenceManagement

    Science

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    8/100

    August 2005 SIPLab (CERC, WVU) 8

    A Review of Foundations

    1. Technical Foundations:

    DISTRIBUTED COMPUTING+ ARTIFICIAL INTELLIGENCE +Associated Fields ( Information Systems, Human Computer-Interaction & others Implicit )

    2. Work and Organization Theory (Management

    Science)

    Primarily: WORK PROCESS MODELING

    WORK PROCESSSPECIFICATION

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    9/100

    August 2005 SIPLab (CERC, WVU) 9

    Technology - A Myriad of Terms!

    HTTP

    Semantic WEB

    WWW

    WSDL

    SQL

    KQML

    RDF

    LINUX SSL

    VoiceXML

    Existing Technologies: Making Sense of it all.

    CORBAXML

    RDBMS

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    10/100

    August 2005 SIPLab (CERC, WVU) 10

    Technical Foundations

    Models and Concepts

    Theoretical paradigms and ideas

    Issues

    Key aspects and issues related to the above concepts

    Methodologies

    Concrete solutions and techniques to realize the above concepts

    and deal with their issues Substrates

    Enablers to implement the methodologies

    Medium

    Mediums of Communication

    Technology (Standards)Real-World Implementations of the above concepts and

    corresponding methodologies

    Applications and Tools:

    Applications built using the above technology

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    11/100

    August 2005 SIPLab (CERC, WVU) 11

    Technology Drivers

    DistributedComputing

    +

    Artificial

    Intelligence

    PERVASIVECOMPUTING MOBILE

    COMPUTING

    SEMANTICWEB

    GPS

    INTERNET

    NETWORKSWIRELINE

    &WIRELESS

    INTELLIGENTAGENTS

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    12/100

    August 2005 SIPLab (CERC, WVU) 12

    Technical Foundations

    Models and Concepts

    Theoretical paradigms and ideas

    Issues

    Key aspects and issues related to the above concepts

    Methodologies

    Concrete solutions and techniques to realize the above concepts and deal

    with their issues Substrates

    Enablers to implement the methodologies

    Medium

    Mediums of Communication

    Technology (Standards)Real-World Implementations of the above concepts and corresponding

    methodologies

    Applications and Tools:

    Applications built using the above technology

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    13/100

    August 2005 SIPLab (CERC, WVU) 13

    Models & Concepts

    Client Server ( 2 to N tier)

    Peer-to-Peer P2PService Oriented ArchitectureVirtual MachineHigh Performance Computing (Parallel Computing)Relational Data

    Meta-DataMobile ComputingPervasive & Ubiquitous ComputingIntelligent AgentsExpert Systems

    Knowledge BaseOntologyKnowledge EngineeringHuman-Computer-Interaction & Usability

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    14/100

    August 2005 SIPLab (CERC, WVU) 14

    NETWORK

    Client-Server Paradigm

    Client: A processes that initiates communication with another

    process (Server) to request resources and/or services.

    Servers: A process that responds to requests from other

    processes (clients).

    Server Process on HostServer Response

    Client Request

    Client Process on Host

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    15/100

    August 2005 SIPLab (CERC, WVU) 15

    Client-Server Paradigm

    Client-Server Architecture can be as simple as two processes

    communicating ( 2- tier)

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    16/100

    August 2005 SIPLab (CERC, WVU) 16

    Client-Server Paradigm

    There may be have many tiers depending on how the requested resources

    and services are accessed ( N-tier)

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    17/100

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    18/100

    August 2005 SIPLab (CERC, WVU) 18

    P2P Paradigm

    A process can be both a client and server.

    no always-on server

    arbitrary end systems

    directly communicate

    peers are intermittentlyconnected and change IP

    addresses

    Highly scalable

    But difficult to manage

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    19/100

    August 2005 SIPLab (CERC, WVU) 19

    Hybrid of client-server and P2P

    Napster File transfer P2P

    File search centralized: Peers register content at central server

    Peers query same central server to locate content

    Instant messaging Chatting between two users is P2P

    Presence detection/location centralized:

    User registers its IP address with central server when it comesonline

    User contacts central server to find IP addresses of buddies

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    20/100

    August 2005 SIPLab (CERC, WVU) 20

    Service Oriented Architecture

    A Service is an implementation of a well-defined business

    functionality that operates independent of the state of any otherService defined within the system.

    Services have a well- defined set of interfaces and operate through apre-defined contract between the client of the Service and theService itself. (http://javaboutique.internet.com/tutorials/serv_orient/ )

    Services can be reused by being invoked in different contexts.

    Services can thus evolves independently of its client entities.

    Services can be dynamically:

    Discovered, Invoked, & Interacted

    Without worrying about the details of the Service.

    Example: WEB SERVICES

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    21/100

    August 2005 SIPLab (CERC, WVU) 21

    Virtual Machine

    An entity that sits on top of the native Operating System on

    which programs can run that would normally be

    incompatible with the native system.

    The Key to Interoperability that is essential for Collaboration

    Compile-Once -- Run-Anywhere !!

    Example: Java Virtual Machine

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    22/100

    August 2005 SIPLab (CERC, WVU) 22

    High-Performance Computing

    The ability to harness computing resources such as machine

    cycles and memory, and thereby obtain greater computing

    capability.

    Conventionally realized through parallel-architectures on one

    entity example: Super Computer Architectures

    Recently realized by incorporating hosts across a network

    Clusters: Multiple computing nodes across local Ethernet

    GRIDS: Multiple computing nodes across the Internet

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    23/100

    August 2005 SIPLab (CERC, WVU) 23

    Databases and Meta-Data

    Databases store data that is used and an created as a result

    of work processes. Relational Databases, Object-Oriented

    Databases and Hierarchical Databases are some models.

    Meta-Data: Addition of Data attributes to describe Information

    Enable information to be discovered and used by various

    clients in a variety of ways.

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    24/100

    August 2005 SIPLab (CERC, WVU) 24

    Mobile Computing

    The ability to access computational resources (data, programs

    and services) while mobile without being tied to a particular

    computing node or network.

    Possible by the evolution of hand-held computing devices that

    can be used as computing nodes to run programs.

    Client Processes running on these devices can access Server

    Processes, via wireless networks.

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    25/100

    August 2005 SIPLab (CERC, WVU) 25

    Pervasive or Ubiquitous Computing

    An environment where resources and services that require

    computing and connectivity are always available in an

    unobtrusive manner through embedded devices in

    clothing, tools, appliances, cars, homes and many others

    !!!!!

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    26/100

    August 2005 SIPLab (CERC, WVU) 26

    Pervasive or Ubiquitous Computing

    Some Examples: (from http://www.fincher.org/tips/web/Pervasive.shtml)

    1. Medications (what if every pill had a UPC code on it?)

    2. Home interaction: The networked coffee pot/an alarm clock sync'd

    with Outlook / Electricity Peak Conservation/Thermostat/Hot Water

    Heater connected via wireless network (security issues)

    3. Car: Schedule oil change seamlessly w/ garage; maps; traffic; kid

    movies streamed to back seat ("Only if its quiet back there")

    4. Finding Possessions: "Dude, where's my dog?"

    5. Distribution: "Where is my package?"

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    27/100

    August 2005 SIPLab (CERC, WVU) 27

    Pervasive or Ubiquitous Computing

    Some Examples: (from http://www.fincher.org/tips/web/Pervasive.shtml)

    6. Vending: improved routing, re-supply, ordering; price changes pushed

    to machines

    7. Flight Schedules: Your phone rings. Its the computer at American

    Airlines. Your flight departure is delayed by 20 minutes.

    8. Networked coffee shop: Wi-Fi at StarBuck's and Schlosky's

    9. Location: finding friends at the mall (or hiding from) !!

    OTHER EXAMPLES ???

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    28/100

    August 2005 SIPLab (CERC, WVU) 28

    Knowledge-Based Systems

    ( Expert Systems)

    A system that uses knowledge specific to a problem

    domain to provide answers. This knowledge is obtained

    from experts in that field.

    Uses knowledge of a domain as a human expert would and

    emulates human performance, hence called knowledge-intensive or strong-method of problem solving.

    The techniques used in representing knowledge and

    inference are used in a wide variety of collaborativesystems such as adaptable workflow systems.

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    29/100

    August 2005 SIPLab (CERC, WVU) 29

    Expert Systems Architecture

    Reproduced from [Luger G. 2005]

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    30/100

    August 2005 SIPLab (CERC, WVU) 30

    Technical Foundations

    Models and Concepts

    Theoretical paradigms and ideas Issues

    Key aspects and issues related to the above concepts

    Methodologies

    Concrete solutions and techniques to realize the above concepts

    and deal with their issues Substrates

    Enablers to implement the methodologies

    Medium

    Mediums of Communication

    Technology (Standards)Real-World Implementations of the above concepts and

    corresponding methodologies

    Applications and Tools:

    Applications built using the above technology

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    31/100

    August 2005 SIPLab (CERC, WVU) 31

    Issues

    Goals of Distributed Computing [ Tannenbaum ] [Popstojanoava 2005]

    1. Connecting users and resources:

    Access remote resources and share them in a controlled way.

    2. Transparency

    Distributed system presents itself to users and applications as if itwere only a single computer

    3.Openness

    Distributed system offers services according to standard rules thatdescribe the syntax and semantics of these services

    4. Scalability

    Ability to expand

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    32/100

    August 2005 SIPLab (CERC, WVU) 32

    Connecting Users & Resources

    Resources can be virtually anything: printers, computers,

    storage facilities, data, files, Web pages, networks

    With respect to connectivity and sharing Security and Privacy

    are very important issues.

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    33/100

    August 2005 SIPLab (CERC, WVU) 33

    Transparency in a Distributed System

    Different forms of transparency in a distributed system.

    Transparency Description

    AccessHide differences in data representation and how aresource is accessed

    Location Hide where a resource is located

    Migration Hide that a resource may move to another location

    Relocation Hide that a resource may be moved to another locationwhile in use

    ReplicationHide that a resource may be shared by several competitiveusers

    ConcurrencyHide that a resource may be shared by several competitiveusers

    Failure Hide the failure and recovery of a resource

    PersistenceHide whether a (software) resource is in memory or ondisk

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    34/100

    August 2005 SIPLab (CERC, WVU) 34

    Openness

    Distributed Systems formalize interaction in terms ofProtocols to ensure

    compatibility.

    Services are generally specified through interfaces, which are often

    described in an Interface Definition Language (IDL)

    Nearly always only the syntax is captured (names of the functions,

    types of the parameters, return values, possible exceptions that can

    be raised, and so on)

    Proper specification should be complete and neutral

    Important forInteroperability and Portability

    Specification should be Flexible easy to configure, change, and extend

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    35/100

    August 2005 SIPLab (CERC, WVU) 35

    Scalability

    Scalability problems manifest as performance problems

    due to limited capacity of servers and networks

    Some Techniques for Scaling

    Hiding communication latencies

    Distribution

    Replication and Caching

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    36/100

    August 2005 SIPLab (CERC, WVU) 36

    Scalability

    Hiding Communication Latencies:

    Batch Processing, Parallel Processing,Client-Side Processing

    1.4

    The difference between letting:

    A server OR A client check forms as they are being filled

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    37/100

    August 2005 SIPLab (CERC, WVU) 37

    Scalability

    Distribution Technique:

    An example of dividing the DNS name space into zones.

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    38/100

    August 2005 SIPLab (CERC, WVU) 38

    Scalability

    Replication: increases availability and improves

    performance

    Caching: special form of replication; making a copy of the

    resource in the proximity of the client

    Replication and caching lead to consistency problems

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    39/100

    August 2005 SIPLab (CERC, WVU) 39

    Technical Foundations

    Models and Concepts

    Theoretical paradigms and ideas Issues

    Key aspects and issues related to the above concepts

    Methodologies

    Concrete solutions and techniques to realize the above concepts

    and deal with their issues Substrates

    Enablers to implement the methodologies

    Medium

    Mediums of Communication

    Technology (Standards)Real-World Implementations of the above concepts and

    corresponding methodologies

    Applications and Tools:

    Applications built using the above technology

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    40/100

    August 2005 SIPLab (CERC, WVU) 40

    Methodologies

    Remote Procedure Call

    Object Oriented CORBA

    Message Queuing Systems

    Hyper-linking

    Markup Language

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    41/100

    August 2005 SIPLab (CERC, WVU) 41

    Remote Procedure Call

    A Remote Procedure Call (RPC) is a protocol that allows a

    computer program running on one host to cause code to beexecuted on another host without the programmer needing

    to explicitly code for this.

    When the code in question is written using object-oriented

    principles, RPC is sometimes referred to as remote

    invocation or remote method invocation.

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    42/100

    August 2005 SIPLab (CERC, WVU) 42

    Remote Procedure Call

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    43/100

    August 2005 SIPLab (CERC, WVU) 43

    Steps of a Remote Procedure Call

    1. Client procedure calls client stub in normal way

    2. Client stub builds message, calls local OS

    3. Client's OS sends message to remote OS

    4. Remote OS gives message to server stub

    5. Server stub unpacks parameters, calls server

    6. Server does work, returns result to the stub

    7. Server stub packs it in message, calls local OS

    (Continued)

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    44/100

    August 2005 SIPLab (CERC, WVU) 44

    Steps of a Remote Procedure Call

    (continued)

    Server's OS sends message to client's OS

    Client's OS gives message to client stub

    Stub unpacks result, returns to client

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    45/100

    August 2005 SIPLab (CERC, WVU) 45

    Remote Procedure Call

    In order to allow servers to be accessed by differing clients, a

    number of standardized RPC systems have been created.

    Most of these use an interface description language (IDL) to

    allow various platforms to call the RPC.

    Examples of such systems:

    Sun RPC (sometimes called ONC RPC),

    Distributed computing environment (DCE),

    Microsoft's DCOM (and ActiveX), which is based in part on

    DCE

    and CORBA.

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    46/100

    August 2005 SIPLab (CERC, WVU) 46

    Remote Procedure Call

    RPC using XML as the IDL, and HTTP as the network

    protocol.

    The advantage of this system, known as WEBSERVICES, issimplicity and standardization, the IDL is a text file that is

    widely understood, and HTTP is ubiquitous.

    An example of such an RPC system is:

    SOAP (Simple Object Access Protocol) developed in turn from

    XML-RPC.

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    47/100

    August 2005 SIPLab (CERC, WVU) 47

    CORBA

    Common Object Request Broker Architecture (CORBA), is a

    standard for software components.

    The CORBA standard is created and controlled by the ObjectManagement Group (OMG).

    It defines APIs, communication protocol, and object/serviceinformation models to enable heterogeneous applicationswritten in various languages running on various platforms tointeroperate.

    CORBA therefore provides platform and location transparencyforsharing well-defined objects across a distributedcomputing platform

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    48/100

    August 2005 SIPLab (CERC, WVU) 48

    CORBA ORB Architecture

    Reproduced From [Schmidt, D.]

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    49/100

    August 2005 SIPLab (CERC, WVU) 49

    CORBA ORB Architecture

    [Reproduced From [Schmidt, D.]

    Object -- This is a CORBA programming entity that consists of anidentity, an interface, and an implementation, which is known as aServant.

    Servant -- This is an implementation programming language entity thatdefines the operations that support a CORBA IDL interface. Servantscan be written in a variety of languages, including C, C++, Java,Smalltalk, and Ada.

    Client -- This is the program entity that invokes an operation on anobject implementation. Accessing the services of a remote object

    should be transparent to the caller. Ideally, it should be as simple as calling a method on an object.

    The remaining components in the Figure help to support this level oftransparency.

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    50/100

    August 2005 SIPLab (CERC, WVU) 50

    CORBA ORB Architecture

    Reproduced From [Schmidt, D.]

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    51/100

    August 2005 SIPLab (CERC, WVU) 51

    CORBA ORB Architecture

    Object Request Broker(ORB) -- The ORB provides a

    mechanism for transparently communicating client requeststo target object implementations.

    The ORB simplifies distributed programming by decouplingthe client from the details of the method invocations.

    This makes client requests appear to be local procedurecalls.

    When a client invokes an operation, the ORB is responsiblefor finding the object implementation, transparentlyactivating it if necessary, delivering the request to theobject, and returning any response to the caller.

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    52/100

    August 2005 SIPLab (CERC, WVU) 52

    CORBA ORB Architecture

    ORB Interface -- An ORB is a logical entity that may be

    implemented in various ways (such as one or moreprocesses or a set of libraries).

    To decouple applications from implementation details, the

    CORBA specification defines an abstract interface for anORB.

    This interface provides various helper functions such as

    converting object references to strings and vice versa, andcreating argument lists for requests made through the

    dynamic invocation interface described below.

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    53/100

    August 2005 SIPLab (CERC, WVU) 53

    CORBA ORB Architecture

    Reproduced From [Schmidt, D.]

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    54/100

    August 2005 SIPLab (CERC, WVU) 54

    CORBA ORB Architecture

    CORBA IDL stubs and skeletons -- CORBA IDL stubs

    and skeletons serve as the ``glue'' between the client andserver applications, respectively, and the ORB.

    The transformation between CORBA IDL definitions and

    the target programming language is automated by aCORBA IDL compiler.

    The use of a compiler reduces the potential for

    inconsistencies between client stubs and server skeletonsand increases opportunities for automated compiler

    optimizations.

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    55/100

    August 2005 SIPLab (CERC, WVU) 55

    CORBA ORB Architecture

    Reproduced From [Schmidt, D.]

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    56/100

    August 2005 SIPLab (CERC, WVU) 56

    CORBA ORB Architecture

    Dynamic Invocation Interface (DII) -- This interface allows

    a client to directly access the underlying requestmechanisms provided by an ORB.

    Applications use the DII to dynamically issue requests to

    objects without requiring IDL interface-specific stubs to belinked in.

    Unlike IDL stubs (which only allow RPC-style requests), the

    DII also allows clients to make non-blocking deferredsynchronous (separate send and receive operations) and

    oneway(send-only) calls.

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    57/100

    August 2005 SIPLab (CERC, WVU) 57

    CORBA ORB Architecture

    Dynamic Skeleton Interface (DSI) -- This is the server

    side's analogue to the client side's DII.

    The DSI allows an ORB to deliver requests to an object

    implementation that does not have compile-time knowledge

    of the type of the object it is implementing.

    The client making the request has no idea whether the

    implementation is using the type-specific IDL skeletons or isusing the dynamic skeletons.

    CORBA ORB A hi

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    58/100

    August 2005 SIPLab (CERC, WVU) 58

    CORBA ORB Architecture

    Object Adapter-- This assists the ORB with delivering

    requests to the object and with activating the object.

    More importantly, an object adapter associates object

    implementations with the ORB.

    Object adapters can be specialized to provide support for

    certain object implementation styles (such as OODB object

    adapters for persistence and library object adapters for

    non-remote objects).

    M Q i

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    59/100

    August 2005 SIPLab (CERC, WVU) 59

    Message Queuing

    Enable Asynchronous Communication among processes.

    Four combinations for loosely-coupled communications using queues.

    M Q i G l A hi

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    60/100

    August 2005 SIPLab (CERC, WVU) 60

    Message Queuing: General Architecture

    The relationship between queue-level addressing and network-level

    addressing.

    M Q i G l A hit t

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    61/100

    August 2005 SIPLab (CERC, WVU) 61

    Message Queuing: General Architecture

    The general organization of a message-queuing system with

    routers.

    M Q i

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    62/100

    August 2005 SIPLab (CERC, WVU) 62

    Message Queuing

    Primitive Meaning

    Put Append a message to a specified queue

    GetBlock until the specified queue is nonempty, and remove the firstmessage

    PollCheck a specified queue for messages, and remove the first. Neverblock.

    Notify

    Install a handler to be called when a message is put into the

    specified queue.

    Basic interface to a queue in a message-queuing system.

    H Li ki

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    63/100

    August 2005 SIPLab (CERC, WVU) 63

    Hyper-Linking

    A hyperlink (or simply a link), is a reference in a hypertext

    document to another document or other resource.

    Similar to a citation in literature.

    However, combined with a data network and suitable access

    protocol, it can be used to fetch the resource referenced.

    This can then be saved, viewed, or displayed as part of the

    referencing document.

    A key part of the foundation of the World Wide Web !

    M k L

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    64/100

    August 2005 SIPLab (CERC, WVU) 64

    Markup Language

    A mechanism to add meta-information to a body of information.

    A language that can be used to annotate or markup other information.

    A markup language combines text and extra information about the text.

    The extra information, for example about the text's structure or

    presentation, is expressed using markup, which is intermingled with the

    primary text.

    Example: Extensible Markup Language (XML)

    HyperText Markup Language (HTML)

    and many others

    T h i l F d ti

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    65/100

    August 2005 SIPLab (CERC, WVU) 65

    Technical Foundations

    Models and Concepts

    Theoretical paradigms and ideas Issues

    Key aspects and issues related to the above concepts

    Methodologies

    Concrete solutions and techniques to realize the above concepts

    and deal with their issues Substrates

    Enablers to implement the methodologies

    Medium

    Mediums of Communication

    Technology (Standards)Real-World Implementations of the above concepts and

    corresponding methodologies

    Applications and Tools:

    Applications built using the above technology

    S bstrates

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    66/100

    August 2005 SIPLab (CERC, WVU) 66

    Substrates

    Distributed Computing Systems operate over various

    substrates:

    Local Area Networks which can form Intranets

    InternetThe public Internet which is the network of networks.

    Ubiquitous in its reach across the world

    An example of Wide-Area Networking.

    Grids

    Networks used to connect high-performance computingnodes. Grids may use the Internet or dedicatedinfrastructure.

    Technical Foundations

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    67/100

    August 2005 SIPLab (CERC, WVU) 67

    Technical Foundations

    Models and Concepts

    Theoretical paradigms and ideas Issues

    Key aspects and issues related to the above concepts

    Methodologies

    Concrete solutions and techniques to realize the above concepts

    and deal with their issues Substrates

    Enablers to implement the methodologies

    Medium

    Mediums of Communication

    Technology (Standards)Real-World Implementations of the above concepts andcorresponding methodologies

    Applications and Tools:

    Applications built using the above technology

    Mediums

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    68/100

    August 2005 SIPLab (CERC, WVU) 68

    Mediums

    Mediums connect hosts to create substrates.

    Wireline

    Computer Networks using media such as copper twisted pair and or

    fiber optics

    Telephone landline networks

    Wireless

    Wireless LANS, Cellular Phone networks, Satellites

    Technical Foundations

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    69/100

    August 2005 SIPLab (CERC, WVU) 69

    Technical Foundations

    Models and Concepts

    Theoretical paradigms and ideas Issues

    Key aspects and issues related to the above concepts

    Methodologies

    Concrete solutions and techniques to realize the above concepts

    and deal with their issues Substrates

    Enablers to implement the methodologies

    Medium

    Mediums of Communication

    Technology (Standards)Real-World Implementations of the above concepts andcorresponding methodologies

    Applications and Tools:

    Applications built using the above technology

    Technology & Standards

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    70/100

    August 2005 SIPLab (CERC, WVU) 70

    Technology & Standards

    HTTP (HyperText Transfer Protocol)

    HTTP is a request/response protocol between clients and servers.

    An HTTP client, such as a web browser, typically initiates a request by

    establishing a TCP connection to a particular port on a remote host

    (port 80 by default).

    An HTTP server listening on that port waits for the client to send a request

    string with elements specified in the protocol.

    Upon receiving the request string (and message, if any), the server sends

    back a response string, and a message of its own, the body of which is

    perhaps the requested file, an error message, or some otherinformation.

    Technology & Standards

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    71/100

    August 2005 SIPLab (CERC, WVU) 71

    Technology & Standards

    Java

    High-Level Language that compiles as bytecodes that can run on anyplatform with the Java Virtual Machine

    J2EE (Java 2 Platform Enterprise Edition):

    A set of specifications and platform for creating N-Tier client-serverapplications by exploiting the notion of component reuse.

    Components are distributed across the client , presentation layer (JavaServer Pages & Java Servlets), business logic layer and data accesslayer ( Enterprise Java Beans)

    Specifications deal with managing all aspects of component life-cycle andtransactions.

    Technology & Standards

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    72/100

    August 2005 SIPLab (CERC, WVU) 72

    Technology & Standards

    RDBMS (Relational Database Management Systems):

    Present the data to the user as relations (a presentation in tabular form, i.e. as acollection of tables with each table consisting of a set of rows and columns, cansatisfy this property)

    Provided relational operators to manipulate the data in tabular form viz. Add,modify, delete, update etc.

    XML (Extensible Markup Language)An implementation of the Markup Language Concept. Derived from StandardGeneralized Markup Language (SGML)

    LDAP (Lightweight DirectoryAccess Protocol)LDAP defines a protocol for updating and searching directories running over

    TCP/IP.LDAP has been designed for working X.500 directories.

    X.500 is the set of ITU-T computer networking standards covering electronicdirectory services such as white pages, Knowbot and whois.

    Technology & Standards

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    73/100

    August 2005 SIPLab (CERC, WVU) 73

    Technology & Standards

    Web Services:

    A Web service is a collection of protocols and standards used for

    exchanging data between applications or systems.

    Software applications written in various programming languages and

    running on various platforms can use web services to exchange data

    over computer networks like the Internet in a manner similar to inter-

    process communication on a single computer.

    This interoperability (e.g., between Java and Python, or Windows and

    Linux applications) is due to the use of open standards.

    Technology & Standards

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    74/100

    August 2005 SIPLab (CERC, WVU) 74

    Technology & Standards

    Web Services Architecture (1)

    Technology & Standards

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    75/100

    August 2005 SIPLab (CERC, WVU) 75

    Technology & Standards

    Web Services Architecture (2)

    XML & SOAP:All data to be exchanged is formatted with XML tags. The encoded

    message is transmitted through a transport protocol such as SOAP,JAX-RPC, or XML-RPC.

    WSDL (Web Services Description Language):The public interface to the web service is described by WSDL. This is an

    XML-based service description on how to communicate using the webservice.

    UDDI (Universal Description, Discovery, andIntegration)The web service information is published using this protocol. It should

    enable applications to look up web services information in order todetermine whether to use them

    Technology & Standards

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    76/100

    August 2005 SIPLab (CERC, WVU) 76

    Technology & Standards

    WAP (Wireless Application Protocol)

    Wireless Application Protocol (WAP) is an open international standard forapplications that use wireless communication, for example Internetaccess from a mobile phone.

    WAP was designed to provide services equivalent to a Web browser withsome mobile-specific additions, being specifically designed to addressthe limitations of very small portable devices.

    Technology & Standards

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    77/100

    August 2005 SIPLab (CERC, WVU) 77

    Technology & Standards

    Bluetooth

    Bluetooth is an industrial specification for wireless personal area networks

    (PANs).

    Bluetooth provides a way to connect and exchange information between

    devices like personal digital assistants (PDAs), mobile phones, laptops,PCs, printers and digital cameras via a secure, low-cost, globally

    available short range radio frequency.

    Bluetooth lets these devices talk to each other when they come in range,

    even if they are not in the same room, as long as they are within up to100 metres (320 feet) of each other, dependent on the power class of

    the product.

    Technology & Standards

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    78/100

    August 2005 SIPLab (CERC, WVU) 78

    Technology & Standards

    Wi-Fi ("Wireless Fidelity)

    It is a set of product compatibility standards for wireless local areanetworks (WLAN) based on the IEEE 802.11 specifications.

    Wi-Fi was intended to be used for mobile devices and LANs, but is nowoften used for Internet access.

    It enables a person with a wireless-enabled computer or personal digitalassistant (PDA) to connect to the Internet when in proximity of anaccess point.

    The geographical region covered by one or several access points is called

    a hotspot.

    Technical Foundations

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    79/100

    August 2005 SIPLab (CERC, WVU) 79

    Technical Foundations

    Models and Concepts

    Theoretical paradigms and ideas Issues

    Key aspects and issues related to the above concepts

    Methodologies

    Concrete solutions and techniques to realize the above concepts

    and deal with their issues Substrates

    Enablers to implement the methodologies

    Medium

    Mediums of Communication

    Technology (Standards)

    Real-World Implementations of the above concepts andcorresponding methodologies

    Applications and Tools

    Applications built using the above technology

    Applications

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    80/100

    August 2005 SIPLab (CERC, WVU) 80

    Applications

    World Wide Web

    An application whose foundations are based on

    client-server model, the Internet, hyperlinks, HTTPprotocol and other key elements.

    Unprecedented impact on Collaboration !

    Applications

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    81/100

    August 2005 SIPLab (CERC, WVU) 81

    Applications

    World Wide Web

    Can we enumerate the ways the WWW haschanged our lives ?

    Applications

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    82/100

    August 2005 SIPLab (CERC, WVU) 82

    Applications

    World Wide Web Web page consists ofobjects

    Object can be HTML file, JPEG image, Java applet, audio

    file,

    Web page consists ofbase HTML-file which includes

    several referenced objects

    Each object is addressable by a Uniform Resource Locator

    Example URL:

    www.someschool.edu/someDept/pic.gif

    host name path name

    Applications

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    83/100

    August 2005 SIPLab (CERC, WVU) 83

    Applications

    World Wide Web Web page consists ofobjects

    Object can be HTML file, JPEG

    image, Java applet, audio file,

    Web page consists ofbase HTML-

    file which includes several

    referenced objects

    Each object is addressable by a

    Uniform Resource Locator

    Example URL:

    www.someschool.edu/someDept/pic.gif

    host name path name

    PC runningExplorer

    Serverrunning

    Apache Webserver

    Mac runningNavigator

    Applications

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    84/100

    August 2005 SIPLab (CERC, WVU) 84

    Applications

    Semantic Web( from http://infomesh.net/2001/swintro/)

    The Semantic Web is a mesh of information linked in a way

    as to be easily processed by machines, on a global scale.

    Information is represented, identified and stored on the WWW

    in a manner by which programs can search and access it

    without human intervention.

    Information is not just linked but meanings are provided to the

    link.

    Applications

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    85/100

    August 2005 SIPLab (CERC, WVU) 85

    Applications

    Semantic Web: Enabling Standards and Technology

    ( Tim Berners-Lee http://www.w3.org/2002/Talks/04-sweb/Overview.html)

    Applications

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    86/100

    August 2005 SIPLab (CERC, WVU) 86

    Applications

    Semantic Web:URI & Unicode: Actual data and identifier.

    XML & Namespaces: XML based annotations to describe data

    RDF & RDF Schema Layers: (Resource Description Framework)

    A standard for describing information on the Web using tuples. This allows

    information to be described in a machine-readable form.

    RDF described relationships between information.

    Information can be retrieved by searching based on these relationships.

    Applications

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    87/100

    August 2005 SIPLab (CERC, WVU) 87

    Applications

    Semantic Web: ArchitectureOntology Layer:More meta-information, such as Transitive property Unique,

    Unambiguous, Cardinality, etc

    Rules Layer:

    General purpose rules languages that allow query and filtering.

    Rules layer allows form of Proof without full Logic layer.

    Logic Layer:

    Universal language for monotonic logic to inference about the information.

    Proof & Trust Layers:

    A flexible language to express existing systems such that theirtrustworthiness can be evaluated by programs.

    Signature and Encryption:

    Essential elements in Securing the layers.

    Applications

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    88/100

    August 2005 SIPLab (CERC, WVU) 88

    Applications

    Oracle 9iAS: Oracles Application Server that implements the

    J2EE architecture specifications.

    JBoss: Another implementation of the J2EE architecture

    MySQL: An implementation of the RDBMS technology

    Groupware Systems such as:

    Lotus Server & Notes

    Microsoft Exchange,Microsoft Project

    eGroupware

    Novells GroupWise

    IBM WebSphere Workflow System and MANY OTHERS !

    Work & Organization Theory

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    89/100

    August 2005 SIPLab (CERC, WVU) 89

    o & O ga at o eo y

    Some Prominent Theories about Group Work([Borghoff & Schlichter])

    Conversation Networks & Speech Act Theory:

    This theory seeks to model group process in terms of

    conversations among participants. The notion of speech asan action stems from Speech-Act Theory.

    Work & Organization Theory

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    90/100

    August 2005 SIPLab (CERC, WVU) 90

    g y

    Some Prominent Theories about Group Work[Borghoff & Schlichter]

    Coordination Theory (Malone & Crowston)

    Coordination can be seen as the process of managing dependencies amongactivities Malone & Crowston

    This theory formalizes dependencies between activities and

    provides a framework to analyze and evaluate different

    coordination approaches.

    Coordination is divided into four basic components: goals,

    activities, actors and dependencies.

    Work & Organization Theory

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    91/100

    August 2005 SIPLab (CERC, WVU) 91

    g y

    Some Modeling & Specification Formalisms[Oren and Haller 2005], [Kim and Paik 1997], [Reijers Hajo, A. 2003]

    Petri Nets

    Provide formal semantics to model workflows and a graphical

    notation to express them.

    Consistent with the task-oriented nature of workflow.

    Allows for a clear distinction between the structure of the

    workflow and its dynamic state.

    Supports notion of concurrency.

    Work & Organization Theory

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    92/100

    August 2005 SIPLab (CERC, WVU) 92

    g y

    Some Modeling & Specification Formalisms

    Information Control Nets (ICN)

    A mathematical formalism designed to graphically model work

    processes.

    Unlike Petri Nets ICN were specially created for business

    procedures.

    Here each procedure is defined by a set of objects ( such as

    people, documents ) and set of relations ( precedence and

    data access) which link these objects.The basic elements are activity, procedure, actor, mechanism

    and policywhich are modeled as a control flow graph.

    Work & Organization Theory

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    93/100

    August 2005 SIPLab (CERC, WVU) 93

    g y

    Some Modeling & Specification Formalisms

    Yet Another Workflow Language (YAWL)

    YAWL is based on Petri nets (workflow nets).

    However has additional mechanisms for direct and intuitive

    modeling of all workflow patterns.

    YAWL can be mapped to Petri nets, but has an independent

    semantics.

    A YAWL specification is a hierarchical extended workflow net,

    consisting of tasks (transitions)and conditions (places).

    Tasks are either atomic or composite.

    Work & Organization Theory

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    94/100

    August 2005 SIPLab (CERC, WVU) 94

    g y

    Some Modeling & Specification Formalisms

    Temporal LogicTemporal logic is a generic logic for representing and

    reasoning about temporal information.

    Widely used for formal specification and verification ofconcurrent and reactive programs.

    Used to model inter-task dependencies in workflows usingcomputational tree logic, a temporal logic variant.

    The approach deals with specifying inter-task dependencies in

    a multi-database environment, in which certain transactionalproperties of task executions should be ensured.

    Work & Organization Theory

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    95/100

    August 2005 SIPLab (CERC, WVU) 95

    g y

    Some Modeling & Specification Formalisms

    Transaction Logic

    Has been used for modeling, executing and reasoning

    about workflows.

    It is an extension of classical predicate logic which provides

    a logical foundation for state changes in databases and logic

    programs.

    A workflow is specified as a set of formulas that describe

    dependencies between tasks.

    Tasks are modeled using predicates, they can be either

    atomic or be defined as a sub-procedure (this allows for

    compositional workflow modeling).

    Summary

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    96/100

    August 2005 SIPLab (CERC, WVU) 96

    y

    Advances in Various Disciplines (primarily Management

    Science, Distributed Computing and ArtificialIntelligence) have had a deep impact on the course ofCollaboration

    Design and Development of Collaboration Systems mustleverage this knowledge in devising effective solutions !

    References & Acknowledgement

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    97/100

    August 2005 SIPLab (CERC, WVU) 97

    g

    We would like to acknowledge the following sources of

    information on which this presentations contents arebased.

    Text and pictures have been reproduced as is or withmodifications from the sources below.

    1. Chapter 2: Application Layer Presentation SlidesComputer Networking: A Top Down Approach Featuring the Internet, 3rdedition. Jim Kurose, Keith RossAddison-Wesley, July 2004.All material copyright 1996-2004J.F Kurose and K.W. Ross, All Rights Reserved

    2. Slides from http://www.cs.vu.nl/~ast/books/ds1/Web Site to book Distributed Systems: Principles and Paradigms, Andrew S.

    Tanenbaum , Maarten van Steen

    Prentice Hall (India) ISBN: 81-203-2215-0

    References & Acknowledgement

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    98/100

    August 2005 SIPLab (CERC, WVU) 98

    g

    (Continued)

    3. Lecture Notes on Distributed Systems by Dr.Katerina Goseva-Popstojanova(LDCSEE, WVU)

    http://www.csee.wvu.edu/~katerina/Teaching/CS-757-Fall-2004/Notes-CS-757-

    Fall-2004.htm)

    4. [Luger, G. 2005] Artificial Intelligence Structures and Strategies for Complex

    Problem Solving , - George F Luger, 5th Edition, Addison Wesley, 2005, ISBN032126319

    5. From Douglas C Schmidt Tutorial on CORBA

    http://www.cs.wustl.edu/~schmidt/corba-overview.html

    6. [Borghoff & Schlichter]: Computer Supported Cooperative Work: Introduction to

    Distributed Systems, Springer-Verlag 1998, ISBN: 3-540-66984-1.

    7. WikiPedia -- Web Encyclopedia. http://www.wikipedia.org

    References & Acknowledgement

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    99/100

    August 2005 SIPLab (CERC, WVU) 99

    (Continued)

    8. [Oren & Haller 2005]Formal frameworks for workflow modelling

    Eyal Oren Armin Haller DERI Technical Report 2005-04-07, April 2005

    Retrieved from www.deri.at/publications/techpapers/documents/DERI-TR-2005-04-07.pdf

    9. [Kim and Paik 1997] Practical Experiences and Requirements on Workflow

    Kwang Hoon Kim & Su-Ki Paik, published in Coordination Technology for

    Collaborative Applications eds. Wolfram Conen and Gustaf Neumann, Lecture

    Notes in Computer Science Vol 1364, 1997.

    10. [Reijers Hajo, A. 2003] Workflow Modeling Chapter 2 in Design and Control

    of Workflow Processes Business Process Management for the ServiceIndustry, Lecture Notes in Computer Science, Vol.2617, 2003 Springer.

    Questions & Discussion

  • 8/7/2019 part2_collaboration in ds DS+AI,Coprba Queue

    100/100

    Thank [email protected]

    [email protected]

    [email protected]

    SIPLab: Smart Internet Programming Laboratory

    http://siplab.csee.wvu.edu

    CERC: Concurrent Engineering Research Centerhttp://www.cerc.wvu.edu

    LDCSEE: Lane Dept. of Computer Science & Electrical Engg. at WestVirginia University, USA

    http://www.csee.wvu.edu