![]() Dynamic sharing and updating of a web page
专利摘要:
23 ABSTRACT A server (450) comprising a memory (240) and a controller (210), Wherein saidcontroller (210) is configured to receive a code representation from a customer terminal, adaptsaid code representation, store said adapted code representation and forward an address foraccessing the adapted code representation to an operator terminal, thereby sharing a Web page through its code representation between a customer terminal and an operator terminal. To be published With figure 5. 公开号:SE1251359A1 申请号:SE1251359 申请日:2012-11-30 公开日:2014-05-31 发明作者:Esben Carlsen 申请人:Vergic Group Ab; IPC主号:
专利说明:
DYNAMIC SHARING AND UPDATING OF A WEB PAGE TECHNICAL FIELDThis application relates to a method, an apparatus and a computer programproduct for sharing a web page, and in particular to a method, an apparatus and a computer program product for dynamic sharing and updating of a web page. BACKGROUND In today°s society many solutions as to how companies invest heavily inestablishing an electronic business focused at providing customers with electronic commercepossibilities. Companies and institutions also invest in providing online registration. Electroniccommerce, commonly known as e-commerce, ecommerce or e-comm, refers to the buying andselling of products or services over electronic systems such as the Intemet and other computernetworks. However, due to the large number of available services users may sometimesbecome lost or confused and be in need of assistance. Such assistance may be provided by anoperator to a customer by sharing the customer”s terminal°s display view by capturing thegraphic content, that is image data corresponding to a displayed view and sending the graphiccontent to an operator. One such system is disclosed in the American patent application US200870016155. The captured graphic content is processed by image processing to determinewhat data to send to the operator which consumes processing resources. Furthermore, by onlypresenting graphic content to an operator, the operator is not able to interact with the displayedcontent, but is forced to verbally guide a customer, something which is not always easy,especially for technically inept users or when the user and the operator are not speaking in theirnative tongue. The screen sharing of US 200870016155 is thus highly inefficient as it requireslots of resources while being limited when it comes to options for the operator. It is also difficultto utilize when an operator is servicing many customers and in many other operator-customer combinations. There is thus a need to be able to share a display view in a fast and efficientmanner that is easy to understand, which allows the screen to be truly shared between a customer and an operator. SIHVIMARY It is an object of the teachings of this application to overcome at least theproblems listed above by providing a server comprising a memory and a controller, wherein saidcontroller is configured to receive a code representation from a customer terminal, adapt saidcode representation, store said adapted code representation and forward an address for accessingthe adapted code representation to an operator terminal, thereby sharing a web page through itscode representation between a customer terminal and an operator terminal. In one embodiment the code representation is a DOM (Document Object Model)tree. This allows for enabling a sharing of a web page where both the customer terminal and theoperator terminal can take advantage of the full functionality of the web page. It is an object of the teachings of this application to overcome at least theproblems listed above by providing a customer terminal comprising a memory, a display and acontroller, wherein said controller is conf1gured to connect to a web server; request and receivecode corresponding to a web page from said web server and display said web page on a display,retrieve a code representation of said web page from said memory and forward said coderepresentation to a server according to above. It is an object of the teachings of this application to overcome at least theproblems listed above by providing an operator terminal comprising a memory and a controller,wherein said controller is configured to connect to a server according to above, receive anaddress to an adapted copy of a web page, access said adapted copy of a web page through thereceived address for obtaining a shared view of the web page. This has the benefits of enabling a sharing of a web page that is easy to use, allowsthe operator to actively guide the customer and does not require resource demanding imageprocessing. A further benefit is that the manner taught herein is capable of being executed on awide range of devices and apparati. Furthermore, having the rendered view in the operator view enables an intelligent interaction with content being displayed, whereas this is not possible with a screenshot, because it would be nearly impossible (or at least requiring significant effort) todeterrnine individual components of a DOM tree in a screenshot. It is also an object of the teachings of this application to overcome the problemslisted above by providing a method for use in a server, said method comprising receiving a coderepresentation from a customer terminal, adapting said code representation, storing said adaptedcode representation and forwarding an address for accessing the adapted code representation toan operator terminal, thereby sharing a web page through its code representation between acustomer terminal and an operator terminal. It is also an object of the teachings of this application to overcome the problemslisted above by providing a method for use in a customer terminal comprising a memory, adisplay and a controller, said method comprising connecting to a web server, requesting andreceiving code corresponding to a web page from said web server and display said web page ona display, retrieving a code representation of said web page from said memory and forwardingsaid code representation to a server according to above. It is also an object of the teachings of this application to overcome the problemslisted above by providing a method for use in an operator terminal comprising a memory and acontroller, said method comprising connecting to a server according to above, receiving anaddress to an adapted copy of a web page, accessing said adapted copy of a web page throughthe received address for obtaining a shared view of the web page. It is also an object of the teachings of this application to overcome theproblems listed above by providing a computer program product or computer readable storagemedium encoded with instructions that, when executed on a processor, perforrns the methodsaccording to above. The authors of the present application have realized, after inventive andinsightfiJl reasoning, that by sharing the code representing the web page a fast and efficientsharing of the web page is achieved providing both the operator and the customer full accessto all the functionality of the web page that is to be shared. The teachings herein find use in providing assistance for online services such asonline shops, registrations, ordering services, public systems, banking systems, ticketing services, such as flight bookings, train bookings and hotel bookings, or other services. The teachings herein also find beneficial use in systems of online services allowing a multitude ofservices to be supported by one service agent or operator due to the versatility of the systemdisclosed herein. Other features and advantages of the disclosed embodiments will appearfrom the following detailed disclo sure, from the attached dependent claims as well asfrom the drawings. Generally, all terms used in the claims are to be interpreted according totheir ordinary meaning in the technical field, unless explicitly defined otherwise herein.All references to "a/an/the [element, device, component, means, step, etc]" are to beinterpreted openly as referring to at least one instance of the element, device,component, means, step, etc., unless explicitly stated otherwise. The actions of anymethod disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated. BRIEF DESCRIPTION OF DRAWINGS The invention will be described in further detail under reference to the accompanying drawings in which:Figure lA, lB, lC and lD are each a schematic view of a communication apparatus according to an embodiment of the teachings herein; Figure 2 is a schematic view of the components of a communication apparatusaccording to the teachings herein; Figure 3 is a schematic view of a computer-readable medium according to theteachings herein; Figure 4 shows general view of a system according to one embodiment of theteachings of this application; Figure 5 shows a flowchart for a method according to one embodiment of theteachings of this application; Figure 6 shows a hand-shake diagram for a screen sharing operation according to one embodiment of the teachings of this application; Figures 7A, 7B, 7C and 7D each shows a schematic view of a web page beingdisplayed and shared according to one embodiment of the teachings of this application; Figure 8 shows a hand-shake diagram for a screen sharing operation accordingto one embodiment of the teachings of this application; and Figure 9 shows a hand-shake diagram for a screen sharing operation according to one embodiment of the teachings of this application. DETAILED DESCRIPTION The disclosed embodiments will now be described more fully hereinafterwith reference to the accompanying drawings, in which certain embodiments of theinvention are shown. This invention may, however, be embodied in many differentforms and should not be construed as limited to the embodiments set forth herein;rather, these embodiments are provided by way of example so that this disclosure willbe thorough and complete, and will fully convey the scope of the invention to thoseskilled in the art. Like numbers refer to like elements throughout. In one embodiment a communication apparatus is configured for networkcommunication, either wireless or wired. In one embodiment the communication apparatus isconfigured for network communication, both wireless and wired. Examples of such acommunication apparatus are: a personal computer, desktop or laptop, an intemet tablet, amobile telephone, a smart phone, a personal digital assistant, a work station and potentially anyfuture network enabled device. The communication apparatus may be exemplified and describedas being a computer. The personal computer or terminal comprises a display and a housing. Thehousing comprises a controller or CPU and one or more computer-readable storage mediums,such as storage units and intemal memory. Examples of storage units are disk drives or harddrives. The terminal further comprises at least one data port. Data ports can be wired and/orwireless. Examples of data ports are USB (Universal Serial Bus) ports, Ethemet ports or Wi-Fi(according to IEEE standard 802.1 l) ports. Data ports are configured to enable a terminal to connect with other terrninals or a server. The terminal further comprises at least one input unit such as a keyboard. Otherexamples of input units are computer mouse, touch pads, touch screens or j oysticks to name afew. Figures IA, IB, IC and ID generally show a communication apparatus 100according to an embodiment herein. Examples of such a communication apparatus 100 are: apersonal computer, desktop or laptop, an intemet tablet, a mobile telephone, a smart phone and apersonal digital assistant. Four embodiments will be exemplified and described as being amobile telephone, such as a smartphone, in figure IA, a laptop computer in figure IB, anintemet tablet in figure IC and a desktop computer or terminal 100 in figure ID. Referring to figure IA a smartphone 100 comprises a housing 110 in which a display120 is arranged. In one embodiment the display 120 is a touch display. In other embodiments thedisplay 120 is a non-touch display. Furthermore, the smartphone 100 comprises two keys 130a,130b. In this embodiment there are two keys 130, but any number of keys is possible anddepends on the design of the smartphone 100. In one embodiment the smartphone 100 isconfigured to display and operate a virtual key 135 on the touch display 120. It should be notedthat the number of virtual keys 135 are dependant on the design of the smartphone 100 and anapplication that is executed on the smartphone 100. Referring to figure IB a computer 100, in this example a laptop computer 100,comprises a display 120 and a housing 110. The housing comprises a controller or CPU (notshown) and one or more computer-readable storage mediums (not shown), such as storage unitsand intemal memory. Examples of storage units are disk driVes or hard driVes. The laptopcomputer 100 further comprises at least one data port. Data ports can be wired and/or wireless.Examples of data ports are USB (Universal Serial Bus) ports, Ethemet ports or WiFi (accordingto IEEE standard 802.11) ports. Data ports are configured to enable the laptop computer 100 toconnect with other communication apparatuses or a server. The laptop computer 100 furthercomprises at least one input unit such as a keyboard 130. Other examples of input units arecomputer mouse, touch pads, touch screens or j oysticks to name a few. Referring to figure IC an intemet tablet 100 comprises a housing 110 in which adisplay 120 is arranged. In one embodiment the display 120 is a touch display. In otherembodiments the display 120 is a non-touch display. Furthermore, the intemet tablet 100 may comprise one or more keys 130. In this embodiment there is one key 130, but any number ofkeys is possible and depends on the design of the internet tablet 100. In one embodiment theinternet tablet 100 is configured to display and operate one or more virtual keys 135 on thetouch display 120. It should be noted that the number of virtual keys 135 are dependant on thedesign of the internet tablet 100 and an application that is executed on the internet tablet 100.Referring to figure 1D a desktop terrninal 100, in this example a desktop computer 100,comprises a display 120 and a housing 110. The housing comprises a controller or CPU (notshown) and one or more computer-readable storage mediums (not shown), such as storage unitsand intemal memory. Examples of storage units are disk drives or hard drives. The desktopcomputer 100 further comprises at least one data port. Data ports can be Wired and/or wireless.Examples of data ports are USB (Universal Serial Bus) ports, Ethemet ports or WiFi (accordingto IEEE standard 802.11) ports. Data ports are conf1gured to enable the desktop computer 100 toconnect with other communication apparatuses or a server. The desktop computer 100 furthercomprises at least one input unit such as a keyboard 130. Other examples of input units arecomputer mouse, touch pads, digital pens or j oysticks to name a few.It should be noted that a desktop computer may be used to implement a server, such as a web server. In such an embodiment the server may have a remote input unit 130 and/or aremote display 110 that is shared among other servers, or it is accessed only via its radiointerface or its wired interface. The input unit and/or a display are then the input unit and/or aremote display of the accessing terrninal. Figure 2 shows a schematic view of the general structure of a communicationapparatus according to figures 1A, lB, 1C and 1D. The communication apparatus 200 comprisesa controller 210 which is responsible for the overall operation of the communication apparatus200 and is preferably implemented by any commercially available CPU ("Central ProcessingUnit"), DSP ("Digital Signal Processor") or any other electronic programmable logic device.The controller 210 may be implemented using instructions that enable hardware functionality,for example, by using executable computer program instructions in a general-purpose or special-purpose processor that may be stored on a computer readable storage medium (disk, memoryetc) 240 to be executed by such a processor. The controller 210 is conf1gured to read instructions from the memory 240 and execute these instructions to control the operation of the communication apparatus 200. The memory 240 may be implemented using any commonlyknown technology for computer-readable memories such as ROM, RAM, SRAM, DRAM,CMOS, FLASH, DDR, EEPROM memory, flash memory, hard drive, optical storage or anycombination thereof. The communication apparatus 200 further comprises one or moreapplications 250. The applications are sets of instructions that when executed by the controller210 control the operation of the communication apparatus 200. The memory 240 is used forvarious purposes by the controller 210, one of them being for storing application data andprogram instructions 250 for various software modules in the communication apparatus 200.The software modules include a real-time operating system, drivers for a man-machine interface220, an application handler as well as various applications 250. The applications 250 can includea messaging application such as electronic mail, a browsing application, a media playerapplication, as well as various other applications 250, such as applications for voice calling,video calling, document reading and/or document editing, an instant messaging application, acalendar application, a control panel application, one or more video games, a notepadapplication, etc. The communication apparatus 200 further comprises a user interface 220, which inthe communication apparatus 100 of figure of la, lB, lC or lD, is comprised of the display 110,the keypad 130. The user interface (UI) 220 also includes one or more hardware controllers,which together with the UI drivers cooperate with the display 110, keypad 130, as well asvarious other I/O devices such as sound system, LED indicator, etc. As is commonly known, theuser may operate the communication apparatus 200 through the man-machine interface thusformed. As has been disclosed in relation to figure 1Dm, if the communication apparatus is aserver, the user interface may be remote. The communication apparatus 200 further comprises a radio frequency interface230, which is adapted to allow the communication apparatus to communicate with other devicesthrough a radio frequency band through the use of different radio frequency technologies.Examples of such technologies are WIFI, Bluetooth®, W-CDMA, GSM, UTRAN, LTE, andNMT to name a few. The communication apparatus 200 further comprises a wired interface 235, which is adapted to allow the communication apparatus to communicate with other devices through the use of different network technologies. Examples of such technologies are USB,Ethernet, and Local Area Network, TCP/IP (Transport Control Protocol/Intemet Protocol) toname a few. The controller 210 is configured to operably execute applications 250 such as theweb browsing or email application through the RF interface 230 and/or the wired interface 235using software stored in the memory 240 which software includes Various modules, protocolstacks, drivers, etc. to provide communication services (such as transport, network andconnectivity) for the RF interface 230 and the wired interface 235, and optionally a Bluetoothinterface and/or an IrDA interface for local connectivity. The RF interface 230 comprises anintemal or extemal antenna as well as appropriate radio circuitry for establishing andmaintaining a wireless link to a base station. As is well known to a person skilled in the art, theradio circuitry comprises a series of analogue and digital electronic components, togetherforming a radio receiver and transmitter. These components include, i.e., band pass filters,amplifiers, mixers, local oscillators, low pass filters, AD/DA converters, etc. Figure 3 shows a schematic view of a computer-readable medium 32 as described in theabove. The computer-readable medium 32 is in this embodiment housed in a memory stick 30,such as a Universal Serial Bus (USB) stick. The USB stick 30 comprises a housing 33 having aninterface, such as a connector 34, and a memory chip 32. In this embodiment the memory chip32 is a flash memory, that is, a non-volatile data storage that can be electrically erased and re-programmed. The memory chip 32 is programmed with instructions 3l that when loaded(possibly via the interface 44) into a controller, such as a processor, executes a method orprocedure according to the embodiments disclosed above. The USB stick is arranged to beconnected to and read by a reading device, such as a communication apparatus l00, 200according to figures l and 2, for loading the instructions into the controller (referenced 2l0 infigure 2). It should be noted that a computer-readable medium can also be other mediums suchas compact discs, digital video discs, hard drives or other memory technologies commonly used.The instructions can also be downloaded from the computer-readable medium via a wirelessinterface to be loaded into the controller.References to 'computer-readable storage medium', 'computer program product', 'tangibly embodied computer program' etc. or a 'controller', 'computer', 'processor' etc. should be understood to encompass not only computers having different architecturessuch as single /multi- processor architectures and sequential (Von Neumann)/parallelarchitectures but also specialized circuits such as field-programmable gate arrays (FPGA),application specific circuits (ASIC), signal processing devices and other devices.References to computer program, instructions, code etc. should be understood toencompass software for a programmable processor or firmware such as, for example, theprogrammable content of a hardware device whether instructions for a processor, orconfiguration settings for a fixed-function device, gate array or programmable logicdevice etc. Figure 4 shows a schematic overview of a computer network 400 according to anembodiment herein. A first communication apparatus 4l0, such as the laptop computer l00 offigure lB, is connected via the intemet 430 to a second communication apparatus 420, such asthe desktop computer l00 of figure lD. In figure 4 there are two communication apparatuses4l0 and 420, but it should be noted that any number of communication apparatuses may beconnected to the intemet and to each other. Particularly, there may be more than one firstcommunication apparatus 4l0 connected to the second communication apparatus 420. Thecomputer network further comprises at least one server 450. In figure 4 only one server 450 isshown, but it should be noted that any number of servers 450 may be implemented in acomputer network 400. Generally a server is a physical computer (a hardware system) dedicatedto running one or more services (as a host), to serve the needs of customers of the othercomputers or communication apparatuses 4l0, 420 in the network 400. Depending on thecomputing service that it offers it could be a database server, file server, mail server, printserver, web server, or other. A server may be implemented as a computer such as has beendisclosed above with reference to figures lD and 2. In one embodiment the server 450 is a server 450. Generally, a server 450 can referto either hardware (a computer) or software (a computer application) that helps to delivercontent that can be accessed through the Intemet 430. It should be noted that the server 450 may be the server providing the web service that the web page is downloaded from. However, in the examples given below, the server 450 11 will be a separate server via which the operator terminal is able to provide assistance to thecustomer terrninal. The Intemet 430 is a global system of interconnected computer networks that usethe standard Intemet protocol suite (TCP/IP - Transmission Control protocol/Intemet Protocol)to serve billions of customers worldwide. It is a network of networks that consists of millions ofprivate, public, academic, business, and govemment networks, of local to global scope, that arelinked by a broad array of electronic, wireless and optical networking technologies. The Intemetcarries a vast range of information resources and services, such as the inter-linked hypertextdocuments of the World Wide Web (WWW) and the infrastructure to support communicationapplications such as email and Voice over Intemet Protocol (VoIP) to name a few. Thecommunications infrastructure of the Intemet 430 consists of its hardware components; such asservers and communication apparatuses and a system of software layers arranged in protocolsaccording to an intemet model that control various aspects of the architecture. The mostprominent component of the Intemet model is the Intemet Protocol (IP), which providesaddressing systems (IP addresses) for computers on the Intemet. As would be apparent to askilled reader, the intemet is full of possibilities and variations of how to connect twocommunication apparatuses and the embodiments disclosed herein are for purely exemplarypurposes and should not be construed to be limiting. In one embodiment the communication apparatuses 410 and 420 are conf1gured toaccess the intemet through a web browser (referenced 250 in figure 2). The web browser isconfigured to receive code segments and execute these code segments to display and operate aweb page representing a web service. Such code segments may be HTML (Hyper Text MarkupLanguage) code or Java Applet or J avaScript® code or a combination. By using Java Applet or JavaScript code scripts in combination with HTML code aweb page may be downloaded quickly and run without having to install special software in thehosting com app. Furthermore, the use of HTML code in combination with Java Applet orJavaScript code scripts enables the webpage to be dynamic and functional, while restricting theweb page°s access to the hosting com app°s web browser, preventing access to other files andmemory content. This is particular beneficial in that many contemporary smart phones and tablets do not support all formats of scripts, such as Java Applets. The manner taught herein is 12 thus also highly flexible when it comes to which smartphones, internet tablets and other apparatithat implements the manner herein. By using a Java Applet or a JavaScript code script the operator”s terrninal isrestricted to the data available through the customer terminal”s browser application - at leastwithout fiirther authorization from the user of the customer terrninal. Therefore, no additionaltrust between the operator and the customer needs to be established. The user has alreadyindicated a trust relationship by entering the web page and either asking for or accepting help.The operator is not able to access any other file than the web page itself- without fiartherauthorization - and the assistance session can be performed under the same indicated trustrelationship without risk to the user. In one embodiment a combination of JavaScript and HTML code is used. Bylimiting the use to JavaScript and HTML code and not Java applets (or Java applications), theexecution and download of code is very fast. The manner taught herein, according to such anembodiment, is also highly compatible with different devices running different operatingsystems. In one embodiment of the network 400 of Figure 4 the network 400 comprises aclient or customer terrninal 410 (the first communication apparatus) that is connected 440a to aweb service operated and represented by the server 450. The web service is represented by aweb page that is downloaded and displayed on the customer terrninal 410. Examples of suchweb services are online registration systems, online shops, online booking systems and onlinesupport systems to name a few. The web page is specified through a combination of JavaScriptcode scripts and HTML code segments. The web browser (referenced 250 in figure 2) of thecustomer terrninal 410 is configured to be executed by the controller (referenced 210 in figure 2)of the customer terrninal 410 to request and receive the code of the web page from a web server,to parse it and to display the web page accordingly. As the web browser parses, renders and executes the code retumed from thewebserver , it generates a code representation, such as an object model, to maintain an up-to-date of the web page. The code representation or object model comprises representations or identifiers for various objects (text, images, media or such) that are to be displayed as part of the 13 webpage. In one embodiment the code representation is in the forrn of a Document ObjectModel (DOM) tree. Should a user of the customer terrninal 410 experience any diff1culties whilebrowsing the web page, the customer terminal 4l0 is enabled to provide him with a function thatallows him to contact an operator. The general manner in which the operator terminal 420 isconf1gured to assist the customer terminal 4l0 is illustrated in figure 5 which is a flowchart of ageneral method according to the teachings herein. An operator terminal 420 (the second communication apparatus) is connected 440bto the web service through the server 450. The operator terminal 420 is enabled to communicatewith the customer terminal 4l0 through the server 450 to offer support or assistance. Theoperator terminal 420 is configured to share a view of the web page representing the web servicethat is displayed on the customer terminal 4l0. The sharing of the web service is implemented ina combination of HTML code and JavaScript code scripts (as discussed above) which allows theoperator to share a view of the customer°s webpage and to make alterations to it, without havingany control over the customer°s terminal°s other aspects. The web page sharing is enabledthrough J avaScript® code script that retrieves 5 l0 the code representation of the web page andsends it 520 to the server 450. The server 450 parses the code representation to filter out allirrelevant data and also to replace all relative links with absolute links. By using absoluteaddresses, there is no need to transmit images or other data intensive content from customerterminal to the server. An adapted copy of the code representation is thus generated 530 by theserver and sent 540 to the operator terminal 420. As the operator terminal 420 receives the coderepresentation it renders and displays the resulting web page. The operator terminal is thus ableto share an exact view of the web page that is displayed on the customer terminal without havingto execute time and processing demanding image processing. The shared web page also has allthe functionality of the web page displayed on the customer terminal 4l0. By repeating the method above, the web page is effectively shared and all updateson the customer terminal 4l0 are reflected on the operator terminal 420. The customer terminal4l0 may be conf1gured to capture the code representation at certain time intervals, as an event happens or upon request from the operator terminal 420 or the server 450. 14 The manner of sharing a web page will be described in more detail withsimultaneous reference to figure 6, showing a handshake diagram of a customer terminal, aserver and an operator terminal, and figures 7A and 7C each showing a web page 70 beingdisplayed on a customer terminal and figure 7B showing a copy of the web page 70a beingdisplayed on an operator terminal. In figure 6 a customer terminal 61 opens a web page 610. Figure 7A shows anexample of such a web page 70 being displayed in a browser window on the customer terminal61, such as a communication apparatus 100 in either of figures 1A, lB, 1C or 1D. The web page70 comprises a text area 71, two form fields 73 and 74 and an image 72. The web page 70 alsocomprises a (virtual) button 75. Also displayed in the web browser window is a cursor 76. Thecursor 76 is not specific to the web browser, but to the customer terminal 61. As the user of the customer terminal 61 either requests assistance from an operatoror an operator offers assistance to the user of the customer terminal 61, a communication pathbetween the customer terminal 61 and an operator terminal 62, such as a communicationapparatus 100 in either of figures 1A, lB, 1C or 1D, is established over the intemet. This isindicated by the line joining the customer terminal 61 and the operator terminal 62 in figure 6. The operator terminal 62 sends a request 615 for a copy of the web page 70 to aserver 65 which forwards the request by sending a request 616 for a code representation of theweb page, in this embodiment a copy of the DOM tree, to the customer terminal 61. Thecustomer terminal 61 retrieves 620 the DOM tree for the presently displayed web page 70 andsends 625 the DOM tree to the server 65. In one embodiment, the DOM tree is retrieved by thecontroller executing AJAX commands. One benefit of retrieving and forwarding the DOM treeis that it is readily available, is of a small size, even for rather complicated web pages, and doesnot require resource demanding image processing. It also requires less bandwidth whentransmitted to the server 65. By enabling the retrieval of the customer terminal°s code representation (DOMtree) instead of requesting a copy of the web page from the web server hosting the web service itis ensured that the operator will see the same content as is displayed on the customer terminal61. It is common that the content of a web page is based on the identification or locality of the user requesting it. For example, if the user has an Intemet Protocol address indicating a first language, say Swedish, and the operator has an Intemet Protocol address indicating a secondlanguage (say Spanish) they may not receive the same web page. By retrieving the customerterminal°s code representation such problems are avoided and overcome. Also, this avoidsgenerating unnecessary traffic to and from the content server, thereby reducing the neededbandwidth. Furthermore, it voids generating duplicate statistics, thus reducing the requiredprocessor power and memory space. The server 65 adapts 630 the DOM tree by removing irrelevant data, such as all orat least most of the JavaScript and HTML comments and code - which ensures that the view of(or rather the DOM tree for) the customer°s display is not modified -, and by replacing relativeaddresses with absolute addresses thereby generating a copy of the web page. The server 65thereafter sends 635 a link or address to the adapted copy of the web page to the operatorterminal 62 which accesses an, downloads, renders and displays 640 the copy of the web page. Figure 7B shows a copy a web page 70a being displayed in a browserwindow on the operator terminal 62. The web page copy 70a comprises a text area 71a,two form fields 73a and 74a and an image 72a. The web page 70 also comprises a virtualbutton 75 a. The components or objects in the web page copy 70a are the same as thecomponents or objects in the web page 70 of figure 7A. In one embodiment the operatorterminal is also configured to display a copy 76a of the customer terminal°s cursor 76. As the web page is manipulated or otherwise updated the server 65 receivesa new copy of the DOM tree, adapts it and forwards a link to the operator terminal whichdisplays the copy of the web page. Through this, the web page is effectively sharedbetween the operator terminal 62 and the customer terminal 6l. The update or refresh ofthe web page copy may be initiated by the customer terminal, the operator terminal 62, atspecific time intervals or at specific events. Also displayed is a cursor 77 of the operator terminal 62. The operatormaneuvers the operator terminal cursor 77 to manipulate objects on the copy of the webpage 70a. Any action taken by the operator on the web page copy 70a is propagated to theoriginal web page 70 and the operator is thus able to manipulate the web page copy 70ajust as if he was browsing the original web page. This will be illustrated by an example of a mouse click on button 75a in the web page copy 70a on the operator terminal 82. 16 Figure 8 shows a handshake diagram illustrating the functionality of such anoperator action. The operator perforrns an action, in this example a mouse click on thevirtual button 75 a. The operator terminal receives 810 an operator action and generates anevent or an indication corresponding to the operator action. The operator action event isforwarded 815 to the server 85. In one embodiment the operator action event is forwardedas a JavaScript command embedded in the payload data of a HTTP (HyperText TransferProtocol) message. The server 85 forwards 816 the operator action event to the customerterminal 81. In one embodiment the operator action event is forwarded as a JavaScriptcommand embedded in the payload data of a HTTP (HyperText Transfer Protocol)message. The customer terminal 81 executes 820 the operator action event locally so thatthe action made by the operator is effectively executed on the customer terminal, as if theuser terminal 81 had initiated the operator action. In one embodiment the operator actionevent is executed as a HTTP (HyperText Transfer Protocol) command by the customerterminal 81. Figure 7C shows the web page 70b as the operator action, in this example amouse click, is executed. The virtual button 75 is indicated as having been pressed by thedouble-lined frame of the virtual button 75. The resulting web page 70b may initiate arefresh 830 operation as disclosed with reference to figure 6. This allows the operator to input both visual and direct guidance to the userof the customer terminal and the operator is thereby enabled to assist the customer directlyon the web page. The web page is thus effectively shared between the customer and theoperator. The user of the customer terminal is still able to access and manipulate thewebpage 70, just as before the assistance session was initiated, and any actions taken bythe user will be reflected in the web page copy 70a on the operator terminal 62. Thisallows the operator to assist in what actions are to taken by the user and that they are,indeed, correct actions. It should be noted that in embodiments where the code representation of theweb page is a DOM tree, the form values, selections of items in menus, markings of check boxes, selections of items in bullet lists and other form data may not be part of the DOM 17 tree. In such embodiments the customer terminal is configured to extract such data, forexample the form values, by using JavaScript code (that has previously been loadedthrough the Web page code) to traverse the DOM tree for relevant elements and then foreach found relevant element, extract the corresponding data. and attach them to a messagecarrying the code representation When the code representation is transmitted to the server.The server in tum adapts the Web page corresponding to the code representation andincludes the attached values and other data. The form values are thus comprised in thecode representation of the Web page along With the DOM tree. This enables the operatorterminal to access a Web page Where all form values and possibly other data is as on thedisplay of the customer terminal. Figure 9 shows a handshake diagram illustrating the functionality of such auser action and figure 7D shows the Web page 70c as the user has performed a user action910, in this example entering a value in the input field 73. In this example the user hasentered the name “John” in the input field 73. Optionally the resulting Web page 70c Withthe filled in input field 73 may be reflected on the operator terminal 92 by the customerterminal 9l initiating a refresh operation 920 as disclosed With reference to figure 6.Subsequent to entering the value in the input field 73, the user most likely posts orsubmits 930 the value of the input field 73 to the Web server hosting the original Web pageand the corresponding Web service, potentially an extemal Web server not shown in figure9. This Will most likely influence the Web page being visited, such as by automaticdownload of a different Web page, or by presenting altemative data on the Web page 70c,Which is thereby updated 940, and the resulting Web page may be reflected on the operatorterminal 92 by the customer terminal 9l initiating a refresh operation 950 as disclo sedWith reference to figure 6. It should be noted that other possible actions, both user and operator arepossible. Some examples are entering data in a field, changing the data in a field, selectinga menu item, selecting an item in a bullet list, moving the mouse, time-triggered events oran event triggered by inactivity. In one embodiment the server is configured to store the code representations for an assistance session. These stored code representations Will then represent a history 18 for the particular customer terrninal (or customer using the customer terminal) and may beretrieved later for future purposes. This provides a simple manner of preserving acomplete history of all actions taken. It should be noted that by acquiring code representations from more than onecustomer terminal, one operator terminal will be able to assist more than one customer at atime. As the web page to be shared is downloaded from the web server as any other webpage, multiple web pages can be viewed in different windows at the same time just as it ispossible to view multiple web pages in a browser. By incorporating the JavaScript code script in the code for the web page, noadditional download of computer code is necessary. This provides for a faster initiation ofan assistance session. Especially if JavaScript code is used, no pre-compilation isnecessary and the script may be executed if needed without affecting the operation of theweb browser if not needed. One benefit of the teachings herein is that an operator is enabled to update acustomer°s view without taking control of any part of the customer”s terminal. Theoperator is further able to do this or one specific and targeted customer. The customerdoes not have to take any special action at all, but simply remains logged on to the sameweb site. This is thus very simple to use and to understand. Especially if the assistancesession is initiated by an operator as it then does not require any action by the customer.Furthermore no additional code sharing is needed to effectuate the sharing according tothe teachings herein. This speeds up the assistance session and it also improves thesecurity as there is no personal identification code than can be stolen, copied or stolen.Another benefit lies in that no direct connection between the operator and the customerterminal is established. Another benefit of the teachings herein lies in that by simply sharing thecode representation of the web page being viewed the operator has no access, visible ormanipulatory to the user”s other content. For example, the operator will be unable to seeor view any other content presently being displayed on the customer°s terminal. The personal integrity of the user of the customer terminal is thereby safe guarded. 19 Another benefit of the teachings herein lies in that by simply adapting thecode representation of the web page, no further protocols need to be implemented orinstalled on the customer side. This also enables the operator to be independent of thecustomer°s operating system. All data transforrnations and transfers are already taken careof by the internet protocol. The teachings herein thus also solve the problem of how toallow the operator to share data with any customer regardless of the operating system. Amanner of sharing data, such as disclo sed herein, thus becomes easy and therebyinexpensive to install at an operator side or operator web server as only a simpletransformation between known web browsers and their corresponding DOM treestructures need be implemented. The invention has mainly been described above with reference to a fewembodiments. However, as is readily appreciated by a person skilled in the art, otherembodiments than the ones disclosed above are equally possible within the scope of the invention, as defined by the appended patent claims.
权利要求:
Claims (16) [1] 1. A server (450) comprising a memory (240) and a controller (210), whereinsaid controller (210) is configured to receive a code representation from a customer terminal, adapt said code representation, store said adapted code representation and forward an address for accessing the adapted code representation to an operatorterminal, thereby sharing a web page through its code representation between a customer terminal and an operator terminal. [2] 2. The server (450) according to claim 1, wherein said controller (210) is furtherconfigured to receive an operator action event and cause said customer terminal to execute said operator action on said customer terminal. [3] 3. The server (450) according to claim 1 or 2, wherein the code representation is retrieved by executing AJAX commands. [4] 4. The server (450) according to any of claims 1 to 3, wherein said code representation comprises a DOM tree. [5] 5. A method for use in a server (450), said method comprising receiving a code representation from a customer terminal, adapting said code representation, storing said adapted code representation and forwarding an address for accessing the adapted code representation to an operator terminal, thereby sharing a web page through its code representation between a customer terminal and an operator terminal. [6] 6. A customer terminal (410) comprising a memory (240), a display (110) and acontroller (210), wherein said controller (210) is configured to: connect to a web server; 21 request and receive code corresponding to a web page from said web server anddisplay said web page on a display (110);retrieve a code representation of said web page from said memory and forward said code representation to a server (450) according to any of claims 1 to 4. [7] 7. The customer terminal (410) according to claim 6, wherein said codecorresponding to a web page includes a code segment for retrieving and forwarding the webpage code representation. [8] 8. The customer terminal (410) according to claim 7 wherein said code segment is downloaded automatically along with the web page code. [9] 9. The customer terminal (410) according to claim 7 or 8, wherein said codesegment for retrieving and forwarding the webpage code representation is a JavaScript code script. [10] 10. The customer terminal (410) according to any of claims 7 to 9, wherein saidcode segment for retrieving and forwarding the webpage code representation is a HTML code SCQUCIICC. [11] 11. The customer terminal (410) according to any of claims 7 or 8, wherein saidcode segment for retrieving and forwarding the webpage code representation is a combination of JavaScript code script and HTML code. [12] 12. A method for use in a customer terminal (410) comprising a memory (240),a display (110) and a controller (210), said method comprising: connecting to a web server; requesting and receiving code corresponding to a web page from said web serverand display said web page on a display (110); retrieving a code representation of said web page from said memory and forwarding said code representation to a server (450) according to any of claims 1 to 4. 22 [13] 13. An operator terminal (420) comprising a memory (240) and a controller(210), Wherein said controller (210) is configured to: connect to a server (450) according to any of claims 1 to 4; receive an address to an adapted copy of a Web page; access said adapted copy of a Web page through the received address for obtaining a shared view of the Web page. [14] 14. The operator terminal (420) according to claim 13, Wherein the controller isfurther configured toreceive an operator action andsend an indication of said operator action to said server for execution on a customer terminal. [15] 15. A method for use in an operator terminal (420) comprising a memory (240)and a controller (210), said method comprising: connecting to a server (450) according to any of claims 1 to 4; receiving an address to an adapted copy of a Web page; accessing said adapted copy of a Web page through the received address for obtaining a shared view of the Web page. [16] 16. A computer readable storage medium encoded With instructions that, When executed on a processor, perform the method according to claim 6, 13 or 15.
类似技术:
公开号 | 公开日 | 专利标题 US11232250B2|2022-01-25|Enhanced links in curation and collaboration applications US9992285B2|2018-06-05|Techniques to manage state information for a web service US20200133617A1|2020-04-30|Interface display method and apparatus US11172042B2|2021-11-09|Platform-independent application publishing to a front-end interface by encapsulating published content in a web container US8886819B1|2014-11-11|Cross-domain communication in domain-restricted communication environments CN103268319A|2013-08-28|Cloud browser based on webpages US10574771B2|2020-02-25|Methods and systems for rewriting scripts to redirect web requests JP2015535376A|2015-12-10|Web page with on-board hardware functions US20140157104A1|2014-06-05|Dynamic sharing and updating of a web page EP2813051B1|2017-09-27|Dynamic sharing of a webservice US8631236B2|2014-01-14|Auto file locker US9778968B1|2017-10-03|Programatic implementations generated from an API call log US20160269446A1|2016-09-15|Template representation of security resources US9177071B2|2015-11-03|Dynamically loadable contact center bookmarks in co-browsing environments WO2015154666A1|2015-10-15|Method for displaying webpage fragment on desktop and system for capturing webpage fragment to desktop for display US9813524B2|2017-11-07|Dynamic sharing and updating of an electronic form SE1251359A1|2014-05-31|Dynamic sharing and updating of a web page WO2014084771A1|2014-06-05|Dynamic sharing and updating of a web page US20220060558A1|2022-02-24|Systems and Methods for Platform-Independent Application Publishing to a Front-End Interface US10635508B1|2020-04-28|Programmatic implementations generated by recording user actions via an ephemeral user account CN112468829A|2021-03-09|Sharing method of cache video, electronic device and computer readable storage medium CN113542335A|2021-10-22|Information sharing method and device, electronic equipment and storage medium CN112312222A|2021-02-02|Video sending method and device and electronic equipment US20170272537A1|2017-09-21|System and method of request processing in a distributed data processing network CN111177618A|2020-05-19|Website building method, device, equipment and computer readable storage medium
同族专利:
公开号 | 公开日 SE537686C2|2015-09-29|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 SE1251359A|SE537686C2|2012-11-30|2012-11-30|Dynamic sharing and updating of a web page|SE1251359A| SE537686C2|2012-11-30|2012-11-30|Dynamic sharing and updating of a web page| PCT/SE2013/051240| WO2014084771A1|2012-11-30|2013-10-24|Dynamic sharing and updating of a web page| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|