JP2010204863A - Annotation program, annotation device and annotation method - Google Patents

Annotation program, annotation device and annotation method Download PDF

Info

Publication number
JP2010204863A
JP2010204863A JP2009048544A JP2009048544A JP2010204863A JP 2010204863 A JP2010204863 A JP 2010204863A JP 2009048544 A JP2009048544 A JP 2009048544A JP 2009048544 A JP2009048544 A JP 2009048544A JP 2010204863 A JP2010204863 A JP 2010204863A
Authority
JP
Japan
Prior art keywords
annotation
operation log
web resource
web
deleted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009048544A
Other languages
Japanese (ja)
Other versions
JP5391738B2 (en
Inventor
Fumito Nishino
文人 西野
Terunobu Kume
照宣 粂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009048544A priority Critical patent/JP5391738B2/en
Publication of JP2010204863A publication Critical patent/JP2010204863A/en
Application granted granted Critical
Publication of JP5391738B2 publication Critical patent/JP5391738B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an annotation program, an annotation device and an annotation method, preventing an annotation position from being displaced when another annotation is deleted. <P>SOLUTION: A computer operates as: a reception means 10 receiving a Web resource; an annotation operation log acquisition means 12 extracting an operation log to the Web resource from an annotation operation log storage means 21; an annotation marker adding means 14 sequentially selecting the operation log, and adding a marker to the annotation embedded in the Web resource when the operation log indicates an operation of adding the annotation; and annotation specification deletion means 16, 17 sequentially selecting the operation log, and specifying and deleting the annotation to be deleted from the Web resource by use of the marker when the operation log indicates an operation of deleting the annotation. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、アノテーションプログラム、アノテーション装置及びアノテーション方法に係り、特に利用者からの付与要求に基づき情報へアノテーションを付与し、又は利用者からの参照要求に基づき情報にアノテーションを作用させるアノテーションプログラム、アノテーション装置及びアノテーション方法に関する。   The present invention relates to an annotation program, an annotation apparatus, and an annotation method, and in particular, an annotation program that adds an annotation to information based on a request from a user, or acts on information based on a reference request from a user, an annotation The present invention relates to an apparatus and an annotation method.

近年、インターネットやイントラネット等のネットワーク上の情報資源(例えばWebページ)に二次情報としてアノテーションを付与するWebアノテーション技術が、よく利用されるようになった。   In recent years, Web annotation technology for giving annotations as secondary information to information resources (for example, Web pages) on a network such as the Internet or an intranet has been often used.

Webアノテーション技術はネットワーク上のWebページに対してWebページの作者と異なる別の第三者が、そのWebページに対して、付箋,下線,又はマーカなどのアノテーションを付与し、そのWebページの閲覧(参照)時に、付与したアノテーションをWebページと同時に表示したり、又は付与したアノテーションに基づいた処理をWebページに加えたりするものである。   In Web annotation technology, another third party different from the Web page creator gives a Web page on the network an annotation such as a tag, underline, or marker, and browses the Web page. At the time of (reference), the added annotation is displayed simultaneously with the Web page, or processing based on the added annotation is added to the Web page.

通常はアノテーションが付与されたときに、そのWebページに対する一意の名前(例えばURL)を保持しておき、そのURLで指定されるWebページの閲覧時に、Webページに付与したアノテーションを復元することにより、時間をおいてのWebページの閲覧や、アノテーションを付与したアノテータと異なる第三者による閲覧であってもアノテーションを復元できる。   Normally, when an annotation is added, a unique name (for example, URL) for the Web page is held, and when the Web page specified by the URL is browsed, the annotation attached to the Web page is restored. An annotation can be restored even when browsing a Web page over time or browsing by a third party different from the annotator with the annotation.

このようなWebアノテーション技術は、情報共有、校正支援、レビュー支援、調査支援、広告システムなど、広く利用されている。   Such Web annotation technology is widely used for information sharing, proofreading support, review support, survey support, advertising systems, and the like.

従来、Webページに対してアノテーションを付与し、付与したアノテーションを複数の利用者で共有する場合は、共通サーバにWebページのURLと、そのURLで示されるHTMLファイルに付与されたアノテーションの位置及び内容とを管理テーブルに登録することがよく行われている。   Conventionally, when an annotation is given to a web page and the given annotation is shared by a plurality of users, the URL of the web page on the common server, the position of the annotation given to the HTML file indicated by the URL, The contents are often registered in a management table.

利用者がURLを指定してWebサーバにHTMLファイルを要求すると、共通サーバはWebサーバからHTMLファイルを取得する。次に、共通サーバは管理テーブルを参照し、指定されたURLに対応するアノテーションが登録されていれば、アノテーションをHTMLファイルに埋め込んで利用者のクライアントに送信する。共通サーバは、上記のようにすることで、Webページに付与されたアノテーションを複数の利用者で共有させることができる(例えば引用文献1参照)。   When the user designates a URL and requests an HTML file from the Web server, the common server acquires the HTML file from the Web server. Next, the common server refers to the management table, and if an annotation corresponding to the designated URL is registered, the annotation is embedded in the HTML file and transmitted to the user's client. The common server can share the annotation given to the Web page among a plurality of users by doing the above (see, for example, cited document 1).

なお、引用文献1に記載されている技術は、電子書籍のようなデジタルコンテンツを対象としているため、アノテーションの位置の特定に、ページ識別子と行識別子とを用いている。   Note that the technique described in the cited document 1 targets digital content such as an electronic book, and therefore uses a page identifier and a row identifier to specify the position of the annotation.

特開2000−155766号公報JP 2000-155766 A

しかしながら、アノテーション付与時とアノテーション復元時とは時間的なずれがあるため、アノテーションを付与してから復元するまでの間に、そのWebページに対して他のアノテーションが付与される操作や付与されていたアノテーションが削除される操作が行われているかもしれないし、あるいはアノテーションの対象となっているWebページ自身がニュース記事やブログなどのように変更されているかもしれない。   However, since there is a time lag between the time when an annotation is given and the time when the annotation is restored, an operation that gives another annotation to the Web page and the time when the annotation is given and restored. The annotation may have been deleted, or the annotation target Web page itself may have been changed, such as a news article or blog.

Webアノテーション技術では、このようなアノテーションの操作やWebページの変更などがあっても、アノテーション付与時の意図した位置(XY座標のような物理的な位置ではなく、Webページとの関係をとらえた位置)にアノテーションを復元したいという要望があった。   With Web annotation technology, even if such annotation operations or web page changes occur, the intended position at the time of annotation assignment (not the physical position such as XY coordinates, but the relationship with the Web page was captured. There was a request to restore the annotation to (position).

実際のWebページは、HTMLやXML等のWebページ記述言語(以下、HTMLを例に説明する)で記述されている。WebページではアノテーションもHTMLフラグメントとして記述される。ここでは説明のために各HTMLフラグメントを文字で示した一次元の文字列で説明する。   The actual Web page is described in a Web page description language such as HTML or XML (hereinafter described using HTML as an example). Annotations are also described as HTML fragments in the Web page. Here, for description, each HTML fragment will be described with a one-dimensional character string indicating characters.

アノテーションの無いWebページは「ABCDEFGHIJ」で示される。「ABCDEFGHIJ」の各文字は、実際、<table><tr><td>1</td><td>2</td></tr></table>のようなHTMLフラグメントである。   A web page without an annotation is indicated by “ABCDEFGHIJ”. Each character of “ABCDEFGHIJ” is actually an HTML fragment such as <table> <tr> <td> 1 </ td> <td> 2 </ td> </ tr> </ table>.

ここではWebページにアノテーション「X」を付与したものとする。アノテーション「X」は、実際、<div class="annotation">アノテーション</div>のようなHTMLフラグメントである。アノテーション「X」はWebページ中の位置を持つ。   Here, it is assumed that the annotation “X” is given to the Web page. The annotation “X” is actually an HTML fragment like <div class = "annotation"> annotation </ div>. The annotation “X” has a position in the Web page.

例えば「C」と「D」との間に付与される場合、アノテーション「X」は「3」という位置を持つ。実際、HTMLは図1のような木構造で表現される。図1は木構造で表現されたHTMLの一例の構成図である。図1において、「body」の下の2番目(左から2番目)の「h2」を指定するには、例えば「/html/body/h2[2]」という木構造のパス表現(Xpath)が用いられる。   For example, when it is given between “C” and “D”, the annotation “X” has a position of “3”. Actually, HTML is represented by a tree structure as shown in FIG. FIG. 1 is a configuration diagram of an example of HTML expressed in a tree structure. In FIG. 1, in order to specify the second (second from the left) “h2” under “body”, for example, a path expression (Xpath) of a tree structure “/ html / body / h2 [2]” is used. Used.

Xpathとは、XY座標のような表示に依存する物理的な位置ではなく、何段落目の何文字目のような表示と独立な文字の位置をいう。XpathはW3Cが勧告した標準仕様でXML文書の特定の要素を指し示す記述方法である。   Xpath is not a physical position depending on display such as XY coordinates, but a character position independent of the display of what character in what paragraph. Xpath is a standard method recommended by the W3C, and is a description method that points to a specific element of an XML document.

例えば位置「3」にアノテーション「X」が付与されると、アノテーションを保持するデータベース(DB)にはアノテーションの位置と内容とが保持される。ここでは、アノテーションの位置と内容とを(3,X)と表現する。   For example, when the annotation “X” is given to the position “3”, the position and content of the annotation are held in the database (DB) that holds the annotation. Here, the position and content of the annotation are expressed as (3, X).

ここで注意すべき点は、Webページが、インターネット上の他のWebサーバ上に存在することである。つまり、そのWebページ自身は管理下にはない。すなわち、Webページはこちら(本システム)側で自由に書き換えることができないし、また、こちらが意図しないうちに内容が書き換えられるかもしれない。このように、本システム側で管理するのは、どのWebページのどの位置にどのようなアノテーションが付与されているかという情報である。   What should be noted here is that the Web page exists on another Web server on the Internet. That is, the Web page itself is not under management. That is, the Web page cannot be freely rewritten on this side (this system), and the content may be rewritten before this is intended. Thus, what is managed on the system side is information on what annotations are assigned to which positions on which Web pages.

例えば(3,X)というアノテーションが付与されたWebページ「ABCDEFGHIJ」は、本システムに取り込まれると、「ABCXDEFGHIJ」(実際はHTML文書である)と復元される。復元されたWebページは、Web閲覧器(ブラウザ)等に渡されることでオリジナルのWebページに対してアノテーション「X」が付与されるように処理される。   For example, a Web page “ABCDEFGHIJ” with an annotation of (3, X) is restored to “ABCXDEFGHIJ” (actually an HTML document) when it is taken into this system. The restored web page is processed so that the annotation “X” is given to the original web page by being passed to a web browsing device (browser) or the like.

例えばアノテーション「X」は付箋紙のような形式で「C」と「D」との間の位置に表示される。図2は付箋紙のような形式のアノテーションが表示されたWebページの一例の画面イメージ図である。図2中、アノテーション1は元のHTMLに対して、HTMLフラグメントであり、これらが一緒になって一つのHTMLとなっている。   For example, the annotation “X” is displayed at a position between “C” and “D” in a form like a sticky note. FIG. 2 is a screen image diagram of an example of a Web page on which annotations in the form of sticky notes are displayed. In FIG. 2, annotation 1 is an HTML fragment with respect to the original HTML, and these are combined into one HTML.

図2のようにアノテーションされているWebページに対し、さらに「G」と「H」との間にアノテーション「Y」を付与する場合は、既にアノテーション「X」が付与されているため、アノテーション「Y」の位置が「8」となる。アノテーションを保持するDBには(8,Y)が登録される。   When an annotation “Y” is further added between “G” and “H” to the annotated Web page as shown in FIG. 2, since the annotation “X” has already been added, the annotation “ The position of “Y” is “8”. (8, Y) is registered in the DB holding the annotation.

この結果、Webページのアノテーションは(3,X)、(8,Y)となり、本システムに取り込まれると、「ABCXDEFGYHIJ」(実際はHTML文書である)と復元される。   As a result, the annotation of the Web page becomes (3, X), (8, Y), and when it is taken into the system, it is restored as “ABCXDEFGHIHIJ” (actually an HTML document).

さらに「E」と「F」との間にアノテーション「Z」を付与されると、アノテーションを保持するDBには(6,Z)が登録される。アノテーションを保持するDBは、それぞれのアノテーション付与の順序関係を保つように(3,X)、(8,Y)、(6,Z)が保持される。   Further, when the annotation “Z” is given between “E” and “F”, (6, Z) is registered in the DB holding the annotation. The DB that holds annotations holds (3, X), (8, Y), and (6, Z) so as to maintain the order relationship of the annotations.

本システムでは、それぞれのアノテーション付与の順序関係を保ち、アノテーションの作用においても付与の順序関係を保つ。例えば「3」の位置にアノテーション「X」を付与することで、Webページは「ABCXDEFGHIJ」と復元される。次に「8」の位置にアノテーション「Y」を付与することで、Webページは「ABCXDEFGYHIJ」と復元される。最後に「6」の位置にアノテーション「Z」を付与することで、Webページは「ABCXDEZFGYHIJ」と復元される。このように、本システムではアノテーションの位置を正しく復元できる。   In this system, the order relationship of each annotation is maintained, and the order relationship of annotation is also maintained in the action of annotation. For example, by adding the annotation “X” to the position “3”, the Web page is restored as “ABCXDEFGHIJ”. Next, by adding the annotation “Y” to the position “8”, the Web page is restored as “ABCXDEFGYHIJ”. Finally, by adding the annotation “Z” to the position “6”, the Web page is restored as “ABCXDEZFGYHIJ”. In this way, the position of the annotation can be correctly restored in this system.

例えば、アノテーション付与の順序関係を破り、アノテーション(8,Y)の前にアノテーション(6,Z)を付与してしまうと、アノテーション(8,Y)は意図通りの位置に復元できない。   For example, if the order relationship of annotation is broken and annotation (6, Z) is added before annotation (8, Y), annotation (8, Y) cannot be restored to the intended position.

上述したように、本システムでは、アノテーション付与の順序関係を保存し、その順序でアノテーションを復元することで、同一のWebページに対して複数のアノテーションが存在しても正しい位置にアノテーションを復元できるようになっている。   As described above, in this system, annotation ordering relationship is saved, and annotations are restored in that order, so that annotations can be restored to the correct position even if multiple annotations exist for the same Web page. It is like that.

しかし、本システムではアノテーションの一部が削除されると、残りのアノテーションが意図どおりに復元されないという問題があった。例えば、アノテーションを保持するDBは、アノテーション付与の順序関係を保つように(3,X)、(8,Y)、(6,Z)が保持されたものとする。ここでは、アノテーション(3,X)が削除されたものとして説明する。   However, this system has a problem that when a part of the annotation is deleted, the remaining annotation is not restored as intended. For example, it is assumed that a DB that holds annotations holds (3, X), (8, Y), and (6, Z) so as to maintain the order relationship of annotation assignment. Here, it is assumed that the annotation (3, X) has been deleted.

前述したように、アノテーションとはWebページに直接付与するものではなく、どのWebページのどの位置にどんなアノテーションを付与したかを保持したデータベースのレコードである。したがって、アノテーションの削除とは、このレコードを削除することを意味している。   As described above, the annotation is not directly assigned to the Web page, but is a database record that holds what annotation is assigned to which position on which Web page. Therefore, deleting the annotation means deleting this record.

アノテーションを保持するDBからレコードを削除することで、そのアノテーションはWebページ上に復元されなくなり、Webページ上からそのアノテーションが削除されたようにみえる。この場合、アノテーションを保持するDBでは(8,Y)、(6,Z)が保持される。このWebページ「ABCDEFGHIJ」にアクセスし、「8」の位置にアノテーション「Y」を復元しようとすると、本システムでは、アノテーション「Y」の位置を決めたときに存在したアノテーション「X」が無くなってしまったため、「8」の位置が「G」と「H」との間でなく「H」の後ろになってしまう。同様に、本システムではアノテーション「Z」の位置を決めたときに存在したアノテーション「X」が無くなってしまったため、「6」の位置が「E」と「F」との間でなく「F」の後ろになってしまう。   By deleting the record from the DB holding the annotation, the annotation is not restored on the Web page, and it appears that the annotation has been deleted from the Web page. In this case, (8, Y) and (6, Z) are held in the DB holding the annotation. When accessing this web page “ABCDEFGHIJ” and attempting to restore the annotation “Y” at the position “8”, the annotation “X” that existed when the position of the annotation “Y” was determined is lost in this system. Therefore, the position of “8” is not between “G” and “H” but behind “H”. Similarly, in this system, the annotation “X” that existed when the position of the annotation “Z” was determined to be lost, so the position of “6” is not between “E” and “F” but “F”. Will be behind.

結果、Webページは期待した「ABCDEZFGYHIJ」でなく、「ABCDEFZGHYIJ」となってしまうという問題があった。   As a result, there is a problem that the Web page is not “ABCDEFZFGYHIJ” but “ABCDEFZGHYIJ”.

本発明の一実施形態は、上記の点に鑑みなされたもので、他のアノテーションの削除により生じるアノテーションの埋め込み位置のずれを防ぐことができるアノテーションプログラム、アノテーション装置及びアノテーション方法を提供することを目的とする。   An embodiment of the present invention has been made in view of the above points, and an object thereof is to provide an annotation program, an annotation apparatus, and an annotation method capable of preventing a shift in an annotation embedding position caused by deletion of another annotation. And

上記課題を解決するため、本発明の一実施形態は、アノテーション情報を管理するコンピュータを動作させるアノテーションプログラムであって、前記コンピュータを、Web資源を受信する受信手段と、受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得手段と、前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの付与操作であるとき、前記Web資源に埋め込むアノテーションに、前記アノテーションを識別可能なマーカを付与するアノテーションマーカ付与手段と、前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの削除操作であるとき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーション特定削除手段として動作させるアノテーションプログラムである。   In order to solve the above-described problem, an embodiment of the present invention is an annotation program for operating a computer that manages annotation information, the computer including a reception unit that receives a Web resource, and an operation log for the received Web resource. Annotation operation log acquisition unit that retrieves the Web resource identification information and operation log in association with each other in time series, and an operation for the Web resource that is extracted from the annotation operation log storage unit Annotation marker adding means for selecting a log in chronological order and adding an identifiable marker to the annotation embedded in the Web resource when the operation log is an annotation giving operation; and the annotation operation log storage means From An operation log for the extracted Web resource is selected in chronological order, and when the operation log is an annotation deletion operation, an annotation that is the target of the deletion operation embedded in the Web resource using the marker Is an annotation program that operates as annotation specific deletion means for specifying and deleting.

なお、本発明の一実施形態の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。   In addition, what applied the component, the expression, or arbitrary combinations of the component of one Embodiment of this invention to a method, an apparatus, a system, a computer program, a recording medium, a data structure, etc. is also effective as an aspect of this invention. .

上述の如く、本発明の一実施形態によれば、他のアノテーションの削除により生じるアノテーションの埋め込み位置のずれを防ぐことができるアノテーションプログラム、アノテーション装置及びアノテーション方法を提供できる。   As described above, according to an embodiment of the present invention, it is possible to provide an annotation program, an annotation apparatus, and an annotation method that can prevent a deviation in the annotation embedding position caused by deletion of another annotation.

木構造で表現されたHTMLの一例の構成図である。It is a block diagram of an example of HTML expressed with a tree structure. 付箋紙のような形式のアノテーションが表示されたWebページの一例の画面イメージ図である。It is a screen image figure of an example of the web page on which the annotation of a format like a sticky note is displayed. 本実施例のWebアノテーションシステムの説明図である。It is explanatory drawing of the Web annotation system of a present Example. 本実施例のWebアノテーションシステムの他の例の説明図である。It is explanatory drawing of the other example of the Web annotation system of a present Example. 本実施例のWebアノテーションシステムの他の例の説明図である。It is explanatory drawing of the other example of the Web annotation system of a present Example. 本実施例のWebアノテーションシステムの一実施例の構成図である。It is a block diagram of one Example of the Web annotation system of a present Example. コンピュータシステムの一例の構成図である。It is a block diagram of an example of a computer system. アノテーション作用装置のアノテーション表示処理を表したフローチャートである。It is a flowchart showing the annotation display processing of the annotation action device. 木構造の一例を示す説明図である。It is explanatory drawing which shows an example of a tree structure. アノテーション操作ログDBに記録されている操作ログの一例を示す説明図である。It is explanatory drawing which shows an example of the operation log currently recorded on annotation operation log DB. 木構造とXPathが示す位置との関係を説明するための説明図である。It is explanatory drawing for demonstrating the relationship between a tree structure and the position which XPath shows. 最初のアノテーションが埋め込まれたWeb資源解析結果を表す木構造の説明図である。It is explanatory drawing of the tree structure showing the Web resource analysis result by which the first annotation was embedded. 2番目のアノテーションが埋め込まれたWeb資源解析結果を表す木構造の説明図である。It is explanatory drawing of the tree structure showing the Web resource analysis result by which the 2nd annotation was embedded. div id=001以下が削除されたWeb資源解析結果を表す木構造の説明図である。It is explanatory drawing of the tree structure showing the Web resource analysis result from which div id = 001 or less was deleted. 木構造の一例を示す説明図である。It is explanatory drawing which shows an example of a tree structure. 文字列の一部に対してアノテーションが付与されたWeb資源解析結果を表す木構造の説明図である。It is explanatory drawing of the tree structure showing the Web resource analysis result to which the annotation was provided with respect to a part of character string. アノテーションXが埋め込まれた木構造の説明図である。It is explanatory drawing of the tree structure where the annotation X was embedded. アノテーションXにアノテーションYが付与された木構造の説明図である。It is explanatory drawing of the tree structure where the annotation Y was provided to the annotation X. アノテーションXが削除された木構造の説明図である。It is explanatory drawing of the tree structure from which the annotation X was deleted. アノテーションが付与されたアノテーションをWeb資源解析結果から削除する処理を表したフローチャートである。It is a flowchart showing the process which deletes the annotation to which the annotation was provided from a web resource analysis result. アノテーション付与装置の処理を表したフローチャートである。It is a flowchart showing the process of the annotation provision apparatus. アノテーション付与操作の処理を表したフローチャートである。It is a flowchart showing the process of annotation provision operation. アノテーション削除操作の処理を表したフローチャートである。It is a flowchart showing processing of annotation deletion operation. 対応付与操作特定の処理を表したフローチャートである。10 is a flowchart showing processing for specifying a correspondence assignment operation. アノテーション削除操作の処理を表した他の例のフローチャートである。It is a flowchart of the other example showing the process of annotation deletion operation. アノテーション位置影響分析処理を表したフローチャートである。It is a flowchart showing an annotation position influence analysis process. 付与操作および削除操作の操作ログをアノテーション操作ログDBから、どのようなときに取り除けて、どのようなときに取り除けないかを表した説明図である。It is explanatory drawing showing when the operation log of grant operation | movement and deletion operation can be removed from annotation operation log DB, and when cannot be removed. 付与操作および削除操作の操作ログをアノテーション操作ログDBから取り除けるかどうかを判定する処理を表したフローチャートである。It is a flowchart showing the process which determines whether the operation log of grant operation and deletion operation can be removed from annotation operation log DB. アノテーション操作ログDBの他の例の構成図である。It is a block diagram of the other example of annotation operation log DB. 削除済の痕跡が残るWeb資源解析結果を表す木構造の説明図である。It is explanatory drawing of the tree structure showing the Web resource analysis result with which the trace which has been deleted remains. アノテーション作用装置のアノテーション表示処理を表したフローチャートである。It is a flowchart showing the annotation display processing of the annotation action device. 本実施例のアノテーションプログラムを適用したブラウザの一例の構成図である。It is a block diagram of an example of the browser to which the annotation program of a present Example is applied.

次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明していく。   Next, modes for carrying out the present invention will be described based on the following embodiments with reference to the drawings.

(本実施例の概要)
本実施例は、時系列操作保持によるWebアノテーション位置復元方式について説明するものである。本実施例では、アノテーション位置をXPathのような構造位置情報で保持し、各アノテーションの構造位置情報から外部のWebページ(テキスト)上のアノテーション対応位置を求めてアノテーションを一時的に埋め込むWebアノテーションシステムについて説明する。
(Overview of this example)
In this embodiment, a Web annotation position restoration method using time series operation holding will be described. In the present embodiment, the annotation position is held as structure position information such as XPath, and the annotation corresponding position on the external web page (text) is obtained from the structure position information of each annotation, and the annotation is temporarily embedded. Will be described.

Webアノテーションシステムは、他のアノテーションの存在によって、構造位置情報からWebテキスト上のアノテーションを埋め込む具体的な位置を求める計算が影響を受ける。したがって、Webアノテーションシステムでは、あるアノテーションを付与する時に存在した他のアノテーションが削除されると、構造位置情報がずれ、アノテーションの埋め込み位置がずれるという問題が発生していた。   In the Web annotation system, the calculation for obtaining a specific position for embedding the annotation on the Web text from the structural position information is affected by the presence of other annotations. Therefore, in the Web annotation system, when other annotations that existed when a certain annotation is added are deleted, there is a problem that the structural position information is shifted and the embedded position of the annotation is shifted.

Webアノテーションシステムは、アノテーションの埋め込み位置がずれないようにするため、アノテーション付与時に存在していた他のアノテーションが削除されて存在しなくなったとしてもWeb資源(Webページ)解析結果上にダミーとして一時的に存在させる。このように、Webアノテーションシステムは、残りのアノテーションを埋め込む位置の位置計算を正しく行えるようにする。   In order to prevent the annotation embedding position from deviating, the Web annotation system is temporarily used as a dummy on the Web resource (Web page) analysis result even if other annotations that existed at the time of annotation assignment are deleted and no longer exist. Exist. As described above, the Web annotation system can correctly calculate the position where the remaining annotation is embedded.

さらに、Webアノテーションシステムはダミーとして付与したアノテーションを後で消去あるいは無視する処理を加えることで、他のアノテーションの削除等による埋め込み位置のずれの問題を解決する。   Furthermore, the Web annotation system solves the problem of displacement of the embedding position due to deletion of other annotations or the like by adding a process of erasing or ignoring the annotation given as a dummy later.

本実施例は、Web資源に対してWeb資源上の位置をXPathのような構造位置情報として外部記憶装置(アノテーションDB)に保持し、このアノテーションDBに保持されている構造位置情報にしたがってWeb資源に一時的にアノテーションテキストフラグメントを埋め込むことでアノテーションを行うWebアノテーションシステムを一例として説明する。   In the present embodiment, the position on the Web resource with respect to the Web resource is stored in the external storage device (annotation DB) as the structure position information such as XPath, and the Web resource according to the structure position information stored in the annotation DB. A Web annotation system that performs annotation by temporarily embedding an annotation text fragment will be described as an example.

本実施例のWebアノテーションシステムでは、あるWebアノテーションを付与する時に存在していた他のWebアノテーションがアノテーションDBから削除されることによって引き起こされる構造位置情報計算のずれを補正し、付与時と同一の位置にWebアノテーションを復元する。   In the Web annotation system of the present embodiment, the deviation of the calculation of the structure position information caused by deleting other Web annotations that existed when a certain Web annotation was added from the annotation DB is corrected, and is the same as that at the time of giving Restore the Web annotation to the position.

上述の例では、アノテーション(3,X)、(8,Y)、(6,Z)が登録された後、アノテーション(3,X)が削除されたとしても、意図どおりにアノテーションが「ABCDEZFGYHIJ」と復元される。   In the above example, even if the annotation (3, X) is deleted after the annotation (3, X), (8, Y), (6, Z) is registered, the annotation is “ABCDEZFGYHIJ” as intended. And restored.

本実施例のWebアノテーションシステムでは、アノテーションの削除があったときに単純にアノテーションDBからアノテーションデータを削減してしまったのでは位置を復元できなくなってしまう。例えばアノテーションの削除があったときに意図どおりにアノテーションを復元する為には、削除も含めてすべてのアノテーションDBに対する操作を履歴として保持し、アノテーションDBに対する操作をWeb資源の解析結果であるWeb資源解析結果に対して復元するという方法が考えられる。   In the Web annotation system of the present embodiment, if the annotation data is simply deleted from the annotation DB when the annotation is deleted, the position cannot be restored. For example, in order to restore the annotation as intended when the annotation is deleted, all the operations on the annotation DB including deletion are retained as a history, and the operation on the annotation DB is a Web resource that is the analysis result of the Web resource. A method of restoring the analysis result can be considered.

しかし、アノテーションの削除は本来履歴を復元するだけならばアノテーションDBから対応するレコードを削除することになるが、これだけだとWeb資源解析結果に反映されたアノテーションテキストフラグメントが残ったままになってしまうという問題が新たに発生する。すなわち、各時点でのアノテーションDBの状態が反映されて作成されるWeb資源解析結果においては、アノテーションの付与・削除というアノテーションDBに対する個々の操作からWeb資源解析結果の差分を求め、本来直接的な操作が行われるのではないWeb資源解析結果上で履歴を復元することが課題となる。   However, deleting an annotation originally deletes the corresponding record from the annotation DB if only the history is restored. However, if only this is done, the annotation text fragment reflected in the Web resource analysis result remains. A new problem arises. That is, in the Web resource analysis result created by reflecting the state of the annotation DB at each time point, the difference of the Web resource analysis result is obtained from each operation on the annotation DB such as annotation addition / deletion, and is inherently direct. It becomes a problem to restore the history on the Web resource analysis result that is not operated.

具体的な例で示すと、<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><div>テキスト1</div><div class="annotation">アノテーション</div><div>テキスト2</div>< div class="annotation">アノテーション</div><div>テキスト3</div></body></html>というようなWeb資源解析結果においては、アノテーションDB上の一つのアノテーションが削除された時、削除された後のアノテーションDBから新たなWeb資源解析結果を作成するのではなく、この一つのアノテーションが削除されたという履歴から、Web資源解析結果を正しく改変することが課題となる。   For example, <html> <head> <title> title </ title> </ head> <body> <h1> header </ h1> <div> text1 </ div> <div class = "annotation"> annotation </ div> <div> text 2 </ div> <div class = "annotation"> annotation </ div> <div> text 3 </ div> </ body> </ html> In the Web resource analysis result, when one annotation on the annotation DB is deleted, this single annotation is deleted instead of creating a new Web resource analysis result from the deleted annotation DB. From this history, it becomes a problem to correctly modify the Web resource analysis result.

この課題を解決するため、本実施例のWebアノテーションシステムはアノテーション付与操作のときにマーカを付与して埋め込んでおくことで、アノテーションDBからアノテーションが削除された時に、対応するマーカをWeb資源解析結果から探し出して削除するという操作を加える。   In order to solve this problem, the Web annotation system according to the present embodiment assigns and embeds a marker at the time of an annotation giving operation so that when the annotation is deleted from the annotation DB, the corresponding marker is displayed as a result of the Web resource analysis. Add an operation to find and delete from.

あるいは、本実施例のWebアノテーションシステムはアノテーションテキストフラグメントをWeb資源解析結果に付与するとき、そのアノテーションテキストフラグメントが後で削除されるアノテーションに対応するものであるかどうかを判定する。   Alternatively, when adding the annotation text fragment to the Web resource analysis result, the Web annotation system according to the present embodiment determines whether or not the annotation text fragment corresponds to the annotation to be deleted later.

後で削除されるアノテーションである場合、本実施例のWebアノテーションシステムは位置計算時に存在するものとして計算されるが作用時に無いものとして取り扱われるようなマーカを持ったアノテーションテキストフラグメントを付与する。   In the case of an annotation to be deleted later, the Web annotation system of the present embodiment gives an annotation text fragment having a marker that is calculated as being present at the time of position calculation but is handled as being absent at the time of operation.

操作ログを保持し、その履歴情報の操作順に再生する技術は例えば特開平7−134716号公報などで開示されている。特開平7−134716号公報ではハイパーメディア文書の状態を復元するため、時系列に操作履歴を保持しておき、後で操作履歴の先頭から操作を再実行することが示されている。特開平7−134716号公報に「対応する処理と同一の処理が行われる」とあるように、従来技術における履歴の再生とは、通常操作と同一の処理が行われることが前提となっている。例えばテキストの削除では、テキスト上のある位置からある位置までの範囲そのものと、削除という動作が直接履歴に残され、再生時に、その履歴に残された処理そのものが復元される。   A technique for holding an operation log and reproducing it in the operation order of the history information is disclosed in, for example, Japanese Patent Laid-Open No. 7-134716. Japanese Patent Application Laid-Open No. 7-134716 discloses that, in order to restore the state of a hypermedia document, an operation history is stored in time series, and the operation is later re-executed from the top of the operation history. As described in Japanese Patent Laid-Open No. 7-134716, “the same processing as the corresponding processing is performed”, the history reproduction in the prior art is premised on the same processing as the normal operation. . For example, in the deletion of text, the range from a certain position on the text to the certain position itself and the operation of deletion are directly left in the history, and the processing itself left in the history is restored at the time of reproduction.

ここで示すアノテーションでは、一般に削除操作がアノテーションDBから対応するレコードを削除するという処理が行われるだけのものであり、Web資源解析結果に対して何の操作も行われない。   In the annotation shown here, generally, the deletion operation is merely a process of deleting the corresponding record from the annotation DB, and no operation is performed on the Web resource analysis result.

したがって、特開平7−134716号公報で示されるような履歴情報の再生を行っただけでは、Web資源解析結果に一旦反映されてしまったアノテーションテキストフラグメントが残ったままになってしまう。もし、アノテーションDBから対応するレコードを取り除いた時点で新たにWeb資源解析結果を最初から作り直したのでは、従来の技術の課題として示したようにアノテーションの位置がずれてしまうという問題が起きる。すなわち特開平7−134716号公報に示されるような再生処理だけでは本課題が解決されない。   Therefore, only by reproducing the history information as disclosed in JP-A-7-134716, the annotation text fragment once reflected in the Web resource analysis result remains. If the Web resource analysis result is newly recreated from the beginning when the corresponding record is removed from the annotation DB, there arises a problem that the position of the annotation is shifted as shown in the problem of the conventional technology. That is, this problem cannot be solved only by a reproduction process as disclosed in Japanese Patent Laid-Open No. 7-134716.

すなわち、アノテーションの削除という操作に対して、通常のアノテーションDB上のレコードの削除という操作に加えて、本来削除されてWeb資源解析結果に存在しないはずなのに、履歴の再生という処理を設けてしまったせいでWeb資源解析結果に埋め込まれてしまったアノテーションテキストフラグメントを見つけだして、これをWeb資源解析結果から取り除く処理を新たに設けることが必要になる。この点は、従来の一般的なエディタにおける履歴の保存、及び、その実行履歴を再生する手法と本実施例のWebアノテーションシステムとの大きな相違点になる。   In other words, in addition to the operation of deleting an annotation in the normal annotation DB, in addition to the operation of deleting the annotation, a process of replaying the history is provided although it should have been deleted and should not exist in the Web resource analysis result. Therefore, it is necessary to newly provide a process for finding the annotation text fragment embedded in the Web resource analysis result and removing it from the Web resource analysis result. This point is a big difference between the technique of storing the history in a conventional general editor and reproducing the execution history, and the Web annotation system of the present embodiment.

なお、対応するアノテーションテキストフラグメントを見つけ出す為には、正しく対応するアノテーションテキストフラグメントを同定することが必要であり、アノテーション付与操作のときにマーカを付与して埋め込んでおくことが必要になる。   In order to find the corresponding annotation text fragment, it is necessary to correctly identify the corresponding annotation text fragment, and it is necessary to attach and embed a marker during the annotation assignment operation.

例えばアノテーション(3,X)というような、そもそも埋め込みが行われたときの位置情報は、ずれている可能性がある。Webページ「ABCXDEFGHIJ」は、アノテーション(3,Y)が付与されると、Webページ「ABCYXDEFGHIJ」となり、「3」という位置にアノテーション「Y」に対応するアノテーションテキストフラグメントが見つかるのであってアノテーション「X」に対応するアノテーションテキストフラグメントが見つかるものではない。   For example, the position information at the time of embedding such as annotation (3, X) may be shifted in the first place. When the annotation (3, Y) is given to the web page “ABCXDEFGHIJ”, the web page “ABCYXDEFGHIJ” becomes the web page “ABCYXDEFGHIJ”, and an annotation text fragment corresponding to the annotation “Y” is found at the position “3”. An annotation text fragment corresponding to "is not found.

(本実施例の原理)
図3は本実施例のWebアノテーションシステムの説明図である。図3は、Web資源取得部10,Web資源解析結果準備部11,アノテーション操作ログ取得部12,アノテーション復元部13,アノテーションマーカ付与部14,アノテーション埋込部15,アノテーションフラグメント特定部16,アノテーションフラグメント削除部17,アノテーション作用部18,Web資源解析結果19,アノテーションDB20,アノテーション操作ログDB21を表している。
(Principle of this embodiment)
FIG. 3 is an explanatory diagram of the Web annotation system of this embodiment. FIG. 3 shows a Web resource acquisition unit 10, Web resource analysis result preparation unit 11, annotation operation log acquisition unit 12, annotation restoration unit 13, annotation marker addition unit 14, annotation embedding unit 15, annotation fragment specifying unit 16, annotation fragment A deletion unit 17, an annotation operation unit 18, a Web resource analysis result 19, an annotation DB 20, and an annotation operation log DB 21 are shown.

Web資源取得部10は、特定のWeb資源の所在情報(URL)を指定されたときに指定されたURLのWeb資源をネットワークから取り出す。Web資源解析結果準備部11は、取り出されたWeb資源をそのままWeb資源解析結果19とすることも可能であるが、通常、Web資源をパージングした結果である木構造をWeb資源解析結果19として保持する。   When the location information (URL) of a specific Web resource is specified, the Web resource acquisition unit 10 takes out the Web resource of the specified URL from the network. The Web resource analysis result preparation unit 11 can use the extracted Web resource as it is as the Web resource analysis result 19, but normally holds the tree structure as a result of parsing the Web resource as the Web resource analysis result 19. To do.

アノテーション復元部13は、取り出されたWeb資源に付与されたアノテーションの情報をアノテーションDB20から取り出す。アノテーション埋込部15は、Web資源解析結果19上でアノテーション情報に指示されている構造位置を探し出し、その構造位置にアノテーション内容を適切な形式で埋め込む。ここまでの処理は、Web資源に関連するすべてのアノテーションに対して行われる。   The annotation restoration unit 13 retrieves the annotation information given to the retrieved Web resource from the annotation DB 20. The annotation embedding unit 15 finds the structure position indicated in the annotation information on the Web resource analysis result 19 and embeds the annotation content in the structure position in an appropriate format. The processing so far is performed for all annotations related to the Web resource.

アノテーション作用部18は、アノテーション情報が埋め込まれたWeb資源解析結果19を作用させる。アノテーション作用部18が行う作用は、典型的に、レンダリングエンジンによって見える形に変換して表示させることである。   The annotation operation unit 18 operates the Web resource analysis result 19 in which annotation information is embedded. The action performed by the annotation action unit 18 is typically converted into a form visible by the rendering engine and displayed.

アノテーション操作ログDB21は、アノテーションDB20とは別にアノテーションに関する操作,アノテーション構造位置情報、アノテーション内容を保持している。アノテーション操作ログ取得部12は、現Web資源に対するアノテーション操作ログ(以降単に操作ログと記す)を取り出す。   The annotation operation log DB 21 holds operations related to annotation, annotation structure position information, and annotation contents separately from the annotation DB 20. The annotation operation log acquisition unit 12 extracts an annotation operation log (hereinafter simply referred to as an operation log) for the current Web resource.

アノテーション復元部13では、アノテーションDBの情報にしたがって復元するのではなく、操作ログに記述されているアノテーション操作とアノテーション位置にしたがって時系列に処理する。操作ログに記録されたアノテーション操作がアノテーション付与であるとき、アノテーション埋込部15は操作ログに記述されている構造位置情報にしたがってWeb資源解析結果19上の位置を見つけ、アノテーション内容にしたがって作成したアノテーションテキストフラグメントを埋め込む。   The annotation restoration unit 13 does not restore according to the information in the annotation DB, but performs time series processing according to the annotation operation and the annotation position described in the operation log. When the annotation operation recorded in the operation log is annotation addition, the annotation embedding unit 15 finds the position on the Web resource analysis result 19 according to the structure position information described in the operation log, and creates it according to the annotation content Embed annotation text fragment.

そのとき、アノテーションマーカ付与部14は埋め込むアノテーションテキストフラグメントに対して、後で削除する際に識別可能なマーカを付与して埋め込む。従来、削除されたアノテーションはアノテーションDB20に無いため何もできなかった。本実施例では削除されたアノテーションも一旦Web資源解析結果19にアノテーションテキストフラグメントとして埋め込まれていることになるので、アノテーションの削除に対して対応するアノテーションテキストフラグメントをWeb資源解析結果19から削除することが必要になる。   At that time, the annotation marker attaching unit 14 attaches and embeds a marker that can be identified when the annotation text fragment to be embedded is deleted later. Conventionally, since the deleted annotation is not in the annotation DB 20, nothing can be done. In the present embodiment, the deleted annotation is once embedded in the Web resource analysis result 19 as an annotation text fragment. Therefore, the annotation text fragment corresponding to the deletion of the annotation is deleted from the Web resource analysis result 19. Is required.

そのため、アノテーションテキストフラグメント特定部16は、アノテーションテキストフラグメントに埋め込まれた識別マーカを手がかりに、削除されたアノテーションに対応するアノテーションテキストフラグメントをWeb資源解析結果19上から探し出す。アノテーションフラグメント削除部17は削除されたアノテーションに対応するアノテーションテキストフラグメントをWeb資源解析結果19上から取り除く。   Therefore, the annotation text fragment specifying unit 16 searches the Web resource analysis result 19 for an annotation text fragment corresponding to the deleted annotation, using the identification marker embedded in the annotation text fragment as a clue. The annotation fragment deletion unit 17 removes the annotation text fragment corresponding to the deleted annotation from the Web resource analysis result 19.

以上のように、本実施例のWebアノテーションシステムでは、アノテーション付与だけでなくアノテーション削除も含めて操作ログとして記録し、削除されたアノテーションも一旦Web資源解析結果19に埋め込んでおく。   As described above, in the Web annotation system of this embodiment, not only annotations but also annotation deletions are recorded as operation logs, and the deleted annotations are once embedded in the Web resource analysis result 19.

他のアノテーションの付与を行ったあとで、操作ログにしたがって実際に削除されたタイミングで、そのアノテーションテキストフラグメントをWeb資源解析結果19から削除することで、本実施例のWebアノテーションシステムは一部のアノテーションの削除があっても、残りのアノテーションの位置を正しく復元することが可能である。   After adding other annotations, the annotation text fragment is deleted from the Web resource analysis result 19 at the timing of actual deletion according to the operation log. Even if annotations are deleted, the positions of the remaining annotations can be correctly restored.

なお、本実施例のWebアノテーションシステムでは、アノテーション操作ログDB21にアノテーション情報のすべてを保持することで、アノテーションDB20をなくすこともできるし、操作ログの基本情報のみをアノテーション操作ログDBに保持21し、アノテーションの詳細情報をアノテーションDB20に保持するようにしてもよい。   In the Web annotation system of this embodiment, the annotation DB 20 can be eliminated by retaining all annotation information in the annotation operation log DB 21, or only basic information of the operation log is retained 21 in the annotation operation log DB 21. The detailed information of the annotation may be held in the annotation DB 20.

本実施例のWebアノテーションシステムは、例えばアノテーション付与時に、Webページ「ABCDEFGHIJ」に対してまず、位置「3」にアノテーション「X」が付与されると、アノテーションを保持するアノテーションDB20に、アノテーション位置とアノテーション内容とが保持される。同時に、本実施例のWebアノテーションシステムでは、アノテーション操作ログDB21に、位置「3」にアノテーション「X」を付与(挿入)と記録する。   For example, when the annotation “X” is first given to the position “3” for the Web page “ABCDEFGHIJ” when the annotation is given, the Web annotation system of the present embodiment, for example, the annotation position and the annotation position are stored in the annotation DB 20 that holds the annotation. Annotation content is retained. At the same time, in the Web annotation system of this embodiment, the annotation “X” is added (inserted) to the position “3” in the annotation operation log DB 21 and recorded.

ここで、本実施例のWebアノテーションシステムは、アノテーション操作ログDB21に、(#1,insert,3,X)と記述することとする。なお、「#1」は、あとでアノテーション操作(イベント)を参照するための識別ID(イベント番号)である。   Here, the Web annotation system of this embodiment describes (# 1, insert, 3, X) in the annotation operation log DB 21. “# 1” is an identification ID (event number) for referring to an annotation operation (event) later.

次に、本実施例のWebアノテーションシステムは「G」と「H」との間の位置にアノテーション「Y」を付与したことを、(#2,insert,8,Y)とアノテーション操作ログDB21に記録する。なお、「G」と「H」との間の位置はアノテーション「X」が既に付与されているため、位置「8」となっている。   Next, the fact that the annotation “Y” is added to the position between “G” and “H” in the Web annotation system of the present embodiment is shown in (# 2, insert, 8, Y) and the annotation operation log DB 21. Record. Note that the position between “G” and “H” is the position “8” because the annotation “X” has already been added.

次に、本実施例のWebアノテーションシステムは「E」と「F」との間の位置にアノテーション「Z」を付与したことを、(#3,insert,6,Z)とアノテーション操作ログDB21に記録する。なお、「E」と「F」との間の位置はアノテーション「X」が既に付与されているため、位置「6」となっている。   Next, the fact that the annotation “Z” is added to the position between “E” and “F” in the Web annotation system of the present embodiment is shown in (# 3, insert, 6, Z) and the annotation operation log DB 21. Record. Note that the position between “E” and “F” is the position “6” because the annotation “X” has already been added.

その後、本実施例のWebアノテーションシステムはアノテーション「X」が削除されたことを(#4,delete,#1)としてアノテーション操作ログDB21に記録する。(#4,delete,#1)は、イベント1(#1)で付与したアノテーションを削除したという意味である。つまり、削除したアノテーションはアノテーション操作ログDB21においてイベント番号で示されている。以上のように、アノテーション操作ログDB21は操作ログを保持する。   Thereafter, the Web annotation system of the present embodiment records that the annotation “X” has been deleted (# 4, delete, # 1) in the annotation operation log DB 21. (# 4, delete, # 1) means that the annotation given in event 1 (# 1) is deleted. That is, the deleted annotation is indicated by the event number in the annotation operation log DB 21. As described above, the annotation operation log DB 21 holds an operation log.

アノテーション作用時、本実施例のWebアノテーションシステムは、アノテーション操作ログDB21から操作ログとして、(#1,insert,3,X)、(#2,insert,8,Y)、(#3,insert,6,Z)、(#4,delete,#1)を取り出す。取り出した操作ログは、Webページ「ABCDEFGHIJ」に対して一旦アノテーション「X」が付与されて「ABCXDEFGHIJ」となり、アノテーション「Y」が付与されて「ABCXDEFGYHIJ」となり、アノテーション「Z」が付与されて「ABCXDEZFGYHIJ」となる。   At the time of annotation action, the Web annotation system of this embodiment uses (# 1, insert, 3, X), (# 2, insert, 8, Y), (# 3, insert,) as operation logs from the annotation operation log DB 21. 6, Z) and (# 4, delete, # 1) are taken out. In the extracted operation log, the annotation “X” is once given to the web page “ABCDEFGHIJ” to become “ABCXDEFGHIJ”, the annotation “Y” is given to “ABCXDEFGHIHIJ”, the annotation “Z” is given, and “ ABCXDEZFGYHIJ ".

実際に、アノテーション「X」にマーカとして「#1」のような識別子が付与されているので、操作ログ(#4,delete,#1)によりマーカ「#1」が付与されているアノテーション「X」が取り除かれてWebページは「ABCDEZFGYHIJ」となる。   Actually, since an identifier such as “# 1” is assigned to the annotation “X” as a marker, the annotation “X” to which the marker “# 1” is assigned by the operation log (# 4, delete, # 1). "Is removed, and the Web page becomes" ABCDEZFGYHIJ ".

以上、本実施例のWebアノテーションシステムはアノテーションの一部が削除されたとしても、削除されたアノテーションが存在する状態で、残ったアノテーションの位置が求められる。そして、本実施例のWebアノテーションシステムは削除が起こったタイミングでアノテーションの削除が行われるので、残りのアノテーションを正しい位置に復元できる。   As described above, the Web annotation system according to the present embodiment can obtain the position of the remaining annotation in the state where the deleted annotation exists even if a part of the annotation is deleted. Since the annotation is deleted at the timing when the deletion occurs in the Web annotation system of this embodiment, the remaining annotation can be restored to the correct position.

図4は本実施例のWebアノテーションシステムの他の例の説明図である。図4のWebアノテーションシステムは、図3のWebアノテーションシステムのアノテーション操作ログ取得部12とアノテーション復元部13との間に、アノテーション位置影響分析部30及びアノテーション操作ログ書き換え部31が設けられている。   FIG. 4 is an explanatory diagram of another example of the Web annotation system of this embodiment. The Web annotation system of FIG. 4 includes an annotation position influence analysis unit 30 and an annotation operation log rewriting unit 31 between the annotation operation log acquisition unit 12 and the annotation restoration unit 13 of the Web annotation system of FIG.

図3のWebアノテーションシステムは操作ログを真正直にすべて再生している。操作ログをすべて再生するのでは、アノテーションの付与と削除とが繰り返されたような場合に時間的オーバヘッドが大きくなってしまう。そこで、図4のWebアノテーションシステムでは、時間的オーバヘッドを削減するために、アノテーション位置影響分析部30及びアノテーション操作ログ書き換え部31を設け、アノテーション位置影響分析部30が他のアノテーションの位置に影響を与えないアノテーション操作をアノテーション操作ログDB21から取り除いている。   The Web annotation system in FIG. 3 reproduces all operation logs honestly. If all operation logs are reproduced, the time overhead increases when annotations are added and deleted repeatedly. Therefore, in the Web annotation system of FIG. 4, in order to reduce the temporal overhead, the annotation position effect analysis unit 30 and the annotation operation log rewriting unit 31 are provided, and the annotation position effect analysis unit 30 affects the position of other annotations. Annotated annotation operations are removed from the annotation operation log DB 21.

図3のWebアノテーションシステムでは、(#1,insert,3,X)、(#2,insert,8,Y)、(#3,delete,#2)、(#4,insert,6,Z)のような操作ログに対しても正直にアノテーションY(#2)を付与し、アノテーションY(#2)を削除する。   In the Web annotation system of FIG. 3, (# 1, insert, 3, X), (# 2, insert, 8, Y), (# 3, delete, # 2), (# 4, insert, 6, Z) Also, the annotation Y (# 2) is honestly given to the operation log like this, and the annotation Y (# 2) is deleted.

しかし、(#1,insert,3,X)、(#2,insert,8,Y)、(#3,delete,#2)、(#4,insert,6,Z)のような操作ログの場合、アノテーションY(#2)が付与されてから削除されるまでに他のアノテーション操作がなく、アノテーションYの付与・削除の再生は無意味である。   However, operation logs such as (# 1, insert, 3, X), (# 2, insert, 8, Y), (# 3, delete, # 2), (# 4, insert, 6, Z) In this case, there is no other annotation operation from the time when the annotation Y (# 2) is assigned until the annotation Y is deleted, and the reproduction of the giving / deleting of the annotation Y is meaningless.

(#1,insert,3,X)、(#2,insert,8,Y)、(#3,delete,#2)、(#4,insert,6,Z)のような操作ログの場合は、(#2,insert,8,Y)、(#3,delete,#2)の対を削除できる。   For operation logs such as (# 1, insert, 3, X), (# 2, insert, 8, Y), (# 3, delete, # 2), (# 4, insert, 6, Z) , (# 2, insert, 8, Y), (# 3, delete, # 2) can be deleted.

同様に、(#1,insert,3,X)、(#2,insert,8,Y)、(#3,insert,6,Z)、(#4,delete,#2)のような操作ログの場合、(#2,insert,8,Y)と(#4,delete,#2)との間に(#3,insert,6,Z)があるが、(#3,insert,6,Z)は(#2,insert,8,Y)の前方への付与なのでアノテーションY(#2)に位置の計算が影響されないため、アノテーションYの付与・削除の再生は無意味である。   Similarly, operation logs such as (# 1, insert, 3, X), (# 2, insert, 8, Y), (# 3, insert, 6, Z), (# 4, delete, # 2) In the case of (# 2, insert, 8, Y) and (# 4, delete, # 2), there is (# 3, insert, 6, Z), but (# 3, insert, 6, Z). ) Is assigned to the front of (# 2, insert, 8, Y), and the calculation of the position is not affected by the annotation Y (# 2). Therefore, the reproduction of adding / deleting the annotation Y is meaningless.

(#1,insert,3,X)、(#2,insert,8,Y)、(#3,insert,6,Z)、(#4,delete,#2)のような操作ログの場合は、(#2,insert,8,Y)、(#4,delete,#2)の対を削除できる。   For operation logs such as (# 1, insert, 3, X), (# 2, insert, 8, Y), (# 3, insert, 6, Z), (# 4, delete, # 2) , (# 2, insert, 8, Y), (# 4, delete, # 2) pairs can be deleted.

このように、図4のWebアノテーションシステムでは、アノテーション位置の影響を分析し、他のアノテーションの位置計算に影響を与えないアノテーション操作の対をアノテーション位置影響分析部30が見つけ出し、アノテーション操作ログ書き換え部31がアノテーション操作ログDB21から他のアノテーションの位置計算に影響を与えないアノテーション操作の対のレコードを削除する。   As described above, in the Web annotation system of FIG. 4, the influence of the annotation position is analyzed, and the annotation position influence analysis unit 30 finds an annotation operation pair that does not affect the position calculation of other annotations. 31 deletes an annotation operation pair record that does not affect the calculation of the position of another annotation from the annotation operation log DB 21.

図5は本実施例のWebアノテーションシステムの他の例の説明図である。図5のWebアノテーションシステムは、図3のWebアノテーションシステムのアノテーションマーカ付与部14,アノテーションフラグメント特定部16,アノテーションフラグメント削除部17に替えて、ダミーアノテーションテキストフラグメント生成部40が設けられていると共に、削除済みアノテーション認識手段41が新たに設けられている。   FIG. 5 is an explanatory diagram of another example of the Web annotation system of this embodiment. The Web annotation system of FIG. 5 includes a dummy annotation text fragment generation unit 40 instead of the annotation marker adding unit 14, the annotation fragment specifying unit 16, and the annotation fragment deletion unit 17 of the Web annotation system of FIG. Deleted annotation recognition means 41 is newly provided.

図5のWebアノテーションシステムは、削除されたアノテーションをアノテーションテキストフラグメントとしてWeb資源解析結果19に埋め込む時、真のアノテーションテキストフラグメントを埋め込むのではなく、ダミーアノテーションテキストフラグメントを埋め込む。   5 embeds a dummy annotation text fragment instead of embedding a true annotation text fragment when embedding the deleted annotation as an annotation text fragment in the web resource analysis result 19.

ダミーアノテーションテキストフラグメントは、Web資源解析結果19に埋め込まれることにより、アノテーションの埋め込みポイントの位置を求めようとしたとき、正常に求められるようになり、アノテーション作用部18で処理しようとすると何もないのと同等になる。ダミーアノテーションテキストフラグメント生成部40はダミーアノテーションテキストフラグメントを生成する。   The dummy annotation text fragment is embedded in the Web resource analysis result 19 so that when the position of the annotation embedding point is obtained, it is normally obtained, and there is nothing when the annotation action unit 18 tries to process it. It becomes equivalent to. The dummy annotation text fragment generation unit 40 generates a dummy annotation text fragment.

図5のWebアノテーションシステムは、アノテーション操作ログDB21に記録されている操作ログのうちアノテーション操作が付与の操作ログが、後に削除されているかどうかを判定する削除済みアノテーション認識手段41が設けられている。そして、削除済みアノテーション認識手段41はアノテーション操作ログDB21にある付与操作のアノテーションが、後に削除されているかどうかを判定する。   The Web annotation system of FIG. 5 is provided with a deleted annotation recognition unit 41 that determines whether or not an operation log assigned with an annotation operation is deleted later among operation logs recorded in the annotation operation log DB 21. . Then, the deleted annotation recognition means 41 determines whether or not the annotation of the assigning operation in the annotation operation log DB 21 has been deleted later.

そして、図5のWebアノテーションシステムは、アノテーション操作ログDB21を用いて操作ログを時系列に処理する。アノテーション埋込部15は通常のアノテーション付与操作に対して、Web資源解析結果19上の対応する位置に通常のアノテーションテキストフラグメントを埋め込む。   Then, the Web annotation system of FIG. 5 processes the operation log in time series using the annotation operation log DB 21. The annotation embedding unit 15 embeds a normal annotation text fragment at a corresponding position on the Web resource analysis result 19 for a normal annotation giving operation.

また、アノテーション埋込部15は削除されたアノテーションのアノテーション付与操作に対して、ダミーアノテーションテキストフラグメント生成部40が生成したダミーアノテーションテキストフラグメントを、Web資源解析結果19上の対応する位置に埋め込む。   Further, the annotation embedding unit 15 embeds the dummy annotation text fragment generated by the dummy annotation text fragment generation unit 40 in the corresponding position on the Web resource analysis result 19 in response to the annotation adding operation of the deleted annotation.

ダミーアノテーションテキストフラグメントは、後でアノテーション作用部18が処理するときに無視される(何も効果を示さない)が、アノテーションの位置計算においてアノテーションが付与されているときと同じ効果を示す。   The dummy annotation text fragment is ignored (not showing any effect) when the annotation action unit 18 processes later, but shows the same effect as when the annotation is given in the annotation position calculation.

例えばアノテーション操作ログDB21にはWebページ「ABCDEFGHIJ」に対する操作ログ(#1,insert,3,X)、(#2,insert,8,Y)、(#3,insert,6,Z)があるものとする。次にアノテーションX(#1)が削除されたとすると、図5のWebアノテーションシステムは、アノテーション操作ログDB21に(#4,delete,#1)を記録する。   For example, the annotation operation log DB 21 has operation logs (# 1, insert, 3, X), (# 2, insert, 8, Y), (# 3, insert, 6, Z) for the Web page “ABCDEFGHIJ”. And Next, if the annotation X (# 1) is deleted, the Web annotation system of FIG. 5 records (# 4, delete, # 1) in the annotation operation log DB 21.

ただし、図5のWebアノテーションシステムは図3のWebアノテーションシステムとことなり、削除操作のログを後で利用しないため、削除操作のログをアノテーション操作ログDB21に記録しなくてもよい。ただし、図5のWebアノテーションシステムはアノテーション操作ログDB21の操作ログ(#1,insert,3,X)に対して削除済みのマークを与える。   However, since the Web annotation system of FIG. 5 is different from the Web annotation system of FIG. 3 and the log of the deletion operation is not used later, the log of the deletion operation may not be recorded in the annotation operation log DB 21. However, the Web annotation system of FIG. 5 gives a deleted mark to the operation log (# 1, insert, 3, X) of the annotation operation log DB 21.

この結果、図5のWebアノテーションシステムは、後でアノテーション位置を復元する際、アノテーション「X」のアノテーション付与がダミーであることを表す「x」というアノテーションテキストフラグメントが付与されるので、Webページ「ABCDEFGHIJ」は「ABCxDEFGHIJ」となり、アノテーション「Y」,「Z」が正しいアノテーション位置である「ABCxDEZFGYHIJ」と復元される。   As a result, when the annotation position is later restored, the Web annotation system of FIG. 5 is provided with the annotation text fragment “x” indicating that the annotation assignment of the annotation “X” is a dummy. “ABCDEFFGHIJ” becomes “ABCxDEFGHHIJ”, and the annotations “Y” and “Z” are restored to “ABCxDEZFGYHIJ”, which is the correct annotation position.

しかも「x」はダミーなので、アノテーション作用時に何も効果を示さず、完全に削除されたのとほぼ同じ効果になる。ちなみに、図5のWebアノテーションシステムはアノテーションX(#1)が削除されたあと、「F」と「G」との間に、新たに「W」というアノテーションが付与されたとき、アノテーション「X」の痕跡「x」が「ABCxDEZFGYHIJ」というように残っているので、計算すると、アノテーション「W」の位置が「8」になる。一方、図3のWebアノテーションシステムは「ABCDEZFGYHIJ」に基づいて計算するのでアノテーション「W」の位置が「7」になる。   Moreover, since “x” is a dummy, it has no effect at the time of an annotation operation, and is almost the same effect as when it is completely deleted. Incidentally, when the annotation “X” is added between “F” and “G” after the annotation X (# 1) is deleted in the Web annotation system of FIG. Since the trace “x” remains as “ABCxDEZFGYHIJ”, the position of the annotation “W” becomes “8” when calculated. On the other hand, since the Web annotation system of FIG. 3 calculates based on “ABCDEZFGYHIJ”, the position of the annotation “W” becomes “7”.

図6は、本実施例のWebアノテーションシステムの一実施例の構成図である。図6のWebアノテーションシステムは、アノテーション付与装置50,アノテーション作用装置51,アノテーション管理サーバ52,アノテーション操作ログ管理装置53を有している。   FIG. 6 is a configuration diagram of an embodiment of the Web annotation system of the present embodiment. The Web annotation system of FIG. 6 includes an annotation assigning device 50, an annotation action device 51, an annotation management server 52, and an annotation operation log management device 53.

アノテーション付与装置50は、Web閲覧器61,アノテーション付与拡張部62,アノテーション操作ログ拡張部63を有する。アノテーション作用装置51は、アノテーション作用拡張部64,アノテーション操作ログ拡張部65,Web閲覧器66を有する。アノテーション管理サーバ52は、アノテーションDB管理部67,アノテーションDB68を有する。アノテーション操作ログ管理装置53は、アノテーション一覧管理部69,アノテーション操作ログDB70を有する。   The annotation assignment apparatus 50 includes a Web browsing device 61, an annotation assignment extension unit 62, and an annotation operation log extension unit 63. The annotation action device 51 includes an annotation action extension unit 64, an annotation operation log extension unit 65, and a web browsing device 66. The annotation management server 52 includes an annotation DB management unit 67 and an annotation DB 68. The annotation operation log management device 53 includes an annotation list management unit 69 and an annotation operation log DB 70.

図6のWebアノテーションシステムはWebアノテーションをWeb閲覧器61,66の拡張機能として実施される。アノテーション付与装置50は、ユーザの特定の操作を受け、アノテーションを付与したり削除したりする。アノテーション作用装置51は、Web資源にアクセスした際にアノテーションを表示させるあるいは作用させる。   The Web annotation system of FIG. 6 is implemented as an extended function of the Web browsing devices 61 and 66. The annotation giving device 50 adds or deletes an annotation in response to a user's specific operation. The annotation operation device 51 displays or operates the annotation when accessing the Web resource.

アノテーション付与装置50およびアノテーション作用装置51の一つの実施形態はWeb閲覧器61,66を拡張するものである。なお、アノテーション付与装置50およびアノテーション作用装置51は同時に一つの閲覧器を拡張することができる。   One embodiment of the annotation giving device 50 and the annotation action device 51 extends the web browsing devices 61 and 66. Note that the annotation assigning device 50 and the annotation action device 51 can simultaneously expand one browsing device.

図3のWebアノテーションシステムの場合、Web資源取得部10,Web資源解析結果準備部11,アノテーション操作ログ取得部12,アノテーション復元部13,アノテーションマーカ付与部14,アノテーション埋込部15,アノテーションフラグメント特定部16,アノテーションフラグメント削除部17,アノテーション作用部18が、図6のアノテーション作用装置51に対応する。   In the case of the Web annotation system of FIG. 3, the Web resource acquisition unit 10, the Web resource analysis result preparation unit 11, the annotation operation log acquisition unit 12, the annotation restoration unit 13, the annotation marker addition unit 14, the annotation embedding unit 15, and the annotation fragment specification The unit 16, the annotation fragment deletion unit 17, and the annotation operation unit 18 correspond to the annotation operation device 51 of FIG.

図4のWebアノテーションシステムの場合、Web資源取得部10,Web資源解析結果準備部11,アノテーション操作ログ取得部12,アノテーション復元部13,アノテーションマーカ付与部14,アノテーション埋込部15,アノテーションフラグメント特定部16,アノテーションフラグメント削除部17,アノテーション作用部18,アノテーション位置影響分析部30,アノテーション操作ログ書き換え部31が、図6のアノテーション作用装置51に対応する。   In the case of the Web annotation system of FIG. 4, the Web resource acquisition unit 10, the Web resource analysis result preparation unit 11, the annotation operation log acquisition unit 12, the annotation restoration unit 13, the annotation marker addition unit 14, the annotation embedding unit 15, and the annotation fragment specification The part 16, the annotation fragment deletion part 17, the annotation action part 18, the annotation position influence analysis part 30, and the annotation operation log rewrite part 31 correspond to the annotation action device 51 of FIG.

図5のWebアノテーションシステムの場合、Web資源取得部10,Web資源解析結果準備部11,アノテーション操作ログ取得部12,アノテーション復元部13,アノテーション埋込部15,アノテーション作用部18,ダミーアノテーションテキストフラグメント生成部40が、図6のアノテーション作用装置51に対応する。   In the case of the Web annotation system of FIG. 5, the Web resource acquisition unit 10, the Web resource analysis result preparation unit 11, the annotation operation log acquisition unit 12, the annotation restoration unit 13, the annotation embedding unit 15, the annotation action unit 18, and the dummy annotation text fragment The generation unit 40 corresponds to the annotation action device 51 of FIG.

図6のアノテーション付与装置50,アノテーション作用装置51,アノテーション管理サーバ52,アノテーション操作ログ管理装置53は、例えば図7に示すコンピュータシステムにより実現できる。   The annotation assigning device 50, the annotation action device 51, the annotation management server 52, and the annotation operation log management device 53 in FIG. 6 can be realized by, for example, a computer system shown in FIG.

図7はコンピュータシステムの一例の構成図である。コンピュータシステムは、それぞれバスBで相互に接続されている入力装置81,出力装置82,ドライブ装置83,補助記憶装置84,主記憶装置85,演算処理装置86およびインターフェース装置87を有する。   FIG. 7 is a configuration diagram of an example of a computer system. The computer system includes an input device 81, an output device 82, a drive device 83, an auxiliary storage device 84, a main storage device 85, an arithmetic processing device 86, and an interface device 87 that are mutually connected by a bus B.

入力装置81はキーボードやマウスなどで構成され、各種信号を入力するために用いられる。出力装置82はディスプレイ装置などで構成され、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置87は、モデム,LANカードなどであり、ネットワークに接続する為に用いられる。   The input device 81 includes a keyboard and a mouse, and is used for inputting various signals. The output device 82 includes a display device and is used to display various windows and data. The interface device 87 is a modem, a LAN card, or the like, and is used for connecting to a network.

本実施例のアノテーションプログラムはアノテーション付与装置50,アノテーション作用装置51を制御する各種プログラムの少なくとも一部である。アノテーションプログラムは例えば記録媒体88の配布やネットワークからのダウンロードなどによって提供される。アノテーションプログラムを記録した記録媒体88は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。   The annotation program of this embodiment is at least a part of various programs that control the annotation assigning device 50 and the annotation action device 51. The annotation program is provided, for example, by distributing the recording medium 88 or downloading from the network. The recording medium 88 on which the annotation program is recorded is information such as a CD-ROM, a flexible disk, a magneto-optical disk, etc., a recording medium for recording information optically, electrically or magnetically, a ROM, a flash memory, etc. Various types of recording media such as a semiconductor memory for electrical recording can be used.

また、アノテーションプログラムを記録した記録媒体88がドライブ装置83にセットされると、アノテーションプログラムは記録媒体88からドライブ装置83を介して補助記憶装置84にインストールされる。ネットワークからダウンロードされたアノテーションプログラムは、インターフェース装置87を介して補助記憶装置84にインストールされる。補助記憶装置84は、インストールされたアノテーションプログラムを格納すると共に、必要なファイル,データ等を格納する。   When the recording medium 88 on which the annotation program is recorded is set in the drive device 83, the annotation program is installed from the recording medium 88 to the auxiliary storage device 84 via the drive device 83. The annotation program downloaded from the network is installed in the auxiliary storage device 84 via the interface device 87. The auxiliary storage device 84 stores the installed annotation program and also stores necessary files, data, and the like.

主記憶装置85は、コンピュータの起動時に補助記憶装置84からアノテーションプログラムを読み出して格納する。そして、演算処理装置86は主記憶装置85に格納されたアノテーションプログラムに従って、後述するような各種処理を実現している。   The main storage device 85 reads and stores the annotation program from the auxiliary storage device 84 when the computer is activated. The arithmetic processing unit 86 implements various processes as will be described later in accordance with the annotation program stored in the main storage device 85.

以下では、本実施例のWebアノテーションシステムにおいてアノテーションを表示する(作用させる)処理、アノテーションを付与する処理、アノテーションを削除する処理について説明する。   In the following, a process for displaying (acting) an annotation, a process for giving an annotation, and a process for deleting an annotation will be described in the Web annotation system of the present embodiment.

(アノテーション作用装置51が図3の構成である例)
本実施例のアノテーションプログラムを組み込んだWeb閲覧器(あるいは一般にWebクライアント)61,66は、図8に示すフローチャートのような動作を行う。図8はアノテーション作用装置のアノテーション表示処理を表したフローチャートである。
(An example in which the annotation device 51 has the configuration of FIG. 3)
Web browsing devices (or generally Web clients) 61 and 66 incorporating the annotation program of this embodiment perform operations as shown in the flowchart of FIG. FIG. 8 is a flowchart showing annotation display processing of the annotation action device.

ステップS1に進み、Web閲覧器66は表示(作用)するWeb資源の所在情報(URL)を受け取る。ステップS2に進み、Web閲覧器66は受け取ったURLで指定されるWeb資源をネットワークから読み込む。ステップS3に進み、Web閲覧器66は読み込んだWeb資源(HTMLなどで記述されたテキストファイル)をパーサによって解析し、構造を抽出する。抽出された構造は木構造(ツリー)の形をとる(例えばDOMツリー)。   In step S1, the web browsing device 66 receives the location information (URL) of the web resource to be displayed (acted). In step S2, the web browsing device 66 reads the web resource specified by the received URL from the network. In step S3, the Web browsing device 66 analyzes the read Web resource (text file described in HTML or the like) with a parser, and extracts the structure. The extracted structure takes the form of a tree structure (tree) (for example, a DOM tree).

例えばWeb資源として以下のようなHTML<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><div>テキスト1</div><div>テキスト2</div><div>テキスト3</div></body></html>があったとすると、パージング結果である木構造は、図9に示すようになる。図9は木構造の一例を示す説明図である。   For example, the following HTML <html> <head> <title> title </ title> </ head> <body> <h1> header </ h1> <div> text 1 </ div> <div> If there is text 2 </ div> <div> text 3 </ div> </ body> </ html>, the tree structure as a parsing result is as shown in FIG. FIG. 9 is an explanatory diagram showing an example of a tree structure.

Web閲覧器66は図9に示すような木構造をレンダリングエンジンに送り、タグを解釈し(例えば<title>はタイトル、<h2>はヘッダー、<p>は段落など)、見える形に変換して表示する(あるいはレンダリングの代わりに何らかの作用が行われる)。   The Web browser 66 sends a tree structure as shown in FIG. 9 to the rendering engine, interprets the tag (for example, <title> is a title, <h2> is a header, <p> is a paragraph, etc.) and converts it into a visible form. (Or some action instead of rendering).

上記は静的なページの動きである。動的なページでは、Web閲覧器66がWeb資源をパーサによって解析したあと、例えばJavascriptで記述されたプログラムをJavascriptエンジンに送って実行し、木構造を変更する(動的に文書が作り出される)。   The above is a static page movement. In a dynamic page, after the Web browser 66 analyzes a Web resource by a parser, a program described in, for example, Javascript is sent to the JavaScript engine and executed to change the tree structure (a document is dynamically created). .

Web閲覧器66は木構造をレンダリングエンジンに送り、表示する。場合により、Web閲覧器66はユーザのアクションにより木構造を書き換え、新しい木構造をレンダリングエンジンに送り、表示するということを繰り返す。   The web browsing device 66 sends the tree structure to the rendering engine for display. In some cases, the Web browsing device 66 rewrites the tree structure according to the user's action, and repeatedly sends and displays the new tree structure to the rendering engine.

本実施例のアノテーションプログラムを組み込んだWeb閲覧器66は通常のWebアノテーションが組み込まれたWeb閲覧器66と同様、読み込んだWeb資源をパーサで解析した結果(例えばDOMツリー)を、Web資源解析結果として、すぐにレンダリングエンジンに渡さずに以下の処理を行う。   The Web browsing device 66 incorporating the annotation program of this embodiment is similar to the Web browsing device 66 incorporating the normal Web annotation, and the result of analyzing the read Web resource by the parser (for example, DOM tree) is the Web resource analysis result. As a result, the following processing is performed without immediately passing to the rendering engine.

アノテーション作用拡張部64は、現在表示(作用)しようとしているWeb資源に関連するアノテーションデータを、アノテーション管理サーバ52のアノテーションDB68からアノテーションDB管理部67を介して取り出し、アノテーションテキストフラグメントをWeb資源解析結果に埋め込んでいく(木構造上で接ぎ木する)。   The annotation action extension unit 64 extracts annotation data related to the Web resource that is currently displayed (action) from the annotation DB 68 of the annotation management server 52 via the annotation DB management unit 67, and extracts the annotation text fragment from the Web resource analysis result. It is embedded in (grafted on the tree structure).

通常のWebアノテーションが組み込まれたWeb閲覧器66では、WebページのURL等を手がかりにアノテーションDB68からアノテーションデータを取り出し、アノテーションが付与された順に、Web資源解析結果の指定された位置にアノテーションテキストフラグメントを埋め込んで行く。   In the Web browsing device 66 in which the normal Web annotation is incorporated, the annotation data fragment is extracted from the annotation DB 68 using the URL of the Web page as a clue, and the annotation text fragment is placed at the specified position of the Web resource analysis result in the order in which the annotation is given. Go embedded.

なお、削除されたアノテーションのアノテーションデータはアノテーションDB68に存在しないため、Web資源解析結果に反映されない。一方、本実施例のアノテーションプログラムを組み込んだWeb閲覧器66は、アノテーション操作ログDB70が存在するので、アノテーションDB68にアクセスするのではなく、アノテーション操作ログDB70にアクセスする。   Note that the annotation data of the deleted annotation does not exist in the annotation DB 68 and thus is not reflected in the Web resource analysis result. On the other hand, the Web browsing device 66 in which the annotation program of this embodiment is incorporated has the annotation operation log DB 70, and therefore does not access the annotation DB 68 but accesses the annotation operation log DB 70.

ステップS4に進み、アノテーション操作ログ拡張部65はアノテーション操作ログDB70から、WebページのURL等を手がかりに操作ログをすべて取り出し、古い方から順に並べる。   In step S4, the annotation operation log expansion unit 65 extracts all operation logs from the annotation operation log DB 70 using the URL of the web page as a clue, and arranges them in order from the oldest one.

図10はアノテーション操作ログDBに記録されている操作ログの一例を示す説明図である。図10に示す操作ログは、ID,操作種類,XPath又はID,アノテーション内容,アノテーションレコードをフィールドとして持つ。   FIG. 10 is an explanatory diagram showing an example of an operation log recorded in the annotation operation log DB. The operation log shown in FIG. 10 has ID, operation type, XPath or ID, annotation content, and annotation record as fields.

IDは各操作につけられたIDである。IDは例えば一連番号でよい。操作種類はアノテーションに関する操作の種類を記述したものである。操作種類は、「付与」あるいは「削除」という値が記述されている。   ID is an ID assigned to each operation. The ID may be a serial number, for example. The operation type describes the type of operation related to the annotation. As the operation type, a value of “grant” or “delete” is described.

XPath又はIDは、操作が「付与」のとき、アノテーションが付与された構造位置としてXPathが記述され、操作が「削除」のとき、どのアノテーションが削除されたのかを表す操作ログ上のIDが記述されている。アノテーション内容は、付与されたアノテーションに記述された情報である。アノテーション内容は、アノテーションテキストフラグメントの中に反映するものであり、文字列やリンクであったり、場合によってはHTMLそのものが記述されたりしてもよい。   XPath or ID describes the XPath as the structure position to which the annotation was added when the operation is “granted”, and the ID on the operation log indicating which annotation was deleted when the operation was “deleted” Has been. The annotation content is information described in the assigned annotation. The annotation content is reflected in the annotation text fragment, and may be a character string or a link, or the HTML itself may be described in some cases.

アノテーションレコードは、付与されたアノテーションのアノテーションDB68上のレコードを示すポインタである。アノテーションレコードは、アノテーションの削除操作が行われた時に、削除しようとしているアノテーションを指しているのかどうかを確認するために用いられるものである。   The annotation record is a pointer indicating a record on the annotation DB 68 of the assigned annotation. An annotation record is used to confirm whether or not an annotation to be deleted is pointed out when an annotation deletion operation is performed.

なお、図10ではXPath及びアノテーション内容をアノテーション操作ログDB70の中に直接記述する例を示した。XPath及びアノテーション内容はアノテーションDB68中のアノテーション情報とも重なるので、アノテーションレコードのポインタをたどってアノテーションDB68にアクセスして、取り出すこともできる。   FIG. 10 shows an example in which the XPath and the annotation content are described directly in the annotation operation log DB 70. Since the XPath and the annotation content also overlap with the annotation information in the annotation DB 68, the annotation DB 68 can be accessed by following the pointer of the annotation record and taken out.

ただし、XPath及びアノテーション内容をアノテーションDB68から取り出す場合は、アノテーションが削除されたときにアノテーションDB68から単純にレコードを削除してしまったのでは、操作ログの復元ができなくなってしまう。   However, when the XPath and the annotation content are extracted from the annotation DB 68, the operation log cannot be restored if the record is simply deleted from the annotation DB 68 when the annotation is deleted.

アノテーションの削除の際には、アノテーションDB68の削除するレコードの内容をどこかに転記/保存しておき、操作ログのアノテーションレコードが、転記/保存場所を示すようにしておくことが必要である。   When deleting the annotation, it is necessary to transfer / save the contents of the record to be deleted from the annotation DB 68 somewhere, so that the annotation record of the operation log indicates the transfer / save location.

また、アノテーションの削除の際には、アノテーションDB68の削除するレコードを削除済みとマークし、データ自身を削除しないようにするということで対応することもできる。   In addition, when deleting an annotation, it is possible to deal with it by marking the record to be deleted in the annotation DB 68 as deleted and not deleting the data itself.

ステップS5に進み、アノテーション操作ログ拡張部65は、操作ログの中の最初の(一番古い)操作(レコード)に注目する。ステップS6に進み、アノテーション操作ログ拡張部65は現在注目している操作(レコード)がある間、ステップS7に進む。ステップS7では、アノテーション操作ログ拡張部65が、注目している操作を付与か削除かで切り分ける。   In step S5, the annotation operation log extension unit 65 pays attention to the first (oldest) operation (record) in the operation log. Proceeding to step S6, the annotation operation log expanding unit 65 proceeds to step S7 while there is an operation (record) currently focused on. In step S <b> 7, the annotation operation log extension unit 65 determines whether the operation of interest is given or deleted.

注目している操作が付与であった場合、アノテーション操作ログ拡張部65はステップS8に進み、付与操作のときに付与されたアノテーション情報(XPath、アノテーション内容)を得る。ステップS9に進み、アノテーション操作ログ拡張部65はステップS8で得た構造位置情報(XPath)から、Web資源解析結果におけるアノテーションの位置を求める。   If the noticed operation is grant, the annotation operation log extension unit 65 proceeds to step S8, and obtains annotation information (XPath, annotation content) assigned at the time of the grant operation. In step S9, the annotation operation log extension unit 65 obtains the position of the annotation in the Web resource analysis result from the structure position information (XPath) obtained in step S8.

例えば図10の操作ログに含まれる/html/body/div[1]は、Web資源解析結果の木構造を上から順にhtml、body、divというノードを辿ることを示している。ここでdiv[1]はdivの1番目を示している。したがって、/html/body/div[1]は、図11の木構造において矢印で示したノードを示すことになる。図11は木構造とXPathが示す位置との関係を説明するための説明図である。   For example, / html / body / div [1] included in the operation log in FIG. 10 indicates that the tree structure of the Web resource analysis is traced from the top to the nodes html, body, and div. Here, div [1] indicates the first div. Therefore, / html / body / div [1] indicates a node indicated by an arrow in the tree structure of FIG. FIG. 11 is an explanatory diagram for explaining the relationship between the tree structure and the position indicated by XPath.

なお、上記ではWeb資源解析結果を木構造として示している。しかし、木構造は元のHTMLと対応しているのでWeb資源解析結果として、<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><div>テキスト1</div><div>テキスト2</div><div>テキスト3</div></body></html>のように元のテキストのまま保持し、テキスト上で処理を進めることも可能である。   In the above, the Web resource analysis result is shown as a tree structure. However, since the tree structure corresponds to the original HTML, the <html> <head> <title> title </ title> </ head> <body> <h1> header </ h1> < div> Text 1 </ div> <div> Text 2 </ div> <div> Text 3 </ div> </ body> </ html> It is also possible to proceed.

ステップS10に進み、アノテーション操作ログ拡張部65はアノテーション内容からアノテーションテキストフラグメントを作成する。このとき、アノテーション操作ログ拡張部65のアノテーションマーカ付与部14に相当する部分がテキストに識別マーカを付与する。識別マーカとしては、例えば操作ログのID(一連番号)を用いる。   In step S10, the annotation operation log extension unit 65 creates an annotation text fragment from the annotation content. At this time, a portion corresponding to the annotation marker adding unit 14 of the annotation operation log extending unit 65 adds an identification marker to the text. As the identification marker, for example, the ID (serial number) of the operation log is used.

なお、アノテーションとしてどう作用させるかはテキストフラグメントにより作成することもできるし、<div class="annotation" id="001">X</div>のようなアノテーションテキストフラグメントのclass属性とその値を与え、CSS(Cascading Style Sheets)を使って処理することもできる。なお、タグで囲まれた部分にはアノテーション内容(アノテーションDB68の対応するレコードに記述されている具体的なテキストや画像へのリンクを含むHTMLテキストなど)を与える。   In addition, how to act as an annotation can be created by a text fragment, or the class attribute and its value of an annotation text fragment like <div class = "annotation" id = "001"> X </ div> It can also be processed using CSS (Cascading Style Sheets). Note that annotation content (such as specific text described in a corresponding record in the annotation DB 68 or HTML text including a link to an image) is given to a portion surrounded by tags.

ステップS11に進み、アノテーション操作ログ拡張部65は識別マーカをつけたアノテーションテキストフラグメントを、ステップS9で求めたWeb資源解析結果の位置に埋め込む。埋め込む位置は指定されたノードの前、後、下など取り決めによって決めることができる。   In step S11, the annotation operation log extension unit 65 embeds the annotation text fragment with the identification marker in the position of the Web resource analysis result obtained in step S9. The embedding position can be determined by agreement such as before, after, or below the designated node.

ここでは指定されたノードの後(弟)に埋め込むものとし、最初のアノテーションを埋め込んだWeb資源解析結果を図12に示す。図12は最初のアノテーションが埋め込まれたWeb資源解析結果を表す木構造の説明図である。なお、XPathのツリー表現では本来属性もノードで表現される。図12の木構造は簡略的に示したものである。図12において「X」とした部分はXPathとして#text(文字列)であるが、他の#textとの区別を明確にするために「X]と示している。その他の木構造を示す説明図においても同様である。   Here, it is assumed that it is embedded after the designated node (younger brother), and FIG. 12 shows the Web resource analysis result in which the first annotation is embedded. FIG. 12 is an explanatory diagram of a tree structure representing a Web resource analysis result in which the first annotation is embedded. In the XPath tree representation, attributes are also represented by nodes. The tree structure in FIG. 12 is shown in a simplified manner. 12, “X” is #text (character string) as XPath, but “X” is shown to clarify the distinction from other #text. The same applies to the drawings.

図12のツリーのテキスト表現は、<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><div>テキスト1</div><div class="annotation" id="001">X</div><div>テキスト2</div><div>テキスト3</div></body></html>となる。以上で、注目している付与操作の復元は終わる。   The text representation of the tree in Figure 12 is <html> <head> <title> Title </ title> </ head> <body> <h1> Header </ h1> <div> Text 1 </ div> <div class = "annotation" id = "001"> X </ div> <div> Text 2 </ div> <div> Text 3 </ div> </ body> </ html> This completes the restoration of the given grant operation.

ステップS12に進み、アノテーション操作ログ拡張部65は操作ログの中の次の操作に注目位置を移してステップS6に戻る。アノテーション操作ログ拡張部65は、最初の付与操作(ID=001)と同様にして、次の付与操作(ID=002)に対する処理を行う。付与操作(ID=002)に対する処理が終わったときのWeb資源解析結果の状態は図13に示すようになる。図13は2番目のアノテーションが埋め込まれたWeb資源解析結果を表す木構造の説明図である。   In step S12, the annotation operation log expansion unit 65 moves the attention position to the next operation in the operation log and returns to step S6. The annotation operation log extension unit 65 performs processing for the next giving operation (ID = 002) in the same manner as the first giving operation (ID = 001). FIG. 13 shows the state of the Web resource analysis result when the processing for the grant operation (ID = 002) is completed. FIG. 13 is an explanatory diagram of a tree structure representing a Web resource analysis result in which the second annotation is embedded.

図13のツリーのテキスト表現は、<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><div>テキスト1</div><div class="annotation" id="001">X</div><div>テキスト2</div><div class="annotation" id="002">Y</div><div>テキスト3</div></body></html>となる。   The text representation of the tree in Figure 13 is <html> <head> <title> title </ title> </ head> <body> <h1> header </ h1> <div> text1 </ div> <div class = "annotation" id = "001"> X </ div> <div> Text 2 </ div> <div class = "annotation" id = "002"> Y </ div> <div> Text 3 </ div > </ body> </ html>.

ステップS7において、注目している操作が削除であった場合、アノテーション操作ログ拡張部65はステップS13に進み、どのアノテーションが削除されたのかの情報として削除されたアノテーションの識別マーカを得る。例えば図10の操作ログでは、削除されたアノテーションの識別マーカとして、アノテーションが付与された時の操作ログのIDが記述されている。   In step S7, when the operation of interest is deletion, the annotation operation log expansion unit 65 proceeds to step S13, and obtains the deleted annotation identification marker as information indicating which annotation has been deleted. For example, in the operation log in FIG. 10, the ID of the operation log when an annotation is given is described as an identification marker for the deleted annotation.

ステップS14に進み、アノテーション操作ログ拡張部65は、Web資源解析結果上の削除された(識別マーカが付いた)アノテーションテキストフラグメントを求める。ステップS15に進み、アノテーション操作ログ拡張部65はステップS14で求めたテキストフラグメントをWeb資源解析結果から削除する。   In step S14, the annotation operation log extension unit 65 obtains the deleted annotation text fragment (with the identification marker) on the Web resource analysis result. In step S15, the annotation operation log extension unit 65 deletes the text fragment obtained in step S14 from the Web resource analysis result.

図13の例では、div id=001以下(テキスト表現では<div class="annotation" id="001">X</div>)が削除される。図14は、div id=001以下が削除されたWeb資源解析結果を表す木構造の説明図である。図14のツリーのテキスト表現は、<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><div>テキスト1</div><div>テキスト2</div><div class="annotation" id="002">Y</div><div>テキスト3</div></body></html>となる。   In the example of FIG. 13, div id = 001 or less (<div class = "annotation" id = "001"> X </ div> in the text expression) is deleted. FIG. 14 is an explanatory diagram of a tree structure representing a Web resource analysis result from which div id = 001 or less is deleted. The text representation of the tree in FIG. 14 is <html> <head> <title> title </ title> </ head> <body> <h1> header </ h1> <div> text1 </ div> <div> Text 2 </ div> <div class = "annotation" id = "002"> Y </ div> <div> Text 3 </ div> </ body> </ html>

なお、ここでは単純に削除を行っているが、アノテーションにアノテーションが付与されている場合もあるので、もう少し厳密な処理が必要である。なお、アノテーションにアノテーションが付与された実施例は後述する。   Although the deletion is simply performed here, an annotation may be added to the annotation, so a little more strict processing is required. An embodiment in which an annotation is added to the annotation will be described later.

ステップS6においてアノテーション操作ログDB70上の操作ログすべてをWeb資源解析結果に反映したと判定したら、アノテーション作用拡張部64及びアノテーション操作ログ拡張部65はWeb資源解析結果をレンダリングエンジンに渡す(あるいはレンダリング以外の作用を起こす)。   If it is determined in step S6 that all the operation logs on the annotation operation log DB 70 are reflected in the Web resource analysis result, the annotation action extension unit 64 and the annotation operation log extension unit 65 pass the Web resource analysis result to the rendering engine (or other than rendering) ).

なお、ここまでの例ではアノテーションが<div>から</div>までのような構造に対して付与される例を示してきた。しかし、アノテーションは文字列(#text)の一部に対して付与することもできる。例えば<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><p>テキスト1</p><p>abcde</p><p>テキスト3</p></body></html>は図15のようにツリー表現される。図15は木構造の一例を示す説明図である。   In the examples so far, examples have been shown in which annotations are assigned to structures such as <div> to </ div>. However, annotations can be added to a part of the character string (#text). <Html> <head> <title> Title </ title> </ head> <body> <h1> Header </ h1> <p> Text 1 </ p> <p> abcde </ p> <p> Text 3 </ p> </ body> </ html> is represented by a tree as shown in FIG. FIG. 15 is an explanatory diagram showing an example of a tree structure.

ここでは、図15のツリーのabcdeという文字列のbとcとの間にX、dとeとの間にYというアノテーションを順に付与した場合について説明する。この場合のツリーのテキスト表現は、<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><p>テキスト1</p><p>ab<div class="annotation" id="001">X</div>cd<div class="annotation" id="002">Y</div>e</p><p>テキスト3</p></body></html>となる。また、この場合の木構造は図16に示すようになる。図16は文字列の一部に対してアノテーションが付与されたWeb資源解析結果を表す木構造の説明図である。   Here, a case will be described in which annotations X are sequentially given between b and c in the character string abcde in the tree of FIG. 15 and Y between d and e in this order. The text representation of the tree in this case is <html> <head> <title> Title </ title> </ head> <body> <h1> Header </ h1> <p> Text1 </ p> <p> ab <div class = "annotation" id = "001"> X </ div> cd <div class = "annotation" id = "002"> Y </ div> e </ p> <p> Text 3 </ p> </ body> </ html>. In this case, the tree structure is as shown in FIG. FIG. 16 is an explanatory diagram of a tree structure representing a Web resource analysis result in which an annotation is given to a part of a character string.

アノテーションXの構造位置を単に/html/body/p[2]/#text[1]としてしまうのでは、#textの何文字目に挿入されているのかわからなくなってしまうので、/html/body/p[2]/#text [1]:2というように前の#textブロックの構造位置と、その何文字目の後に挿入されているかのオフセット(上記例では:の後の数字)を記録している。同様にアノテーションYの構造位置は/html/body/p[2]/#text[2]:2と記録している。   If the structure position of annotation X is simply / html / body / p [2] / # text [1], it will not be understood what character #text is inserted, so / html / body / Record the structure position of the previous #text block and the offset after which the character is inserted (in the example above, the number after :), such as p [2] / # text [1]: 2. ing. Similarly, the structure position of annotation Y is recorded as / html / body / p [2] / # text [2]: 2.

ここで、アノテーションXが削除されたとすると、アノテーションYの位置が解決できなくなる(#text[2]:2ではなく#text[1]:4になる)のはアノテーションが<div>から</div>までのような構造に対して付与される例と同様である。   Here, if annotation X is deleted, the position of annotation Y cannot be resolved (it will be #text [1]: 4 instead of #text [2]: 2). It is the same as the example given to the structure up to>.

アノテーションXが削除されたとすると、アノテーションYの位置が解決できなくなる問題は、テキストに対してアノテーションした場合も、アノテーションが<div>から</div>までのような構造に対して付与される例と同様に解決される。   If annotation X is deleted, the problem that the position of annotation Y cannot be resolved is an example where annotation is given to a structure from <div> to </ div> even when annotating the text Will be solved in the same way.

また、アノテーションはアノテーションに対して付与することもできる。図17はアノテーションXが埋め込まれた木構造の説明図である。ここでは、アノテーションXという文字列(XPathは/html/body/div[2]/#text)に対してアノテーションYを付与したとする。なお、アノテーションXは何文字かの文字列であって、その中の任意の何文字かを指定することもできるが、アノテーションX全体が選択されたとして説明する。   An annotation can also be added to the annotation. FIG. 17 is an explanatory diagram of a tree structure in which the annotation X is embedded. Here, it is assumed that an annotation Y is given to a character string of annotation X (XPath is / html / body / div [2] / # text). Note that the annotation X is a character string of several characters, and any number of characters in the character string can be specified, but the following description assumes that the entire annotation X has been selected.

図18はアノテーションXにアノテーションYが付与された木構造の説明図である。図18のツリーのテキスト表現は、<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><div>テキスト1</div><div class="annotation" id="001">X<div class="annotation" id="002">Y</div></div><div>テキスト2</div><div>テキスト3</div></body></html>となる。   FIG. 18 is an explanatory diagram of a tree structure in which annotation Y is added to annotation X. The text representation of the tree in FIG. 18 is <html> <head> <title> title </ title> </ head> <body> <h1> header </ h1> <div> text1 </ div> <div class = "annotation" id = "001"> X <div class = "annotation" id = "002"> Y </ div> </ div> <div> Text 2 </ div> <div> Text 3 </ div > </ body> </ html>.

このとき、アノテーションYのXPathは、/html/body/div[2]/#text:n(nはXの文字数)と記録されることになる。従来は、アノテーションXが削除されると、div id=001のノードが作成されないので、アノテーションYはdiv id=001の後のノードの下に付与されることになってしまっていた。   At this time, the XPath of the annotation Y is recorded as / html / body / div [2] / # text: n (n is the number of X characters). Conventionally, when annotation X is deleted, a node with div id = 001 is not created, so annotation Y is to be assigned under the node after div id = 001.

このようなケースも考慮したアノテーションテキストフラグメントの削除するステップS23の処理は以下のようになる。例えばdiv id=001のノードを削除するとはdiv id=001のノード以下のすべてを単純に削除するのでなく、ノード以下にある他のアノテーションノードを保存するように削除する。すなわち、上記の例では、div id=001とXというテキスト部分とを削除し、div id=002以下をbodyの下(元のdiv id=001の位置)になるようにする(テキストでは、<body>‥<div id="001">X<div id="002">Y</div></div>‥</body>を<body>‥<div id="002">Y</div>‥</body>と変換することに相当する)。   The processing in step S23 for deleting the annotation text fragment in consideration of such a case is as follows. For example, deleting a node with div id = 001 does not simply delete everything below the node with div id = 001, but deletes other annotation nodes below the node. In other words, in the above example, div id = 001 and the text part X are deleted, and div id = 002 or less is placed under the body (position of the original div id = 001) (in the text, < body> …… <div id = "001"> X <div id = "002"> Y </ div> </ div> …… </ body> into <body> …… <div id = "002"> Y </ equivalent to div> ... </ body>).

すなわち、図19に示すような木構造になる。図19はアノテーションXが削除された木構造の説明図である。図19のツリーのテキスト表現は、<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><div>テキスト1</div><div class="annotation" id="002">Y</div><div>テキスト2</div><div>テキスト3</div></body></html>となる。   That is, a tree structure as shown in FIG. 19 is obtained. FIG. 19 is an explanatory diagram of a tree structure from which the annotation X is deleted. The text representation of the tree in FIG. 19 is <html> <head> <title> title </ title> </ head> <body> <h1> header </ h1> <div> text1 </ div> <div class = "annotation" id = "002"> Y </ div> <div> Text 2 </ div> <div> Text 3 </ div> </ body> </ html>

図20はアノテーションが付与されたアノテーションをWeb資源解析結果から削除する処理を表したフローチャートである。ステップS21に進み、アノテーション操作ログ拡張部65は削除対象のノードとしてdiv id=001をPとする。ステップS22に進み、アノテーション操作ログ拡張部65はPの子ども要素としてノードX,ノードdiv id=002を注目要素として順にたどる。まず、アノテーション操作ログ拡張部65は注目要素としてノードXを処理する。   FIG. 20 is a flowchart showing a process of deleting an annotation with an annotation from the Web resource analysis result. In step S21, the annotation operation log extension unit 65 sets div id = 001 as P as a node to be deleted. Proceeding to step S22, the annotation operation log expansion unit 65 sequentially traces the node X and the node div id = 002 as the child elements of P as the element of attention. First, the annotation operation log extension unit 65 processes the node X as an element of interest.

ステップS23に進み、未処理の注目要素があるため、アノテーション操作ログ拡張部65はステップS24に進む。アノテーション操作ログ拡張部65は注目要素のノードXが他のアノテーションでないため、ステップS25に進み、注目要素のノードX以下をPから取り除く。ステップS27に進み、アノテーション操作ログ拡張部65は次の注目要素をノードdiv id=002としてステップS23に戻る。   Proceeding to step S23, since there is an unprocessed element of interest, the annotation operation log expanding unit 65 proceeds to step S24. Since the node X of the element of interest is not another annotation, the annotation operation log extension unit 65 proceeds to step S25, and removes the elements X and below of the element of interest from P. In step S27, the annotation operation log extension unit 65 sets the next element of interest as the node div id = 002, and returns to step S23.

ステップS23に進み、未処理の注目要素があるため、アノテーション操作ログ拡張部65はステップS24に進む。アノテーション操作ログ拡張部65は注目要素のノードdiv id=002以下が他のアノテーションであるため、ステップS26に進む。ステップS26では、アノテーション操作ログ拡張部65が、注目要素のノードdiv id=002以下を残したままステップS27に進む。   Proceeding to step S23, since there is an unprocessed element of interest, the annotation operation log expanding unit 65 proceeds to step S24. The annotation operation log extension unit 65 proceeds to step S26 because the element div id = 002 or less of the element of interest is another annotation. In step S26, the annotation operation log extension unit 65 proceeds to step S27 while leaving the node div id = 002 or less of the element of interest.

ステップS27に進み、アノテーション操作ログ拡張部65は次の注目要素を選択せずにステップS23に戻る。未処理の注目要素がないため、アノテーション操作ログ拡張部65はステップS28に進み、Pを残した要素であるノードdiv id=002以下に置き換えられる(ここでは残されたアノテーションが一つだったが、複数のアノテーションがあれば順序を保持しながらPを置き換える)。   In step S27, the annotation operation log extension unit 65 returns to step S23 without selecting the next element of interest. Since there is no unprocessed element of interest, the annotation operation log extension unit 65 proceeds to step S28 and is replaced with a node div id = 002 or less, which is an element in which P is left (in this case, only one annotation is left. If there are multiple annotations, replace P while keeping the order).

(アノテーション付与装置50)
図6のアノテーション付与装置50は、例えば図21のフローチャートに示すような処理を行う。図21はアノテーション付与装置の処理を表したフローチャートである。
(Annotation giving device 50)
The annotation assigning device 50 of FIG. 6 performs processing as shown in the flowchart of FIG. FIG. 21 is a flowchart showing the processing of the annotation assigning apparatus.

ステップS31に進み、アノテーション付与拡張部62は、注目しているWeb資源に対して、Web資源を表示する前に、そこに付与されているアノテーションを表示する処理を行って、アノテーションが付与されている状態でWeb資源の表示を行う。   In step S31, the annotation assignment extension unit 62 performs a process of displaying the annotation attached to the noticed Web resource before displaying the Web resource, and the annotation is provided. Web resources are displayed in the state of being.

ステップS32に進み、アノテーション付与拡張部62はユーザの操作を受ける。アノテーション付与拡張部62はユーザの操作がWeb資源に対するアノテーション付与ならステップS33に進み、アノテーション付与拡張部62はアノテーション付与部(図示せず)の呼び出しを行い、アノテーションの付与を行わせる。   In step S32, the annotation addition extension unit 62 receives a user operation. If the user operation is to add annotations to the Web resource, the annotation addition extension unit 62 proceeds to step S33, and the annotation addition extension unit 62 calls the annotation addition unit (not shown) to give the annotation.

アノテーション付与拡張部62はユーザの操作がWeb資源に対するアノテーション削除ならステップS34に進み、アノテーション削除部(図示せず)の呼び出しを行い、アノテーションの削除を行わせる。   If the user operation deletes an annotation for a Web resource, the annotation assignment extension unit 62 proceeds to step S34, calls an annotation deletion unit (not shown), and deletes the annotation.

アノテーション付与拡張部62はアノテーションの付与・削除が反映された結果をアノテーションDB68に記憶して、次のユーザ操作を待つ。また、アノテーション操作ログ拡張部63はアノテーションの付与・削除の結果をアノテーション操作ログDB70に記憶して、次のユーザ操作を待つ。   The annotation assignment extension unit 62 stores the result in which annotation assignment / deletion is reflected in the annotation DB 68 and waits for the next user operation. The annotation operation log expansion unit 63 stores the annotation addition / deletion result in the annotation operation log DB 70 and waits for the next user operation.

図22はアノテーション付与操作の処理を表したフローチャートである。アノテーション付与操作は、ユーザに画面上の適当な位置を指定させ、アノテーション内容となるテキストを入力、あるいはファイル上の画像を指定させることによって行われる。   FIG. 22 is a flowchart showing the processing of the annotation giving operation. The annotation giving operation is performed by allowing the user to specify an appropriate position on the screen, inputting text as annotation content, or specifying an image on a file.

ステップS41に進み、アノテーション付与部はユーザに指定された画面上の位置が現在表示されているWeb資源のどの位置であるかを表すXPathを求める。このようにアノテーション付与部はWeb資源のURL,XPath,アノテーション内容等をアノテーション情報として受け取る。   In step S41, the annotation assigning unit obtains an XPath indicating the position of the Web resource currently displayed on the screen specified by the user. Thus, the annotation assigning unit receives the URL, XPath, annotation content, etc. of the Web resource as annotation information.

ステップS42に進み、アノテーション付与拡張部62は受け取ったWeb資源のURL,XPath,アノテーション内容等をアノテーション情報としてアノテーションDB68に登録する。なお、XPathは現在表示されているWeb資源に対して求められるため、アノテーションが既に付与されているならば、アノテーションを含めたXPathで求められる。   In step S42, the annotation assignment extension unit 62 registers the URL, XPath, annotation content, etc. of the received Web resource as annotation information in the annotation DB 68. Note that since the XPath is obtained for the currently displayed Web resource, if an annotation has already been given, it can be obtained by the XPath including the annotation.

ステップS43に進み、アノテーション操作ログ拡張部63はアノテーション操作ログDB70にアノテーション付与のアノテーション操作ログを登録する。アノテーション操作ログ拡張部63は、現在のWeb資源の操作ログを記録しているアノテーション操作ログDB70の一連のレコードの最後に、操作種類として付与、アノテーション構造位置としてXPath、アノテーション内容、アノテーションレコードを登録する処理がさらに加わる。   In step S43, the annotation operation log extension unit 63 registers the annotation operation log with annotation in the annotation operation log DB. The annotation operation log extension unit 63 adds an operation type to the end of a series of records in the annotation operation log DB 70 in which an operation log of the current Web resource is recorded, and registers an XPath, annotation content, and an annotation record as an annotation structure position. Further processing is added.

図23はアノテーション削除操作の処理を表したフローチャートである。アノテーション削除操作は、ユーザが画面上のアノテーションを指定した後のアノテーション削除アクション(例えば用意されたボタンやメニューなど)によって行われる。   FIG. 23 is a flowchart showing the processing of the annotation deletion operation. The annotation deletion operation is performed by an annotation deletion action (for example, a prepared button or menu) after the user specifies an annotation on the screen.

ステップS51に進み、アノテーション削除部は、どのアノテーションに対する削除アクションであるかを認識する。ステップS52に進み、アノテーション付与拡張部62は削除対象のアノテーションに対応するアノテーションDB68上のレコードを求める。   In step S51, the annotation deletion unit recognizes which annotation is the deletion action. In step S52, the annotation addition extension unit 62 obtains a record on the annotation DB 68 corresponding to the annotation to be deleted.

ステップS53に進み、アノテーション付与拡張部62は削除対象のアノテーションに対応する対応付与操作のレコードをアノテーションDB68上で特定する。ステップS53の処理の詳細は後述する。ステップS54に進み、アノテーション付与拡張部62はアノテーションDB68からステップS53で特定したレコードを削除する。   In step S 53, the annotation addition extension unit 62 specifies a correspondence operation record corresponding to the annotation to be deleted on the annotation DB 68. Details of the processing in step S53 will be described later. In step S54, the annotation addition extension unit 62 deletes the record specified in step S53 from the annotation DB 68.

ステップS55に進み、アノテーション操作ログ拡張部63はアノテーション操作ログDB70にアノテーション削除のアノテーション操作ログを登録する。アノテーション操作ログ拡張部63は削除されたアノテーションが何であったかをID(識別マーカ)でアノテーション操作ログDB70に記録しておく。   In step S55, the annotation operation log extension unit 63 registers the annotation operation log for deleting annotations in the annotation operation log DB. The annotation operation log expansion unit 63 records what the deleted annotation was in the annotation operation log DB 70 with an ID (identification marker).

ID(識別マーカ)としては、例えば付与されたときの操作ログ上でのIDを利用することができる。アノテーション操作ログ拡張部63は、現在のWeb資源の操作ログを記録しているアノテーション操作ログDB70の一連のレコードの最後に、操作種類として削除、ID(識別マーカ)を登録する処理がさらに加わる。   As the ID (identification marker), for example, the ID on the operation log when given can be used. The annotation operation log extension unit 63 further includes a process of deleting and registering an ID (identification marker) as an operation type at the end of a series of records in the annotation operation log DB 70 in which an operation log of the current Web resource is recorded.

図24は、対応付与操作特定の処理を表したフローチャートである。対応付与操作特定の処理は、削除されたアノテーションがアノテーション操作ログDB70上の操作ログで表される、どの操作で付与されたのかを特定するものである。アノテーション操作ログ拡張部63は、現在のWeb資源の操作ログを最新のものから順にたどっていき、付与操作の中から、現在削除しようとしているアノテーションとアノテーション内容が一致する操作を求め、その付与操作のIDを対応付与操作のID(識別マーカ)とすればよい。アノテーション操作ログDB70へのアノテーション削除操作の登録は、操作種類フィールドに削除、XPathまたはIDフィールドにID(識別マーカ)を登録する。   FIG. 24 is a flowchart showing processing for specifying the correspondence assignment operation. The process of specifying the correspondence assignment operation is to identify the operation in which the deleted annotation is assigned by the operation log on the annotation operation log DB 70. The annotation operation log extension unit 63 traces the operation log of the current Web resource in order from the latest one, obtains an operation in which the annotation to be deleted and the annotation content match from the grant operation, and the grant operation May be used as the ID (identification marker) of the correspondence giving operation. The annotation deletion operation is registered in the annotation operation log DB 70 by deleting the operation type field and registering an ID (identification marker) in the XPath or ID field.

ステップS61に進み、アノテーション操作ログ拡張部63はアノテーション操作ログDB70上の最新の操作ログに注目する。ステップS62に進み、アノテーション操作ログ拡張部63は注目した操作ログの操作種類が付与ならば、ステップS63に進む。   In step S 61, the annotation operation log extension unit 63 pays attention to the latest operation log on the annotation operation log DB 70. Proceeding to step S62, if the operation type of the noticed operation log is given, the annotation operation log extending unit 63 proceeds to step S63.

ステップS63では、アノテーション操作ログ拡張部63が、注目した操作ログに記述されているアノテーションレコードに基づき、アノテーションDB68のレコードを読み出す。アノテーション操作ログ拡張部63は、読み出したアノテーションのレコードが現在削除しようとしているアノテーションのレコードと一致するかを判定する。   In step S63, the annotation operation log extension unit 63 reads a record in the annotation DB 68 based on the annotation record described in the noticed operation log. The annotation operation log extension unit 63 determines whether the read annotation record matches the annotation record currently being deleted.

読み出したアノテーションのレコードが現在削除しようとしているアノテーションのレコードと一致すれば、現在の注目操作が現在削除しようとしているアノテーションに対応する付与操作なので、アノテーション操作ログ拡張部63は現在注目している操作のIDをアノテーション付与拡張部62に返して図24のフローチャートの処理を終了する。   If the read annotation record matches the annotation record that is currently to be deleted, the current operation of interest is an assign operation corresponding to the annotation that is currently being deleted. Is returned to the annotation assigning extension unit 62, and the processing of the flowchart of FIG.

読み出したアノテーションのレコードが現在削除しようとしているアノテーションのレコードと一致しなければ、現在の注目操作が現在削除しようとしているアノテーションに対応する付与操作でないので、アノテーション操作ログ拡張部63はステップS64に進み、注目する操作ログを一つ過去の操作ログに移し、ステップS62の処理に戻る。   If the read annotation record does not match the annotation record that is currently being deleted, the current operation of interest is not a grant operation corresponding to the annotation that is currently being deleted, and the annotation operation log extension unit 63 proceeds to step S64. , The operation log of interest is moved to the previous operation log, and the process returns to step S62.

(アノテーション作用装置51が図4の構成である例)
図4に示したアノテーション位置影響分析部30及びアノテーション操作ログ書き換え部31は、任意のタイミングにおいてアノテーション操作ログDB70を走査して、操作ログを書き換えることができる。典型的な実施形態は、アノテーション削除操作の処理において、操作ログに「削除操作」を登録したタイミングで行われるものである。
(An example in which the annotation device 51 has the configuration of FIG. 4)
The annotation position influence analysis unit 30 and the annotation operation log rewrite unit 31 illustrated in FIG. 4 can rewrite the operation log by scanning the annotation operation log DB 70 at an arbitrary timing. A typical embodiment is performed at the timing when “deletion operation” is registered in the operation log in the processing of annotation deletion operation.

すなわち、今回削除されたアノテーションに対して、アノテーション位置影響分析部30は、今回削除されたアノテーションに対応する付与操作と共に操作ログから削除しても他のアノテーション位置に影響がないかどうかを分析する。   That is, for the annotation deleted this time, the annotation position influence analysis unit 30 analyzes whether the annotation position is not affected even if it is deleted from the operation log together with the adding operation corresponding to the annotation deleted this time. .

影響がないならばアノテーション操作ログ書き換え部31は操作ログから対応する付与操作のレコードを削除する。また、アノテーション操作ログ拡張部63は今回の削除操作も操作ログに登録しない。   If there is no influence, the annotation operation log rewriting unit 31 deletes the corresponding grant operation record from the operation log. Further, the annotation operation log expansion unit 63 does not register the current deletion operation in the operation log.

もし影響があるならば、操作ログの付与操作のレコードはそのままにして、今回の削除操作も操作ログに残すものである。アノテーション作用装置51が図4の構成である場合は図23に示したアノテーション削除操作の処理を以下のフローチャートに置き換えることになる。   If there is an influence, the operation log assignment operation record is left as it is, and the current deletion operation is also left in the operation log. When the annotation action device 51 has the configuration shown in FIG. 4, the processing of the annotation deletion operation shown in FIG. 23 is replaced with the following flowchart.

図25はアノテーション削除操作の処理を表した他の例のフローチャートである。図25のフローチャートのステップS71〜S75の処理は、上記の図23のフローチャートのステップS51〜S55の処理と同様である。ステップS76のアノテーション位置影響分析処理は、削除されたアノテーションに対して、そのアノテーションが付与された時点から削除までの間に、付与された他のアノテーションとの位置影響関係を求め、影響がある操作が一つもないときに、付与と削除の対を消す。   FIG. 25 is a flowchart of another example showing the processing of the annotation deletion operation. The processing in steps S71 to S75 in the flowchart in FIG. 25 is the same as the processing in steps S51 to S55 in the flowchart in FIG. The annotation position influence analysis processing in step S76 obtains a position influence relationship with other added annotations from the time when the annotation is added to the deletion annotation, and an operation having an influence is performed. When there is no, delete the grant / delete pair.

位置影響関係は、自分よりも前方、あるいは木構造の別ブロックかどうかを判定することで求める。また、対を消したことによって、これまでは消すことができなかった付与と削除の対の中で消すことができるようになった対をさらに消す。   The position influence relationship is obtained by determining whether the block is ahead of itself or another block of a tree structure. Further, by deleting the pair, the pair that can be deleted among the pair of grant and deletion that could not be deleted until now is further deleted.

図26はアノテーション位置影響分析処理を表したフローチャートである。ステップS81に進み、アノテーション位置影響分析部30は、削除されたアノテーションの操作ログ上のID(識別マーカ)を受け取る。アノテーション位置影響分析部30は受け取ったIDだけを要素とする要素数1のリストを作り、削除イベントリストとする。   FIG. 26 is a flowchart showing the annotation position influence analysis process. In step S81, the annotation position influence analysis unit 30 receives an ID (identification marker) on the operation log of the deleted annotation. The annotation position influence analysis unit 30 creates a list of 1 element having only the received ID as an element and sets it as a deletion event list.

ステップS82に進み、アノテーション位置影響分析部30は削除イベントリストから先頭の要素を取り出す。最初、削除イベントリストは要素数1のリストである。このためステップS82で取り出されるIDは、ステップS81で設定されたID(このIDで指定される操作は必ず削除である)である。また、要素を取り出した結果として、削除イベントリストは空になる。   In step S82, the annotation position influence analysis unit 30 extracts the first element from the deletion event list. Initially, the deletion event list is a list with 1 element. For this reason, the ID extracted in step S82 is the ID set in step S81 (the operation specified by this ID is always a deletion). In addition, as a result of extracting the element, the deletion event list becomes empty.

ステップS83に進み、アノテーション位置影響分析部30はステップS82で取り出したIDに対応する付与時のIDを求める。図23に示したアノテーション削除操作の処理では、操作ログにおける操作種類が削除のレコードに、対応する付与操作のID(識別マーカ)が登録されているので、操作ログにおける操作種類の値を取り出す。ここまでの処理により、アノテーション位置影響分析部30はアノテーションを削除する削除操作のIDと、削除操作に対応するアノテーションを付与した付与操作のIDとが得られる。   In step S83, the annotation position influence analysis unit 30 obtains an ID at the time of grant corresponding to the ID extracted in step S82. In the processing of the annotation deletion operation illustrated in FIG. 23, the operation type value in the operation log is extracted because the corresponding operation ID (identification marker) is registered in the record of the operation type deletion in the operation log. Through the processing so far, the annotation position influence analysis unit 30 obtains the ID of the deletion operation for deleting the annotation and the ID of the giving operation to which the annotation corresponding to the deletion operation is added.

ステップS84に進み、アノテーション位置影響分析部30はアノテーション操作ログDB70に記録されている操作ログを参照し、ステップS83で求めた付与操作から削除操作までの間に、ステップS83で求めた付与操作の操作ログを消すと、位置再現に影響のあるアノテーションの有無を判定する。ステップS84の処理の詳細は後述する。   Proceeding to step S84, the annotation position influence analysis unit 30 refers to the operation log recorded in the annotation operation log DB 70, and performs the grant operation obtained at step S83 between the grant operation obtained at step S83 and the delete operation. When the operation log is deleted, the presence / absence of an annotation that affects position reproduction is determined. Details of the process in step S84 will be described later.

位置再現に影響のあるアノテーションがあれば、アノテーション位置影響分析部30はステップS85に進み、ステップS83で求めた付与操作の操作ログを消去できないと判断し、アノテーション操作ログDB70に、ステップS83で求めた付与操作及び削除操作の操作ログを、そのまま残す。   If there is an annotation that affects position reproduction, the annotation position influence analysis unit 30 proceeds to step S85, determines that the operation log of the assigning operation obtained in step S83 cannot be deleted, and obtains the annotation operation log DB 70 in step S83. The operation log of the added and deleted operations is left as it is.

ステップS85に続いてステップS86に進み、アノテーション位置影響分析部30は削除イベントリストが空かを判定する。削除イベントリストが空であれば、アノテーション位置影響分析部30は図26のフローチャートの処理を終了する。削除イベントリストが空でなければ、アノテーション位置影響分析部30はステップS82に戻る。   Progressing to step S86 following step S85, the annotation position influence analysis unit 30 determines whether or not the deletion event list is empty. If the deletion event list is empty, the annotation position influence analysis unit 30 ends the process of the flowchart of FIG. If the deletion event list is not empty, the annotation position influence analysis unit 30 returns to step S82.

一方、アノテーション位置影響分析部30はステップS84において、位置再現に影響のあるアノテーションがなければ、ステップS83で求めた付与操作の操作ログを消去できると判断する。アノテーション位置影響分析部30はステップS87に進み、ステップS83で求めた対となる付与操作及び削除操作の操作ログを、アノテーション操作ログ書き換え部31にアノテーション操作ログDB70から削除させる。   On the other hand, in step S84, the annotation position influence analysis unit 30 determines that the operation log of the assigning operation obtained in step S83 can be deleted if there is no annotation that affects the position reproduction. In step S87, the annotation position influence analysis unit 30 causes the annotation operation log rewriting unit 31 to delete the operation log of the pairing operation and deletion operation obtained in step S83 from the annotation operation log DB 70.

例えば操作ログが(#1,insert,3,X)、(#2,insert,5,Y)、(#3,delete,#1)である場合、#3における削除操作の時点では、#2で付与されたアノテーションYの存在により#1と#3との対(ペア)を操作ログから取り除くことができない。   For example, when the operation log is (# 1, insert, 3, X), (# 2, insert, 5, Y), (# 3, delete, # 1), at the time of the delete operation in # 3, # 2 The pair of # 1 and # 3 cannot be removed from the operation log due to the presence of the annotation Y given in.

しかし、(#4,delete,#2)という削除操作が加わると、#2と#4とのペアは操作ログから取り除くことができる。すると、#1と#3とのペアの間に影響のある付与操作が無くなり、#1と#3とのペアは操作ログから取り除くことができる。このような波及効果を実現するために、アノテーション位置影響分析部30はステップS87に続いてステップS88に進み、取り除いた付与操作及び削除操作の操作ログの間にある削除操作のIDを削除イベントリストに付け加えてステップS82の処理に戻る。ステップS82〜S88の処理を繰り返し行うことで、アノテーション位置影響分析部30は波及して取り除ける操作ログを求めることができる。   However, if a deletion operation of (# 4, delete, # 2) is added, the pair of # 2 and # 4 can be removed from the operation log. Then, there is no giving operation having an influence between the pair of # 1 and # 3, and the pair of # 1 and # 3 can be removed from the operation log. In order to realize such a ripple effect, the annotation position influence analysis unit 30 proceeds to step S88 following step S87, and deletes the ID of the delete operation between the operation logs of the removed assignment operation and the delete operation. In addition, the process returns to step S82. By repeatedly performing the processes of steps S82 to S88, the annotation position influence analysis unit 30 can obtain an operation log that can be rippled and removed.

ステップS84の処理である影響有無判定処理は、次のように行う。付与操作と削除操作の操作ログ上のIDが与えられたとき、アノテーション位置影響分析部30は、この付与操作および削除操作の操作ログをアノテーション操作ログDB70から取り除けるかどうかを判定する。   The influence presence / absence determination process, which is the process of step S84, is performed as follows. When the IDs on the operation logs of the grant operation and the delete operation are given, the annotation position influence analysis unit 30 determines whether or not the operation log of the grant operation and the delete operation can be removed from the annotation operation log DB 70.

図27は付与操作および削除操作の操作ログをアノテーション操作ログDBから、どのようなときに取り除けて、どのようなときに取り除けないかを表した説明図である。例えばアノテーション操作ログDB70から操作ログを取り除きたいノードはノードIであるとする。   FIG. 27 is an explanatory diagram showing when the operation log of the assigning operation and the deleting operation can be removed from the annotation operation log DB, and when it cannot be removed. For example, it is assumed that the node I wants to remove the operation log from the annotation operation log DB 70 is node I.

ノードIの操作ログをアノテーション操作ログDB70から取り除けるのは、ノードIが付与されて削除されるまでの間に付与されたすべてのアノテーションの構造位置(XPath)が、ノードIの有無によらず不変であるときである。ノードIが付与されて削除されるまでの間に付与されたアノテーションの構造位置が、ノードIの有無により一つでも変化してしまうのであれば、ノードIの操作ログはアノテーション操作ログDB70から取り除けない。   The operation log of the node I can be removed from the annotation operation log DB 70 because the structure position (XPath) of all the annotations given before the node I is added and deleted is not changed regardless of the presence or absence of the node I. When it is. If the structure position of the annotation that has been given before the node I is added and deleted changes depending on the presence or absence of the node I, the operation log of the node I can be removed from the annotation operation log DB 70. Absent.

図27のノードIの子孫であるノードJ,Kは、ノードIが無くなると当然構造位置が変わってしまう。また、ノードIの弟であるノードLと、その子孫であるノードM,NもノードIが無くなると構造位置が変わってしまう。   The nodes J and K which are descendants of the node I in FIG. 27 naturally change their structural positions when the node I disappears. In addition, the node L, which is the brother of the node I, and the nodes M and N, which are descendants of the node L, change their structural positions when the node I disappears.

一方、ノードIと親を共通にしないノードB,C,D,O,P及びQは、ノードIが無くなっても構造位置が不変である。ノードIと親が共通であっても、ノードIの前方にある兄であるノードFと、その子孫であるノードG,Hとは、ノードIが無くなっても構造位置が不変である。   On the other hand, the nodes B, C, D, O, P, and Q that do not share the parent with the node I have the same structure position even if the node I disappears. Even if node I and the parent are common, node F, which is the older brother in front of node I, and its descendants, nodes G and H, have the same structural position even if node I disappears.

結局、ノードIの付与から削除までの間に、自分自身(ノードI)の子孫、あるいは弟とその子孫になる位置に一つでもアノテーションが付与されたならば、アノテーション位置影響分析部30はノードIの操作ログをアノテーション操作ログDB70から取り除けないと判定する。また、ノードIの付与から削除までの間に、自分自身の子孫、あるいは弟とその子孫になる位置にアノテーションが付与されなければ、アノテーション位置影響分析部30はノードIの操作ログをアノテーション操作ログDB70から取り除けると判定する。   After all, if at least one annotation is given to a position that becomes a descendant of itself (node I) or a younger brother and its descendant during the period from addition to deletion of node I, the annotation position influence analysis unit 30 It is determined that the operation log of I cannot be removed from the annotation operation log DB 70. Also, if no annotation is given to the position of its own descendant or younger brother and its descendant from the time node I is given to deletion, the annotation position influence analysis unit 30 uses the node I operation log as the annotation operation log. It is determined that it can be removed from DB70.

図28は付与操作および削除操作の操作ログをアノテーション操作ログDBから取り除けるかどうかを判定する処理を表したフローチャートである。   FIG. 28 is a flowchart showing processing for determining whether or not the operation log of the assigning operation and the deleting operation can be removed from the annotation operation log DB.

ステップS91に進み、アノテーション位置影響分析部30は、付与操作のIDをiとし、削除操作のIDをjとする。ステップS92に進み、アノテーション位置影響分析部30はiの構造位置(XPath)を求めてpとする。   Proceeding to step S91, the annotation position influence analysis unit 30 sets the grant operation ID to i and the delete operation ID to j. In step S92, the annotation position influence analysis unit 30 obtains the structure position (XPath) of i and sets it to p.

なお、アノテーションDB68やアノテーション操作ログDB70に登録されている構造位置は、どのノードの後にアノテーションを挿入するかの位置である。例えば図27の場合、ノードIは構造位置としてノードFが指定されている。しかし、ここではノードFの構造位置ではなくノードI自身の構造位置をpとする。   Note that the structure position registered in the annotation DB 68 and the annotation operation log DB 70 is the position after which the annotation is inserted. For example, in the case of FIG. 27, the node I designates the node F as the structure position. However, here, not the structure position of the node F but the structure position of the node I itself is represented by p.

ステップS93に進み、アノテーション位置影響分析部30は注目する操作ログ上の位置iを、現在のiの次の操作ログのIDとする。なお、操作ログはアノテーション操作ログDB70から取り除かれていることもあるため、現在のiの次の操作ログのIDが連番でないこともある。   In step S93, the annotation position influence analysis unit 30 sets the position i on the operation log to be noted as the ID of the operation log next to the current i. Since the operation log may be removed from the annotation operation log DB 70, the ID of the operation log next to the current i may not be a sequential number.

ステップS94に進み、アノテーション位置影響分析部30は注目する操作ログ上の位置iが削除操作(j)よりも過去に行われた操作であるかを判定する。注目する操作ログ上の位置iが削除操作(j)よりも過去に行われた操作であれば、アノテーション位置影響分析部30はステップS95に進む。   In step S94, the annotation position influence analysis unit 30 determines whether the position i on the operation log to be noticed is an operation performed in the past before the deletion operation (j). If the position i on the operation log to be noticed is an operation performed before the deletion operation (j), the annotation position influence analysis unit 30 proceeds to step S95.

ステップS95では、アノテーション位置影響分析部30が、iで示される操作が付与操作であるかを判定する。iで示される操作が付与操作であれば、アノテーション位置影響分析部30はステップS96に進み、iで示される付与操作の構造位置を取り出し、その構造位置をqとする。なお、ここではpと同様に、付与されたアノテーション自身の構造位置をqとする。   In step S95, the annotation position influence analysis unit 30 determines whether the operation indicated by i is a giving operation. If the operation indicated by i is an assignment operation, the annotation position influence analysis unit 30 proceeds to step S96, extracts the structure position of the assignment operation indicated by i, and sets the structure position to q. Here, similarly to p, the structure position of the assigned annotation itself is assumed to be q.

そして、ステップS97に進み、アノテーション位置影響分析部30はqがpの子孫であるか、あるいは弟であるか、あるいは弟の子孫であるかを判定する。qがpの子孫であるか、あるいは弟であるか、あるいは弟の子孫であれば、アノテーション位置影響分析部30は、影響のあるアノテーションが存在すると判定する。qがpの子孫でなく、あるいは弟でなく、あるいは弟の子孫でなければ、アノテーション位置影響分析部30は、ステップS93に戻る。   In step S97, the annotation position influence analysis unit 30 determines whether q is a descendant of p, a younger brother, or a younger brother. If q is a descendant of p, a younger brother, or a descendant of the younger brother, the annotation position influence analysis unit 30 determines that there is an affected annotation. If q is not a descendant of p, a younger brother, or a younger brother, the annotation position influence analysis unit 30 returns to step S93.

なお、ステップS94において、注目する操作ログ上の位置iが削除操作(j)よりも過去に行われた操作でなければ(jと一致)、アノテーション位置影響分析部30は影響のあるアノテーションが存在しないと判定する。ステップS95において、iで示される操作が付与操作でなければ、アノテーション位置影響分析部30はステップS93に戻る。   In step S94, if the position i on the noticed operation log is not an operation performed before the deletion operation (j) (matches j), the annotation position influence analysis unit 30 has an affected annotation. Judge that not. If the operation indicated by i is not an assignment operation in step S95, the annotation position influence analysis unit 30 returns to step S93.

(アノテーション作用装置51が図5の構成である例)
図5の構成のアノテーション作用装置51は、アノテーションの削除操作に対し、アノテーション操作ログDB70内の対応するレコードに、図29に示すように、削除済みのマーカを付与する。図29はアノテーション操作ログDBの他の例の構成図である。図29のアノテーション操作ログDB70は、図10に示したアノテーション操作ログDB70と、付与したアノテーションが削除済か否かのマーカが記録されることが異なる。
(An example in which the annotation device 51 has the configuration of FIG. 5)
As shown in FIG. 29, the annotation action device 51 having the configuration shown in FIG. 5 adds a deleted marker to the corresponding record in the annotation operation log DB 70 in response to the annotation deletion operation. FIG. 29 is a configuration diagram of another example of the annotation operation log DB. The annotation operation log DB 70 of FIG. 29 differs from the annotation operation log DB 70 shown in FIG. 10 in that a marker indicating whether or not the assigned annotation has been deleted is recorded.

また、図29のアノテーション操作ログDB70には、削除操作の操作ログが記録されない(記録されたとしても無視される)。図29のアノテーション操作ログDB70では操作種類のフィールドが残されているが、記録される操作ログが付与操作だけである為、操作種類のフィールドを無くしてもよい。   In addition, the operation log of the deletion operation is not recorded in the annotation operation log DB 70 of FIG. 29 (even if it is recorded, it is ignored). Although the operation type field is left in the annotation operation log DB 70 of FIG. 29, the operation type field may be omitted because the operation log to be recorded is only the giving operation.

また、図29のアノテーション操作ログDB70はID003のXPathが図10のアノテーション操作ログDB70と異なっている。この理由はWeb資源解析結果に削除済の痕跡が残るからである。図30は、削除済の痕跡が残るWeb資源解析結果を表す木構造の説明図である。図30では、div class=deletedという削除済の痕跡が残っているため、アノテーションZの構造位置が/html/body/div[4]となる。   29 is different from the annotation operation log DB 70 of FIG. 10 in the XPath of ID003. This is because the deleted trace remains in the Web resource analysis result. FIG. 30 is an explanatory diagram of a tree structure representing a Web resource analysis result in which a deleted trace remains. In FIG. 30, since the deleted trace of div class = deleted remains, the structure position of the annotation Z is / html / body / div [4].

図31はアノテーション作用装置のアノテーション表示処理を表したフローチャートである。図31のフローチャートは、図8のフローチャートと比べて、アノテーションを表示(作用)するときに「削除済」マーカを考慮すること、削除済みのアノテーションを認識し「削除済」マーカを付与すること、とが異なる。   FIG. 31 is a flowchart showing annotation display processing of the annotation action device. Compared with the flowchart of FIG. 8, the flowchart of FIG. 31 considers the “deleted” marker when displaying (acting) the annotation, recognizes the deleted annotation, and assigns the “deleted” marker. Is different.

具体的に、図31のフローチャートは、図8のフローチャートと以下の点が異なっている。第1に、図5の構成のアノテーション作用装置51は、削除操作をアノテーション操作ログDB70に記録しないため、図8のフローチャートにおけるステップS7,S13〜S15が不要となる。   Specifically, the flowchart of FIG. 31 differs from the flowchart of FIG. 8 in the following points. First, since the annotation operation device 51 configured as shown in FIG. 5 does not record the delete operation in the annotation operation log DB 70, steps S7 and S13 to S15 in the flowchart of FIG. 8 are not necessary.

第2に、図5の構成のアノテーション作用装置51は、図8のフローチャートにおけるステップS10のテキストフラグメント化に対応する処理おいて、「削除済」マーカがある場合と「削除済」マーカがない場合とで作成するテキストフラグメントが異なる。第3に、図5の構成のアノテーション作用装置51は、後で操作ログを削除する必要がないので識別マーカも不要である。   Second, the annotation action device 51 configured as shown in FIG. 5 has a case where there is a “deleted” marker and a case where there is no “deleted” marker in the processing corresponding to the text fragmentation in step S10 in the flowchart of FIG. And the text fragment to create is different. Thirdly, the annotation action device 51 having the configuration shown in FIG. 5 does not need to delete the operation log later, and therefore does not need an identification marker.

ステップS101〜S106、S107,S108,S112,S113の処理は図8のステップS1〜S6、S8、S9、S12、S16の処理と同様であるため、説明を省略する。   The processing in steps S101 to S106, S107, S108, S112, and S113 is the same as the processing in steps S1 to S6, S8, S9, S12, and S16 in FIG.

ステップS109に進み、アノテーション操作ログ拡張部65はアノテーションをテキストフラグ化する際に、アノテーションが既に削除されているか否かをアノテーション操作ログDB70のマーカのフィールドを参照して確認する。「削除済」マーカが付いていなければ、アノテーション操作ログ拡張部65はアノテーションが存在すると判定し、ステップS110に進む。ステップS110では、アノテーション操作ログ拡張部65が図8のステップS10と同様、アノテーション内容からアノテーション用のテキストフラグメントを作成するが、特に識別マーカをテキストフラグメントに埋め込む必要はない。   In step S109, the annotation operation log extension unit 65 refers to the marker field in the annotation operation log DB 70 to check whether the annotation has already been deleted when the annotation is converted to a text flag. If the “deleted” marker is not attached, the annotation operation log extension unit 65 determines that there is an annotation, and proceeds to step S110. In step S110, the annotation operation log extension unit 65 creates a text fragment for annotation from the annotation content as in step S10 of FIG. 8, but it is not necessary to embed an identification marker in the text fragment.

もし、「削除済」マーカが付いていれば、アノテーション操作ログ拡張部65は、既にアノテーションが削除されていると判定し、ステップS114に進む。ステップS114ではアノテーション操作ログ拡張部65がダミーのアノテーションテキストフラグメントを作成する。ダミーのアノテーションテキストフラグメントは、構造位置を計算する時にアノテーションがあるのと同様な働きをするが、表示や作用のときに何も効果を生じないようなテキストフラグメントである。具体的に、例えば属性値としてdeletedを持ち、テキスト要素が空のテキストフラグメントとして<div class="annotation deleted"/>を作成する。   If the “deleted” marker is attached, the annotation operation log expansion unit 65 determines that the annotation has already been deleted, and proceeds to step S114. In step S114, the annotation operation log extension unit 65 creates a dummy annotation text fragment. A dummy annotation text fragment is a text fragment that works in the same way as an annotation when calculating the structure position, but has no effect on display or action. Specifically, for example, <div class = "annotation deleted" /> is created as a text fragment having deleted as an attribute value and an empty text element.

削除済みアノテーションを認識する典型的な実施例は、アノテーションの削除操作が行われたときに呼び出されるものである。例えば、図23のアノテーション削除の実施例においてステップS55のアノテーション操作ログに「削除」を登録する代わりに、図31のフローチャートは、対応する付与操作(これは図23のフローチャートではステップS53において求まっている)のレコードに削除済というマーカを付与する点で異なる。   An exemplary embodiment for recognizing deleted annotations is called when an annotation deletion operation is performed. For example, instead of registering “deletion” in the annotation operation log in step S55 in the annotation deletion embodiment of FIG. 23, the flowchart of FIG. 31 shows the corresponding assignment operation (this is determined in step S53 in the flowchart of FIG. 23). This is different in that a marker “deleted” is added to the record of “Yes”.

また、図5の削除済みアノテーション認識手段41は、アノテーションの削除操作時点で何もせず、ステップS109でアノテーションが既に削除されているかどうかを確認する際、「削除済」マーカの有無を確認するのではなく、アノテーションDB68にアクセスし、そのアノテーションのレコードが存在するかどうかでアノテーションが存在するか削除されているかを確認できる。なお、このやり方の場合には操作ログの「削除済」マーカのフィールドは不要である。なお、アノテーションDB68へのアクセスは、このタイミングでなくステップS107でアノテーション情報を取り出すときに行ってもよい。   Further, the deleted annotation recognition means 41 in FIG. 5 does nothing at the time of the annotation deletion operation, and checks whether or not there is a “deleted” marker when checking whether the annotation has already been deleted in step S109. Instead, it is possible to check whether the annotation exists or has been deleted by accessing the annotation DB 68 and checking whether the annotation record exists. In this method, the “deleted” marker field in the operation log is not necessary. Note that the annotation DB 68 may be accessed when the annotation information is extracted in step S107 instead of this timing.

(アノテーションプログラムがブラウザに適用された例)
図32は、本実施例のアノテーションプログラムを適用したブラウザの一例の構成図である。図32のブラウザ200は、典型的な構成を示したものであり、説明に不要なCSSの処理やPDFプラグイン等の細かい部分を省略している。
(Example of annotation program applied to browser)
FIG. 32 is a configuration diagram of an example of a browser to which the annotation program of this embodiment is applied. The browser 200 shown in FIG. 32 shows a typical configuration, and details such as CSS processing and PDF plug-in that are unnecessary for the description are omitted.

ネットワークを経由して受信されたHTML文書100をHTMLパーサ201は解析して、木構造(DOMツリー)202を生成する。これと同時に、Javascriptプログラム205はHTML文書100中にあったJavascriptプログラム205を実行し、DOMツリー202の中身を書き換える。書き換えられたDOMツリー202はレンダリングエンジン203に送られる。   The HTML parser 201 analyzes the HTML document 100 received via the network, and generates a tree structure (DOM tree) 202. At the same time, the Javascript program 205 executes the Javascript program 205 existing in the HTML document 100 and rewrites the contents of the DOM tree 202. The rewritten DOM tree 202 is sent to the rendering engine 203.

レンダリングエンジン203は送られてきたDOMツリー202を画面で見える形に変換する。そして、ユーザインタフェース204を介したユーザの操作等によってJavascriptプログラム205はDOMツリー202を書き換え、表示させる内容を変化させる。   The rendering engine 203 converts the received DOM tree 202 into a form that can be seen on the screen. Then, the JavaScript program 205 rewrites the DOM tree 202 and changes the content to be displayed by a user operation or the like via the user interface 204.

アノテーションプログラム210は、典型的にブラウザ200の中に保持される(すなわち、ブラウザ200に組込まれる、あるいは機能拡張として付け加えられる形で実現される)。   The annotation program 210 is typically held in the browser 200 (ie, implemented in a form that is incorporated into the browser 200 or added as a function extension).

そして、読み込まれたHTML文書100のJavascriptプログラム205が実行されるのに追加して、アノテーションプログラム210は実行され、DOMツリー202を書き換える。なお、アノテーションプログラム210が参照するアノテーションDB等のデータはブラウザ200の外部に保持される。   Then, in addition to the Javascript program 205 of the read HTML document 100 being executed, the annotation program 210 is executed and the DOM tree 202 is rewritten. Note that data such as the annotation DB referred to by the annotation program 210 is held outside the browser 200.

アノテーションプログラム210を保持する別の実施形態としては、読み込まれるHTML文書に、アノテーションプログラム210を保持しておくことが考えられる。この実施形態では、適用できるWebページが限定されるが、ブラウザ200にアノテーションプログラム210を保持するのと同じ効果を持たせることができる。   As another embodiment for holding the annotation program 210, it is conceivable to hold the annotation program 210 in a read HTML document. In this embodiment, the applicable Web pages are limited, but the same effect as that in which the annotation program 210 is held in the browser 200 can be provided.

本発明は、以下に記載する付記のような構成が考えられる。
(付記1)
アノテーション情報を管理するコンピュータを動作させるアノテーションプログラムであって、
前記コンピュータを、
Web資源を受信する受信手段と、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの付与操作であるとき、前記Web資源に埋め込むアノテーションに、前記アノテーションを識別可能なマーカを付与するアノテーションマーカ付与手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの削除操作であるとき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーション特定削除手段と
して動作させるアノテーションプログラム。
(付記2)
前記コンピュータを、
前記アノテーション操作ログ記憶手段に記憶されているアノテーションの付与操作及び削除操作の操作ログの対のうち、削除しても他のアノテーションの付与位置に影響を与えないアノテーションの付与操作及び削除操作の操作ログの対を分析するアノテーション位置影響分析手段と、
削除しても他のアノテーションの付与位置に影響を与えないアノテーションの付与操作及び削除操作の操作ログの対を前記アノテーション操作ログ記憶手段から削除するように書き換えるアノテーション操作ログ書き換え手段と
して動作させる付記1記載のアノテーションプログラム。
(付記3)
アノテーション情報を管理するコンピュータを動作させるアノテーションプログラムであって、
前記コンピュータを、
Web資源を受信する受信手段と、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログが既に削除されているアノテーションの付与操作であるとき、他のアノテーションの付与位置に影響を与え、前記アノテーションの作用時に影響を与えないダミーアノテーションの生成を行うダミーアノテーション生成手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログが存在するアノテーションの付与操作であるとき、前記アノテーションを前記Web資源に埋め込み、前記操作ログが既に削除されているアノテーションの付与操作であるとき、前記ダミーアノテーションを前記Web資源に埋め込むアノテーション埋込手段と
して動作させるアノテーションプログラム。
(付記4)
アノテーション情報を管理するアノテーション装置であって、
Web資源を受信する受信手段と、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの付与操作であるとき、前記Web資源に埋め込むアノテーションに、前記アノテーションを識別可能なマーカを付与するアノテーションマーカ付与手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの削除操作であるとき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーション特定削除手段と
を有するアノテーション装置。
(付記5)
アノテーション情報を管理するアノテーション装置であって、
Web資源を受信する受信手段と、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログが既に削除されているアノテーションの付与操作であるとき、他のアノテーションの付与位置に影響を与え、前記アノテーションの作用時に影響を与えないダミーアノテーションの生成を行うダミーアノテーション生成手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログが存在するアノテーションの付与操作であるとき、前記アノテーションを前記Web資源に埋め込み、前記操作ログが既に削除されているアノテーションの付与操作であるとき、前記ダミーアノテーションを前記Web資源に埋め込むアノテーション埋込手段と
を有するアノテーション装置。
(付記6)
アノテーション情報を管理するアノテーション装置のアノテーション方法であって、
Web資源を受信する受信ステップと、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得ステップと、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの付与操作であるとき、前記Web資源に埋め込むアノテーションに、前記アノテーションを識別可能なマーカを付与するアノテーションマーカ付与ステップと、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの削除操作であるとき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーション特定削除ステップと
を有するアノテーション方法。
(付記7)
アノテーション情報を管理するアノテーション装置のアノテーション方法であって、
Web資源を受信する受信ステップと、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得ステップと、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログが既に削除されているアノテーションの付与操作であるとき、他のアノテーションの付与位置に影響を与え、前記アノテーションの作用時に影響を与えないダミーアノテーションの生成を行うダミーアノテーション生成ステップと、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログが存在するアノテーションの付与操作であるとき、前記アノテーションを前記Web資源に埋め込み、前記操作ログが既に削除されているアノテーションの付与操作であるとき、前記ダミーアノテーションを前記Web資源に埋め込むアノテーション埋込ステップと
を有するアノテーション方法。
The present invention may have the following configurations as described below.
(Appendix 1)
An annotation program for operating a computer for managing annotation information,
The computer,
Receiving means for receiving Web resources;
An annotation operation log acquisition unit that retrieves an operation log for the received Web resource from an annotation operation log storage unit that stores Web resource identification information and an operation log in association with each other in time series;
When an operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and the operation log is an annotation assignment operation, a marker that can identify the annotation is embedded in the annotation embedded in the Web resource. Annotation marker giving means for giving,
The operation log for the Web resource extracted from the annotation operation log storage means is selected in time series, and when the operation log is an annotation deletion operation, the deletion embedded in the Web resource using the marker An annotation program that operates as an annotation specific deletion means that specifies and deletes the annotation that is the target of the operation.
(Appendix 2)
The computer,
Of annotation operation log pairs stored in the annotation operation log storage means, an annotation assignment operation and a deletion operation operation that do not affect other annotation assignment positions even if deleted. An annotation position influence analysis means for analyzing log pairs;
Supplementary Note 1 that operates as an annotation operation log rewriting unit that rewrites a pair of operation logs of an annotation giving operation and a deleting operation that do not affect other annotation giving positions even if deleted so as to be deleted from the annotation operation log storage unit Annotation program as described.
(Appendix 3)
An annotation program for operating a computer for managing annotation information,
The computer,
Receiving means for receiving Web resources;
An annotation operation log acquisition unit that retrieves an operation log for the received Web resource from an annotation operation log storage unit that stores Web resource identification information and an operation log in association with each other in time series;
The operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and when the operation log is an annotation assignment operation that has already been deleted, it affects the assignment position of other annotations, Dummy annotation generating means for generating dummy annotation that does not affect the operation of the annotation;
An operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and when the operation log is an annotation giving operation, the annotation is embedded in the Web resource, and the operation log has already been stored. An annotation program that operates as an annotation embedding unit that embeds the dummy annotation in the Web resource when the operation is to add an annotation that has been deleted.
(Appendix 4)
An annotation device that manages annotation information,
Receiving means for receiving Web resources;
An annotation operation log acquisition unit that retrieves an operation log for the received Web resource from an annotation operation log storage unit that stores Web resource identification information and an operation log in association with each other in time series;
When an operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and the operation log is an annotation assignment operation, a marker that can identify the annotation is embedded in the annotation embedded in the Web resource. Annotation marker giving means for giving,
The operation log for the Web resource extracted from the annotation operation log storage means is selected in time series, and when the operation log is an annotation deletion operation, the deletion embedded in the Web resource using the marker An annotation device having annotation specific deletion means for specifying and deleting an annotation to be operated.
(Appendix 5)
An annotation device that manages annotation information,
Receiving means for receiving Web resources;
An annotation operation log acquisition unit that retrieves an operation log for the received Web resource from an annotation operation log storage unit that stores Web resource identification information and an operation log in association with each other in time series;
The operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and when the operation log is an annotation assignment operation that has already been deleted, it affects the assignment position of other annotations, Dummy annotation generating means for generating dummy annotation that does not affect the operation of the annotation;
An operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and when the operation log is an annotation giving operation, the annotation is embedded in the Web resource, and the operation log has already been stored. An annotation apparatus comprising: an annotation embedding unit that embeds the dummy annotation in the Web resource when the operation is to add a deleted annotation.
(Appendix 6)
An annotation method for an annotation device that manages annotation information,
A receiving step of receiving a web resource;
An annotation operation log acquisition step for retrieving the operation log for the received Web resource from the annotation operation log storage unit that stores the Web resource identification information and the operation log in association with each other in time series;
When an operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and the operation log is an annotation assignment operation, a marker that can identify the annotation is embedded in the annotation embedded in the Web resource. An annotation marker giving step to be given;
The operation log for the Web resource extracted from the annotation operation log storage means is selected in time series, and when the operation log is an annotation deletion operation, the deletion embedded in the Web resource using the marker An annotation method comprising: an annotation identification / deletion step for identifying and deleting an annotation to be operated.
(Appendix 7)
An annotation method for an annotation device that manages annotation information,
A receiving step of receiving a web resource;
An annotation operation log acquisition step for retrieving the operation log for the received Web resource from the annotation operation log storage unit that stores the Web resource identification information and the operation log in association with each other in time series;
The operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and when the operation log is an annotation assignment operation that has already been deleted, it affects the assignment position of other annotations, A dummy annotation generation step for generating a dummy annotation that does not affect the operation of the annotation;
An operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and when the operation log is an annotation giving operation, the annotation is embedded in the Web resource, and the operation log has already been stored. An annotation method comprising an annotation embedding step of embedding the dummy annotation in the Web resource when the deleted annotation is added.

本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。   The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims.

1 アノテーション
10 Web資源取得部
11 Web資源解析結果準備部
12 アノテーション操作ログ取得部
13 アノテーション復元部
14 アノテーションマーカ付与部
15 アノテーション埋込部
16 アノテーションフラグメント特定部
17 アノテーションフラグメント削除部
18 アノテーション作用部
19 Web資源解析結果
20 アノテーションDB
21 アノテーション操作ログDB
30 アノテーション位置影響分析部
31 アノテーション操作ログ書き換え部
40 ダミーアノテーションテキストフラグメント生成部
41 削除済みアノテーション認識手段
50 アノテーション付与装置
51 アノテーション作用装置
52 アノテーション管理サーバ
53 アノテーション操作ログ管理装置
61 Web閲覧器
62 アノテーション付与拡張部
63 アノテーション操作ログ拡張部
64 アノテーション作用拡張部
65 アノテーション操作ログ拡張部
66 Web閲覧器
67 アノテーションDB管理部
68 アノテーションDB
69 アノテーション一覧管理部
70 アノテーション操作ログDB
81 入力装置
82 出力装置
83 ドライブ装置
84 補助記憶装置
85 主記憶装置
86 演算処理装置
87 インターフェース装置
100 HTML文書
200 ブラウザ
201 HTMLパーサ
202 DOMツリー
203 レンダリングエンジン
204 ユーザインタフェース
205 Javascriptプログラム
206 Javascriptエンジン
DESCRIPTION OF SYMBOLS 1 Annotation 10 Web resource acquisition part 11 Web resource analysis result preparation part 12 Annotation operation log acquisition part 13 Annotation restoration part 14 Annotation marker assignment part 15 Annotation embedding part 16 Annotation fragment identification part 17 Annotation fragment deletion part 18 Annotation action part 19 Web Resource analysis results 20 Annotation DB
21 Annotation operation log DB
DESCRIPTION OF SYMBOLS 30 Annotation position influence analysis part 31 Annotation operation log rewriting part 40 Dummy annotation text fragment generation part 41 Deleted annotation recognition means 50 Annotation giving apparatus 51 Annotation action apparatus 52 Annotation management server 53 Annotation operation log management apparatus 61 Web browsing apparatus 62 Annotation assignment Extension unit 63 Annotation operation log extension unit 64 Annotation action extension unit 65 Annotation operation log extension unit 66 Web browsing device 67 Annotation DB management unit 68 Annotation DB
69 Annotation List Management Unit 70 Annotation Operation Log DB
81 Input Device 82 Output Device 83 Drive Device 84 Auxiliary Storage Device 85 Main Storage Device 86 Arithmetic Processing Device 87 Interface Device 100 HTML Document 200 Browser 201 HTML Parser 202 DOM Tree 203 Rendering Engine 204 User Interface 205 Javascript Engine 206 Javascript Engine

Claims (5)

アノテーション情報を管理するコンピュータを動作させるアノテーションプログラムであって、
前記コンピュータを、
Web資源を受信する受信手段と、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの付与操作であるとき、前記Web資源に埋め込むアノテーションに、前記アノテーションを識別可能なマーカを付与するアノテーションマーカ付与手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの削除操作であるとき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーション特定削除手段と
して動作させるアノテーションプログラム。
An annotation program for operating a computer for managing annotation information,
The computer,
Receiving means for receiving Web resources;
An annotation operation log acquisition unit that retrieves an operation log for the received Web resource from an annotation operation log storage unit that stores Web resource identification information and an operation log in association with each other in time series;
When an operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and the operation log is an annotation assignment operation, a marker that can identify the annotation is embedded in the annotation embedded in the Web resource. Annotation marker giving means for giving,
The operation log for the Web resource extracted from the annotation operation log storage means is selected in time series, and when the operation log is an annotation deletion operation, the deletion embedded in the Web resource using the marker An annotation program that operates as an annotation specific deletion means that specifies and deletes the annotation that is the target of the operation.
前記コンピュータを、
前記アノテーション操作ログ記憶手段に記憶されているアノテーションの付与操作及び削除操作の操作ログの対のうち、削除しても他のアノテーションの付与位置に影響を与えないアノテーションの付与操作及び削除操作の操作ログの対を分析するアノテーション位置影響分析手段と、
削除しても他のアノテーションの付与位置に影響を与えないアノテーションの付与操作及び削除操作の操作ログの対を前記アノテーション操作ログ記憶手段から削除するように書き換えるアノテーション操作ログ書き換え手段と
して動作させる請求項1記載のアノテーションプログラム。
The computer,
Of annotation operation log pairs stored in the annotation operation log storage means, an annotation assignment operation and a deletion operation operation that do not affect other annotation assignment positions even if deleted. An annotation position influence analysis means for analyzing log pairs;
An operation of an annotation operation log rewrite unit that rewrites an operation log pair of an annotation assignment operation and a deletion operation that does not affect another annotation assignment position even if deleted so as to be deleted from the annotation operation log storage unit. The annotation program according to 1.
アノテーション情報を管理するコンピュータを動作させるアノテーションプログラムであって、
前記コンピュータを、
Web資源を受信する受信手段と、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログが既に削除されているアノテーションの付与操作であるとき、他のアノテーションの付与位置に影響を与え、前記アノテーションの作用時に影響を与えないダミーアノテーションの生成を行うダミーアノテーション生成手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログが存在するアノテーションの付与操作であるとき、前記アノテーションを前記Web資源に埋め込み、前記操作ログが既に削除されているアノテーションの付与操作であるとき、前記ダミーアノテーションを前記Web資源に埋め込むアノテーション埋込手段と
して動作させるアノテーションプログラム。
An annotation program for operating a computer for managing annotation information,
The computer,
Receiving means for receiving Web resources;
An annotation operation log acquisition unit that retrieves an operation log for the received Web resource from an annotation operation log storage unit that stores Web resource identification information and an operation log in association with each other in time series;
The operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and when the operation log is an annotation assignment operation that has already been deleted, it affects the assignment position of other annotations, Dummy annotation generating means for generating dummy annotation that does not affect the operation of the annotation;
An operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and when the operation log is an annotation giving operation, the annotation is embedded in the Web resource, and the operation log has already been stored. An annotation program that operates as an annotation embedding unit that embeds the dummy annotation in the Web resource when the operation is to add an annotation that has been deleted.
アノテーション情報を管理するアノテーション装置であって、
Web資源を受信する受信手段と、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの付与操作であるとき、前記Web資源に埋め込むアノテーションに、前記アノテーションを識別可能なマーカを付与するアノテーションマーカ付与手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの削除操作であるとき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーション特定削除手段と
を有するアノテーション装置。
An annotation device that manages annotation information,
Receiving means for receiving Web resources;
An annotation operation log acquisition unit that retrieves an operation log for the received Web resource from an annotation operation log storage unit that stores Web resource identification information and an operation log in association with each other in time series;
When an operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and the operation log is an annotation assignment operation, a marker that can identify the annotation is embedded in the annotation embedded in the Web resource. Annotation marker giving means for giving,
The operation log for the Web resource extracted from the annotation operation log storage means is selected in time series, and when the operation log is an annotation deletion operation, the deletion embedded in the Web resource using the marker An annotation device having annotation specific deletion means for specifying and deleting an annotation to be operated.
アノテーション情報を管理するアノテーション装置のアノテーション方法であって、
Web資源を受信する受信ステップと、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得ステップと、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの付与操作であるとき、前記Web資源に埋め込むアノテーションに、前記アノテーションを識別可能なマーカを付与するアノテーションマーカ付与ステップと、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの削除操作であるとき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーション特定削除ステップと
を有するアノテーション方法。
An annotation method for an annotation device that manages annotation information,
A receiving step of receiving a web resource;
An annotation operation log acquisition step for retrieving the operation log for the received Web resource from the annotation operation log storage unit that stores the Web resource identification information and the operation log in association with each other in time series;
When an operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and the operation log is an annotation assignment operation, a marker that can identify the annotation is embedded in the annotation embedded in the Web resource. An annotation marker giving step to be given;
The operation log for the Web resource extracted from the annotation operation log storage means is selected in time series, and when the operation log is an annotation deletion operation, the deletion embedded in the Web resource using the marker An annotation method comprising: an annotation identification / deletion step for identifying and deleting an annotation to be operated.
JP2009048544A 2009-03-02 2009-03-02 Annotation program, annotation apparatus, and annotation method Expired - Fee Related JP5391738B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009048544A JP5391738B2 (en) 2009-03-02 2009-03-02 Annotation program, annotation apparatus, and annotation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009048544A JP5391738B2 (en) 2009-03-02 2009-03-02 Annotation program, annotation apparatus, and annotation method

Publications (2)

Publication Number Publication Date
JP2010204863A true JP2010204863A (en) 2010-09-16
JP5391738B2 JP5391738B2 (en) 2014-01-15

Family

ID=42966294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009048544A Expired - Fee Related JP5391738B2 (en) 2009-03-02 2009-03-02 Annotation program, annotation apparatus, and annotation method

Country Status (1)

Country Link
JP (1) JP5391738B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012035850A1 (en) 2010-09-13 2012-03-22 Nec Corporation Relay node device authentication mechanism
CN112905405A (en) * 2019-12-03 2021-06-04 武汉斗鱼鱼乐网络科技有限公司 Label data processing method and device and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222324A (en) * 1999-01-26 2000-08-11 Internatl Business Mach Corp <Ibm> Web page customization system
JP2004139395A (en) * 2002-10-18 2004-05-13 Mitsubishi Electric Information Systems Corp Structured document update management device, structured document update management method, computer readable recording medium recorded with program, and program
JP2006004298A (en) * 2004-06-18 2006-01-05 Fuji Xerox Co Ltd Document processing apparatus, documents processing method, and document processing program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222324A (en) * 1999-01-26 2000-08-11 Internatl Business Mach Corp <Ibm> Web page customization system
JP2004139395A (en) * 2002-10-18 2004-05-13 Mitsubishi Electric Information Systems Corp Structured document update management device, structured document update management method, computer readable recording medium recorded with program, and program
JP2006004298A (en) * 2004-06-18 2006-01-05 Fuji Xerox Co Ltd Document processing apparatus, documents processing method, and document processing program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012035850A1 (en) 2010-09-13 2012-03-22 Nec Corporation Relay node device authentication mechanism
CN112905405A (en) * 2019-12-03 2021-06-04 武汉斗鱼鱼乐网络科技有限公司 Label data processing method and device and storage medium
CN112905405B (en) * 2019-12-03 2022-12-23 武汉斗鱼鱼乐网络科技有限公司 Label data processing method and device and storage medium

Also Published As

Publication number Publication date
JP5391738B2 (en) 2014-01-15

Similar Documents

Publication Publication Date Title
US8065667B2 (en) Injecting content into third party documents for document processing
US7299407B2 (en) Marking and annotating electronic documents
JP4716612B2 (en) Method for redirecting the source of a data object displayed in an HTML document
US20080091706A1 (en) Apparatus, method, and computer program product for processing information
US7844897B1 (en) Blog template generation
JP5233220B2 (en) Page additional information sharing management method
KR20080053927A (en) Method and system for linking sources to copied text
JP2000222394A (en) Document managing device and method and recording medium for recording its control program
JP2008090404A (en) Document retrieval apparatus, method and program
JP5098605B2 (en) Annotation program, annotation device
JP5063877B2 (en) Information processing apparatus and computer program
CN114021042A (en) Webpage content extraction method and device, computer equipment and storage medium
JP5267342B2 (en) Mashup program, mashup device, and mashup method
JP5391738B2 (en) Annotation program, annotation apparatus, and annotation method
US7581167B2 (en) Method and system for automated simulation of dynamic URL-based Web application
JP5712496B2 (en) Annotation restoration method, annotation assignment method, annotation restoration program, and annotation restoration apparatus
JP5494978B2 (en) Information estimation apparatus, information estimation method, and program
JP2006065467A5 (en)
JP5765452B2 (en) Annotation addition / restoration method and annotation addition / restoration apparatus
JP5476867B2 (en) Mashup program, mashup device, and mashup method
JP2001034525A (en) Web page display method and recording medium where processing program thereof is recorded
JP5245573B2 (en) Related article information display data creation method and server
JP2001022788A (en) Information retrieving device and recording medium recording information retrieval program
JP5187064B2 (en) Web resource tracking management program, Web resource tracking management device, and Web resource tracking management method
JP3882729B2 (en) Information disclosure program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130716

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130930

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees