Sign In to Follow Application
View All Documents & Correspondence

Method And System Of Operation Retrieval For Web Application

Abstract: Disclosed is a method and system of operation retrieval for a web application capable of realizing an accurate  effective and highly extensible method for operation retrieval of a webpage which includes content that actively changes on the client side. When transmitting a webpage to a web browser  a web server detects an operation log acquisition function which is operating in the client""s browser  detects web page text layout changes  and inserts and transmits a saved difference detection function. The web browser executes the difference detection function that was inserted in the web page that was received and saves the text layout of the webpage as a first text layout. Further  the web browser executes the operation log acquisition function and generates and saves the operation log for the web page  executes the difference detection function  compares the text layout of the webpage and the first text layout ...

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
20 December 2012
Publication Number
43/2014
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

HITACHI  LTD.
6-6  Marunouchi 1-chome  Chiyoda-ku  Tokyo 100-8280  Japan

Inventors

1. NAKAMURA Tomohiro
c/o Hitachi  Ltd.  Intellectual Property Group  12th Floor  Marunouchi Center Building  6-1  Marunouchi 1-chome  Chiyoda-ku  Tokyo 100-8220  Japan

Specification

Description
Title of Invention: METHOD AND SYSTEM OF OPERATION
RETRIEVAL FOR WEB APPLICATION
5
Technical Field
[00011
The present invention relates to an operation
reproduction processing technology that records and
10 reproduces an operation of a web application.
Background Art
100021
In recent years, various services have been provided
15 through the use of a web application. This is very
convenience because a user needs to prepare on1.y a web
browser when using the web appl.i.cat:ion. The web
application may provide a service on the web by
dj.stributing a liglltwei.gl?t scy-ipt 1.ailquaqe or provj.d:ing a
20 development environmellt having ful.fi.lled function at low
cost so that an expressive web a.ppl.i.ca.tj..woint h various
functions is developed even though a user is not an expert
or a big company whi.ch has rich resources. Further, a user
participation type web service appears, which dynamically
25 changes contents on the web in many cases. Due to
immediacy of information or information which is obtained
from various sources, a usage scene of the web service
becomes broader.
[00031
5 From the above-mentioned background, in workplace or
social life, the web application is widely used and the
usability of the web application largely affects the
working efficiency or success or failure of a business.
Therefore, a service provider that uses the web application
10 is very interested in the usability of the web application.
[00041
In a related art, the web application assigns
separate web pages into j.ndividua1 information or jobs and
performs a processi.ng j-ncluding a seri.es of provi-ded.
15 information or a plurality of jobs by the transition of a
web page. Therefore, by anal~yzj-nga n access 1.og to a web
server that performs the web appI.icatj.cn, the transition of:
the web page j.s recognized and a usage method of the web
ap~Yl- i c!al:i on i s pa?-i-.yI i~nderst-.ood.T iowe?'ve~-i,n 1-ecent: yea~rs,
20 by a method that embeds a script language in a web page, i.t
is possible to dynamically change the displayed contents on
the web page and provide large quantity of ir~formation in
one page of web page or make a plurality of jobs available.
Therefore, a method of using the web application becomes
25 highly complicated. It is di.f ficu1.t to sufficiently
understand the method of using the highly complicated web
application by the access log of the web server in which
only a record in the unit of web page remains. Accordingly,
a technology that records and stores the web application in
5 the unit of operation on the web page which is smaller than
the unit of web page to playback and check the web
application is required.
[00051
In accordance with this requirement, as a related art,
lo a method that captures an operation of the web appli.cation
by videotaping and playing back the operation is frequently
used. However, there is a problem in that this method is
not suitable for a continuous and 1.arge quantity recording
and playbaclc. Further, a method that installs a moving
1s image capture tool. that captures a screen on a client
devi.ce in whj.ch. a. web browser browsi-ng a weh page operates
to perform recordi.ng and playback also has a problem in
whi-ch it takes time to perform playback. As a technology
si mi 'I iii- to tl~e movi.ng i.~nage capture tool., instead of
20 capturing the screen, a tool. that records an operation log
on the client device is suggested. However, thj.s
technology requires an installation onto the client device,
which is similar to the moving image capture tool.
Therefore, it is difficult to introduce this technology in
25 an environment such as Internet. Further, even though. the
operation log on the web page may be recorded using a
lightweight script language, if a document structure of a
web page is dynamically changed, it is difficult to
increase the reproducibility of the operation.
5 [00061
In contrast, Patent Literature 1 discloses a method
that stores an accessible history for accessible dynamic
contents so as to combine an operation event with a
property of an object to be operated as a set and actual1.y
l o performs the operation event to dynamically change the
operation event to be reproduced, by operating a form on a
web browser screen.
[0007]
Further, Patent Literature 2 discloses an event
15 recording and playing-back apparatus that records and plays
back an input operation procedure by an operator of a web
page in a script file and a method that reproduces and
performs an i.nput operati-on procedure al.so j.n a changed. web
page based on the di. f f erence extracted f l:om a di~ffe :i:ence
20 extracting unit of a. web page at the time of recording and
playing-back and a script file.
[00081
In addition, Patent Literature 3 discloses a method
that collects a packet at the time of communication
25 occurring j.n accordance with the operati.on and reproduces a
screen of a termi-nal based on the packet even when contents
which dynamically are changed in accordance with the
operation of a user are displayed on the terminal.
5 Citation List
Patent Literature
[0009]
Patent Literature 1: Japanese Patent Application
Laid-Open Publication No. 2001- 0601.79
10 Patent Literature 2: Japanese Patent Application
Laid-Open Publication No. 2004-287929
Patent Literature 3: Japanese Patent Appl.ication
Laid-Open 1~ubl.i.ca.ti.Noon. 2009-3.763.24
15 Summary of Inventj-on
Technucal. Prob1.e~
[00101
However, Patent Li.terature 1. may not be a.ppl.j.ed to a
case wl?i.cl? cannot be actual.1.y perrformed sucl? as time
20 dependent contents which are not reproduced by actual..
performance or a transfer processing. Further, an object
of the method of Patent Literature 2 is to perform an
operation recorded on a changed document even when a
document which is loaded from a server is changed but is
25 not to reproduce an environment where the operati-on is
recorded. Further, when the difference extraction is
difference extraction in the unit of document and the
operation is dynamically changed at the client side, the
operation is not reproduced. Further, Patent Literature 3
5 has prob1.ems in which the packet is not generated and the
screen cannot be reproduced when the screen is changed only
at the client side.
[OOll]
On the basis of the above-description, the problems
10 to be addressed by the present invention are as fol.lows.
[0012]
One object of the present invention is to precisely
reproduce the operat-i-ono f a web page incl.uding contents
whi.ch are dynami.ca1.l.y changed at the client side. Further,
15 another object is to precj.se1.y reproduce the operation not
by a low extensib1.e method which requi-res a large qua.ntj.ty
of storage areas for storing a log of the contents which
are dynamically changed, but by an efficient and hi.gh1.y
exi:cnsi hl c mct:l?od. Furthei-, al~so anot:her object i.c; to
20 perform reproducti.on without aggressively and actually
performing an operation at the time of reproduci-ng the web
operation.
[00131
In order to improve the reproducibility of the
25 operati-on of the web page including contents which are
dynamically changed at the client side, for now, it has
been required to store logs for all contents every
operation using a large quantity of storage area or
actually and dynamically change the contents by actually
5 performing the operation.
Therefore, it is difficult to continuously leave
multiple records in order to use a large quantity of
resources or unnecessary changes of the status of the
server side, for example, an adverse effect caused by the
l o actual performance may be added. Therefore, the object of
the invention is to address the above-mentioned problems.
[00141
Speci.fi.cally, an object of the present invention is
to provj.de an operation reproductj.on. method and system for
1s a web application in order to increase the reproducibility
of the operation on a web page whj~ch i.s dynamjcally changed.
Solution to Problem
roo1 51
2 o The present invention has been made in an effort to
provide an operation reproduction method and system for a
web application in a system configured by a web server, a
web browser, a log connection server that stores an
operation log on the web page, and a network that couples
25 the web server, the web browser, and the log connection
server to each other. The web server inserts an operation
log acquisition function that operates on the web browser
and a difference detection function that detects and stores
change of a document structure of the web page in the web
5 page and transmits the functions when the generated web
page is transmitted to the web browser, the web browser
performs the difference detection function inserted in the
received web page to store the document structure of the
web page as a first document structure, the operation 1.og
10 acquisition function is performed to generate and stores
the operation log on the web page, the difference detection
function is performed to compare the document structure of
the web page with the first document structure and if there
is a difference, the difference is stored so as to be
15 associated wj.th the operation log, and the log connection
server reproduces the operatj-on usi.ng the stored operatj-on
l.og and the di.fference which is stored to be associa.t:ed.
[00161
r?i~i-thc~i-.n, OIT~FItTo achieve the object, in tlie
20 operation reproduction method and system for a web
application according to an exemplary embodiment of the
invention, in the web server in which the web application
operates, the web application inserts a function that
stores a. client device or a user that requests the
25 generated web page and. a unique i.dentifi.er to the web page,
determines whether there is a request from the outside to
transmit the stored operation log in accordance with the
request. Further, an interface that displays and selects a
list of the identifiers stored at the web server side is
5 provided. The client device that has an operation related
to the selected identifier determines the selected content
so that an operation is selectively collected and played
from a plurality of user operation logs. With respect to a
web page including a content which is dynamically changed,
10 if the content is dynamically changed at the server side,
the web server stores the content of the web page included
i.n the response so as to be associated with the identifier
and tile stored content is used at the time of playing baclc
the operation. Therefore, the dynamic content is
15 appropriately played.
1:00171
In the meantime, if the content is dynami.cal.ly
changed at the client device side, a. functi-on that checlcs
t h e dociimei?t: si:rl~ct.~ii-eo f l-.hew eb page in ar:c:o~-dancew ith
20 the operation on the web browser or the el-apsing time,
detects the difference from the document of the web page
transmitted from the server, and stores the document
structure so as to be associated with the operation log is
inserted in the web page and stored. Further, at the time
25 of reproducing the operation, the operati-on on the stored
web page is reproduced by reflecting the difference of the
document structure of the stored web page so as to be
associated with the operation into the web page that
performs the reproduction.
5 [00181
Further, when the difference detection function
detects the dynamic change of the web page, instead of
storing the difference of the document structure, a flag
indicating that there is dynamic change is stored so as to
l o be associated with the operation. At the time of
reproducing the operation on the web page, when the
operation which is dynamically changed is played, only the
operation is actual1.y performed so as to improve the
precision of the reproduction of the operation.
15
Advantageous Effect of inventi-on
roo1.91
According to the present invention, it is possible to
p.1-ecis el y -I-ep-rorh~a1c1e tzperat-i o n on I : wek) pagr-. whi cli i s
20 dynamically changed without consuming a large quantity of
resources.
Brief Description of Drawings
[00201
25 [FIG. I ] FIG. 1. is a. view il..l.ustrati.nag. configuratj-on of a.
system that executes a web application for various
embodiments.
[PIG. 21 FIG. 2 is a view of an operation reproduction
processing flow of the web application for various
5 embodiments.
[FIG. 31 FIG. 3 is a processing flowchart of operation
recording according to a first embodiment.
[FIG. 41 FIG. 4 is a view illustrating an example of a
document structure of a web page according to the first
l o embodiment.
[FIG. 51 FIG. 5 is a view illustrating an operation log
according to the first embodiment.
[FIG. 61 FIG. 6 i.s a processing flowchart of operati.on
recording according to a second embodiment.
15 [FIG. 71 FIG. 7 is a processi.ng flowchart of operati-on
recording according to a thj.rd embod.i.ment.
[FIG. 81 PIG. 8 is a processing f::l.owchart of operat:i.on
recording according to a. fourth embodiment.
[FIG. 91 T 9 is a processing flowchart of operati.0~
20 recording according to a fi.fth embodiment.
[FIG. 101 FIG. 10 is a processing fl.owcllart of operation
recordirig according to a sixth embodi-ment.
[FIG. 111 FIG. 11 is a processing flowchart of operation
playbaclc according to the fi.rst embodiment.
25 [FIG. 121 FIG. 12 i.s a. sequence view of operation playbaclc
according to the first embodiment.
[FIG. 131 FIG. 13 is a view illustrating an example of a
web page that selects a web page to be operated and
reproduced according to the first embodiment.
5 [FIG. 141 FIG. 14 is a view illustrating an example of a
web page that selects an operation to be operated and
reproduced according to the first embodiment.
[FIG. 151 FIG. 15 is a view illustrating the operation
reproduction and an example of a web page that controls the
1 0 operation reproduction according to the first embodiment.
[FIG. 161 FIG. 16 is a view il-lustrating the operation
reproduction and an example of a web page that controls the
operation :reproduction according t:.o a modified embodiment
of the first embodiment.
15 [FIG. 171 FIG. 17 is a view illustratiilg a configuration
exa.mp1.e of a system that executes a web appl.i.cati.on for a
seve~?.the.mb odi.nient .
[FIG. 181 l?l:G. 1.8 is a processing flowchart of operation
.I-ecor-1d1gi accntrrli ng to the seventh embodiment .
2 0
Description of Embodiments
[0021]
Hereinafter, various embodiments of the present
invention will. be described with reference to the drawings.
2s in this description, various devj.ces in a system such as a.
server device, a client device, an external playback device
or an external device will be described. These devices
include a general configuration of a computer and are also
configured of a processing unit such as a processor, a
5 storage unit such as a memory or a local disk, an i.nput and
output unit such as a display, a keyboard, or a mouse, and
a networking interface. Various programs are executed on
the processor which is a processing unit, and a state where
the program is executed is called a module, and for example,
lo when a web browser program is executed on the processor, i.t
is called a web browser module. Further, each of the
programs may be called a code, a function, or a functional
module.
15 First Embodi.ment
[ O O 2 2 1
A method of recording and pl.aying baclc an opera.t:i.on
of a web applicatiion accordi-ng to a fi.rst embodiment wi.l.1.
he described with. refel-ence to FTGS. 1 to 5 . T 1 i s a.
20 system configuration view i:Llustrati.ng an example of a
hardware configuration and a software configuration of a
system that executes a web application for various
embodiments.
L O O 2 3 1
2 5 In FIG. 1, the hardware of the system includes a
client device 101, a web server device 121, a log
connection server device 141, an external playback device
181, and a network 161 which connects the above-mentioned
devices. Further, hardware of each of the devices may be
5 implemented by the same hardware or may be configured by a
plurality of hardwares.
[0024i
The client device 101, the web server device 121, the
log connection server device 141, and the external playback
10 device 181 all include processors 1.03, 123, 143, and 184,
memories 107, 126, 147, and 185, input and output units 102,
125, 146, and 183, and network interfaces 106, 122, 142,
and 182, respective1.y and are connected to each other. The
client device 101, the web server device 121 and the log
15 connection server device 141 further include local disks
3.04, 124, and 1.44. Some of the devi-ces may not have some
of the above-menti.oned components.
[00251
A weh browser program 1.08 and a ,sclri.pt engine program
20 109 accompani-ed therewith are stored in the memory 107 of
the client device 101. Further, these programs are read
and executed by the processor 103. The web browser program
108 has a function that requests a web page or receives a
response of the requested web page and interprets the
25 response to generate a disp1.a~ screen.. The script engine
program 109 has a function that interprets a script code
included in the response of the web page to allow a
processor 103 to execute a processing which is written in
the script code.
5 LOO261
In the meantime, the script engine program 109
accompanied with the web browser program 108 may be loaded
within the web browser program 108. Therefore, in this
description, it should be understood that i.n the web
10 browser program or web browser module, the script engine
program or the script engine module may be loaded threrein
or accompanied therewith.
[002'71
The keyboard, the mouse, or the monitor is connected
15 to the input and output unit 102 to be used to instruct to
execute or stop a program and display the execution result
of the program on the monitor.
The processor 103 reads the program from the memory
105 and execute:: a. processing. The rietworlc i.nt erfare 106
20 transmits/receives a request or a response to/from a web
server device or an operation log, to/from an external
device of the client device 1 0 1 through the network 161.
100281
A web server program 127, a function insertion
25 program 128, an identifi-er transmissi.on program 129, and a
content transmission program 134 are stored in the memory
126 of the web server device 121. These programs may have
an inclusive relationship with each other, and for example,
the identifier transmission program 129 may be included in
5 the web server program 127. A web application code 130 is
included in the web server program 127 or provided in
parallel to the web server program 127. In the function
insertion program 128, an operation log acquisition code
131, a content improvement code 132, and a difference
lo detection code 133 are included. These programs are read
and executed by the processor 123.
[00291
The web server program 127 has a function that
generates and returns a response of a web page in response
1.5 to a request from an external device such as the client
devi.ce 1.01.. The function j-nsertion program 1.28 has a
function that adds or corrects contents included i.n the
response of the web page.
100301
2 0 The identifier transmissi.on program 1.29 has a
function that generates or acquires an i-dentifier related
to the web page generated by the web server program 127 to
transmit the identifier to the external device. As the
identifier related to the web page, an ID having a unique
25 value for every request of the web page or an. ID that
specifies a request source of the web page are included.
[00311
The content transmission program 134 has a function
that transmits the contents of the web page created by the
5 web server program 127 to the external device. The web
server program 127 also has a function that transmits the
contents of the web page to the client device which is a
request source. However, the content transmission program
134 may also transmit contents to an external device other
1.0 than the request sources such as the log connection server
device 141 or the external playback device 181. In this
case, the content transmission program 134 transmits the
contents so as to be a.ssoci.a.tedwi .t:h tihe identifier related
to the web page.
15 100321
The i.nput and output u.ni.t. 1.25, the processor 1.23, and
the network interface 122 have the same fu~~ctionass
devi.ces having the same names i.n the client devi.ce 1.01.. In
tzlie 1.ooal dislc 1.211, all. or some of we12 pages are saved.
20 100331
In the memory 147 of the log connection server device
141, a log connection server program 148 and an operation
playback program 149 are stored. These programs are read
and executed by the processor 143.
25 [0034]
The log connection server program 148 receives a web
page transmitted from the client device 1 0 1 or the web
server device 1 2 1 or an identifier that specifies a request
source of the web page, or data such as an operation log,
5 and stores the web page, the identifier, and the data in a
log storage area 145 of the local disk 144, reads data on
the log storage area 145 or the memory 147, displays lists
thereof, or selects a specific identifier or operation log
to transmit the specific identifier or operation log to the
lo external device. Further, an operation log related to the
specific identifier is transmitted to the external device.
The operation playback program 149 provides a function that
plays baclc the ope:rati.on on the web page from the contents
and the operation log of the web page on the external
1s playback device j.n response to the request from the
external. pl.ayback. devjce 7.81. The I.ocal. disk 1.44 i.ncl.udes
the operatj.011 log storage area. 1.45 that stores the
j-dentifier or the operation log.
LOO351
2 0 The input and output unit 146, the processor 143, and
the network interface 142 have tile same functions as
devices having the same names in the web server device 121.
LOO361
A display program 186 is stored in the memory 185 of
25 the external. pl-ayback devj.ce 1 8 1 . The display program 1.86
is read and executed by the processor 184.
The display program 186 displays a web page, which is
similar to the web browser program 108 and the script
engine program 109 of the client device 101. However, by
5 the operation playback program 149 of the log connection
server device 141, the display program 186 plays back the
operation on the web page or temporally stop the playback
in connection with the operation log. The input and output
unit 183, the processor 184, and the network interface 182
10 have the same functions as devices having the same names in
the web server device 121.
LOO371
Referring to PIG. 2, a flow of operati-on reproduction
processing of the web application in the system
1.5 con.fj.guration wi.11 be described.
LOO381
As described. with reference to FIG. I., in the system
in whjich the c1i.en.t devj.ce 1.01, the web server devi.ce 1.27~,
and the 1.og connect::i.o~:s~e rve:): dcv:i.ce 1.41. are corlrlected
20 through tlie network 1.61, the client device 101 transmits a
request of a web page, tlie web server device 121 generates
and returns a response of the requested webpage, and the
client device 101 displays the web page and executes the
script code. In the log connection server device 141., an
25 identifier rel-ated to the web page, contents of the web
page or an operation log on the web page is accumulated.
Further, between the log connection server device 141 and
the client device 101, the transmission and reception of
the operation log or exchange of a command that transmits
5 an inquiry for controlling the log operation and control
contents is performed. The external playbaclc device 181
receives the contents and the operation log of the web page
from the log connection server device 141 to playbaclc
operation on the web page.
10 [00391
Hereinafter, a series of processings will be
described in sequence. Further, i.n FIG. 2 and subsequent
drawings, a state where a program i.s executed on a.
processor is referred to as a module, and for example, when
1s the web browser program is executed on the processor, this
state i.s referred. to as a web browser modu1.e.
[0040]
At first, in FIG. 2, a web browser modu1.e 211 of the
cl.i.cni; dev-i.ce 101 tiransrn:i.ts a :request of the web page to
20 tlie web server device 121 via tlie iietworlc 161. The irequest
201 includes at least an URI (uniform resource identifier)
that designates a location where a web page is present. In
the web server device 121, a web server module 221 receives
the request and a web application 222 that performs a
25 processing j.n accordance with the web a.ppl..i.catiocno de 130
generates a response 202 of a requested web page.
[00411
The response 202 is transmitted to the web browser
module 211 of the client device 101 via a function
5 insertion module 223 included in the web server device 121.
An operation log acquisition function module 224 of the
function insertion module 223 is included in the client
device 101 and inserts a function that acquires the
operation log on the web browser 1nodu1.e 211 into the
l o response 202 in the form of a script code 206 whj.ch is
executed on the script engine module 212 accompanied with
the web browser module 211 into the response 202. A
content improvement function module 225 has a function that
changes a part of contents included in the response 202 and
1s inserts an identifier related to the response into the
contents. A dj.f ference detection functj-on module 226
j.n.serts a function that detects, records, and stores a.
dynami.~ change of a. document that provides the screen
di.sp1.a~o r functi.on on the web browse:^ modu1.e 213. i n t o
20 the response 202 in the form of a script code 206 that is
executed on the script engine module 212 included in the
client device 101.
LO0421
In the web server device 1.21, an identifier
25 transmissi.on module 227 generates or acquj-res an identi-fier
204 related to the response 202 of the web page to transmit
the identifier to the log connection server device 141.
Further, a content transmission module 228 transmits
contents 205 of a web page included in the response 202 to
5 the log connection server device 141. These operations may
be sequentially or simultaneously performed.
[0043]
In the client device 101, the web browser module 211
displays contents i-ncluded in a response 203, transmits a
10 next request is transmitted in response to the opera.ti.on,
or the script engine module 212 executes the script code
206 included in the contents. The script code inserted by
the ope:ra.tion 1.og acqu.:i.siti.on function module 224 is
executed by the scri-pt engine module 212 and an operation
15 log on. the web browser module 211 is generated. The
generated operation i.og i.s stored. on the memory 1.07 or the
:l.oca.l. di.slc 1.04 of the cl.i.ent device 1.01 together with the
i.denti.fi..er. in the operation log acquisition functi.on
1nod~1l.2e 24, a function that .i.i~q~~i.rae.s t ransmi.ssi.o~r~e quest
20 of the operation log or the log operati-on request to the
log connection server device 141 through the web browser
module 211 is included. If the command 208 is returned in
response to the inquiry, the operation log which is stored
in the memory 107 or the local disk 104 is transmitted to
25 the log connection server device 141 or the operation 1.og
is deleted in accordance with the command 208. The command
208 also includes processings other than the log
transmission or the log deletion.
[00441
5 In the log connection server device 141, a log
connection server module 231 receives the identifier 204
and the contents 205 from the web server device 121 and
stores the identifier 204 and the contents 205 in the log
storage area 145. Further, list data of the stored
lo identifier 204 is displayed on the external playback device
1.81 to generate a command that allows the client device to
transmit the operation log of the web page related. to the
selected identifier and transmi-t the command 208 of the i.og
transmission in response to the log inquiry 207 from the
15 client devi.ce 3.01 to recei-ve an operation log 209 from the
cl.ient devi.ce and store t.he operation i.og 209 in the log
storage area 1.45. As descri-bed above, the command 208
i.nc1udes a. command for performing processi.ngs other than
the 1.oy transmission. An operation playbaclc modu1.e 232 lias
20 a. function that transmits contents or the operation log of
the web page which are stored in the log storage area 145
of the log connection server device 141 and the document
structure associated with the operation log to the external
playbaclc device 181 to display the operation state in
25 accordance with the operation log on the web page, on the
external playback device 181.
[00451
In the external playback device 181, a display module
241 communicates with the log connection server device 141
5 and displays the list of the identifier stored in the log
connection server device 141 and selects a specific
identifier by the input from the input and output unit 183
to notify the identifier to the log connection server
device 141 or displays the operation state on the web page
lo through the operation playbaclc modu1.e 232 of the log
connection server device 141 or changes the display state
in accordance with the instruction from the input and
output unit 183. In F I G . 2, even though the external
pl-ayback device 181 and the log connection server device
15 141 are directly connected, but the external playbaclc
device 181 and the log connection server device 141 may be
coinnected through the netwo?:lc 161. Further, the contents
or the operati-on log of the web page or the document
st-.I-uctulrae ssoc-i-atedwi .t:l~. the o]?erat::i.o~l 1.0:~m ay 1:)e rece:i.ved
20 from other devi.ce such as the web server device 123..
LOO461
Next, with the above-mentioned system configuration
and the operation reproduction of the web application as
premises, a processing flow of the operation reproducing
25 method of the web application according to the first
embodiment will be described with reference to FIGS. 3 to 5
and FIGS. 11 to 16.
[0047]
FIG. 3 illustrates a processing flow of the operation
5 recording and FIG. 11 illustrates a processing flow of the
operation reproducing. The processing flows illustrated in
FIGS. 3 and 11 may be sequentially switched or
simultaneously performed.
LOO481
10 As illustrated in FIG. 3, the web browser module of
the client device transmits the request to the web
application to the web server device (step 3 0 3 ) . In the
web server device, the web server module receives the
request from the client device to generate a response of
1.5 the web application (step 323). The identifier
transmission module transmi-ts the i.dent 5.f i.er to t.he log
connect.ion server device whenever the response is generated
(step 324) . The i.den.ti.fj.er5 .s a uni.que val.ue for every
re:spon.se and :iLs used to speci.fy the conlre~lts of tlic web
20 page of the response, the operation log of the operation
performed on the web page, or the document structure
associated with the operation log.
[00491
Conti.nuously, the content transmission module
25 transmi-ts the contents of the response to the log
connection server device (step 325). Further, the function
insertion module inserts the operation log acquisition
function, the difference detection function, and the
identifier and improves the contents (step 326). The order
5 of steps 324 to 326 is not limited to the order illustrated
in FIG. 3, but the steps may be performed in a reverse
order or simultaneously performed. Finally, the response
is transmitted from the web server device to the client
device (step 327). A series of the processings of the
so steps 323 to 327 are a flow of the processing that by the
web server device according to this embodiment, generates
the web page and hereinafter, will be referred to as step
322 all together. The web server device completes the
processing if the request from the client device is
15 compl.eted or the web server devi.ce i.s completed (steps 328
and 329).
[OOSO]
Con.ti.nuousl.y,t he cl.i.ent devi.ce recei-ves the response
171-om the web server device (step 304) . A sf?,-ies of
20 processings of steps 303 and 304 i.n the clj.ent device are a
flow of the processing that displays the web page in the
client device and will be referred to as step 302 all
together.
[00511
25 in the processing £].ow of FIG. 3, the log connecti-on
server device determines whether the identifier is
transmitted from the web server device (step 343). If the
identifier is transmitted, the identifier and the contents
are received and stored (step 344 and 345). Hereinafter,
5 the communication processing with the web server device
will be referred to as step 342 all together. Continuously,
in the log connection server device, a list of the stored
identifiers is generated and the list is displayed on the
external. device and a command that transmits the operation
lo log on the web page associated with the identifier
specified by the external device is prepared (step 347).
1:00521
'The reception of the operati.013 I.og that uses the
comlnand is perf orlned by the following processing flow.
15 First, step 302 is completed. In the client device in
wh.i.ch the di.sp1.a~ of the web page is completed, the
document structure which is included in the response used
to display the web page or provi.de the function i.6
te111po1::al.l.syt ored. on the memory o:~:t lre i.oca.1 di.!;lc by tire
20 difference detection function (step 306). Next, by tlie
operation log acquisiti-on function which is included in the
response, the operation log of the operation performed on
the web browser is generated to be stored on the memory or
the 1.ocal disk (step 307). When the operation log is
25 generated, a current document structure is compared, with a
document structure which is temporally stored in step 306
(step 3 0 8 ) . As a result of comparison, if the document
structures are different, the document is associated with
the operation log stored in step 307 and the current
5 document structure is stored on the memory or the local
disk (step 3 0 9 ) . As a result of comparison in step 308, if
the document structures are not different, step 309 is not
performed.
LO0531
10 Continuously, the operation log acquisition function
inquires of the log connection server device whether there
is a log transmission request (step 3 1 0 ) . In this case, an
identifier which may specify the client device or a
displayed web page is transmitted to the log connection
1s server device. If the log connection server devj.ce
receives the i.nqui.ry about whether there i.s the log
trans~llission request from the cliellt devi.ce, it is
determined whether the inquiry is an inquiry from an object
that t?:ansmi.ts the connnand prepared i.n step, 34 7 (st~p32 8) .
20 If the inqui-ry is the inquiry from the object, the command
prepared in step 347 is transmitted to the client device
(step 3 4 9 ) . If the client device receives the command, the
client device transmits the operation log specified by the
command or the document structure associated with the
25 operation. log to the log connection server device (step
311). If the log is transmitted from the client device
(step 350), the log connection server device receives and
stores the log (step 351). Among a series of flows of the
reception processing of the operation log, hereinafter, a
5 processing flow at the log connection server device side is
referred to as step 346 and a processing flow at the client
device side are referred to as step 305 all together.
100541
Further, in some cases, even when the identifier
lo received from the client devj.ce does not match with the
identifier speci-fied in step 347, in the determination
processing in step 348, it is determined that there is a
corresponding inquiry and step 349 is performed. For
example, if an identifier stored in the log connection
15 server device includes a user identifier that may specify a.
user who performs an operation, the identifier transmitted
from the cl-ient devi.ce does not incl.ude the user j.dentifier,
but incl-udes a request identifier that has a unique value
foi- every request of the web page, and thus an ideuti~fier
20 of a user that transmits the request so as to be associated
with the request identifier from the list of the identifier
stored in the log connection server device is present, it
is determined that there is an inquiry from the same user
and an inquiry source has an operation log related to the
25 j-dentifier specified. in step 347 and the command is
transmitted.
[00551
As described above, in the log connection server
device, by managing the list of the identifier, the log
5 connection server device acquires the contents or the
operation log of the web page which have been displayed and
operated in the past. Further, the detertnination
processing of step 348 is omitted and a command for the
inquiry about whether there is the log transmission request
lo from the client device is always transmitted. Further, at
the client device side, it is determined whether there is
an operation log corresponding to the object of the command
or a. document structure associ-ated wi.ti-i the operation log
with the stored operation log or the document structure
1.5 a.ssoci.ated with the operation log, and the operation i.og or
the document structure associated. wj.th the operation 1.og
may be transmj-tted to the 1.og connectj.012 server device.
[ 0 0 5 h l
Fi.nall.y, j.11 the cl.ient devi-ce, if the page i.3
20 transited, the sequence returns to step 302 and if the page
is not transited, the operation is completed or if the
client device is not completed, the sequence returns to
step 305. Otherwise, the processing is completed (step
313) .
25 [0057]
Also in the log connection server device, if the log
recording is not completed, the sequence returns to step
342. Otherwise, the processing is completed (step 353).
[00581
5 Further, a method of performing the management of the
identifier, or the transmission request and
transmission/reception of the operation log or the document
structure associated with the operation log is not limited
to a method by the above--describedl og connection server
l o devj.ce, but other methods may be used.
[00591
Next, referring to FIG. 4, a document structure which
is recorded so as to be associated with the operation log
will be described. An example that displays the web page
1s on the web browser 401 and provides the function j.s
i.:l.l.ustratedi n the upper part of FIG. 4. In this exampl-e,
a message "1nai.n text ..." is displayed on the paragraph 402
and a button 1. is provided as an input 404. In thi.s
exampl.e, the huttori 1 provj.de:; ;1. fur-lct:i.on that displ.;lys a.
20 message "button has been pressed" 403 on. the paragraph if
the button is pressed. In other words, by the clicking
operation of the button 1, the display on the web browser
401 is dynamically changed at the client side.
[00601
25 In the lower part of FIG. 4, the document structure
410 of the web page is illustrated. Elements that
configure the web page are hierarchized in a tree shape.
In the example of FIG. 4, a DOCUMENT element is disposed at
the top, HTML is below the DOCUMENT, and HEAD and BODY are
5 continuous thereto below HTML and DOCUMENT. Below HEAD,
TITLE and META are disposed and a character string of "web
browser" which is a text element of TITLE is displayed in a
title bar 405 of the web browser. META has an attribute
value "charset = utf-8" and a character code of the web
l o page is correspondingly set. The message displ-ayed in the
paragraph 402 becomes a text element 413 of a paragraph
below BODY. Further, the button 1 is represented as a
document structure at INPUT below FORM below BODY. In the
example of FIG. 4, by pressing the button 1, the text
1.5 element 413 of the paragraph is changed to be "main text ...
button has been pressed". In the processing flow described
with reference to FIG. 3, the difference of the document
structures i.s detected and stored so that the situati-on
which i~s dynami cal l y cl-iaiiged 31-. t h e c.1 .i ent side i.s lrecorded
20 FIG. 4 merely illustrates an example of the document
structure but, the document structure may be represented by
other method.
[00611
FIG. 5 is a view illustrating an example of the
25 operation log. The operati-on log includes a time, a client
ID, a user ID, a page ID, a session ID, an operation
content, an operation target, and an attribute value.
Among these, the operation target is recorded by the
document structure illustrated in FIG. 4. For example, the
5 operation log when the button 404 of FIG. 4 is pressed is
recorded as HTML [O] , FORM [O] , or INPUT [O] as illustrated by
an index 3 of an example of the operation log of FIG. 5,
which indicates that a cliclc operation is performed by a Oth
INPUT below a 0-th FORM below a 0-th HTML.
10 [00621
Next, referring to FIG. 11, a flow of the operation
playback processing of the web application will be
described. First, the external. playback devjce requests
the log connection server device to transmit an identifier
3.5 list in order to sel.ect a. target of the operation playbaclc
(step 1.143). Tf the t.ransmi.ssi.onr equest of the i.denti.fi.er
lj.st from the external pl.aybaclc device is received, the log
connection server device generates and transmits a list of
the stored i.denti.fi.e:i: (step 1.1.02) . The external playbaclc
20 device receives the identifi-er list to display the
identifier list (step 1144). Hereinafter, steps 1143 and
1144 are referred to as step 1142 all together. Next, the
external playback device selects a part that plays back the
operation from the identifier iist and transmits the part
25 to the l.og connection server device (step 3.145). Even
though the selection method may be varied depending on
information included in the identifier, for example, an
operation of a specific user may selectively become an
operation target or an operation on a specific web page may
5 selectively become an operation target. If the log
connection server device receives the transmission request
of a log or a content frorr~ the external playback device
(step 1105), the log connection server device reads the
operation log corresponding to the specified identifier or
lo a document structure associated with the operation log or
the content from the log storage area (step 1107) and
transmits the operation log, the document structure, and
the content to the external playbaclc device (step 1108).
[GO631
15 Continuously, the operation playback module transmits
a functj.on that pl.ays back an operation state on the web
page such as the operation playbaclc script to the external
p1aybac:lc d.evi.ce (step 1~3~09. ) Herei-nafter, steps 1.3.07 to
1.109 n:t::e referred to as step 1.106 all t:ogether. The log
20 connectioi~ server device repeats these processi~lgs until
the operation playback i.s completed. The external playbaclc
device receives the operation log, the document structure
associated with the operation log, the content, and the
operation playback script from the log connection server
25 device (steps 1147 and 1148) and pl.ays baclc the operation
state on the web page from the received operation log,
document structure associated with the operation 1-og, and
content using the operation playback script (step 1 1 4 9 ) .
The operation state is played by displaying the content and
5 further performing the operation in accordance with the
operation log or displaying the operation content. When
the operati-on recorded in the operation log is performed,
the document structure of the content is updated or
substituted in accordance with a document structure
l o recorded so as to be associated with the operation log to
play the state of the web page which is dynamically changed
at the client side. Hereinafter, steps 1147 to 1149 are
referred to as step 1146 all together. These processi.ngs
are repeated until the playback of the operation is
1.s compl.eted.
LO0641
As described above, by the processings illustrated in
FIGS. 3 to 5, and 11, the reproduction of the operation on
the web page is achieved. These processinys do not need to
20 introduce a web browser program of the client device and a
specific program other than a script engine program which
is loaded therein or associated therewith but selectively
collect the log or the content of a part of the operation
to be played by the selection according to the identifier
25 to play the part of the operation, records the change of
the document structure, and plays back the state of the web
page which is dynamically changed at the client side based
on the recorded change of the document structure to improve
the reproducibility of the operation.
5 [ 0 0 6 5 ]
FIG. 12 is a view illustrating a sequence 1201 of the
processing flow described with reference to FIGS. 3 and 11.
The processings for request of the web page,
generation, transmission and reception, and display of the
l o response, and recording and playback of the operation log,
and the document structure have been described with
reference to FIGS. 3 and 3.3.. Here, an ID which becomes a
candidate to be set as an identifi-er and the others which
have not been described will be described.
15 LO0661
As the candi-date of the identifier, the client. ID,
the page ID, the content ID, the request source page ID,
the session ID, and the user ID are included.
100671
2 0 The client ID is a11 identifier that specifies the
client device that sends the request to the web page and
specifically includes a network address of the client
device, a machine name, a process number of the web browser,
or a hash value related thereto as an example. The client
25 ID may be generated and acquired by the client device and
transmitted to the web server device so as to be attached
to the request.
[00681
The page ID is a unique identifier for every web page
5 generated by the web server device. Specifically, an
example of the page ID includes a value which is created by
cornbining a URL of the page, a generation time, or the
network address of the web server device by the web server
device. The page ID may be the same URL or a separate page
lo ID in the case of a web page generated by a separate
request.
[00691
'The request source page ID i.s a. page ID of a. web page
that generates a request to a next web page when transition
15 to a next webpage occurs on the web page by a link or a
button. The request source page ID and a new page ID are
recorded as a set so that the page trans:i.t:ion state may be
recorded.
[ 0 0 7 0 ]
20 The content ID is an identifier which is si-milar to
the page ID. The page ID is an identifier which is
assigned in the unit of a web page. In contrast, the
content ID is an identifier which is also assigned to data
such as an image or a script code but not limited to an
25 HTML document of the web page. In the case of a static
image which is not changed, if the image is requested by a
separate request, but is the same image, the same content
ID may be assigned thereto. By doing this, when the
content is stored, since the content which is static and is
5 not changed has the same content ID, the content does not
need to be duplicatively stored.
/00711
The session ID is an identifier which is generally
set by a web server device with respect to the transition
lo of a series of web pages. In FIG. 5, web pages A, B, and C
are transitions of a series of web pages so that a common
session ID is assigned to the web pages A, B, and C. For
example, when one job is completed by three pages of web
pages A, B, and C, if it is desired to select the entire
15 job to play the operation, it is convenient to select
playbaclc t.arget by the sessi.on 1:D.
[00721
The user ID is an i.denti.fi.er that speci-fies a. user
who pe:rfo:rms the ope:ra.ti.on that generater; ;I ~:c?qucst to the
20 web page. Generally, the user ID is an identifier that is
i.nput by a user or set by a web server device after
authentication when a user is authenticated. The user ID
may be conveniently used when it is desired to playback the
operation by the same user regardless of a time or a
25 location.
LOO731
As known from FIG. 12, since some identifiers may not
be present depending on a timing, an identifier which is
transmitted from the web server device to the log
5 connectj-on server device may be varied depending on the
timing and there are identifiers which may be calculated
even when all. identifiers are not always transmitted.
100741
Between the external playback device and the log
l o connection server device, when a playback target of the
operation is selected, first, the log connection server
device transmits the li.st of the stored identifier. The
list includes al.1 or a part of candidates of the
identifiers. 'The external playback device selects an
15 identifier from the candidates so that the corresponding
operation log, the document structure associated with the
operation l.og, and the content are specified.
LOO751
Even t:liough not: i.l.l.ust:rated.i. n FIG. 1.2, a rnet:l?.od that
20 allows the client devi.ce to assi.gn an operation ID to an
operation log which is generated whenever the operation is
performed on the web page and the document structure
recorded by the condition as an identifier, transmit the
operation ID to the log connection server device similarly
25 to the other i.denti.fi.ers and store the operation ID, and
selects the operation ID by the external playbaclc device is
also included in this embodiment.
LOO761
Reference numeral 1301 of FIG. 13 is an example of a
5 web page that selects a web page which is an operation
reproduction target in this embodiment.
LO0771
Information that specifies a web page such as the
time, the client ID, the user ID, the session ID, and the
10 page ID is displayed in a form of list and a web page of
the operation reproduction target is selected from the
above information so that the information is used to
display the list of the operati-ons whi-ch are performed on
the web page and reproduce the operation.
15 [00781
Reference numeral 1403. of FIG. 14 is an example of a
web page that selects an operati-on of the operation
reproduction target j.n thi.s embodiment. Reference numeral.
1401 di.r,plays the l.i.:;t of the opc-:t:ntions wl?.ich are
20 performed on the web page specj-fied by the web page 1301
that selects the web page illustrated i11 FIG. 13. The list
includes the time, the operation content, the operation
target, and the attribute. Further, a button 1402 that
starts to reproduce the operation is also provided on the
25 web page. For example, j.f j.t is desj.red to reproduce the
operation in the middle of operation, the selection which
is at the left end of a row of the corresponding operation
is clicked and then the button is pressed so that the
operation is reproduced. Even though the list has an item
5 of a change flag, the item is displayed as 1 when the
document structure is recorded so as to be associated with
the operation 1.og. By doing this, it is possible to
confirm that which operation causes the web page to be
dynamically changed.
10 [0079]
The check box 1403 is a check box that indicates to
actually perform an operation whose change flag is 1 at the
tj.me of reproducing the operation. A method of reproduci-ng
the operation includes a method that actually performs and
15 reproduces the operation and a method that reproduces on1.y
the display wj.thout actually performing the operati.on. The
former neth hod is effective to improve the reproducibi.1.i.ty.
However, by actually performing the operation, for examplLe,
a reverse effect which chal~ge:: the state at the server side
20 may be accompanied. In contrast, the latter method is a
method that performs operation reproduction, for example,
the motion of the mouse by moving an image imitating a
mouse pointer. However, in this case, if it is not
actually performed so that the web page is not dynamically
25 changed, the reproducibi.1.ity becomes lower. Therefore, the
latter method is used as a basic reproduction method of the
operation and only the operation in which the web page is
dynamically changed is reproduced by the former method so
that the reverse effect is restricted and the
s reproducibility is improved.
[00801
FIG. 15 is an example of the reproduction status of
the operation and a web page that controls the operation
reproduction. In. a playback window 1501 which is
1.0 ill-ustrated in the upper part of the drawing, a mouse
pointer 1504 reproduces an operation that presses a button
1502. A playbaclc controller 1511, which is illustrated in
the 1.ower part of tile drawing, provides a list 1512 of
operations performed on the web page which is being
15 reproduced and a control function that performs to start,
complete or pause the reproducti.on by buttons. As the
r~epvoduction rnethod of the operation, frame by frame
playback 153.3 that reproduces an operation one by one or
pl.aybaclr 1.51.4: t1,;l.t autom;ttS.cal.l.y and seyuent:i.;?l.l.y
20 reproduces operations, and functioiis 1515 and 1516 that
actually perform to reproduce the operation in various
reproduction methods are provided. In the list 1512 of
operations, a change flag is displayed similarly to FIG. 14
and the flag may be performed by a method that actually
25 performs only one operation, but does not actually perform
the other operations, except for the display. Specifically,
one operation whose change flag is 1 is reproduced by using
the button 1515 and the other operations are reproduced by
using the button 1513.
5 [00811
FIG. 16 is an example of the reproduction status of
the operation and a separate web page that controls the
operation reproduction. A playback window 1601 at the
upper part and a playback controller 1611 at the lower part
l o are substantially similar to those illustrated in FIG. 15.
However, in the playback controller 1611, a function that
specifies a reproduction method that is actually performed
is not provided. When one operatio13 whose change fl.ag i.s 1
is reproduced, the change flag displays a message inquiri-ng
15 whether the operation is actually performed on the playbaclc
wj.ndow 1.601. or a separate wi.ndow from the playbaclc window
so that a user may select the reproduction method.
[0082]
Acco:i::dincj to the processing fl.ow of the first
20 enibodimellt described above, the operation on the client
device and the dynamic change of the web page are
continuously recorded so that the operation may be played
with a high reproducibility.
25 Second Embodiment
[0083]
A second embodiment will be described with reference
to FIG. 6. Here, only different parts from the first
embodiment will be described and the parts which have been
s described in the first embodiment will be omitted.
[00841
FIG. 6 is a processing flowchart illustrating another
embodiment for a difference detection method of a document
structure by a difference detection function. A processing
l o 601 at the ].eft side of FIG. 6 and a processing 611 at the
right side thereof correspond to the processing 305 of FIG.
3 and parts other than the processing 305 of FIG. 3 are the
same as those of FIG. 3.
[00851
15 In the processing 601, determination of change of a
document structure is performed by determinjng whether a
current docurnent structure i.s equal to a latest docurnent
structure whi.ch is ternpora1.l.y stored (step 602). Further,
if the document st:ruct;ure i.s changed., a changed document
20 structure is temporally stored (step 603) and used to
determine change of a next docurnent structure. By doing
this, if a lot of dynamic change of the web page occurs at
the client side, it is possible to reduce the amount of
stored document structures by the difference detection.
25 LOO861
In the processing 611, by temporally storing the
document structure at every designated time (step 613),
determination of the change of the document structure is
performed by determining whether the current document
5 structure is equal to the document structure which is
temporally stored at every designated time (step 612). By
doing this, it is possible to improve the operation
reproducibility even when the dynamic change of the web
page occurs at the client side regardless of the operation.
10
Third Embodiment
[0087]
A third embodi.ment wil.1 be described with. reference
to FIG. 7. Here, only different parts from the first
15 embodiment will be described and the parts whi.ch have been
descri-bed i.n the first embodiment wi.11 be omi-tted.
[0088]
FIG. 7 i.s a processing fl.owch.art ill.ustrati.ng another
embod:i.melit for n c1:i.f fe:uence detection t i.mi.ng of a documerit-
20 structure by a difference detection function. A processing
701 at the left side of FIG. 7 and a processing 711 at the
right side thereof correspond to the processing 305 of FIG.
3 and parts other than the processing 305 of FIG. 3 are the
same as those of FIG. 3.
25 [00891
In the processing 701, the determination of the
change of the document structure is performed only when a
specific event occurs (step 702). For example, if it is
known in advance that dynamic change of a web page which
5 requires a reproducibility in the reproduction of the
operation is likely to be generated only by clicking the
mouse, the storage of the document structure at the time of
generating all operation logs is restricted to a case when
an event that clicks the mouse occurs, so that an amount of
lo resources whj.ch are required for the storage [nay be reduced
By doing this, likes a banner advertisement that
dynamically changes, if the web page includes a part which
is not related to the basic functi-on on the web page but
dynamically changed, storage of an unnecessary document
15 structure may be prevented.
[00901
In the processing 711, the determi-nation of the
change of the document structure is performed at every
desigilated ti.me so that the dynamic change of the web page
20 may be recorded regardless of the presence of the operation
or the event. By doing this, contrary to the processing
701, it is possible to improve reproducibility of a web
page including a content such as a banner advertisement
which is dynamically changed at every predetermined time.
2 5
Fourth Embodiment
[00911
A fourth embodiment will be described with reference
to FIG. 8. Here, only different parts from the first
5 embodiment will be described and the parts which have been
described in the first embodiment will be omitted.
[00921
FIG. 8 is a processing flowchart illustrating another
embodiment for a difference detection method of a document
lo structure by a difference detection function. A processing
801 at the left side of FIG. 8 and a processing 811 at the
right side thereof correspond to the processing 305 of FIG.
3 and parts other than the processing 305 of FIG. 3 are the
same as those of FIG. 3.
15 100931
In the processing 800., the determinati~on of the
change of the document structure i.s performed by
determining whether the content to be operated stored i.n
i-he ope]-ation log is incl.uded i~n the tempoi-a1 1 y sl-.oi:ed
20 document structure (step 802). By doing this, when the
operation target is dynamically generated, it is possible
to prevent a phenomenon that the operation is not
reproduced because there is not an operation target or the
reproducti.on of the operation causes an error. Further, if
25 the document structure is large sized, the determi-nation of
the change of the document structure by the difference
detection function may be performed with a small amount of
throughput.
[00941
5 In the processing 811, the determination of the
change of the document structure is performed by
determining whether the document structure of the content
to be operated is changed (step 812). By doing this, for
example, even though the operation target is present on the
l o document structure, if an attribute thereof which is not
visualized as "hidden" is visualized to be changed so as to
be operated, it may be determined that the document
structure i.s changed. Si.1nilar1.tyo the processing 801,
even though the document structure is large sized, the
15 determj-nation of the change of the document structure by
the difference detection function may be performed with a.
sma1.l amount of throughput.
Fif tll Embodiment
20 [00951
A fifth embodiment will be described with reference
to FIG. 9. Here, only different parts from the first
embodiment will be described and the parts which have been
described in the first embodiment will be omitted.
25 [00961
FIG. 9 is a processing flowchart illustrating another
embodiment for a difference storage method of a document
structure by a difference detection function. A processing
901 at the left side of FIG. 9 and a processing 911 at the
5 right side thereof correspond to the processing 305 of FIG.
3 and parts other than the processing 305 of FIG. 3 are the
same as those of FIG. 3.
[00971
In the processi-ng 901, as difference of the document
l o structure, the document structure to be operated or a
changed amount of the document structure to be operated are
stored (step 902). By doj.ng this, it is possi.ble to reduce
the resource amount whi.ch. is requi-red to store the document
structure while maintaining a reproducibility of the
1.5 content to be operated which is directly related t.o the
reproduction of the operation.
[00981
In the processing 911, when the document structure is
cl?.an.ged,o nly a fact tl7.a.tt :l?.e docu~nent structure i.s cllanged
20 is stored as a flag (step 912). By doing this, i.t is
possible to reduce an amount of absence resource due to the
storage of the document structure. At the time of
reproducing the operation, it is an efficient storage
method when the reproducibility of the operation is
25 improved by actually performj-ng the operation in whi.ch the
50
flag is built to reproduce the operation.
Sixth Embodiment
[00991
5 A sixth embodiment will be described with reference
to FIG. 10. Here, only different parts from the first
embodiment will be described and the parts which have been
described in the first embodiment will be omitted.
[01001
10 FIG. 10 is a processing flowchart illustrating
another embodiment for a difference transmission method of
a document structure by a difference detection function. A
processing 1001 of FIG. 10 corresponds to the processing
305 of FIG. 3 and parts other than the processing 305 of
1s FIG. 3 are the same as those of FIG. 3.
[0101.]
In the processing 1001, when the 1.og transmissi.on
request is sent from the log connection server device to
t.1-~ec liel-it device, among the document st ruct~~rewsh ich are
20 transmitted together with the operation logs and stored
with respect to the same content, only a document structure
which is finally recorded is transmitted (step 1002). By
doing this, it is possib1.e to reduce the amount of data
which is transmitted from the client device to the log
25 connection server device. At the time of reproducing the
operation, a reproducibility in the middle of a series of
operations may be reduced, but the reproducibility in the
final state is substantially equal to the other embodiments.
5 Seventh Embodiment
[0102]
A seventh embodiment will be described with reference
to FIGS. 17 and 18. Here, only different parts from the
first embodiment will be described and the parts which have
l o been described in the first embodiment will be omitted.
[01031
F I G . 17 is an example of a system configuration that
executes the web application according to this embodiment.
An external device 1701 has a computer configuration
1.5 configured by a processor 1703 which has the same function
as the client device 101. or the web server device 121, a
memory 1707, an i.nput and output u11i.t 3.702, a. local disk
1704, and a network interface 1.706.
[on.oil]
2 0 A document stiructure providing program 1708 is stored
on the memory 1707 and the document structure providing
program 1708 is a program that provides a function that
transmits a response specified from the other device
through the input and output unit 1.702 or the network
25 i-nterface 1706, or the document structure in the middle of
the operation on the client to the other device through the
network interface 1706 in accordance with the request. The
external device 1701 may be the same as the web server
device 121 or the log connection server device 141, and for
5 example, the document structure providing program 1708 may
be present on the web server program 127 of the web server
device 121 and the web server device 121 may provide the
same function.
[01.05]
10 FIG. 18 is a flowchart illustrating an example of a
processing that records the operation by a system that
includes the external device 1701 having the document
structure providing program 1.'708 a.ccordi.ng to this
embodi.ment. A processi.ng 3.801 of FIG. 18 corresponds to
15 the processing 305 of FIG. 3 and parts other than the
processj-ng 305 of FIG. 3 are the same as those of FIG. 3.
10 10 6 I
In the processing 1.801, the document structure of the
web page i:; iread f:rorn the external devj.ce 1701. and
20 temporally stored (step 1802). Using the temporally stored
document structure, the doculnent structure is changed or
stored. By doing this, for example, if the client device
receives a response from the web server device and the web
page is dynamically changed before the difference detection
25 function i.s operated, the document structure providing
program 1708 transmits the document structure of the web
page before the web page is dynamically changed, which is
included in the response so as to precisely record dynamic
change of the document structure.
5 [01071
As described above, even though various embodiments
according to the present invention have been described, it
is needless to say that an arbitrary combination of the
first to seventh embodiments is also included in the
10 present invention. For example, the web browser of the
client device performs the difference detection function
and compares the content that forms the document structure
of the web page with a content of a first document
structure. If there is a difference, the difference is
15 stored so as to be associated with the operation log. By
considering a document having a difference as a new first
document, the stored di.fference i.s transmitted to the log
connection server devi.ce so that 0n:l.y the di.fference of the
content wh:i.cli :i.s fj.nal.1.y sto:t:cd :i.s t:tr;msmi.tted.. fur the:^:.,
20 the first to seventh embodiments describe only examples.
For example, the operation is recorded while reproducing
the operation by combining the embodiments of the present
invention. Further, as information which may be included
in the operation log or the document structure associated
25 with the operation log, all information which may be
recorded on the web browser may be included. Further, even
though the description is made under the assumption that
each of all the devices is one, the device may be plural or
a plurality of devices may be combined by a smaller number
5 of devices.
Industrial Applicability
[01081
The present invention is efficient as a processing
10 technology that records, stores, and reproduces the
operation of the web application.
lieference Sign List
101091
15 I01 Client device
102, 125, 1.46, 183, 1702 Input and output ~1n.j.t
1.03, 123, 143, 184, 1703 Processor
104, 124, 144, 1704 Local. dj.slr
106, 1.22, 142, 3.82, 1.'706 Netwo~:lc interface
20 107, 126, 147, 185, 1707 Memory
108 Web browser program
109 Script engine program
121 Web server device
127 Web server program
25 128 Function i.nsertion program
Identifier transmission program
Log connection server device
Log storage area
Log connection server program
Operation playback program
Network
External playback device
Display program
External device
Document structure providing program
Claims
[Claim 1]
An operation reproduction method of a web application
5 in a system configured by a web server, a web browser, a
log connection server that stores an operation log on the
web page, and a networlc that couples the web server, the
web browser, and the log connection server to each other,
the method comprising:
I. 0 by the web server, inserting an operation log
acquisition function that operates on the web browser and a
difference detection function that detects and stores
change of a document structure of the web page i.nto the web
page and transmitting the functions when the generated web
15 page is transmitted. to the web browser,
by the web browser, performing the received
di-fference detection function inserted into the web page,
to store the document structure of the web page as a first
document st ruc:ture,
2 0 performing the operation log acquisition functi-on to
generate and stores the operation log on the web page, and
performing the difference detection function to
compare the document structure of the web page with the
first document structure and if there is a difference,
25 storing the di-fference so as to be associated with the
operation log, and
by the log connection server, reproducing the
operation using the stored operation log and the difference
which is stored to be associated.
5
[Claim 2]
The operation reproduction method according to claim
1, wherein if there is a difference, the difference
detection function stores the document structure having the
lo difference so as to be associated with the operation log.
[Claim 3]
'The operation reproduction method according to cl.aim
2, wherein the dj-fference detection function uses the
15 di-fference from the fj.rst document structure as the
document structure whi.ch i.s stored so as to he associated
with the operation log.
[Claim 4]
2 0 'The operation reproduction method according to claim
2, wherein if a content to be operated among contents that
form the document structure is different from a content
stored in the first document structure, the difference
detection function stores the difference of the contents so
2s as to he associated with the operation log.
[Claim 5]
The operation reproduction method according to claim
4, wherein when the web browser transmits the difference of
5 the content which is stored so as to be associated with the
operation log to the log connection server, only a
difference of a content which is finally stored among the
differences for the contents is transmitted.
lo [Claim 6]
The operation reproduction method according to claim
1, wherein when the document structure having a difference
is stored so as to be associated with. tl7.e operation. log, if
the operation of the stored operation log is reproduced and
1s displayed, the log connection server represents that the
document structure has a dj.f ference.
[Claim 7]
Tlie opm-at-io n I-epi-oi-h.ictto-n. i mrhl?od accordi~ngt o clai~m
20 I, wherej.n when the document structure having a difference
is stored so as to be associated with the operation log, if
the operation of the stored operation log is reproduced,
the log connection server actually performs the operation
to perform the reproduction.
25
[Claim 8]
The operation reproduction method according to claim
7, wherein before actually performing the operation to
perform the reproduction, the log connection server checks
5 whether the operation is allowed to be actually performed.
[Claim 9]
The operation reproduction method according to claim
1, wherein as a result of the comparison by the difference
l o detection function, if there is a difference, the compared
document structure is considered as the first document
structure.
[:Claim 10]
15 The operation reproduction method accordi-ng to claim
1, wherein the document structure of the web page is
acquired from an outside of the web browser and the
acquired document structure is considered as the first
document structure.
2 0
[Claim 11]
An operation reproduction system of a web application
that reproduces an operation of a web application, the
system comprising:
25 a. web server device, a client device that executes a
web browser, a log connection server device that stores an
operation log on the web page, and a network that connects
the web server device, the client device, and the log
connection server device to each other,
5 wherein the web server device inserts an operation
log acquisition function that operates on the web browser
and a difference detection function that detects and stores
change of a document structure of the web page and
transmits the functions when the generated web page is
10 transmitted to the web browser,
the web browser of the received client device
performs the difference detection function inserted in the
web page to store the document structure of the web page as
a first document structure,
15 performs the operation log acquisition function to
generate and store the operation log on the web page,
perform the difference detection function to compare
the document structure of the web page with the first
document structure and if there i.s a difference, stores the
20 difference so as to be associated with the operation log,
and
the log connection server device reproduces the
operation using the stored operation log and the difference
which is stored to be associated.
2 5
[Claim 12]
The operation reproduction system according to claim
11, wherein as a result of the comparison by the difference
detection function, if there is a difference, the web
5 browser of the client device stores the document structure
having the difference so as to be associated with the
operation log.
[Claim 13]
10 The operation reproduction system according to claim
12, wherein the web browser of the client device uses the
difference from the first document structure as the
document structure which is stored so as to be associated
with the operation log.
15
[Claim 14]
The operation ifeprodu.cti.on system according to c1aj.m
12, wherein if a content to be operated among contents that
form the document structure is different from a content
20 stored in the first document structure, the web browser of
the clj.ent device stores the difference of the content so
as to be associated with the operation log.
[Claim 15]
2 5 The operati-on reproduction system according to claim
14, wherein when the web browser of the client device
transmits the difference of the content which is stored so
as to be associated with the operation log to the log
connection server, the web browser of the client device
5 transmits only a difference of a content which is finally
stored among the differences for the contents.
[Claim 16]
The operation reproduction system according to claim
10 11, wherein when the document structure having a difference
is stored so as to be associated with the operation log, if
the operation of the stored operation log is reproduced and
displayed, the log conrlectioil server represents that the
document structure has a difference.
15
[Cl.aim 17]
The operation reproduction system according to c1.a.j.m
11, wherein when the document structure having a difference
is stored so as to be a.ssoci.ated with the operation log, if
20 the operation of the stored operation log is reproduced,
the log connecti.on server actual1.y performs the operati-on.
to perform the reproduction.
[Claim 18]
25 The operation reproduction system according to claim
17, wherein before actually performing the operation to
perform the reproduction, the log connection server checks
whether the operation is allowed to be actually performed.
5 [Claim 19]
The operation reproduction system according to claim
11, wherein as a result of the comparison by the difference
detection function, if there is a difference, the web
browser of the client device considers the compared
LO document structure as the first document structure.
[Claim 20]
The operation reproduction system according to claim
1.1, wherein the web browser o:f the cLi.ei?t devi.ce acqui.res
I.5 the document: structure of Lhe web paye from an external
device connected to the network and considers the acquired
document structure as the first document structure.

Documents