Tutors: Nawwaf Kharma



Yüklə 147,71 Kb.
tarix11.09.2018
ölçüsü147,71 Kb.
#80171


Author: - Tom Bailly-salins (tbaillys@hotmail.com)

Tutors: - Nawwaf Kharma (kharma@ece.concordia.ca)

- Stephane Frenot (sfrenot@telecom.insa-lyon.fr)



SmallWorldz: client-server software system

For connecting people




ABSTRACT:

Internet was originally perceived as the biggest computer network. It has now reached every corner of society and has become, in people’s minds, the largest human community ever. This change of perspective calls for an evolution of the tools used to exchange over the network. Current solutions focus on the extraction of document-based information, matching people to written documents. We believe people to be a more valuable and cost-effective source of information, this is why we propose a system, built on popular technologies, to search for and be match with other people.

KEYWORDS:
Communityware, Matchmaking, Communities, Instant Messaging, Proximity, Degree of separation, Bacon number, People search.
CONTENTS


INTRODUCTION ------------------------------------------------------------------




  1. Review of Internet communication tools -----------------------------------




    1. Passive systems -------------------------------------------------------

    2. Active systems --------------------------------------------------------

    3. Reactive systems -----------------------------------------------------

    4. Conclusion of the review -------------------------------------------



  1. SmallWorldz architecture and concepts ------------------------------------




    1. A word about the degree of separation --------------------------

    2. What is SmallWorldz? ----------------------------------------------

    3. How does SmallWorldz work? ------------------------------------

    4. System architecture -------------------------------------------------

      1. The Jabber server -------------------------------------------

      2. The SmallWorldz modules --------------------------------

      3. The database -------------------------------------------------

      4. The SmallWorldz client ------------------------------------

      5. The Website --------------------------------------------------

      6. The installer --------------------------------------------------



  1. Implementation of a prototype -----------------------------------------------




    1. Sample communities ------------------------------------------------

    2. Testing and evaluation ---------------------------------------------

    3. Potential applications -----------------------------------------------

REFERENCES ----------------------------------------------------------------------

03


04
04

05

06

07



08
08

09

09



11

12

13



15

16

20



20

21
21

22

26


27


INTRODUCTION

People are starting to view the Internet in an entirely new light; the web is not only seen as the biggest computer network on Earth, but also as the biggest human community ever. This perspective alters a lot of conceptions and a great deal of work is now being done to foresee/invent the way future online exchanges will take place.
We believe that exchanges over the Internet are facing two major problems which considerably slows down their development:
The first problem is the lack of tools available to search for and be matched with other people. The solutions currently available focus on the extraction of document-based information, matching people to written documents. Aren’t people a more valuable source of information? We think so.
The second problem arises from the lack of trust and confidence in the exchanges over the network. There is no solution, readily available; to ensure that the information you’re getting from a person or a written document is trustworthy. We propose the use of the degree of separation between people to establish a sense of human proximity and trust during the exchange.
This paper starts with a review of some of the existing solutions found on the Internet today; commercial as well as non-commercial solutions will be examined. This brief survey allows us to delineate what we perceive as limitations, as well as extract those core concepts that make them popular. Ultimately, we wish to learn from past mistakes and build on the strength of proven concepts.
Based on those proven concepts and a personal conception of Internet communications, we propose, in the second section of the paper, a software architecture dedicated to the searching and matching of people within a trustworthy environment.
The last section of the paper will describe the implementation of a prototype with a list of possible applications that would benefit from the matching of people. We evaluate the system’s accuracy and performance in the matching process and study the benefits of human proximity to online exchanges.



  1. Review of Internet communication tools

This section will study the ability of existing systems to assist anyone who wishes to find, share, trade, buy or sell material, information, documents, goods, advice or expertise: an action now referred to as a Request.

We will focus on the most popular applications, representative of the software tools currently available to help Internet users with their Requests. The list of reviewed systems is the following:


The Email system

Instant Messaging

Internet Relay Chat (IRC)

Chatrooms, Forums and message boards

Newsgroups

Mailing Lists

File sharing systems (Napster, Gnutella…)

Question & Answer (Q&A) websites

We have chosen to classify these systems, based on the way the system interacts with the user.


Passive Systems” are systems that will only “obey” a users’ request, letting the user fully control the way the request will be handled. In the case of messaging systems, Emails and instant messaging, for example, the request will be to transport information from a “Sender” to a “Receiver”.

