Abstract:
A method for generating Bursting-messages on the window of a user&#39;s Web-terminal while browsing a Web-site. Indication related to the connection of the user to the Web-site is provided. Data that is required for generating a Burst-message on the Web-terminal is sent to the Web-terminal of the identified user and a Burst-message is generated on the Web-terminal using the data. Interaction means are provided to the user in the Burst-message, for the interaction of the user with the Burst-message and/or with the Web-site. The Burst-message may be generated by dynamically writing an HTML layer and/or JavaScript and/or VBScript.

Description:
FIELD OF THE INVENTION  
         [0001]    The present invention relates to the field of generating messages over the Internet. Moreover, the present invention is related to a method and system for generating bursting-messages on the user&#39;s Web-terminal.  
         BACKGROUND OF THE INVENTION  
         [0002]    The Internet space today is crowded with sites offering a wealth of information for Web-surfers. Each site presents its contents and merchandise using Web pages that make up the site. The site-marketing manager employs various methods and techniques in order to attract users to the site and to offer users an entertaining and effective experience while browsing the site pages.  
           [0003]    Among the most known marketing techniques used by Web-sites are advertisements, membership clubs, special deals, coupon offerings and so forth.  
           [0004]    A whole new industry evolved around online advertising and the interaction of a Web-site with its users. One-to-one marketing tools are solutions widely used by sites to achieve effective communication between the site and the user. These rely upon data accumulated on each individual user to deliver targeted marketing campaigns, tailored to the user&#39;s personal habits. E-commerce sites, for example, have recognized that one-to-one marketing solutions are essential for customer retention and for increasing the site&#39;s revenues. The best-known one-to-one solutions are targeted e-mail, used to communicate with consumers off-site, and personalized HTML solutions, rearranging the Web-page content to present the customer with individually selected offers, when the user is on-site.  
           [0005]    In order to better understand the description below, the following terms are explained and defined:  
           [0006]    Burst-message is a message that is prompted to a user while browsing a Web-site.  
           [0007]    E-commerce (electronic commerce or EC) is the buying and selling of goods and services on the Internet, especially the World Wide Web.  
           [0008]    Cache is a memory used to store something more or less temporarily. For example, Web pages are stored in browser&#39;s cache directory on the hard disk. This way, when returning to a page recently browsed, the browser can get it from the cache rather than the original server, which results in saving time and additional traffic on the network.  
           [0009]    HTML (Hypertext Markup Language) is the set of “markup” symbols or codes inserted in a file intended for display on a World Wide Web browser. The markup tells the Web browser how to display a Web page&#39;s words and images for the user. The individual markup codes are referred to as elements (but many people also refer to them as tags).  
           [0010]    DHTML (Dynamic HTML) is a collective term for a combination of new HTML tags and options, style sheets, and programming that enables to create Web pages more animated and more responsive to user interaction than previous versions of HTML. Dynamic HTML can allow Web documents to look and act like desktop applications or multimedia productions.  
           [0011]    Java is a programming language expressly designed for use in the distributed environment of the Internet. Java can be used to create complete applications that may run on a single computer or be distributed among servers and clients in a network. It can also be used to build small application modules or applets for use as part of a Web page. Applets make it possible for a Web page user to interact with the page.  
           [0012]    Java applet is a small Java program that can be sent along with a Web page to a user. Java applets can perform interactive animations, immediate calculations, or other simple tasks without having to send a user request back to the server.  
           [0013]    JavaScript is an interpreted programming or script language from Netscape. It is somewhat similar in capability to Microsoft&#39;s Visual Basic, Sun&#39;s Tcl, the UNIX-derived Perl, and IBM&#39;s REXX. In general, script languages are easier and faster to code in than the more structured and compiled languages such as C and C++. Script languages generally take longer to process than compiled languages, but are very useful for shorter programs.  
           [0014]    VB-Script is an interpreted script language from Microsoft that is a subset of its Visual Basic programming language. VB-Script can be compared to other script languages designed for the Web, including Perl, TCL, JavaScript.  
           [0015]    It is an object of the present invention to provide a method and system for generating bursting-messages on the window presented to a user browsing a Web-site, such that said messages attributes can be varied externally to said Web-site.  
           [0016]    It is another object of the present invention to provide a method and system for generating a Bursting-message on the window presented to a user browsing a Web-site, such that said message is created as a layer of the current HTML page displayed on said displayed window.  
           [0017]    It is a further object of the present invention to provide a method and system for generating a bursting-message on the window presented to a user browsing a Web-site, such that said message is not a part of the Web-pages downloaded from said Web-site.  
           [0018]    It is a still further object of the present invention to provide a method and system for generating a Bursting-message on the window presented to a user browsing a Web-site, such that said message comprises multimedia presentation.  
           [0019]    It is a still further object of the present invention to provide a method and system for generating a Bursting-message on the window presented to a user browsing a Web-site, such that said message is an interactive hypertext entity.  
           [0020]    It is a still further object of the present invention to provide a method and system for generating a Bursting-message on the window presented to a user browsing a Web-site, without using additional display software.  
           [0021]    It is a still further object of the present invention to provide a method and system for generating a Bursting-message on the window presented to a user browsing a Web-site, such that the generation of said message has a minor influence on the performance of the display of said Web-site;  
           [0022]    It is a still further object of the present invention to provide a method and system for generating a Bursting-message on the window presented to a user browsing a Web-site, which are suitable for any Operating-System, and/or browsing device.  
           [0023]    Other objects and advantages of the invention will become apparent as the description proceeds.  
         SUMMARY OF THE INVENTION  
         [0024]    In one aspect, the present invention is directed to a method for generating Bursting-messages on the window of a user&#39;s Web-terminal while browsing a Web-site, comprising the steps of:  
           [0025]    a) Providing indication related to the connection of the user to the Web-site;  
           [0026]    b) Sending data required for generating a Burst-message on the Web-terminal to the Web-terminal of the identified user;  
           [0027]    c) Generating a Burst-message on the Web-terminal using the data.  
           [0028]    The method may further comprise providing to the user, interaction means in the Burst-message, for the interaction of the user with the Burst-message and/or with the Web-site.  
           [0029]    Optionally, the Burst-message is generated by dynamically writing an HTML layer and/or JavaScript and or VBScript.  
           [0030]    Optionally, the data required for generating a Burst-message is sent to the Web-terminal in the time periods when potentially no other data is downloaded into the Web-terminal from the Web-site.  
           [0031]    The method may further comprise storing the sent data in the Web-terminal prior to the display of the Burst-message.  
           [0032]    Optionally, the Burst-message provides link(s) to one or more Web-site(s).  
           [0033]    Optionally, the indication is provided by executing a software component embedded in Web-page(s) of the Web-site, browsed by the user.  
           [0034]    Optionally, the identification is carried out by using the IP address of the user.  
           [0035]    Optionally, the data required for generating a Burst-message is a software component(s) and/or multimedia data and/or textual data.  
           [0036]    Optionally, the Burst-message is generated on the Web-terminal by executing the software component(s) and/or displaying one or more components of the multimedia data.  
           [0037]    Optionally, the Web-terminal is a computer.  
           [0038]    Optionally, the Web-terminal is a set-top box.  
           [0039]    Optionally, the Web-terminal is a device able to execute a DHTML page.  
           [0040]    Optionally, the Burst-message is interactive or passive.  
           [0041]    Optionally, the Burst-message is terminated as a result of a predefined event.  
           [0042]    Optionally, the Burst-message is terminated as a result of an input from the user.  
           [0043]    Optionally, the Burst-message comprises entertainment components.  
           [0044]    Optionally, the Burst-message comprises advertising components.  
           [0045]    Optionally, the Burst-message comprises chat components.  
           [0046]    In another aspect, invention is directed to a system for generating Bursting-messages, comprising:  
           [0047]    A Web-terminal for displaying Burst-messages;  
           [0048]    A Web-server for storing files and software components required for the operation of the Web-site, for indicating the presence of a user browsing the Web-site and for identifying the user by its IP address;  
           [0049]    A Burst-server for storing the Burst-messages data and executional files needed for the generation of the Burst-messages.  
           [0050]    Optionally, the Web-terminal is a computer.  
           [0051]    Optionally, the Web-terminal is a set-top box.  
           [0052]    Optionally, the Web-terminal is a device able to execute DHTML pages. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0053]    The above and other characteristics and advantages of the invention will be better understood through the following illustrative and non-limitative detailed description of preferred embodiments thereof, with reference to the appended drawings, wherein:  
         [0054]    [0054]FIG. 1 schematically illustrates a system and a method for producing Bursting-messages, according to a preferred embodiment of the invention; and  
         [0055]    [0055]FIG. 2 schematically illustrates the software components of a system for producing Bursting-messages, according to a preferred embodiment of the invention. 
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0056]    Sending and displaying a Bursting-message on the user&#39;s browser is carried out in the following steps:  
         [0057]    A software component is downloaded along with the HTML page. The software component can be downloaded in a separate HTML frame, or by said HTML page. According to a preferred embodiment of the invention, the separated HTML frame is a hidden frame, so that this process is transparent to the user;  
         [0058]    At an appropriate moment for executing the Bursting-message, the component downloads the content of the Bursting-message (such as multimedia files) into the cache of the browser. This is performed in parallel with the current activity of the browser, particularly during the time periods when no download is required, so that the content download has minimal impact on actual performance of the Web-pages being executed;  
         [0059]    After downloading the content into the browser&#39;s cache, the component creates a layer or fills in an existing layer on the HTML page that is currently presented to the user. The newly generated layer contains both content and script;  
         [0060]    The component activates said script or manipulates the newly written layer. In any event, the layer is activated to form the Bursting-message that may move according to the script written inside the layer; and  
         [0061]    The termination of the message may be invoked either by said script or by the component that initiated the Bursting-message.  
         [0062]    [0062]FIG. 1 schematically illustrates a system for producing Bursting-messages, according to a preferred embodiment of the invention. The system comprises the following components:  
         [0063]    A Web-server  10 , for storing the files of the Web-site and for executing the programs that interact with the users when surfing on the Web-site associated with server  10 ;  
         [0064]    A Burst-server  20 , for storing the Burst-messages data and executional files needed for the generation of the Burst-messages;  
         [0065]    A Web-terminal  30 , by which the user interacts with Web-sites.  
         [0066]    The method comprises the following steps:  
         [0067]    In step  1 , a user connected through Web-terminal  30 , executes a Web-browser program and gets in touch with Web-site  10 . The Web-terminal  30  may be a personal computer, a Web-TV, and so forth;  
         [0068]    In step  2 , Web-server  10  sends the HTML page to a Web-terminal  30  with a tag that includes the Bursting components that are downloaded in step  3  from the Burst-server  20  to Web-terminal  30 .  
         [0069]    In step  3 , Burst-server  20  sends a Burst-message to Web-terminal  30 .  
         [0070]    Of course, Burst-server  20  and Web-server  10  may be physically the same server. The separation was due to clarification purposes, such that the separation category is the functionality of the servers.  
         [0071]    [0071]FIG. 2 schematically illustrates the software components of a system for producing Bursting-messages, according to a preferred embodiment of the invention.  
         [0072]    Bursting-Applet  32   
         [0073]    In order to achieve maximum platform independence, a Java applet handles the launch of the Bursting-message. The Bursting-applet does the following:  
         [0074]    Provides an accessible API to the HTML code on the Web-site&#39;s pages (API—Application Program Interface—defines how programmers utilize a particular computer feature);  
         [0075]    Automatic user data gathering;  
         [0076]    Communication with the “Bursting-control server”;  
         [0077]    Execution of server-initiated Bursting-messages;  
         [0078]    Execution of applet-initiated Bursting-messages; and  
         [0079]    Execution of content-download in the background.  
         [0080]    Applet Frame  31   
         [0081]    The applet frame is an HTML frame that includes three main parts:  
         [0082]    1. A “Bursting-applet”  32 , which may be downloaded from the “Bursting-control server”;  
         [0083]    2. JavaScript functions  33 , which are used both to communicate with the Bursting-applet  32  and to play “Bursting-messages”; and  
         [0084]    3. A caching applet  34 , which is used to download “Bursting-message” content in the background, into the browser cache prior to playing the “Bursting-message”.  
         [0085]    The description is related to the Java family of Web-programming tools. However, those skilled in the art will appreciate that the invention may be implemented also by using other Web-programming tools, such as VB-Script, etc.  
         [0086]    In the HTML (HyperText Markup Language) the use of frames allows authors to present documents in multiple views. For example, within the same window, one frame might display a static banner, a second frame might display a navigation menu, and a third frame the main document that can be scrolled down or replaced by navigating in the second frame.  
         [0087]    Caching Applet  34   
         [0088]    According to a preferred embodiment of the invention, the generation of the Bursting-message is carried out by using a Java appiet. The caching applet  34  is used to download “Bursting-message” content (i.e. images, audio files, video files, animation files and so forth) in the background, into the browser cache prior to playing the “Bursting-message”.  
         [0089]    Web-Page  35  (Visible Frame)  
         [0090]    The Web-site frame  35  is the actual Web-site page, which is visible to the user while browsing the Web-site.  
         [0091]    Bursting-Control Server  21   
         [0092]    The Bursting-control server  21  may issue commands to the Bursting-applet  32  that will trigger Bursting-messages.  
         [0093]    Message Server  22   
         [0094]    The message-server  22  is a server that stores the message content files (i.e. images, sound). Those skilled in the art will appreciate that a message content file may reside in several message-servers.  
         [0095]    The message server  22  is not necessarily a stand-alone server. Rather, it can be part of any other server.  
         [0096]    User Interaction Server  23   
         [0097]    The user interaction server  23  is used to log user interaction with the “Bursting-message” and redirect the user who clicked on the “Bursting-message” to the appropriate destination.  
         [0098]    Enabling Bursting-in a Web-Site  
         [0099]    In order to enable Bursting-messages in a Web-site, the site has to add the “Applet frame” as a hidden frame into the Web-site pages  36  or add the three parts of the “Applet frame” directly into the Web-site pages in case the Web-site does not use frames.  
         [0100]    The Web-site developer can also interact with the “Bursting-applet”  32  through a set of API that allows to pause/restart the Bursting-message activity and to send relevant information to the “Bursting-applet”  32 .  
         [0101]    Displaying a Bursting-Message  
         [0102]    The “Overlaying Bursting-message” is a Bursting-message that appears on top of the current page that the user is browsing. It is executed in the browser window. Actually, it is a layer that is dynamically written on the Web page displayed in the user machine.  
         [0103]    Working in the browser environment, the Bursting-message utilizes both the caching capabilities of the browser in order to download content in the background and the Dynamic HTML capabilities to dynamically write and manipulate a layer appearing in the browser window.  
         [0104]    There are four stages in an overlaying Bursting-message life cycle:  
         [0105]    In the first stage, the multimedia files needed to play the Bursting-message are downloaded from the Message-server  22  to the user&#39;s machine  30 . This is carried out in the background with the intention of exploiting idle communication time as much as possible for downloading the content.  
         [0106]    In the second stage, the “Bursting-applet”  32  dynamically writes a transparent layer into the “Web-site frame”  35 . This layer contains both the Bursting-message content and a set of JavaScript functions that will display the message to the user and execute the “Bursting-message” scenario (i.e. move the layer in a specified scenario, activate the audio in a specified order, and so forth).  
         [0107]    In the third stage, the actual execution of the “Bursting-message” is carried out. In this stage, the layer from the previous stage is made visible to the user and the script functions that were dynamically written are activated to perform the “Bursting-message” scenario.  
         [0108]    In the fourth stage, the “Bursting-message” comes to its end. The “Bursting-message” will be terminated in case of a predefined period of time that has passed since the message display started, or due to closing the message or the associated Web-page by the user.  
         [0109]    Below, is one of the ways to implement the process described above:  
         [0110]    Downloading Content in the Background  
         [0111]    The initiation of a “Bursting-message” will include a JavaScript command for initializing the content downloading or displaying of the message. The command string will contain a name of a display script function (which is located on the same frame as the applet), and the parameters for the download and the display.  
         [0112]    The applet will use the Live Connect JSObject in order to call JavaScript to execute the command. (LiveConnect is a Netscape product, which enables communication between JavaScript and Java applets in a page. It also enables communication between JavaScript and plug-in.)  
         [0113]    If background download should be initiated, a URL for downloading the content should appear in one of the parameters. The initiating script function will call the caching applet with the appropriate URL for downloading the content and store a new state. (A URL—Uniform Resource Locator—is the address of a file accessible on the Internet. The resource can be an HTML page, an image file, a program such as a CGI application or Java applet, or any other file supported by HTTP.)  
         [0114]    The applet will download the HTML code from the provided URL and dynamically write it into a special tag in the Applet frame.  
         [0115]    The code will cause the content to be downloaded to the user&#39;s cache in the background.  
         [0116]    The content download may be terminated at any point of time by calling another script function. The function will call the Caching applet to stop downloading the content. Later on, we can reinitiate the process, and the content, which already exist in the cache, will be detected automatically.  
         [0117]    Once the download is over, the script function will be notified by a callback from the Caching applet.  
         [0118]    Prepare for Playing the “Bursting-Message” 
         [0119]    After the content download is complete, the state will be modified, and another script function will be called to dynamically write a new transparent layer into the visible Web-site HTML frame;  
         [0120]    The new written layer will contain both HTML tags of the Bursting-message content (which is already in the browser cache) and JavaScript functions that control the scenario of the Bursting-message.  
         [0121]    Note that the content of the Bursting-message may be collected from various servers as well as the JavaScript functions that may come from a different server. This allows coupling of different Bursting-scenarios (JavaScript) to different Bursting-templates (HTML content).  
         [0122]    Playing a Message  
         [0123]    The new written layer JavaScript function is called to start the “Bursting-message” scenario.  
         [0124]    Terminating the Display of a Message  
         [0125]    The initiating script function will set the new state and initiate an interval for checking the state of the message.  
         [0126]    In most cases, the message will terminate itself, and the script code on the applet&#39;s frame may identify the termination.  
         [0127]    After a predefined time-out, the script function may cause the displayed message to disappear.  
         [0128]    Once the display is over, the state on the frame will be updated and the applet will be notified.  
         [0129]    Playing Bursting-Message on an Installed Software Package  
         [0130]    Bursting-messages may also be played through existing software packages installed on the user machine. For example, a Bursting-message may be an HTML page. The “Bursting-applet” will launch a new browser window with the appropriate parameters to display the requested HTML page. Another example is the “Real player” which can be invoked by the “Bursting-applet” to play a video clip as a Bursting-message.  
         [0131]    The “Bursting-applet” will be able to use the same technique of launching a software package with the appropriate parameters in order to play various types of multimedia Bursting-messages.  
         [0132]    As described in the previous section, according to the software package, the “Bursting-applet” will also be able to download the content in the background prior to playing the “Bursting-message”.  
         [0133]    Interaction with Bursting-Message  
         [0134]    The user may click the Bursting-message in order to go to the URL that the Bursting-message directs him/her to.  
         [0135]    When the user clicks the Bursting-message, a URL request to the “User interaction server” is invoked with a parameter stating the actual destination URL of the message. The “User interaction server” logs the interaction and redirects the request to the actual destination.  
         [0136]    Of course, the redirection may be carried out without the intermediation of the “User interaction server”, but directly to the URL.  
         [0137]    The Bursting-messages may be implemented in a variety of fields. For example:  
         [0138]    Online advertising—Displaying advertisements over the Web;  
         [0139]    Entertaining—playing computer games over the Web;  
         [0140]    E-mail—notification of new E-mail messages while browsing a Web-site;  
         [0141]    E-commerce—such as offering a deal to the user;  
         [0142]    Chat—a user may send a message to another user, while both users browse the same Web page.  
         [0143]    The above examples and description have, of course, been provided only for the purpose of illustration, and are not intended to limit the invention in any way. As will be appreciated by the skilled person, the invention can be carried out in a great variety of ways, employing more than one technique from those described above, all without exceeding the scope of the invention.