U.S. patent application number 15/875165 was filed with the patent office on 2018-05-03 for proposing a copy area in a document.
The applicant listed for this patent is International Business Machines Corporation. Invention is credited to Tomoka Mochizuki, Munehiko Sato, Tomonori Sugiura.
Application Number | 20180121439 15/875165 |
Document ID | / |
Family ID | 60807551 |
Filed Date | 2018-05-03 |
United States Patent
Application |
20180121439 |
Kind Code |
A1 |
Mochizuki; Tomoka ; et
al. |
May 3, 2018 |
PROPOSING A COPY AREA IN A DOCUMENT
Abstract
Information on a cursor or pointer position is obtained,
indicating a first content on a document displayed on a screen. A
plurality of second contents are retrieved from a history
information, each of the second contents comprising the first
content. The history information comprises sets of contents, each
of the sets comprising a content in the document which was copied
by one or more users, and position information of this content. The
sets are ranked in a predetermined order. A copy area is proposed
based on one or more second contents in the predetermined order
among the retrieved second contents.
Inventors: |
Mochizuki; Tomoka; (Tokyo,
JP) ; Sato; Munehiko; (Tokyo, JP) ; Sugiura;
Tomonori; (Yokohama, JP) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
International Business Machines Corporation |
Armonk |
NY |
US |
|
|
Family ID: |
60807551 |
Appl. No.: |
15/875165 |
Filed: |
January 19, 2018 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
15665469 |
Aug 1, 2017 |
9904713 |
|
|
15875165 |
|
|
|
|
15196238 |
Jun 29, 2016 |
|
|
|
15665469 |
|
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06F 16/93 20190101;
G06F 40/117 20200101; G06F 16/24578 20190101 |
International
Class: |
G06F 17/30 20060101
G06F017/30; G06F 17/21 20060101 G06F017/21 |
Claims
1. A computer program product for proposing a copy area in a
document, the computer program product comprising a computer
readable storage medium having program instructions embodied
therewith, wherein the computer readable storage medium is not a
transitory signal per se, the program instructions executable by a
processor to perform a method comprising: obtaining information on
a pointer position on a first content on a document displayed on a
screen, the first content selected from the group consisting of a
character string, a cell, a photo image, and a moving image;
retrieving, from a history information stored in a server, a
plurality of second contents, each of the second contents
comprising the first content, wherein the history information
comprises sets of contents, a score associated with each of the
contents in the document calculated from the number of times copied
and a weight associated with a date on which the copying of the
content in the document was done, and the number of times copied
for each of the contents in the document, each of the sets
comprising a content in the document, which content was copied by
at least one users, and position information of this content, the
sets ranked in a predetermined order according to the number of
times copied and the score, wherein the document is an unstructured
document and wherein the retrieval of the plurality of second
contents comprises calculating an order of bytes in the document
and the calculated bytes are used for identifying plurality of
second contents; proposing, as a copy area, one or more second
contents among the retrieved second contents, the proposal made by
displaying the one or more second contents on the screen in the
predetermined order in response to user operation; and wherein when
a position of a content in the document is changed, position
information on a corresponding content in the history information
is updated correspondingly and when the proposed copy area is
selected by a user, the number of copying of a corresponding
content in the history information is incremented and the score is
updated.
Description
BACKGROUND
[0001] The present disclosure relates to a text editing interface
and more specifically, to proposing a copy area in a document.
[0002] Many computing devices provide a basic copying function
wherein a portion of text, a graphic, a format, etc. may be
"lifted" from a particular page or window and replicated to
another. This is generally accomplished by selecting the desired
portion of text, graphic, file, etc. using a mouse cursor or other
pointer to indicate each a "start copying" and "stop copying"
point. By selecting the copy function, the text, graphic, etc.
indicated by the mouse selection is moved to a "clipboard." The
clipboard a function provided by most operating systems, which is
used to hold copied content until the user indicates it should be
replicated.
SUMMARY
[0003] According to one aspect of an embodiment of the present
disclosure, the present disclosure provides a computer-implemented
method for proposing a copy area in a document.
[0004] Information on a cursor or pointer position is obtained,
indicating a first content on a document displayed on a screen. A
plurality of second contents are retrieved from a history
information, each of the second contents comprising the first
content. The history information comprises sets of contents, each
of the sets comprising a content in the document which was copied
by one or more users, and position information of this content. The
sets are ranked in a predetermined order. A copy area is proposed
based on one or more second contents in the predetermined order
among the retrieved second contents.
[0005] According to another aspect of an embodiment of the present
disclosure, a computer system comprising a computer readable
storage medium storing a program of instructions executable by the
computer system to perform one or more methods described herein
also may be provided.
[0006] According to another aspect of an embodiment of the present
disclosure, a computer program product comprising a computer
readable storage medium storing a program of instructions
executable by the computer system to perform one or more methods
described herein also may be provided.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The drawings included in the present application are
incorporated into, and form part of, the specification. They
illustrate embodiments of the present disclosure and, along with
the description, serve to explain the principles of the disclosure.
The drawings are only illustrative of certain embodiments and do
not limit the disclosure.
[0008] FIG. 1 illustrates an exemplified basic block diagram of a
computer hardware used in an embodiment of the present
disclosure.
[0009] FIGS. 2A through 2C illustrate an embodiment of a screen for
proposing a copy area in a document to a user on a display.
[0010] FIGS. 3A and 3B illustrate an embodiment of an overall
flowchart of a process for proposing, using a user device, a copy
area in a document.
[0011] FIGS. 4A and 4B illustrate an embodiment of an overall
flowchart of a process for proposing, using a user device and a
server, a copy area in a document.
[0012] FIGS. 5A and 5B illustrate an embodiment of a flowchart of a
process for analyzing, using a history information, information
relating to the copied contents.
[0013] FIGS. 6A and 6B illustrate an embodiment of a flowchart of a
process for updating history information in a case where an
original of a copy source document having tags is modified.
[0014] FIG. 7A illustrates an embodiment of a history information
for a user device.
[0015] FIG. 7B illustrates an embodiment of a history information
for a server.
[0016] FIG. 7C illustrates an embodiment of a history information
for a server after grouping.
[0017] FIG. 7D illustrates an embodiment of a history information
for a user device or a server after a modification of a copy source
document was made.
[0018] FIG. 7E illustrates an embodiment of an availability
information on a document.
[0019] FIG. 8 illustrates of an overall functional block diagram of
a user device which is used in accordance with the embodiment of
the overall flowchart described in FIGS. 3A and 3B.
[0020] FIG. 9 illustrates of an overall functional block diagram of
a computer system hardware comprising a user device and a server
which are used in accordance with the embodiment of the overall
flowchart described in FIGS. 4A and 4B.
[0021] While the disclosure is amenable to various modifications
and alternative forms, specifics thereof have been shown by way of
example in the drawings and will be described in detail. It should
be understood, however, that the intention is not to limit the
disclosure to the particular embodiments described. On the
contrary, the intention is to cover all modifications, equivalents,
and alternatives falling within the spirit and scope of the
disclosure.
DETAILED DESCRIPTION
[0022] The descriptions of the various embodiments of the present
disclosure have been presented for purposes of illustration, but
are not intended to be exhaustive or limited to the embodiments
disclosed. Many modifications and variations will be apparent to
those of ordinary skill in the art without departing from the scope
and spirit of the described embodiments. The terminology used
herein was chosen to best explain the principles of the
embodiments, the practical application or technical improvement
over technologies found in the marketplace, or to enable others of
ordinary skill in the art to understand the embodiments disclosed
herein.
[0023] When a user attempts to copy a text string in a document,
such as a document on a website or in a local document, it may be
cumbersome to specify an appropriate area of a text displayed on a
screen of a device. When a user uses a device having a small
screen, such as a smartphone, mobile phone or tablet, there may be
some difficulty in specifying, using a finger or pointing device, a
copy area, for example one character for starting or ending point
where the user wants to copy.
[0024] With reference now to FIG. 1, FIG. 1 illustrates an
exemplified basic block diagram of a computer hardware used in an
embodiment of the present disclosure.
[0025] A computer 101 may be, for example, but is not limited to, a
desktop, laptop, notebook or server computer. The server computer
may be, for example, but is not limited to, a workstation, a
rack-mount type server, a blade type server, or a mainframe server
and may run, for example, a hypervisor for creating and running one
or more virtual machines. The computer 101 may comprise one or more
CPUs 102 and a main memory 103 connected to a bus 104.
[0026] A display 106 such as a liquid crystal display LCD may be
connected to the bus 104 via a display controller 105. The display
106 may be used to display, for management of the computer(s),
information on a computer connected to a network via a
communication line and information on software running on the
computer using an appropriate graphics interface. The display may
have a touch screen or a non-touch screen. The display may be for
example, but not limited to, a LCD, PDP, OEL or a projection type
display. A disk 108 such as a hard disk or a solid state drive,
SSD, and a drive 109 such as a CD, a DVD, or a BD Blu-ray disk
drive may be connected to the bus 104 via an SATA or IDE controller
107. Moreover, a keyboard 111 and a mouse 112 may be connected to
the bus 104 via a keyboard-mouse controller 110 or USB bus not
shown.
[0027] An operating system, programs, and any data may be stored in
the disk 108 to be loadable to the main memory. The drive 109 may
be used to install a program, such as the computer program of an
embodiment of the present disclosure, readable from a CD-ROM, a
DVD-ROM, or a BD to the disk 108 or to load any data readable from
a CD-ROM, a DVD-ROM, or a BD into the main memory 103 or the disk
108, if necessary.
[0028] A communication interface 114 may be based on, for example,
but is not limited to, the Ethernet protocol. The communication
interface 114 may be connected to the bus 104 via a communication
controller 113, physically connects the computer 101 to a
communication line 115, and may provide a network interface layer
to the TCP/IP communication protocol of a communication function of
the operating system of the computer 101. In this case, the
communication line 115 may be a wired LAN environment or a wireless
LAN environment based on wireless LAN connectivity standards.
[0029] Hereinafter, a user device and optionally a server may be
used in an embodiment of the present disclosure. The user device
may be a computer, such as described in FIG. 1, a smart phone, a
mobile phone, a tablet, a book reader, a virtual machine, etc. The
server may be a computer, such as described in FIG. 1 and connected
to one or more user devices via an internet or intranet
connection.
[0030] FIGS. 2A and 2B illustrate an embodiment of a screen for
proposing a copy area in a document to a user on a display
[0031] With reference to FIG. 2A, FIG. 2A illustrates an embodiment
of a screen of a user device.
[0032] The user device displays a part of a document on the screen
201 of the user device. The document has one or more contents which
can be copyable. The document may be, for example, a local or
server document in any format. The document may be, for example,
but not limited to, a structured document in which tags are used,
such as a web page document, an unstructured document, or a word,
spreadsheet, presentation or PDF document. The tags may be, for
example, HTML or XML. A content may be, for example, but not
limited to one or more character strings, one or more cells in a
spreadsheet, one or more photo image, one or more moving image, a
combination of these, etc.
[0033] If the user wants to copy content, such as a character
string, in the document, the user may make a predetermined
operation, such as one left click by a mouse cursor 282 or one
touch by a finger, in the vicinity of an area where the user wants
to copy.
[0034] In response to a detection of the one touch or click, the
user device obtains information on a cursor or pointer position on
the document. The touch may comprise, for example, tap operation.
The cursor pointer position may be, for example, a mouse pointer
position. The pointer position may be, for example, a touch
position by a finger or touch pen, or a laser pointer position.
[0035] If the position is a character string in the document, such
as "er" in the sentence, "This version", the user device may obtain
a plurality of contents comprising such character string. The
plurality of contents may be retrieved from a history information
which may include sets of contents in the document and their
position information. Each of the sets may include content in the
document and position information of this content. The content may
have been previously copied by one or more users. The sets may be
ranked in a predetermined order. History information may be in a
form of, for example, but not limited to, a database, a text file,
such as a CSV format, or a structured text, such as XML based
text.
[0036] The user device obtains, as a copy area, one or more
contents among the plurality of contents comprising the character
string. The obtained one or more contents may be ranked in a
predetermined order. The predetermined order may be determined in
descending order according to a score or rank which is associated
with each of the one or more contents.
[0037] In response to a detection of the predetermined operation,
the content, "This version could be a document shared among you and
your coworkers to allow for effective distribution of information.
If a single source document is used to supply multiple projects,
shared copying may be especially useful," 212, is highlighted on
the screen 202 as the area copied most frequently by users. The
user device may display the window 222 showing a message "This is
the area copied most frequently by users". Further, the window 222
may show a menu "View area copied by you". The menu can be used for
switching a proposal of the areas copied by users to a proposal of
the areas copied by the user themself.
[0038] If the user wants to copy the proposed area 212, the user
may make a predetermined operation, e.g. one right click by the
mouse while clicking the left button or a double tapping by another
finger while touching the "er" in the sentence by the finger.
[0039] Meanwhile, if the user wants to show another proposal of a
copy area, the user may make a further predetermined operation,
such as further another left click by a mouse cursor 283 or further
another touch by a finger, in the vicinity of the area where the
user wants to copy.
[0040] In response to a detection of the further predetermined
operation, the content, "This version" 213, is highlighted on the
screen 203 as the area copied second most frequently by users. The
user device may display the window 223 showing a message "This is
the area copied most second frequently by users". Further, the
window 223 may show a menu "View area copied by you".
[0041] If the user wants to copy the proposed area 213, the user
may make the predetermined operation, such as one right click by
the mouse while clicking the left button, or a double tapping by
another finger while touching the "er" in the sentence by the
finger.
[0042] Meanwhile, if the user wants to show still another proposal
of a copy area, the user may make still further predetermined
operation, such as still further another left click by a mouse
cursor 284 or still further another touch by a finger, in the
vicinity of the area where the user wants to copy.
[0043] In response to a detection of the still further
predetermined operation, the content, "This version could be a
document shared among you and your coworkers to allow for," 214, is
highlighted on the screen 204 as the area copied third most
frequently by users. The user device may display the window 224
showing a message "This is the area copied most third frequently by
users". Further, the window 224 may show a menu "View area copied
by you".
[0044] If the user wants to copy the proposed area 214, the user
may make the predetermined operation, such as one right click by
the mouse while clicking the left button, or a double tapping by
another finger while touching the "er" in the sentence by the
finger.
[0045] In the embodiment mentioned above, one touch or click is
used for proposing a copy area in a predetermined order.
[0046] In another embodiment, two or more touches or clicks may be
used for proposing a copy area in a predetermined order. Such
examples may be as follows: if the user does two touches or clicks,
the user device may display the screen 203 in which the area copied
most second frequently by users is highlighted. If the user does
three touches or clicks, the user device may display the screen 204
in which the area copied most third frequently by users is
highlighted. The number of times of touches or clicks may be
arbitrarily set as appropriate. If the number of touches or clicks
exceeds a predetermined number, the user device may display a list
for proposals of copy areas, for example, in a separate window, or
the user device may allow a user to select a copy area using a
default method provided by an application.
[0047] As stated above, when a focus by a user associated a user
device is done on a part of contents on a document, a copy area
comprising the focused part is proposed in the predetermined order
among the proposals of copying content. Accordingly, the user can
select a copy area in the predetermined order according to the
copying frequency done by a plurality of users.
[0048] With reference now to FIG. 2B, FIG. 2B illustrates an
embodiment of a screen displaying a copy area which is commonly
copied by other users or is copied by a user associated with the
user device.
[0049] The user device displays a part of a document, for example,
a web page or local document, on the screen 231 of the user
device.
[0050] The screen 232 and the window 252 are the same as the screen
202 and the window 222 described in FIG. 2A, respectively. The
screen 232 and the window 252 are displayed according to the same
way described above.
[0051] If the user wants to show a proposal of a copy area which
was copied by the user itself, the user may touch or click the
character string, "View area copied by you", in the window 252.
[0052] In response to a detection of the touch or click of the
character string, the content, "This version could be a document
shared among you and your coworkers to allow," 243, is highlighted
on the screen 233 as the area copied most frequency by the user
itself. The user device may display the window 253 showing a
message "This is the area copied most frequently by you". Further,
the window 253 may show a menu "View area copied by users".
[0053] If the user wants to copy the proposed area 243, the user
may make the predetermined operation, such as one right click by
the mouse while clicking the left button, or a double tapping by
another finger while touching the "er" in the sentence by the
finger.
[0054] Meanwhile, if the user wants to return to the screen 232,
the user may touch or click the character string, "View area copied
by users", in the window 253.
[0055] In response to a detection of the touch or click of the
character string, the user device displays the screen 234 which is
the same as the screen 232.
[0056] If the user wants to copy the proposed area 244, the user
may make the predetermined operation, such as one right click by
the mouse while clicking the left button, or a double tapping by
another finger while touching the "er" in the sentence by the
finger.
[0057] In the embodiment mentioned above, a proposal of copy area
which is commonly copied by other users is first displayed on the
screen. In another embodiment, a proposal of copy area which is
copied by a user associated with a user device is first displayed
on the screen. The user may select which a proposal of copy area is
first displayed on the screen.
[0058] As stated above, when a focus by a user associated with a
user device is done on a part of contents on a document, a copy
area comprising the focused part is proposed in the predetermined
order among the proposals of copying content in history
information. Further, the user can switch a proposal of the areas
from the areas copied by a plurality of users to the areas copied
by the user themself or another user, and vice versa. Accordingly,
the user can select a copy area in the predetermined order
according to the copying frequency done by a plurality of users or
the user itself. This selection may be useful when a document may
be, for example, but not limited to, a collaborating document, such
as a manual or materials on conference, or a web page.
[0059] With reference now to FIG. 2C, FIG. 2C illustrates an
embodiment of a screen displaying a copy area in a document in
which a modification was made compared to an original of a copy
source document.
[0060] The user device displays a part of a document, for example,
a web page or local document, on the screen 261 of the user
device.
[0061] If the user wants to copy a character string in the
document, the user may make a predetermined operation, such as one
left click by a mouse cursor 271 or one touch by a finger, in the
vicinity of an area where the user wants to copy.
[0062] In response to a detection of the one touch or click, the
user device obtains information on a cursor or pointer position on
the document.
[0063] If the position is a character string in the document, such
as "er" in the sentence, "This version", the user device obtains a
plurality of contents comprising such character string. The
plurality of contents is retrieved from a history information which
comprises sets of contents in the document and their position
information. Let us suppose that a sentence in an original of a
copy source document, which sentence corresponding to the copied
area recorded in the history information, "This version could be a
document shared among you and your coworkers to allow for effective
distribution of information," was modified to "To improve data
sharing, this version could be a document shared among you and your
coworkers to allow for effective distribution of information,"
prior to displaying of a copy source document which was modified
from an original of a copy source document (hereinafter also
referred to as "modified copy source document") on the screen. In
such a case, the copied area recorded in the history information is
updated from "This version could be a document shared among you and
your coworkers to allow for effective distribution of information,"
to "To improve data sharing, this version could be a document
shared among you and your coworkers to allow for effective
distribution of information," Therefore, the proposal of copying
area corresponding to the updated copied area 272 in the history
information is presented in replace of the copied area before
updated in the history information. Accordingly, the sentence after
modification, "To improve data sharing, this version could be a
document shared among you and your coworkers to allow for effective
distribution of information," is highlighted on the screen 262 as a
proposal of the copy area 272. The user device may display the
window 273 showing a message "Notes: The original copy source
document was modified. The proposal of copying area 272 is
presented by taking into account a character string before
modification. This area corresponds to the area copied most
frequently by users." Further, the window 273 may show a menu "View
area copied by you".
[0064] As stated above, if a content in the document is modified, a
corresponding content in the history information is also similarly
modified. Further, if a position of a content in the document is
changed, position information on a corresponding content in the
history information is updated correspondingly. Therefore, the user
device can propose to a user a copy area which is included in a
modified copy source document, using the updated history
information. Accordingly, a document which will be frequently
modified, such as a web page or a collaborating document, is a
subject of an embodiment of the present disclosure.
[0065] With reference now to FIGS. 3A and 3B, FIGS. 3A and 3B
illustrate an embodiment of an overall flowchart of a process for
proposing, using a user device, a copy area in a document.
[0066] In step 301, the user device starts the process for
proposing a copy area in a document.
[0067] In step 302, the user device reads, into a memory, a
document from a local storage or storage which can be accessible by
the user device; or downloads, into the memory, a document from an
internet or intranet. Then, the user device displays the document
on the screen of the user device. The user device monitors a user
operation made on a document. The user operation may be done by,
for example, but not limited to, a touch or click made on a content
which is displayed on the screen.
[0068] In decision 327, the user device may judge whether the user
operation is a predetermined operation for starting the proposal of
a copy area in the document. If the judgment is positive, the user
device may proceed to step 303. Meanwhile, if the judgment is
negative, the user device may wait for a next detection.
[0069] In step 303, the user device obtains information on a cursor
or pointer position on the document in response to a predetermined
operation, such as a touch or click by the user. Further, the user
device may obtain information on the document. The information may
be a storage address of the document, such as a storage path or
URL. The information may be used for specifying that the document
is stored in the user device, or on the server or network attached
storage NAS.
[0070] In decision block 304, the user device may judge whether the
document is a server document or not. If the judgment is positive,
the user device may proceed to step 315 FIG. 3B. Meanwhile, if the
judgment is negative, the user device may proceed to step 305.
[0071] In step 305, the user device accesses a history information
for a user device. The history information for a user device may be
stored in a storage of the user device or storage which can be
accessible by the user device, such as a server or NAS.
[0072] In step 306, the user device judges, using the information
on the document, whether the history information for a user device
has the location information which was obtained in step 303. If the
judgment is positive, the user device may proceed to step 307.
Meanwhile, if the judgment is negative, the user device may proceed
to step 311.
[0073] In step 307, the user device retrieves, from the history
information for a user device, a plurality of contents comprising
the character string associated with the cursor or pointer
position. Each of the retrieved contents has been ranked in a
predetermined order.
[0074] For example, if the document is a structured document in
which tags are used, the retrieval of the plurality of contents
comprises calculating an order of tags in the document and the
calculated order is used for identifying plurality of contents.
[0075] For example, if the document is an unstructured document,
the retrieval of the plurality of contents comprises calculating an
order of bytes in the document and the calculated bytes are used
for identifying plurality of contents.
[0076] For example, if the document is a spreadsheet, the retrieval
of the plurality of contents comprises calculating cell location in
the document and the calculated cell location is used for
identifying plurality of contents.
[0077] In step 308, the user device proposes one or more contents
in the predetermined order among the retrieved plurality of
contents. The proposal may be made by displaying the one or more
contents on the screen in the predetermined order in response to
hover time or user operation. The number of proposed contents may
be determined by a predefined operation done by the user. The
number of proposed contents may be a plural number. In a case where
the retrieved content is only one, only this content can be
presented. The user operation may be predefined depending on a user
device or an operation system which is running on the user device.
The user operation may be, for example, but not limited to, the
number of touches or clicks, or, while touching the screen with one
finger, the number of times that a user touches the screen with
another finger. The hover time may be predefined, such as a few
seconds.
[0078] In decision 309, the user device judges whether the proposed
content is selected by the user or not. If the judgment is
positive, the user device may proceed to step 310. Meanwhile, if
the judgment is negative, the user device may proceed to step
312.
[0079] In step 310, the user device copies the selected content to
an area specified by the user.
[0080] In step 311, the user device may show, for example, a new
window on the screen, that there is no proposal of copy area.
[0081] In decision 312, the user device judges whether the user
selects a copy area using a default method provided by an
application. If the judgment is positive, the user device may
proceed to step 313. Meanwhile, if the judgment is negative, the
user device may proceed to final step 326.
[0082] In step 313, the user device updates the history information
for a user device using the copied content and its position
information. The information to be updated may be, for example,
date of copying, information on a copy source document, a copied
content, the number of copies made, position of the copied content,
a score, a content comprising the copied content, etc.
[0083] "Date of copying" may denote a date when a user selected a
content in a copy source document and then made a copy operation
for the content, or may otherwise provide some measure of the time
a copy at which was made.
[0084] "Information on a copy source document" may denote a
location where the copy source document is stored.
[0085] "Copied content" may denote the content to which the copy
operation was made.
[0086] "The number of copies made" may denote a count that the copy
operation was made for each of the same contents in the same
position in the copy source document. "The number of copies made"
may be for one user who is or is not a user associated with a user
device, or a plural users including or not including a user
associated with a user device. "The number of copies made" may be
calculated for one day or two or more days, or any other measurable
time period.
[0087] "Position of copied content" may denote a position of the
copied document in the copy source document.
[0088] "Score" may denote a value associated with each of the
contents in the document The score may be calculated from the
number of copies made and a weight associated with a date on which
the copying of the content in the document was done.
[0089] "A content comprising the copied content" may denote a unit
of document structure, such as a unit defined by p-tags, which
comprises the copied content. "A content comprising the copied
content" can be used for verifying a modification of an original
source document.
[0090] In step 314, the user device may analyze the information in
the history information for a user device. An example of merging
the information in the history information for a user device will
be explained hereinafter by referring to FIG. 7C discussed
below.
[0091] Referring now to FIG. 3B, in step 315, the user device
accesses a history information for a server. The history
information for a server may be stored in a server storage or
storage which can be accessible by the user device, such as a
NAS.
[0092] In decision 316, the user device judges, using the
information on the document, whether the history information for a
server has the location information which may have been obtained in
step 303. If the judgment is positive, the user device may proceed
to step 317. Meanwhile, if the judgment is negative, the user
device may proceed to step 321.
[0093] In step 317, the user device retrieves, from the history
information for a server, a plurality of contents comprising the
character string associated with the cursor or pointer position.
Each of the retrieved contents may have been ranked in a
predetermined order.
[0094] In step 318, the user device proposes one or more contents
in the predetermined order among the retrieved plurality of
contents. The proposal may be made by displaying the one or more
contents on the screen in the predetermined order in response to
hover time or user operation. The number of proposed contents may
be determined by a predefined operation done by the user. The
number of proposed contents may be a plural number. In a case where
the retrieved content is only one, only this content can be
presented. The user operation may be predefined depending on a user
device or an operation system which is running on the user device.
The user operation may be, for example, but not limited to, the
number of touches or clicks, or, while touching the screen with one
finger, the number of times that a user touches the screen with
another finger. The hover time may be predefined, such as a few
seconds.
[0095] In decision 319, the user device judges whether the proposed
content is selected by the user or not. If the judgment is
positive, the user device may proceed to step 320. Meanwhile, if
the judgment is negative, the user device may proceed to decision
322.
[0096] In step 320, the user device copies the selected content to
an area specified by the user.
[0097] In step 321, the user device may show, for example, a new
window on the screen, that there is no proposal of copy area.
[0098] In decision 322, the user device judges whether the user
selects a copy area using a default method provided by an
application. If the judgment is positive, the user device may
proceed to step 323. Meanwhile, if the judgment is negative, the
user device may proceed to final step 326.
[0099] In step 323, the user device updates the history information
for a server using the copied content and its position information.
The information to be updated may be, for example, date of copying,
information on a copy source document, a copied content, the number
of copies made, position of the copied content, a score, a content
comprising the copied content, etc.
[0100] In step 324, the user device may analyze the information in
the history information for a server. An example of merging the
information in the history information for a server will be
explained hereinafter by referring to FIG. 7C discussed below.
[0101] In step 326, the user device terminates the process
mentioned above.
[0102] With reference now to FIGS. 4A and 4B, FIGS. 4A and 4B
illustrate an example embodiment of an overall flowchart of a
process for proposing, using a user device and a server, a copy
area in a document.
[0103] In step 401, the user device starts the process for
proposing a copy area in a document.
[0104] In step 402, the user device reads, into a memory, a
document from a local storage or storage which can be accessible by
the user device; or downloads, into the memory, a document from an
internet or intranet. Then, the user device displays the document
on the screen of the user device. The user device monitors a user
operation made on a document. The user operation may be done by,
for example, but not limited to, a touch or click made on a content
which is displayed on the screen.
[0105] In decision 427, the user device may judge whether the user
operation is a predetermined operation for starting the proposal of
a copy area in the document. If the judgment is positive, the user
device may proceed to step 303. Meanwhile, if the judgment is
negative, the user device may wait for a next detection.
[0106] In step 403, the user device obtains information on a cursor
or pointer position on the document in response to a predetermined
operation, such as a touch or click by the user. Further, the user
device may obtain information on the document. The information may
be a storage address of the document, such as a storage path or
URL. The information may be used for specifying that the document
is stored in the user device, or on the server or network attached
storage NAS.
[0107] In step 404, the user device judges whether the document is
a server document or not. If the judgment is positive, the user
device sends to a server a notification for requesting a retrieval
of a plurality of contents comprising the character string
associated with the cursor or pointer position and then proceed to
step 415 (FIG. 4B). The notification may comprise the information
of the document and the cursor or pointer position on the document.
The information of the document may be, for example, a storage path
or URL. Meanwhile, if the judgment is negative, the user device
proceeds to step 405.
[0108] In step 405, the user device accesses a history information
for a user device. The history information for a user device may be
stored in a storage of the user device or storage which can be
accessible by the user device, such as a server or NAS.
[0109] In decision 406, the user device judges, using the
information on the document, whether the history information for a
user device has the location information which was obtained in step
403. If the judgment is positive, the user device may proceed to
step 407. Meanwhile, if the judgment is negative, the user device
may proceed to step 411.
[0110] In step 407, the user device retrieves, from the history
information for a user device, a plurality of contents comprising
the character string associated with the cursor or pointer
position. Each of the retrieved contents has been ranked in a
predetermined order.
[0111] In step 408, the user device proposes one or more contents
in the predetermined order among the retrieved plurality of
contents. The proposal may be made by displaying the one or more
contents on the screen in the predetermined order in response to
hover time or user operation. The number of proposed contents may
be determined by a predefined operation done by the user. The
number of proposed contents may be a plural number. In a case where
the retrieved content is only one, only this content can be
presented. The user operation may be predefined depending on a user
device or an operation system which is running on the user device.
The user operation may be, for example, but not limited to, the
number of touches or clicks, or, while touching the screen with one
finger, the number of times that a user touches the screen with
another finger. The hover time may be predefined, such as a few
seconds.
[0112] In decision 409, the user device judges whether the proposed
content is selected by the user or not. If the judgment is
positive, the user device may proceed to step 410. Meanwhile, if
the judgment is negative, the user device may proceed to step
412.
[0113] In step 410, the user device copies the selected content to
an area specified by the user.
[0114] In step 411, the user device may show, for example, a new
window on the screen, that there is no proposal of copy area.
[0115] In decision 412, the user device judges whether the user
selects a copy area using a default method provided by an
application. If the judgment is positive, the user device may
proceed to step 413. Meanwhile, if the judgment is negative, the
user device may proceed to final step 426.
[0116] In step 413, the user device updates the history information
for a user device using the copied content and its position
information. The information to be updated may be, for example,
date of copying, information on a copy source document, a copied
content, the number of copies made, position of the copied content,
a score, a content comprising the copied content, etc.
[0117] In step 414, the user device may analyze the information in
the history information for a user device. An example of merging
the information in the history information for a user device will
be explained hereinafter by referring to FIG. 7C discussed
below.
[0118] Referring now to FIG. 4B, in step 415, the server accesses a
history information for a server. The history information for a
server may be stored in a storage in the server or storage which
can be accessible by the server, such as a NAS.
[0119] In decision 416, the server judges, using the information on
the document, whether the history information for a server has the
location information which was sent from the user device. If the
judgment is positive, the server may proceed to step 417.
Meanwhile, if the judgment is negative, the server may proceed to
step 421.
[0120] In step 417, the server retrieves, from the history
information for a server, a plurality of contents comprising the
character string associated with the cursor or pointer position.
Each of the retrieved contents may have been ranked in a
predetermined order.
[0121] In step 418, the server chooses one or more contents in the
predetermined order among the retrieved plurality of contents and
then sends them to the user device. In a case where the retrieved
content is only one, only this content may be sent. The proposal in
the user device may be made by displaying the one or more retrieved
contents on the screen in the predetermined order in response to
hover time or user operation. The number of proposed contents may
be determined by a predefined operation done by the user or
administrator of the server.
[0122] In decision 419, the server waits for a notification, from
the user device, for announcing that the proposed copy area is
selected. In response to a receipt of the notification, the server
judges whether the proposed content is selected by the user or not.
If the judgment is positive, the server may proceed to step 423.
Meanwhile, if the judgment is negative, the server may proceed to
step 422.
[0123] In step 421, the server may send to the user device a
message to the effect that there is no proposal of copy area.
[0124] In decision 422, the server waits for a notification, from
the user device, for announcing that the user selects a copy area
using a default method provided by an application. The notification
may comprise the information of the document and the cursor or
pointer position on the document. The information of the document
may be, for example, a storage path or URL. In response to a
receipt of the notification, the server judges whether the user
selects a copy area using a default method provided by an
application. If the judgment is positive, the server may proceed to
step 423. Meanwhile, if the judgment is negative, the server may
proceed to step 425.
[0125] In step 423, the server updates the history information for
a server using the copied content and its position information. The
information to be updated may be, for example, date of copying,
information on a copy source document, copied content, the number
of copies made, position of copied content, a score, a content
comprising the copied content, etc.
[0126] In step 424, the server may analyze the information in the
history information for a server. An example of merging the
information in the history information for a server will be
explained by referring to FIG. 7C discussed below.
[0127] In decision 425, the server may judges whether the history
information for a user device is used or not. If the judgment is
positive, the server may proceed to step 405. Meanwhile, if the
judgment is negative, the server may proceed to a final step
426.
[0128] In step 426, the user device terminates the process
mentioned above.
[0129] FIGS. 5A and 5B illustrate an embodiment of a flowchart of a
process for analyzing, using a history information for a user
device or for a server, information relating to the copied
contents.
[0130] With reference now to FIG. 5A, FIG. 5A illustrates an
overall flowchart of the process for analyzing information relating
to the copied contents.
[0131] In step 501, the user device starts the process for
analyzing information relating to the copied contents. In one
embodiment, the process can be implemented in step 314 (FIG. 3A),
324 (FIG. 3B), 414 (FIG. 4A), or 424 (FIG. 4B). In another
embodiment, the process can be started in a response to a detection
of the selection and copy of a content in a document, which
detection is described in step 502 below.
[0132] In step 502, the user device detects a selection and copy of
a content in a document.
[0133] In decision 503, the user device judges whether the document
is a server document or not. If the judgment is positive, the user
device may send to a server a notification for requesting analyzing
information in the history information for a server and then the
process goes to step 505. Meanwhile, if the judgment is negative,
the user device may proceed to step 504.
[0134] In step 504, the user device analyzes the information in the
history information for a user device. The details of the analysis
subprocess will be explained hereinafter by referring to FIG. 5B
discussed below.
[0135] In step 505, the server analyzes the information in the
history information for a server. The details of the analysis
subprocess will be explained hereinafter by referring to FIG. 5B
discussed below.
[0136] In step 506, the server terminates the process mentioned
above.
[0137] With reference now to FIG. 5B, FIG. 5B illustrates a
flowchart of the detail subprocess of step 504, history information
stored in the user device, and 505, history information stored in
the server.
[0138] In the following, a case of step 504, history information
stored in the user device, mentioned above is first explained.
[0139] In step 511, the user device starts the process for
analyzing the information in the history information for a user
device.
[0140] In step 512, the user device accesses the history
information for a user device.
[0141] In step 513, the user device records, into the history
information for a user device, the information on the content which
was copied by the user. The information may comprise, for example,
date of copying, information on a copy source document, a copied
content, the number of copies made, position of copied content, a
content comprising the copied content, etc.
[0142] In decision 514, the user device judges whether the history
information for a user device already has the same following
information or not: information on a copy source document, a copied
content, and position of the copied content. All of which are
recorded, in step 513, in the history information for a user
device. If the judgment is positive, the user device may proceed to
step 515. Meanwhile, if the judgment is negative, the server may
proceed to step 520.
[0143] In step 515, the user device calculates the total copy
number for the content which was copied by the user and then
records the calculated total number into the history information
for a user device to update the total number of copying for the
content which was copied by the user.
[0144] In step 516, the user device calculates a score associated
with each of the contents in the document, using the total number
of copying and a weight associated with a date on which the copying
of the content in the document was done. The weight may be decided
by using a date. In a case where date of copying is new, for
example, in a year, high weight is used. Meanwhile, in a case where
date of copying is old, for example, before a year, low weight is
used. For example, in a case where date of copying is in a year,
the weight is one, in a case where date of copying is before a year
and in two year, the weight is 0.95, in a case where date of
copying is before two year and in three year, the weight is 0.9,
and so on. An example of score will be explained hereinafter by
referring to FIGS. 7A and 7B discussed below.
[0145] In step 517, the user device generates a group in the
history information for a user device. The group can be made using
information on a copy source document, a copied content and
position of the copied content. In each group, the copied contents
having the same contents and the same position are summarized. An
example of a group will be explained hereinafter by referring to
FIG. 7C discussed below.
[0146] In step 518, the user device obtains a total score by
calculating, in each group, the sum of each score for the same
copied contents having the same position of the copied contents.
Further, the user device may calculate a rank for each of the same
copied content in the group, using the calculated total score and
then assigns a number of the ranks to each of the total scores in
the group. The ranking may be carried out according to the number
of copying, the score or the combination of these. An example of a
rank will be explained hereinafter by referring to FIG. 7C
discussed below.
[0147] In step 519, the user device records, into the history
information for a user device, the calculated score, the generated
group and the calculated rank to update the history information for
a user device.
[0148] In step 520, the user device records, into the history
information for a user device, information relating to the copied
content to update the history information for a user device, since
the history information for a user device does not yet record the
same data for the copied content.
[0149] In step 521, the user device calculates a score associated
with the copied content, using the total number of copying and a
weight associated with a date on which the copying of the content
in the document was done and then record the calculated score into
the history information for a user device.
[0150] In step 522, the user device terminates the process
mentioned above.
[0151] In a case of step 504 mentioned above, a subject of steps
511 to 522 may be the user device and a history information is the
history information for a user device. In a case of step 505
mentioned above, a subject of steps 511 to 522 may be the server
and a history information is the history information for a server.
The above explanations of steps 511 to 512 for the user device can
be applied also to the case for the server. Therefore, the terms in
the above explanations of steps 511 to 512 for the user device,
"the user device" and "the history information for a user device",
may be read as "the server" and "the history information for a
server", respectively.
[0152] With reference now to FIGS. 6A and 6B, FIGS. 6A and 6B
illustrate an embodiment of a flowchart of a process for updating
history information for a user device or for a server in a case
where an original of a copy source document having tags is
modified. One kind of the tags is a p-tag. The p-tag can be
represented as:
<P> </P>
[0153] and is used for defining a paragraph.
[0154] In step 601, the user device starts the process for updating
history information.
[0155] In step 602, the user device accesses a history information
for a user device.
[0156] In step 603, the user device repeats steps 604 to 630 until
unprocessed data exists in the history information for a user
device.
[0157] In step 604, the user device obtains the following
information from the history information for a user device:
information on a copy source document, copied character string,
position of copied character string, and a character string in
p-tag in n-th tag, where n denotes a positive integer.
[0158] In step 605, the user device accesses an original of the
copy source document.
[0159] In step 606, the user device obtains p-tags in the original
of the copy source document and then assigns a number to the
obtained p-tags. The number may be a positive integer.
[0160] In step 607, the user device obtains a character string in
the n-th tag.
[0161] In step 608, the user device calculates a similarity between
the character string in the p-tag which is obtained from the
history information for a user device (hereinafter referred to as
"the character string in the past time") and the character string
in the p-tag which is obtained from the original of the copy source
document (hereinafter referred to as "the character string in the
present time"). Many known method can be used for calculating such
similarity, for example, but not limited to, a cosine
similarity.
[0162] In decision 609, the user device judges whether the
similarity is equal to one or not. If the judgment is positive, the
character string in the past time is the same with the character
string in the present time and, therefore, the user device proceeds
to step 630. Meanwhile, if the judgment is negative, the user
device proceeds to decision 610 (FIG. 6B).
[0163] In decision 610, the user device judges whether the
similarity is larger than or equal to a predetermined threshold or
not. If the judgment is positive, the user device proceeds to
decision 611. Meanwhile, if the judgment is negative, the user
device proceeds to step 618.
[0164] In decision 611, the user device judges whether the copied
character string is recorded in the character string in the history
information which is now recorded or not. If the judgment is
positive, the user device proceeds to step 612. Meanwhile, if the
judgment is negative, the user device proceeds to step 614.
[0165] In step 612, the user device obtains, as the number of
bytes, the position of the character string in the p-tag.
[0166] In step 613, the user device replaces the position of copied
character string in the history information for a user device with
the obtained number of bytes to update the history information for
a user device.
[0167] In step 614, the user device retrieves, from the p-tag, a
character string which is similar to the copied character
string.
[0168] In decision 615, the user device judges whether the
similarity between the retrieved similar character string and the
character string in the history information which is now recorded
is larger than or equal to a predetermined threshold or not. If the
judgment is positive, the user device proceeds to step 616.
Meanwhile, if the judgment is negative, the user device proceeds to
step 617.
[0169] In step 616, the user device records, into the history
information for a user device, the position of the similar
character string which was retrieved in step 614.
[0170] In step 617, the user device records, into the history
information for a user device, information to the effect that the
copied character string was deleted from the original of the copy
source document.
[0171] Referring now to FIG. 6B, in decision 618, the user device
judges whether there is another p-tag in the original of the copy
source document. If the judgment is positive, the user device
proceeds to step 619. Meanwhile, if the judgment is negative, the
user device proceeds to step 626.
[0172] In step 619, the user device calculates a similarity between
the character string in the p-tags which is obtained from the
history information for a user device (hereinafter referred to as
"the character string in the past time") and the character string
in another p-tag which is obtained from the original of the copy
source document (hereinafter referred to as "another character
string in the present time").
[0173] In decision 620, the user device judges whether the
similarity is equal to one or not. If the judgment is positive, the
character string in the past time is the same with another
character string in the present time and, therefore, the user
device proceeds to step 621. Meanwhile, if the judgment is
negative, the user device proceeds to decision 622.
[0174] In step 621, the user device updates the order of the number
of tags in the history information for a user device.
[0175] In decision 622, the user device judges whether the
similarity is larger than or equal to a predetermined threshold or
not. If the judgment is positive, the user device proceeds to
decision 623. Meanwhile, if the judgment is negative, the user
device proceeds back to decision 618.
[0176] In decision 623, the user device judges whether the copied
character string is recorded in another character string in the
history information which is now recorded or not. If the judgment
is positive, the user device proceeds to step 624. Meanwhile, if
the judgment is negative, the user device proceeds to step 627.
[0177] In step 624, the user device obtains, as the number of
bytes, the position of another character string in the p-tag.
[0178] In step 625, the user device replaces the position of the
copied character string in the history information for a user
device with the obtained number of bytes to update the history
information for a user device.
[0179] In step 626, the user device records, into the history
information for a user device, information to the effect that the
copied character string was deleted from the original of the copy
source document.
[0180] In step 627, the user device retrieves, from another p-tag,
a character string which is similar to the copied character
string.
[0181] In decision 628, the user device judges whether the
similarity between the retrieved similar character string and the
character string in the history information which is now recorded
is larger than or equal to a predetermined threshold or not. If the
judgment is positive, the user device proceeds to step 629.
Meanwhile, if the judgment is negative, the user device proceeds
back to decision 618.
[0182] In step 629, the user device records, into the history
information for a user device, the position of the similar
character string which was retrieved in step 627.
[0183] In step 630, the user device proceeds back to step 603 to
repeat steps 604 to 630 with a new character string.
[0184] In step 631, the user device may update a score, a group
and/or a rank if the history information for a user device was
updated in steps 604 to 630. The update of a score, a group and/or
a rank can be made as same way described in steps 516, 517 and 518
(FIG. 5B) mentioned above, respectively.
[0185] In step 632, the user device terminates the process
mentioned above.
[0186] In a case where a subject of steps 601 to 632 may be the
user device and a history information may be the history
information for a user device is explained above. The above
explanations for the user device can be applied also to the case
where a subject of steps 601 to 632 may be the server and a history
information may be the history information for a server. Therefore,
the terms in the above explanations of steps 601 to 632 for the
user device, the terms in the above explanations of steps 601 to
632 for the user device, "the user device" and "the history
information for a user device" may be read as "the server" and "the
history information for a server", respectively.
[0187] With reference now to FIG. 7A, FIG. 7A illustrates an
example embodiment of a history information for a user device.
[0188] The history information for a user device 701 may have any,
all, or at least the following information: date of copying,
information on a copy source document, a copied content, the number
of copies made, position of the copied content, etc. The history
information for a user device 701 may further have the following
information: score, content comprising the copied content, etc.
[0189] The history information for a user device 701 may be
prepared using copy histories obtained from a user themself.
[0190] Each of the scores described in fifth column of the second,
third, fifth and sixth rows in the history information for a user
device 701 may be calculated as follows:
(the number of copied made).times.(a weight associated with the
date of copying)
wherein the weight is one since the date of copying is in a
year.
[0191] The score described in the fifth column of the fourth row in
the history information for a user device 701 may be calculated as
follows:
(the number of copies made).times.(a weight associated with the
date of copying)
wherein the weight is 0.95 since the date of copying is before a
year.
[0192] In a case where the copy source document is a document
written with HTML, the position of the copied content is defined
with the order of the number of the tags and the starting and the
end bytes in the tag. Examples can be seen in the sixth column of
the second and third rows in the history information for a user
device 701. For example, {T2; 1st byte; 9th bytes} denotes that the
position of the copied content is in the second tag in the copy
source document and the copied content is located in 1.sup.st byte
to 9.sup.th byte in the second tag.
[0193] In a case where the copy source document is a document
written as a non-structured document, the position of the copied
content is defined with the starting and the end bytes in the copy
source document. Examples can be seen in the sixth column of the
fourth to sixth rows in the history information for a user device
701. For example, {10th byte; 39th byte} denotes that the position
of the copied content is located in 10.sup.th byte to 39.sup.th
byte in the copy source document.
[0194] FIG. 7B illustrates an embodiment of a history information
for a server.
[0195] The history information for a server 711 may have the
following information: date of copying, information on a copy
source document, a copied content, the number of copies made,
position of the copied content, score, content comprising the coped
content, etc.
[0196] The history information for a server 711 may be prepared
using copy histories obtained from a plurality of users. The
plurality of users may or may not comprise a user associated with a
user device who uses the history information for a server 711.
[0197] FIG. 7C illustrates an embodiment of a history information
for a server after grouping.
[0198] The history information for a server 721 may have the
following information: information on a copy source document,
group, a copied content, score, position of the copied content,
rank, content comprising the copied content, etc.
[0199] "Group" can be made using information on a copy source
document, a copied content and position of the copied content. One
group may be made for each of the copy source document having the
common source.
[0200] The history information for a server 721 shows the following
three groups in the second column:
http://www.sharecopy.com/shareddocs/thisversion*{10th byte; 214th
byte}; "Test/NotesDevelopment:Notes: DB*{10th byte; 42nd byte}";
and "Test/NotesDevelopment:Notes: DB*{46th byte; 53rd byte}".
[0201] "Total score" may be obtained, for example, by calculating,
in each group, the sum of each score for the same copied contents
having the same position of the copied contents.
[0202] "Rank" may be obtained, for example, by calculating the
total score for each score of the same copied content in the group
and then assigning a number of the ranks to each of the total
scores in the groups.
[0203] FIG. 7D illustrates an embodiment of a history information
for a user device or server after a modification of a copy source
document.
[0204] The history information 731 shows an original history
information before a modification of a copy source document was
made.
[0205] In a case where the original of the copy source document is
modified, the history information 731 is also modified according to
the modification.
[0206] For example, if the copied content in the sixth column of
the second and third rows, "This version could be a document shared
among you and your coworkers to allow for effective distribution of
information. If a single source document is used to supply multiple
projects, shared copying may be especially useful," is modified to
"To improve data sharing, this version could be a document shared
among you and your coworkers to allow for effective distribution of
information. If a single source document is used to supply multiple
projects, shared copying may be especially useful," the history
information 731 is updated by replacing the copied content with the
modified sentence to generate the updated history information 741.
Further, the position information on the modified content and the
content relating to the modified content in the history information
731 is also updated accordingly, as seen in the sixth column of the
second and third rows of the updated history information 741.
[0207] For example, if the copied content, "Welcome to this doc!"
which can be seen in the third column of the fourth row in the
history information 731, is deleted from the original of the copy
source document, the history information 731 is updated to show the
effect that the copied content is deleted. Accordingly, the updated
history information 741 shows that "copied content" and "the number
of copies made" are "{deleted}" in the third column of the fourth
row.
[0208] After the updated history information 741 is generated, the
updated history information 741 is used for proposing a copy area
in a document in replace of the history information 731.
[0209] In a case where the history information for a user device is
associated with the history information for a server and the
history information for a user device is updated, the history
information for a server is also similarly modified according to
the update done in the history information for a user device.
[0210] With reference now to FIG. 7E, FIG. 7E illustrates an
embodiment of an availability information on a document.
[0211] The availability information 751 may define a rule for
determining where the copied character string is stored or uploaded
and who can access the history information.
[0212] The availability information 751 has the following
information: information on a copy source document, document where
the copied content is pasted, place where information is available,
security information, etc.
[0213] "Information on a copy source document" may denote a
location where the copy source document is stored.
[0214] "Place where information is available" may denote a range
where the history information for a server or user device is
available.
[0215] "Security information" may denote whether the history
information for a server can be shared with a server or user
device. For example, a user associated with a user device can
determine that a copy history made by the user itself is or is not
shared with a server.
[0216] The availability information 751 may be used to determine in
which history information the copied character string is stored,
that is, a history information for a user device or a history
information for a server. The determination can be made according
to the "Place where information is available".
[0217] In a case where a server document is downloaded to a user
device and then a character string in the server document is
copied, the copied character string is uploaded to the server from
the user device.
[0218] Further, the availability information 751 may be used for
determining a sharing range of the history information. The
determination can be made according to the "Security
information".
[0219] With reference now to FIG. 8, FIG. 8 illustrates of an
overall functional block diagram of an example of a user device
which is used in accordance with the embodiment of the overall
flowchart described in FIGS. 3A and 3B.
[0220] The user device 801 may correspond to the computer 101
described in FIG. 1.
[0221] The user device 801 may comprise a reading section 811, an
obtaining section 812, a retrieving section 813, a proposing
section 814, a copying section 815, an incrementing section 816 and
an analyzing section 817. The user device 801 may further comprise
a detecting section 818 and a modifying section 819.
[0222] The reading section 811 may read, into a memory, a document
from a local storage or storage 891 which can be accessible by the
user device 801; or downloads, into the memory, a document from an
internet or intranet.
[0223] The obtaining section 812 may detect the user operation and,
if the user operation is a predetermined operation for starting the
proposal of a copy area in the document, then obtain information on
a cursor or pointer position on a document displayed on a screen.
The obtaining section 812 may perform a part of step 302, and step
303 described in FIG. 3A.
[0224] The retrieving section 813 may retrieve, from a history
information 892, a plurality of second contents if the position is
on a first content in the document. Each of the second contents
comprises the first content. The retrieving section 813 may perform
steps 304 to 307 described in FIG. 3A and 315 to 317 described in
FIG. 3B.
[0225] The proposing section 814 may propose, as a copy area, one
or more second contents in the predetermined order among the
retrieved second contents. The proposing section 814 may display
the one or more second contents on the screen in the predetermined
order in response to hover time or user operation. The proposing
section 814 may perform step 308 described in FIG. 3A and step 318
described in FIG. 3B.
[0226] The copying section 815 may copy the content selected by a
user to an area designated by a user. The copying section 815 may
perform steps 309 and 310 described in FIG. 3A and steps 319 and
320 described in FIG. 3B.
[0227] The incrementing section 816 may increment the number of
copying of a corresponding content in the history information 892,
if the proposed copy area is selected and then copied by a user.
The incrementing section 816 may perform step 313 described in FIG.
3A and step 323 described in FIG. 3B.
[0228] The analyzing section 817 may analyze the information in the
history information 892. The analyzing section 817 may perform step
314 described in FIG. 3A and step 324 described in FIG. 3B and all
steps described in FIG. 5B.
[0229] The detecting section 818 may detect that an original
document is modified.
[0230] The modifying section 819 may modify the history information
892 if a content in the document is modified. If a content in the
document is modified, the modifying section 819 may also similarly
modify a corresponding content in the history information. If a
position of a content in the document is changed, the modifying
section 819 may correspondingly change position information on a
corresponding content in the history information.
[0231] With reference now to FIG. 9, FIG. 9 illustrates of an
overall functional block diagram of a computer system hardware
comprising a user device and a server which may be used in
accordance with the example embodiment of the overall flowchart
described in FIGS. 4A and 4B.
[0232] The user device 901 may correspond to the computer 101
described in FIG. 1.
[0233] The user device 901 may comprise a reading section 911, an
obtaining section 912, a receiving section 913, a displaying
section 914, a copying section 915 and a sending section 916.
[0234] The reading section 911 may read, into a memory, a document
from a local storage or storage 991 which can be accessible by the
user device 901; or downloads, into the memory, a document from an
internet or intranet.
[0235] The obtaining section 912 may detect the user operation and,
if the user operation is a predetermined operation for starting the
proposal of a copy area in the document, then obtain information on
a cursor or pointer position on a document displayed on a screen.
The obtaining section 912 may send the information on a cursor or
pointer position to the server 902. The obtaining section 912 may
perform a part of step 402, and steps 403 to 404 described in FIG.
4A.
[0236] The receiving section 913 may receive, from the server 902,
one or more second contents comprising the first content associated
with the cursor or pointer position. The received one or more
contents may be in the predetermined order.
[0237] The displaying section 914 may display, as a copy area, the
one or more contents comprising the content associated with the
cursor or pointer position.
[0238] The copying section 915 may copy the content selected by a
user to an area designated by a user.
[0239] The sending section 916 may send information on the copied
content to the server 902.
[0240] The server 902 may comprise a retrieving section 923, a
proposing section 924, a receiving section 925, an incrementing
section 926 and an analyzing section 927. The server 902 may
further comprise a detecting section 928 and a modifying section
929.
[0241] The retrieving section 923 may retrieve, from a history
information 992, a plurality of second contents if the position is
on a first content in the document. Each of the second contents
comprises the first content. The retrieving section 923 may perform
steps 415 to 417 described in FIG. 4B.
[0242] The proposing section 924 may propose, as a copy area, one
or more second contents in the predetermined order among the
retrieved second contents. The proposing section 924 may send one
or more second contents to the user device 901.
[0243] The receiving section 925 may receive the information on the
copied content from the user device 901.
[0244] The incrementing section 926 may increment the number of
copying of a corresponding content in the history information 992,
if the server 902 receives the information on the copied content
from the user device 901. The incrementing section 926 may perform
step 423 described in FIG. 4B.
[0245] The analyzing section 927 may analyze the information in the
history information 992. The analyzing section 927 may perform step
424 described in FIG. 4B and all steps described in FIG. 5B.
[0246] The detecting section 928 may detect that an original
document is modified.
[0247] The modifying section 929 may modify the history information
992 if a content in the document is modified. If a content in the
document is modified, the modifying section 929 may also similarly
modify a corresponding content in the history information. If a
position of a content in the document is changed, the modifying
section 929 may correspondingly change position information on a
corresponding content in the history information.
[0248] The present invention may be a method, a system, and/or a
computer program product. The computer program product may include
a computer readable storage medium (or media) having computer
readable program instructions thereon for causing a processor to
carry out aspects of the present invention.
[0249] The computer readable storage medium can be a tangible
device that can retain and store instructions for use by an
instruction execution device. The computer readable storage medium
may be, for example, but is not limited to, an electronic storage
device, a magnetic storage device, an optical storage device, an
electromagnetic storage device, a semiconductor storage device, or
any suitable combination of the foregoing. A non-exhaustive list of
more specific examples of the computer readable storage medium
includes the following: a portable computer diskette, a hard disk,
a random access memory (RAM), a read-only memory (ROM), an erasable
programmable read-only memory (EPROM or Flash memory), a static
random access memory (SRAM), a portable compact disc read-only
memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a
floppy disk, a mechanically encoded device such as punch-cards or
raised structures in a groove having instructions recorded thereon,
and any suitable combination of the foregoing. A computer readable
storage medium, as used herein, is not to be construed as being
transitory signals per se, such as radio waves or other freely
propagating electromagnetic waves, electromagnetic waves
propagating through a waveguide or other transmission media (e.g.,
light pulses passing through a fiber-optic cable), or electrical
signals transmitted through a wire.
[0250] Computer readable program instructions described herein can
be downloaded to respective computing/processing devices from a
computer readable storage medium or to an external computer or
external storage device via a network, for example, the Internet, a
local area network, a wide area network and/or a wireless network.
The network may comprise copper transmission cables, optical
transmission fibers, wireless transmission, routers, firewalls,
switches, gateway computers and/or edge servers. A network adapter
card or network interface in each computing/processing device
receives computer readable program instructions from the network
and forwards the computer readable program instructions for storage
in a computer readable storage medium within the respective
computing/processing device.
[0251] Computer readable program instructions for carrying out
operations of the present invention may be assembler instructions,
instruction-set-architecture (ISA) instructions, machine
instructions, machine dependent instructions, microcode, firmware
instructions, state-setting data, or either source code or object
code written in any combination of one or more programming
languages, including an object oriented programming language such
as Smalltalk, C++ or the like, and conventional procedural
programming languages, such as the "C" programming language or
similar programming languages. The computer readable program
instructions may execute entirely on the user's computer, partly on
the user's computer, as a stand-alone software package, partly on
the user's computer and partly on a remote computer or entirely on
the remote computer or server. In the latter scenario, the remote
computer may be connected to the user's computer through any type
of network, including a local area network (LAN) or a wide area
network (WAN), or the connection may be made to an external
computer (for example, through the Internet using an Internet
Service Provider). In some embodiments, electronic circuitry
including, for example, programmable logic circuitry,
field-programmable gate arrays (FPGA), or programmable logic arrays
(PLA) may execute the computer readable program instructions by
utilizing state information of the computer readable program
instructions to personalize the electronic circuitry, in order to
perform aspects of the present invention.
[0252] Aspects of the present invention are described herein with
reference to flowchart illustrations and/or block diagrams of
methods, apparatus (systems), and computer program products
according to embodiments of the invention. It will be understood
that each block of the flowchart illustrations and/or block
diagrams, and combinations of blocks in the flowchart illustrations
and/or block diagrams, can be implemented by computer readable
program instructions.
[0253] These computer readable program instructions may be provided
to a processor of a general purpose computer, special purpose
computer, or other programmable data processing apparatus to
produce a machine, such that the instructions, which execute via
the processor of the computer or other programmable data processing
apparatus, create means for implementing the functions/acts
specified in the flowchart and/or block diagram block or blocks.
These computer readable program instructions may also be stored in
a computer readable storage medium that can direct a computer, a
programmable data processing apparatus, and/or other devices to
function in a particular manner, such that the computer readable
storage medium having instructions stored therein comprises an
article of manufacture including instructions which implement
aspects of the function/act specified in the flowchart and/or block
diagram block or blocks.
[0254] The computer readable program instructions may also be
loaded onto a computer, other programmable data processing
apparatus, or other device to cause a series of operational steps
to be performed on the computer, other programmable apparatus or
other device to produce a computer implemented process, such that
the instructions which execute on the computer, other programmable
apparatus, or other device implement the functions/acts specified
in the flowchart and/or block diagram block or blocks.
[0255] The flowchart and block diagrams in the Figures illustrate
the architecture, functionality, and operation of possible
implementations of systems, methods, and computer program products
according to various embodiments of the present invention. In this
regard, each block in the flowchart or block diagrams may represent
a module, segment, or portion of instructions, which comprises one
or more executable instructions for implementing the specified
logical function(s). In some alternative implementations, the
functions noted in the block may occur out of the order noted in
the figures. For example, two blocks shown in succession may, in
fact, be executed substantially concurrently, or the blocks may
sometimes be executed in the reverse order, depending upon the
functionality involved. It will also be noted that each block of
the block diagrams and/or flowchart illustration, and combinations
of blocks in the block diagrams and/or flowchart illustration, can
be implemented by special purpose hardware-based systems that
perform the specified functions or acts or carry out combinations
of special purpose hardware and computer instructions.
[0256] By the expression "a/one" should be understood as "at least
one".
[0257] By the expression "comprise(s)/comprising a/one" should be
understood as "comprise(s)/comprising at least one".
[0258] By the expression "comprise(s)/comprising" should be
understood as "comprise(s)/comprising at least".
[0259] By the expression "/" should be understood as "and/or".
[0260] The descriptions of the various embodiments of the present
disclosure have been presented for purposes of illustration, but
are not intended to be exhaustive or limited to the embodiments
disclosed. Many modifications and variations will be apparent to
those of ordinary skill in the art without departing from the scope
and spirit of the described embodiments. The terminology used
herein was chosen to explain the principles of the embodiments, the
practical application or technical improvement over technologies
found in the marketplace, or to enable others of ordinary skill in
the art to understand the embodiments disclosed herein.
* * * * *
References