Active Systems” are systems that will carry out a request using internal rules, thus, acting on the way the request will be handled. This is true in systems such as IRC, Chatrooms, Forums, Mailing lists and Newsgroups where the system will transport the information as well as perform operations on the way it is distributed, routed and displayed.

Reactive Systems” are systems that not only act on the way a users’ request is handled, they also provide the user with private and personalized feedback on the way the system dealt with the request. This is true in file sharing systems such as Napster and Q&A websites where the system provides user controls that allow for a personalized and more accurate answer to a request.

Each of the systems will be reviewed within its category based on a common template: a brief synopsis followed by a list of advantages and disadvantages, leading to a graphical model for the category and a brief summary of how the study of such systems has shaped the concepts used in the SmallWorldz system.




    1. Passive systems



A.The Email system

The email system is the people’s favorite communication tool over the Internet. Though new in its form, email is just the modern rendering of the traditional “Snail mail” service that Postman Pat has been offering for years, it shows how old concepts can be adapted to today’s needs without major changes. This system does one thing and it does it well; it delivers messages and binary files from a sender to a receiver.


Its biggest advantage is the worldwide implementation it offers. Together with the browser, it is an essential tool to use the Internet, which is why it’s found on every Operating System nowadays. Another advantage is its ease of use; since people were used to the traditional mail service, it was no big change.

The email has its drawbacks; the system is not very useful when it comes to group communications and remains a one-to-one exchange tool. It does not take full advantage of what a computer network has to offer, people need an identifier to reach you and often exchanges only take place between two individuals that either know each other or have been introduced beforehand.




    1. Instant messaging

Instant messaging is an extension of the email messaging system; it adds the concept of online presence of your contacts.


Knowing that the person you are trying to reach is there and ready to answer your message considerably extends on the benefits of standard messaging. Exchanges are quicker and more efficiently, there is no waiting between messages and any miss understanding can be dealt with immediately.
Instant messaging suffers the same limitation when it comes to reaching strangers. Experience shows that instant messaging remains a tool for communicating with friends, family and other acquaintances.


    1. Graphical model

Both the Email system and instant messaging belong to the group of “Passive systems”. Such systems take the request and deliver it without acting on it. Graphically it translates like this:





    1. Relation with SmallWorldz

These systems address the need for tools to exchange between acquaintances. Often though, people have to rely on other tools to retrieve information from people they don’t know personally. SmallWorldz wishes to provide such tool to facilitate the matching of people and unleash the greater potential of a large network of people.


No one is a complete stranger to anyone, people share common interests, common values, these are trust bridges that can encourage people to get to know each other and exchange over the network. The next section will study systems that succeeded in bringing strangers together using trust bridges. The ones we chose to focus on are IRC, chat rooms, forums, message boards, mailing lists and newsgroups.


    1. Active systems




    1. Internet Relay Chat (IRC)

IRC is a multi-user; multi-channel chat network that allows people all over the Internet to exchange messages in real time and simultaneously. To use it, one selects a nickname, connects to an IRC server, joins a channel and starts chatting. The trust bridge here is the channel you choose. That topic determines the kind of people you are likely to meet.


The advantage is that anyone can join and participate in the exchange. You don’t need to know anyone in the community to be able to reach others and exchange. In such system you can count on a large and rich pool of resources. Specific groups of users that show interest in the topic help you get cost effective answers to your Request.
The disadvantages are mainly linked to its popularity: the number of channels is so large and diverse that finding one’s way on all these channels requires a lot of skills. Once settled in a channel it’s even harder to make use of the resource, simply because people are not here to have serious conversation but to chat…


    1. Chatrooms, forums and message boards

Chatrooms, forums and message boards are public places on websites that allow anyone to post and get answers for any kind of requests.


Again, these systems use the trust bridge of a common interest to bring together strangers who can meet over a topic and benefit from a large pool of resources.
Experience shows that getting cost effective answers is very difficult, and unless the message board is well maintained and updated regularly, messages mix and lose the thread of the initial topic therefore making it that much harder to extract the useful information you were looking for.


B.Newsgroups

Newsgroups provide categories in which people can post their messages; only this time the system provides a way of subscribing to categories in order to receive messages of interest to the user.


