part2_collaboration in ds ds+ai,coprba queue
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]
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