Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
otm:the_matching_of_causal_sequences [2011/01/12 02:37] aspectscript |
otm:the_matching_of_causal_sequences [2011/06/27 09:14] (current) aspectscript |
[[http://en.wikipedia.org/wiki/Distributed_system|Distributed systems]] are computer systems that are connected by a communication network or any technology that features by the delay in its communication. In addition, these systems present absence of a //share clock// and //shared memory//. As a consequence of these absences, it is not easy to observe which order of a distributed system execution trace because events (//eg.// sending and receiving of messages) generates by computer systems are not always causally related. There are algorithms that are able to determine the causal relation between two events, therefore, these algorithms can partially determine the order of a distributed system execution trace. The [[http://en.wikipedia.org/wiki/Vector_clocks|vector clock]] algorithm is widely used to observe the order of a distributed system execution trace. | Social network applications like [[http://twitter.com|Twitter]] and [[http://facebook.com|Facebook]] are another kind of Web application. Nowadays, these applications are widely used, making the analysis of their flow of information an active research topic. This flow of information is analyzed through the messages sent and received between users of these applications. Such an analysis is complex due to the need to observe and react to distributed causal relations that occur among user interactions. As an example of the analysis of the flow of information in Web applications, consider the calculation of the popularity of user tweets in Twitter: |
| |
{{ :otm:vectorclock.png?350x350 |Vector clocks (reference Wikipedia)}} | **Tweet popularity.** This feature in Twitter allows a user to know the popularity of every tweet published by him or her, which is measured by the number of retweets of direct and indirect followers. For example, the figure shows four Tweeter users: Toti, Dacha, Kuky, |
^ Example of a system of vector clocks ([[http://en.wikipedia.org/wiki/Vector_clock|wikipedia]]) ^ | and Paul. Toti follows Dacha and Dacha follows Paul; Kuky follows nobody and nobody follows Kuky. The figure shows that Paul publishes a tweet and Dacha receives this tweet and retweets it. The figure also shows that Kuky publishes a tweet and nobody receives it. Based on the popularity measurement, the popularity of Paul's tweet is 1 and that of Kuky is 0. Although Kuky |
| and Paul would have published the same tweet, the popularity of Kuky's tweet is 0 because his tweet did not cause any retweet. An analysis based on the distributed causal relations observed between tweets and retweets can determine how many users retweet a given tweet. For example, Paul's tweet caused Dacha's retweet. |
| |
As OTM supports the definition of entities that observe and react to a system execution trace in web applications, we have extended our prototype to observe and read to distributed system execution traces. OTM uses the vector clocks algorithm. Next, we present two examples, where OTM observes distributed execution traces, applied to social networks like [[http://twitter.com/|Twitter]] or [[reader.google.com|Google Reader]]. | {{ :otm:twitter.png?390x333 |}} |
| |
* [[otm/the_matching_of_causal_sequences/example1|Popularity of a piece of news]]: This example determine what is the popularity of a piece of news that somebody publishes. | Using WeCa, which combines [[citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.2931|stateful aspects]] and [[en.wikipedia.org/wiki/Vector_clock|vector clocks]], we show how to react to distributed causal relations to determine the tweet popularity: |
| |
* [[otm/the_matching_of_causal_sequences/example2|Credibility of a piece of news]]: | * [[otm/the_matching_of_causal_sequences/example1|Tweet Popularity]] |
| |
Go [[|OTM home]]. | Go [[../weca|WeCa home]]. |
| |
| |
| |