The messages and files are available from your email software, which makes newsgroups, a trouble free system, which doesn’t require a continuous online engagement or payback.
The major drawback comes from the fact that there is no real exchange taking place, Newsgroups are often used as repositories for messages and files, although it had the potential to help people with their requests, it has found its utility mostly in file sharing.

C.Mailing lists

Users subscribe to mailing lists in order to exchange with a particular group of people, the system is very similar to newsgroups except that messages are not stored on a server but reach each member of the list directly.


The system has proved very beneficial to small and clearly identified groups of individuals, for example the system is very popular with programmers who seek answers to specific questions about coding.
The problem is that, once you have found someone to exchange, the mailing list system cannot provide the users with a private communication channel, users will need to use other communication tools to avoid spamming other users with their conversation.

D.Graphical model

Newsgroups, IRC, chat rooms and mailing lists belong to the group of “Active systems”. The system receives Requests and actively participates in the exchange by performing a number of operations on the Request such as classification or broadcast. Graphically it translates like this:




E.Relation with SmallWorldz

The study of these systems shows that it is possible to bring together strangers to exchange over the network. A trust bridge is required to encourage people to join a group of people and engage into a conversation. Up until now all the systems made use of a common interest to act as a trust bridge, encouraging people to participate in categories or topics they are interested in and can relate to. The main drawback of these systems is the fact that they require a lot of effort to extract the information you are looking for. The system doesn’t personalize the information that gets to you, you get messages not intended for you, other conversations and other documents mix with the information you are trying to gather, thus, making it that much harder to extract and benefit from the answer to your initial Request.




    1. Reactive systems




    1. File sharing systems (Napster, Gnutella…)

Napster was a particularly active online sharing community, which allowed for the exchange of MP3 music files.


The system went a step further in the art of building online communities; it introduced ease of use and personalized answers to each request, it also proved that a system could be self-expanding and self-feeding. The fact that it gave access to quality music files for free played a large part in its success. The fact there was no need for a permanent identifier (like an email address), little to no commitment as well as fast and effortless results, encouraged user fidelity. Ever since the service started, the community grew to include the resources of each new member making the system even more attractive.

The problem is that these systems are targeted at a specific application (file sharing). It matched users and files effortlessly and accurately but it couldn’t match people in order to address more complex requests.





    1. Question & Answer (Q&A) Websites


Ask Me Corporation (www.askme.com): Ask Me Corporation is a provider of person-to-person knowledge sharing solutions for corporations, it has developed an enterprise software application that helps businesses tap into the collective knowledge of their employees, partners, and customers.
Live advice (www.liveadvice.com): Live advice is a website where people with questions can get personalized answers and advice from advisors, via the phone or via email. As an advisor, you set your price for your knowledgeable advice; satisfied users can recommend your services while angry users discredit them. Each advisor is then ranked according to user satisfaction offering a true market place for personal advice.

Experts-Exchange (www.experts-exchange.com): Through its network of IT professionals, Experts Exchange developed an open marketplace where Experts compete and collaborate with each other through the process of answering technical IT questions. Each Expert receives recognition in their area of expertise through the accumulation of Expert Points and satisfaction grades supplied by the questioner.
The main advantage of these “Reactive system” lies in their power to put the resources of a large community to the service of one. These systems allow anyone with a request to get personalized assistance from a list of persons the user can choose from based on their profile. Again here there is no commitment the members have full control over the last decision to choose the best matching user. It’s a trouble free system where one literally throws a request at the system and waits for a solution to be proposed.

F.Graphical model





G.Relation with SmallWorldz

The idea behind those systems is to allow for cost effective ways of getting answers to a Request. Forget the trouble of going through files or messages to get part of an answer, let the network do the hard work and just wait for a personalized solution to come to you.


Q&A websites show that it is a lot more cost effective to connect people directly. It’s a two step process, first a user asks the system to be matched with other users following certain criteria, it’s then up to the other users to actually open the connection with the user in order to exchange. The technique is flexible since the system only makes suggestions and the users handle the complex matching algorithms, if a user feels confident about helping, he will step up and choose to answer.
Q&A websites are the closest implementations of the SmallWorldz model. SmallWorldz adds extra features to make the system more efficient, but in essence both systems pursue the same goal to “leverage the power of the Internet by connecting people with requests to people who can help”.


    1. Conclusion of the review

