Web Annotation Sharing using P2P
Chubu Electric Power Co., Inc.
Nagoya, 459-8522 Japan
1 IntroductionIn this paper, we propose a method of web annotation sharing using P2P. Several systems have been proposed for web annotation sharing. Annotea, for example, uses annotation servers for data sharing. On the other hand, our approach is based on P2P architecture, and there is no specific server that manages the whole annotation data. A novel feature of our method is that P2P nodes in the system determine their roles autonomously, and share the annotation data.
2 Web annotation sharing using P2P
1 ArchitectureOur method, which differs from ``Pure P2P'', is based on a P2P model in which P2P nodes in the system change their roles autonomously, depending on their network topology or the status of other nodes. Each node in the annotation sharing system has a communication module and an annotation database. A node in the system can update its database, synchronizing events, such as change of annotation data or participation of a new node.
2 Three-layer data sharing by autonomous determination of roleP2P nodes in the system determine their roles, either a ``normal node", a ``primary node" or a ``peer leader" (See Fig.1). Their roles are changed, synchronizing with events, such as participation or withdrawal of a node. Determination and transfer of the role are performed by the following procedures. Here, a ``segment" means a minimum network topology divided by routers.
(1) Determination of role at participation of nodeWhen a new node joins the system, it asks all nodes in the segment that it belongs to about the existence of a primary node using multicast communication.
- If a primary node responds, the new node is located under the primary node as a normal node, and it performs data synchronization with the primary node.
- If no primary node responds, the new node becomes a primary node.
A node that has become a primary node asks peer leader candidates, whose addresses are previously known in a user group, using unicast communication, or the node asks an address server (fixed role), which is network-reachable, about the existence of a peer leader.
- If a peer leader responds, the new node is located under the peer leader, and it performs data synchronization with the peer leader.
- If no peer leader responds, the new node becomes a peer leader.
(2) Transfer of role at withdrawal of nodeWhen a primary node withdraws from the system, it sends a role transfer requirement signal to all subordinate normal nodes in the segment that it belongs to. If a normal node responds to the signal, the primary node transfers its role to the normal node.
When a peer leader withdraws from the system, it sends a role transfer requirement signal to all subordinate primary nodes. If a primary node responds to the signal, the peer leader transfers its role to the primary node.
Data sharing and synchronization between nodes are performed by the following procedure, depending on the network topology (See Fig.2).
(1) Within segmentWhen annotation data is changed (added, edited or deleted) in a node, the node updates its database and sends the difference data to the other nodes in the segment that it belongs to using multicast communication. A node that receives the difference data updates its database.
(2) Between segmentsA primary node communicates with its peer leader at certain intervals on behalf of the segment that it belongs to, and performs data synchronization with its peer leader. Then, the peer leader sends the difference data to all subordinate primary nodes.
3 Description and data management of annotationData records of an annotation are shown in Table 1. When an annotation data is generated, a unique ID in the system is provided. Data synchronization between nodes is performed by comparing annotation ID lists, and then each node exchanges the difference data.
When an annotation is deleted from a node, the node adds a ``delete flag" into the annotation ID, and it sends the ID with the delete flag to the network. This causes the propagation of the deletion to all the nodes in the system.
|URL of page in which annotation is added|
|Location of annotated words in page|
|Title, Author, Date, Last update,|
|Description, Semantic label, Access permission|
3 ImplementationWe have implemented the proposed method as an IE browser plug-in. A Sample execution of a browser with the plug-in is shown in Fig.3.
When users add a new annotation, they select text strings by dragging the mouse, and push the annotation button in the toolbar. Then an input dialog for annotation is opened (See Fig.4). The input dialog is also available from the pull-down menu that appears by clicking the mouse's right button. Texts in which an annotation was added are displayed with a blue marker and an icon. If users click the annotation icon, a display dialog for the annotation is opened.
4 Future workWe will also develop a search function of annotation data based on P2P architecture.
- M.Rscheisen et al. ``Beyond Browsing: Shared Comments, SOAPs, Trials, and On-line Communities'', in Proc. of the 3rd WWW Conf., 1995.
- J.Kahan et al. ``Annotea: An Open RDF Infrastructure for Shared Web Annotations", in Proc. of the 10th WWW Conf., pp.623-632, 2001.