The study shows the following:



  • People like to control the distribution of their requests (Passive systems)

  • To connect people over the network you need to use a trust bridge so users feel confident about exchanging with strangers. (Active systems)

  • It is much more cost effective to link people together, than to link people to written documents. (Q&A websites)

  • Successful systems are systems that are able to attract many users very quickly. They guarantee a large pool of resources to tap into, which in return satisfies users and encourages them to stay. (File sharing systems)

  • The matching technique has to be trouble free and flexible, the system should only make suggestions and let the end users handle the complex decision of choosing the right person (Q&A websites).

  1. SmallWorldz architecture and concepts




    1. A word about the degree of separation

Back in 1967, M. Milgram, a sociologist from Harvard, tried to demonstrate empirically that anyone in this World could be linked to anyone else following a human chain of approximately 6 acquaintances. I know him, who knows him, who knows, … who knows the President (funny how the President always seems to be the person your trying to find a link to? Why is that?). This “6 degrees of separation” theory has never been scientifically proven but remains widely accepted judging by its popularity (one play, a movie with Will Smith and several research studies).

Judith Kleinfeld a psychology professor believes this popularity comes from the fact that “we like to think that we all live side by side, in this hostile world; it gives us a feeling of security”. Many scientists doubt the theory saying its based on false assumptions and simplistic hypotheses. Never the less the idea appeals to a large public and there is a renewed interest for the theory with the emergence of Internet as a World Wide Human Network.

Several academic projects are trying to prove the theory using modern tools. As far as SmallWorldz is concerned, we accept the theory and believe that the degree of proximity over the Internet might even be lower than 6 considering that the World Wide Network links people geographically closer, (mainly located in the northern hemisphere and in western countries), socially closer (similar lifestyles and values), genealogically closer (common ancestors and closer families).

Why are we so interested in the degree of proximity of Internet users? We believe that proximity could significantly help the development of online exchanges. Most exchanges on the Internet happen between clients and servers, linking people to files. We are convinced that the greater potential of a World Wide Network of humans needs to be unleashed with the development of human exchanges, linking people to other people.




Consider that the total population of a community is equal to T. To simplify the model let us assume as in Fig. 1(a) that each person in the community knows N people that their friends do not know.
The probability to meet a person with a degree of separation less or equal to D is given by the formula: P( d <= D ) = D ( ND / T )
Fig. 1 (b) shows this probability with T ranging from 1 to 100 000 people, D is set to 3 and N ranges from 5 to 35.


Fig. 1 (a) Network of friends

Fig. 1 (b) Probability to meet someone with a degree of separation <= 3




    1. What is SmallWorldz?

SmallWorldz is a client-server software system, based on instant messaging. It allows users, with a specific request, to search for, and be matched with, others who can answer it. Each user sets his domains of competence by subscribing to communities and editing a personal profile for each community. This selection reflects the user’s interest in certain topics and determines the kind of match requests he wishes to receive.


The system encourages its users to regularly submit their contact lists and the emails of acquaintances, in order to update a proximity table between users. For each new submission, an algorithm re-evaluates the proximity network to include new nodes (users), build new paths (human chains of relations) and send invitations to join SmallWorldz to each new contact.

During the matching process, the system will display the degree of separation between the Requester to the Recipients of the request, giving both sides a sense of proximity.


Customizable community profiles provide an accurate matching process, whereas the use of proximity brings a feeling of confidence and trust during the exchange. The combination of those two features makes SmallWorldz a true “broker” system focused on connecting people.


    1. How does SmallWorldz work?

Accurate matching and confidence is achieved with a flexible double handshake mechanism (Fig. 2). This mechanism is used between the Requester and the server (first handshake) and between the Recipients and the Requester (second handshake). The following diagram provides an overview of the mechanism.






Fig. 2 The double handshake mechanism


Symbols used in Fig. 2:



The community is an abstract representation of the users’ space. In order to use the system, one must join that space. It represents the medium used to provide the service, in this case: Internet.



The server is an external component who’s purpose is to:

- Store data, such as accounts, profiles and degrees of separation.



- Act as a “broker” between users.

- Establish the connections and relay messages.



The users: A user is represented within a bubble holding a profile. That profile is fully customizable and is set by the user to reflect his interests of the moment. There are four distinct user statuses on SmallWorldz



- Logged in and available: In order to be reachable by others on SmallWorldz the user must set his status to “on”, which means the user accepts to receive other people’s match requests.



- Logged in and unavailable: To use the messaging capabilities of the system and avoid receiving match requests, the users sets his status to “off” when logging in.



- Logged out and available: The user can choose to receive the user requests while he is offline, the server may propose his profile as a potential match to others. Next time he logs in, offline requests will be reach him.



- Logged out and unavailable: If the user chooses not to receive offline requests while he is away then only normal messages will be stored by the server, and the user will not be proposed as a potential match to others.



Registration: When a new user registers on SmallWorldz his account is created and he becomes a registered user to the server and can join the community and start using the service.



The registration creates the user’s account on the system; he is given an identity and a communication tool to access the community and exchange with others.


Quit: When a user wishes to leave the community definitely, he may do so by quitting.



When a user quits, his account, profiles and proximity information is deleted, the system will no longer know the user or suggest his profile for a match request.


The double handshake mechanism:


1st handshake: Requester – Server



The requester submits his match request to the server who returns a list of possible matches, showing:

  • The degree of separation between requester and recipient and

  • A short profile summary describing the recipient.



It’s up to the requester to select the best profiles before the match request is sent to the recipients. This allows for flexibility and accuracy since the Requester has full control over the distribution of his request and handles the complex matching mechanism when choosing the best profiles for his request.



2nd handshake: Recipients – Requester



The request is broadcasted to the selected Recipients displaying the request and the degree of separation with the Requester. Taking into account this information the Recipients choose whether or not to answer the request. Again, this allows for flexibility and accuracy since the Recipients choose to step out if they feel confident and competent to answer the request.



If the Recipient accepts to answer the request, the second handshake is successful and the match is complete. The Requester and Recipient can start exchanging.

If people are matched accurately and feel confident about the exchange, it has every chance of being successful.





    1. System architecture:

The SmallWorldz system is built from six distinct software components (Fig.3):






  • The Jabber server: (www.jabber.org) handles the instant messaging between users.




  • The SmallWorldz modules: connect to the Jabber server to provide the SmallWorldz service.




  • The database: to store all user data.




  • The client: It is the main user interface with SmallWorldz. It allows users to log in and out of SmallWorldz, to send or receive requests and exchange with others.




  • The website: It allows the users to register, manage their account and download the SmallWorldz client.




  • The installer is a user-friendly and fully automated software used to install the client on a local computer. The installer, provided by ZeroG (www.ZeroG.com), needs to be downloaded from the website.

Fig. 3. Software / hardware components



      1. The Jabber server






The component interaction diagram (Fig. 4 (a)) shows how the various components work together to provide the SmallWorldz service.
Users access the service through the client software installed on their machine. This client interface exchanges data exclusively with the Jabber Instant Messaging platform.
The Jabber messaging platform acts as a bridge between the users and the SmallWorldz service modules by relaying all the messages.
SmallWorldz modules perform the SmallWorldz tasks and return results to the requester. They are the only components that access the user database to search and match users or update the proximity table.
The three server components: the Jabber server, the SmallWorldz modules and the user database can be run on the same machine or on separate ones.

Fig. 4 (a) Component interaction diagram






The passing of messages between the clients and the SmallWorldz modules is transparent. The Jabber server considers the SmallWorldz modules as standard Jabber nodes (Fig. 4 (b))
The SW modules simply need to connect and authenticate with the Jabber server, just like any other client, to receive the messages that are destined for them.

Fig. 4 (b) SmallWorldz module integration diagram






A unique Jabber ID (JID) (Fig. 5) identifies each node (module or client). The format of this identifier is similar to an email address:
@smallworldz.net
The modules interpret the Jabber message extensions (detailed in the next section) to perform the necessary tasks and provide the SmallWorldz service.
This client-to-client functionality implementation guarantees a full compatibility of our service with future releases of the Jabber server.
Jabber provides the messaging platform; SmallWorldz modules provide the extra functionality.

Fig. 5. The SmallWorldz modules

      1. The SmallWorldz modules

To implement the SmallWorldz service, the Jabber protocol has been extended. Private extensions are used to transport the specific information used by the SmallWorldz components. The Jabber server relays them, without interpretation, to the corresponding module. Fig. 6 represents a message exchange between two users.










Message from B

hello A, look at the link attached I am looking for someone who… SWSubscriptions SWPromotion

Yüklə 147,71 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin