A SYSTEM AND METHOD FOR CONTENT ANALYSIS AND MINIMIZATION

Abstract: A method and a system (10) for reducing the amount of bandwidth, and hence the amount of time, required to download Web pages (20), while still maintaining the ability of the user (12) to view all components of the Web page (20). The components of the Web page (20) are selectively minimized, for example by reducing the size of graphical image components, by only displaying animation and/or video stream data as static images. The Web page (20) is preferably automatically parsed and selected components minimized. The minimized Web page (20) may then be stored, for example by the owner of the Web page (20), until requested by the user (12). Alternatively, the Web page (20) may be minimized automatically and dynamically, "on the fly", for example by an ISP, Internet Service Provider (18). Thus, the user (12) is able to view the entire Web page (20) through the Web browser (14), while still enjoying improved performance through reduced down loading time an bandwidth requirement.

Description: A SYSTEM AND METHOD FOR CONTENT ANALYSIS AND MINIMIZATION FIELD AND BACKGROUND OF THE INVENTION The present invention relates to a system and method for content analysis and minimization, and in particular, for a system and method for minimizing specific types of content, such as graphical images and animation, thereby decreasing the amount of data which must be downloaded. The World Wide Web is one example of a mechanism for providing data through the Internet, in this case Web pages. Web pages are documents written in a mark-up language, such as HTML (HyperText Mark-up Language), XML (Extended Mark-up Language) or VRML (Virtual Reality Modeling Language) for example. Web pages are displayed as a single unit through a Web browser, which is a software program specially adapted for displaying such mark-up language documents. In reality, however, Web pages are combinations of several different types of data, stored in different file formats. For example, graphical images are typically stored as JPEG or GIF format files. These different types of data are then combined by the Web browser for display as a single unit. Unfortunately, a single Web page may contain a large amount of data, and therefore may require significant bandwidth to download from a Web server on the Internet. The amount of data is typically related to the amount of graphical image data and/or animation or streaming video data which is associated with the Web page. For example, if a Web page contains many graphical images, the amount of associated data may be significantly increased than for Web pages which are "text-only". Similarly, animation and/or streaming video data also require a significant amount of bandwidth, particularly if such data is presented as "moving" or animated images, rather than in a static, non-moving display. For users with a low bandwidth connection to the Internet, such a large amount of data may be extremely frustrating to download, as it may require a significant amount of time. Indeed, slow downloading of Web pages may even cause the user to simply stop the process of downloading, such that the user does not even see the Web page display by the Web browser. One alternative is simply to present only the text of a Web page, without presenting any graphical images or other graphical data. Certain Web sites provide this option by allowing the user to "click" or otherwise select an icon to download a "text-only" version of the Web page. However, such an option may also prevent images such as advertising data from being displayed. Furthermore, without graphical image data, Web pages may not hold the attention of the user, as they are less interesting and exciting to examine. Thus, clearly this solution is deficient. A better solution would enable the user to view the graphical images, and/or the animation or video stream data, while still providing a more rapid format for downloading the Web page data. This solution would preferably minimize the size of certain components of the Web page, such as graphical images, and/or animation or streaming video data. Such a solution would preferably also not require client-side software, such that the user would not need to install an applet or other software for operation with the Web browser. Furthermore, such a solution would also preferably automatically parse and minimize the content of Web pages, such that the minimized Web pages could be produced substantially without manual intervention. There is thus a need for, and it would be useful to have, a system and a method for selectably reducing the amount of bandwidth required to download Web pages, thereby increasing the speed for downloading such Web pages, while still maintaining the ability of the user to view all of the components of the Web pages, without any special software installed at the client (user) computer. BRIEF DESCRIPTION OF THE DRAWINGS The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, wherein: FIG. 1 is a schematic block diagram of an overall system according to the present invention; and FIG. 2 is a flowchart of a method according to the present invention. SUMMARY OF THE INVENTION The present invention is of a method and a system for reducing the amount of bandwidth, and hence the amount of time, required to download Web pages, while still maintaining the ability of the user to view all components of the Web page. The components of the Web page are selectively minimized, for example by reducing the size of graphical image components, by only displaying animation and/or video stream data as static images, and so forth. The Web page is preferably automatically parsed and selected components are then minimized. The minimized Web page may then be stored, for example by the owner of the Web page, until requested by the user. Alternatively, the Web page may be minimized automatically and dynamically, "on the fly", for example by an ISP (Internet Service Provider). Thus, the user is able to view the entire Web page through the Web browser, while still enjoying improved performance through reduced downloading time and bandwidth requirements. (a) According to the present invention, there is provided a method for minimizing a collection of data components for serving the collection through a network, each data component featuring a data component size and a data component type, the method comprising the steps of: (a) determining at least one data component type for minimizing an associated data component to form a minimized type; (b) analyzing the collection of data components to identify a type of each data component; (c) if the type is the minimized type, minimizing the associated data component to form a minimized data component; (d) requesting the collection of data objects through the network; and (e) serving at least the minimized data component through the network. Preferably the network is the Internet. More preferably, the collection of data components is a Web page, such that each data component corresponds to a Web page component. (a)According to another embodiment of the present invention, there is provided a system for minimizing a Web page to form a minimized Web page for more rapid Web page data transfer, the Web page featuring a plurality of components, the system comprising: (a) a Web browser for displaying the minimized Web page; (b) a Web server for serving the Web page; and (c) a minimization module for minimizing the Web page to form the minimized Web page, such that at least one specific component of the Web page is selected and minimized by the minimization module. Hereinafter, the term "Web browser" refers to any software program which can display text, graphics, video, sound or other multimedia information, other information, or a combination thereof, from Web pages on World Wide Web sites, or any other Ul (user interface). The Web browser is preferably able to operate a program written in the Java or JavaScript programming languages. The term "Web browser" also includes any software application which extracts any amount of data in one or more types of media from HTML (hypertext mark-up language) and/or other World Wide Web-based information, including text, images, audio (streaming or downloaded), video (streaming or downloaded), 3D environments (VRML (virtual reality modeling language), MetaStream™ or others), or any other type of media content present on or through the World Wide Web or the Internet, as well as future extensions and modifications to these technologies. Hereinafter, the term "Web page" refers to any document written in a mark-up language including, but not limited to, HTML (hypertext mark-up language) or VRML (virtual reality modeling language), dynamic HTML, XML (extended mark-up language) or related computer languages thereof, or to technologies such as Flash™ technology or that provided by Shockwave™, or any other interactive technology providing duplex two-way information streaming between the GUI of the user and a central system engine, as well as to any collection of such documents reachable through one specific Internet address or at one specific World Wide Web site, or any document obtainable through a particular URL (Uniform Resource Locator). Hereinafter, the term "Web site" refers to at least one Web page, and preferably a plurality of Web pages, virtually connected to form a coherent group. Hereinafter, the term "Web server" refers to a computer or other electronic device which is capable of serving at least one Web page for display by a Web browser. Hereinafter, the term "applet" refers to a self-contained software module written in an applet language such as Java or constructed as an ActiveX™ control. Hereinafter, the term "computer" indicates any type of electronic device which is capable of performing computations, including, but not limited to, personal computers (PC) having an operating system such as DOS, Windows™, OS/2™ or Linux; Macintosh™ computers; computers having JAVA™-OS or BeOS™ as the operating system; thin client computers; and graphical workstations such as the computers of Sun Microsystems™ and Silicon Graphics™, and other computers having some version of the UNIX operating system such as ATX™ or SOLARIS™ of Sun Microsystems™; a PalmPilot™, a PilotPC™, or any other handheld device, portable device for data processing such as a PDA (personal data assistant), or embedded system or device; or any other known and available operating system and computational device. Hereinafter, the term "Windows™" includes but is not limited to Windows95™, Windows 3.x™ in which "x" is an integer such as "1", Windows NT™, Windows98™, Windows CE™ and any upgraded versions of these operating systems by Microsoft Corp. (USA). Hereinafter, the phrase "display a Web page" includes all actions necessary to render at least a portion of the information on the Web page available to the computer user. As such, the phrase includes, but is not limited to, the static visual display of static graphical information, the audible production of audio information, the animated visual display of animation and the visual display of video stream data. Hereinafter, the term "downloading" refers to the process of receiving data by a client computer from a server computer. For example, a Web page is "downloaded" by a user computer by receiving the Web page data from the Web server. Hereinafter, the terms "computer user" and "user" both refer to the person who operates the Web browser or other GUI interface and navigates through the system of the present invention by operating a computer. The method of the present invention could also be described as a plurality of instructions being performed by a data processor, such that the method of the present invention could be implemented as hardware, software, firmware or a combination thereof. For the present invention, a software application could be written in substantially any suitable programming language, which could easily be selected by one of ordinary skill in the art. The programming language chosen should be compatible with the computer according to which the software application is executed. Examples of suitable programming languages include, but are not limited to, C, C++ and Java. DETAILED DESCRIPTION OF THE INVENTION The present invention is of a method and a system for reducing the amount of bandwidth, and hence the amount of time, required to download Web pages, while still maintaining the ability of the user to view all components of the Web page. The components of the Web page are selectively minimized, for example by reducing the size of graphical image components, by only displaying animation and/or video stream data as static images, and so forth. The Web page is preferably automatically parsed and selected components minimized. The minimized Web page may then be stored, for example by the owner of the Web page, until requested by the user. Alternatively, the Web page may be minimized automatically and dynamically, "on the fly", for example by an ISP (Internet Service Provider). Thus, the user is able to view the entire Web page through the Web browser, while still enjoying improved performance through reduced downloading time and bandwidth requirements. Preferably, the user is able to indicate a preference for the minimized Web page or for the "full" Web page (without minimized components), for example by "clicking" or otherwise selecting an icon on the Web page. Such an icon is preferably the first, or one of the first, components of the Web page which is served to the user computer, thereby enabling the user to immediately select the minimized version if desired. More preferably, the user is able to indicate such a preference without the installation of additional software, such as an applet, on the user computer. Most preferably, the user is able to request the display of the full (non-minimized) Web page at any time. Various components of the Web page may optionally be minimized. For example, minimizing graphical images is relatively simple, as the images only need to be reduced in size for a significant reduction in the total amount of data for each image. Alternatively or additionally, the image file format may be converted to a different file format, which may result in the reduction in the amount of image data, for example when converting from a non-lossy image file format to a lossy format. For animations and/or video stream data, the moving images may be replaced with a single static, still frame, as the elimination of motion also results in a significant reduction in the total amount of data for each animation and/or video stream component. Substantially any type of dynamic object with motion attributes may be minimized by such a conversion to a static, still frame. With regard to both moving and still graphic images, alternative or additional types of minimization include, but are not limited to, changing the color depth of images, changing the resolution of images and dithering. Other types of content minimization include, but are not limited to, eliminating redundant portions of visual data, removing the background of a Web page, reorganizing the location of information, changing the bit representation of text, images, animation, video files, and other types of objects. According to preferred embodiments of the present invention, the Web page, including associated Java applets, scripts and other associated software objects, is parsed for the automatic conversion to the minimized version. Dynamically selectable objects, such as Java applets, are preferably only minimized when the Web page components are minimized dynamically or "on the fly". With regard to the associated software objects, preferably the process of minimization at least includes the step of minimizing components, such as graphical images, which are associated with the software object. More preferably, the process of minimization also includes the step of altering the software object itself, for example by reducing the activities performed by the software object, or even by preventing the operation of the software object. The advantage of the present invention is that selected, specific types of Web page components are minimized, in order to permit more efficient downloading of the entire Web page. Graphical Web page components tend to be particularly large. Since graphical image Web page components typically compose about eighty percent of the overall size of the Web page data, minimizing these components by a factor of fifty percent would result in an overall minimization of forty percent, for example. Thus, the minimization of the Web page components by a particular order of magnitude would typically result in a minimization of the size of the Web page by a similar order of magnitude. The principles and operation of a system and a method according to the present invention may be better understood with reference to the drawings and the accompanying description, it being understood that these drawings are given for illustrative purposes only and are not meant to be limiting. Furthermore, although the following description centers upon the selective minimization of components of Web pages, it is understood that this is for the purposes of example only and is not intended to be limiting in any way, as the present invention is suitable for the selective minimization of substantially any content provided through a network such as the Internet, for example, as long as such content can be described as a collection of data components. Referring now to the drawings, Figure 1 is a schematic block diagram of an overall system according to the present invention. A system 10 features a user computer 12 which operates a Web browser 14. User computer 12 is connected to a network 16, which is preferably the Internet. Such a connection could be provided in substantially any manner which is well known in the art, and which could be easily selected by one of ordinary skill in the art. For example, user computer 12 could be connected to network 16 through a modem connected to the telephony system, which in turn would be connected to an ISP (Internet Service Provider) 18. ISP 18 would then provide the connection to network 16, assuming that network 16 is the Internet. Other examples of such a connection to network 16 could easily be determined by one of ordinary skill in the art. User computer 12 receives Web page data from a Web server 20, which is also connected to network 16. Although only one such Web server 20 is shown, it is understood that this is for the purposes of example only and is not intended to be limiting in any way. For example, components of a single Web page could be served by a plurality of Web servers (not shown). In this illustration, Web server 20 serves the components for the Web page, such that the Web page data is then transmitted to user computer 12 through network 16. Depending upon the bandwidth of network 16 and/or the connection of user computer 12 to network 16, such Web page data may require a considerable amount of time to download to user computer 12 in a non-minimized format. Therefore, according to the present invention, preferably selected Web page components are minimized, for example by a software module and/or hardware device which may optionally be associated with either Web server 20 or ISP 18. Collectively, such a software module and/or hardware device may optionally be described as a "minimization module". More preferably, these selected Web page components are of a file type and/or format which are typically large in size and hence in the bandwidth requirement for downloading. For example, preferably graphical elements are minimized. The type of minimization performed for each graphical element depends upon the type and file format of each element. Preferably, the user is able to request the minimized Web page, for more rapid transmission to user computer 12, for example by "clicking" or otherwise selecting an icon displayed by Web browser 14 as part of the Web page to be downloaded. More preferably, such an icon is the first, or among the first, components of the Web page which are displayed by Web browser 14, such that the user is immediately given the option to receive the minimized Web page for more efficient and rapid reception of the Web page data. The specific process of minimizing the Web page involves the analysis of the Web page to select one or more specific components for minimization, such that each type of component is preferably minimized according to a suitable process. The minimization of graphical images is relatively simple, as the images only need to be reduced in size for a significant reduction in the total amount of data for each image. Alternatively or additionally, the image file format for such a graphical image may be converted to a different file format, which may result in the reduction in the amount of image data, for example when converting from a non-lossy image file format to a lossy format. For animations and/or video stream data, the moving images may be replaced with a single static, still frame, as the elimination of motion also results in a significant reduction in the total amount of data for each animation and/or video stream component. Substantially any type of dynamic object with motion attributes may be minimized by such a conversion to a static, still frame. With regard to both moving and still graphic images, alternative or additional types of minimization include, but are not limited to, changing the color depth of images, changing the resolution of images and dithering. Other types of content may also be minimized, for example by eliminating the background of a Web page, and filtering and minimizing software objects such as applets, Java scripts and so forth. Preferably the process of minimization at least includes the step of minimizing components, such as graphical images, which are associated with the software object. More preferably, the process of minimization also includes the step of altering the software object itself, for example by reducing the activities performed by the software object, or even by preventing the operation of the software object. Other types of minimization processes for both graphical elements and software objects are described in greater detail below with regard to Figure 2. According to preferred embodiments of the present invention, the Web page is minimized either statically or dynamically. Static minimization is performed before the Web page is requested by the user, such that the Web page is stored at Web server 20 and is then provided to the user upon request. Dynamic minimization is performed "on the fly", only when the user transmits the request through Web browser 14. The latter type of minimization is preferably performed by ISP 18, such that the full Web page is received from Web server 20 by ISP 18, which then prepares and serves the minimized Web page to user computer 12 for display by Web browser 14. Both types of methods for minimization are described in greater detail below with regard to Figure 2. Figure 2 includes two flowcharts of two exemplary methods for minimizing Web pages. Optionally and preferably, either method is performed automatically, substantially without manual intervention. Figure 2A is a flowchart of an illustrative method for static minimization of Web pages, such that the Web page components are preferably minimized and then stored before the user requests the Web page. Figure 2B is a flowchart of an illustrative method for dynamic minimization of Web pages, such that the Web page components are preferably minimized "on the fly", upon receipt of a request from the user. Both illustrative methods include the steps of analyzing the Web page data in order to select specific Web page components for minimization, and then minimizing each such component according to an appropriate process for the type of Web page data. Turning now to Figure 2A, in step 1, a location for storing the minimized Web page is determined. In step 2, the Web page to be minimized is analyzed, in order to determine the specific components which compose the Web page. In step 3, selected components are minimized according to the type of data of each component. For example, the process for minimizing graphical images is relatively simple, as the images only need to be reduced in size for a significant reduction in the total amount of data for each image. Alternatively or additionally, the image file format may be converted to a different file format, which may result in the reduction in the amount of image data, for example when converting from a non-lossy image file format to a lossy format. With regard to the process for minimizing animations and/or video stream data, the moving images may be replaced with a single static, still frame, as the elimination of motion also results in a significant reduction in the total amount of data for each animation and/or video stream component. Substantially any type of dynamic object with motion attributes may be minimized by such a conversion to a static, still frame. With regard to both moving and still graphic images, alternative or additional types of minimization include, but are not limited to, changing the color depth of images, changing the resolution of images and dithering. Other types of content minimization include, but are not limited to, eliminating redundant portions of visual data, removing the background of a Web page, reorganizing the location of information, changing the representation of text and creating built-in video/audio files to selectable objects. In step 4, the presence of any dynamically loaded software objects is determined. Such software objects may be optionally served "on the fly", for example from a different Web server than the server which provides the remainder of the Web page. These dynamically loaded components are preferably detected through Microsoft™ ASP; scripting languages such as CGI (Common Gateway Interface), Dynamic HTML (DHTML), Java applets, Java scripts, ActiveX™ objects (Microsoft Corp., USA); or any other form of dynamic Web pages. If such a software object is located, then in step 5, the software object is minimized. This step preferably includes at least the step of minimizing components, such as graphical images, which are associated with the software object. For example, if the dynamic software object provides animation, then preferably the animation is converted to a still, static image. More preferably, the process of minimization also includes the step of altering the software object itself, for example by reducing the activities performed by the software object, or even by preventing the operation of the software object. In step 6, preferably an icon or other indicator is added to the minimized Web page, such that the user is optionally able to request the full (non-minimized) Web page. In step 7, the minimized Web page is stored at the selected storage location. In step 8, preferably each link, or URL, of the minimized Web page is examined in order to locate each Web page to which such a reference is made within the minimized Web page. Steps 2-7 are then repeated for each such Web page. Optionally, step 8 is also repeated at least once, in order to follow a secondary layer of links to other Web pages. Therefore, a minimized representation of the entire Web site is preferably stored at the selected storage location. In step 9, the user selects the minimized version of the Web page, and optionally of the entire Web site, for example by "clicking" or otherwise selecting an icon. Such an icon would be linked to the storage location of the minimized Web page and/or Web site. In step 10, the data of the minimized Web page is transmitted to the user computer, such that the Web page is downloaded in a more efficient and rapid manner. In step 1 1, the minimized Web page is displayed to the user through the Web browser of the user computer. Optionally, in step 12, steps 9-11 are repeated for one or more additional pages of the Web site. In step 13, optionally and preferably, each full (non-minimized) Web page is periodically re-examined in order to determine if any modifications have been made to the full Web page. If such modifications have been made, then preferably in step 14, the process of minimization is repeated for the full Web page in order to form an updated minimized Web page. Figure 2B shows a flowchart of an illustrative method for dynamic minimization of a Web page. This illustrative method is described with regard to operation at an ISP, it being understood that this is for the purposes of example only and is not intended to be limited in any way. For example, this method could also be implemented with an ISP for a microbrowser operated by a cellular telephone. In step 1, a specialized server is installed at an ISP. This server resides at an access point to the Internet, or POP (Point of Presence). Preferably, all network traffic through the ISP also passes through this specialized server. Alternatively, only network traffic for a particular set of subscribers passes through this specialized server. Thus, the process of installation also requires the modification of the network configuration, for example by changing the routers of the ISP. In step 2, the user requests the minimized version of a particular Web page by selecting a particular GUI (graphical user interface) gadget. This gadget is locally connected to the ISP, such that only the ISP receives the request for a minimized Web page. The HTTP "GET" command itself is used to request the Web page. The "GET" command of the user is passed to the appropriate Web server without alteration in step 3. In step 4, the specialized server receives the Web page from the Web server. In step 5, the steps of analysis and minimization are performed substantially as previously described in Figure 2A. However, rather than storing the minimized Web page, the minimized Web page components are transmitted to the user computer for display by the Web browser in step 6. In step 7, as previously described above, preferably the user is able to request the full (non-minimized) Web page through the special GUI gadget. Again, the request is transmitted only locally to the specialized server of the ISP, which then acts to retrieve and serve the full Web page. It will be appreciated that the above descriptions are intended only to serve as examples, and that many other embodiments are possible within the spirit and the scope of the present invention.

Claims: WHAT IS CLAIMED IS: 1. A method for minimizing a collection of data components for transferring the collection through a network, each data component featuring a data component size and a data component type, the method comprising the steps of: (a) analyzing the collection of data components to identify a type of each data component; (b) requesting the collection of data objects through the network; (c) if said type is a minimizable type, minimizing said associated data component to form a minimized data component; and (d) transferring said minimized data component to another party. 2. The method of claim 1, wherein the network is the Internet. 3. The method of claim 1, wherein the collection of data objects is a Web page, each data object corresponding to a Web page component. 4. The method of claim 1 , wherein said minimized type is a graphical image. 5. The method of claim 1, wherein said minimized type is animated data. 6. The method of claim 1 , wherein said minimized type is video stream data. 7. The method of claim 1, wherein said minimized type is a dynamic software object. 8. The method of claim 7, wherein step (c) at least comprises the step of minimizing any associated graphical image data of said dynamic software object. 9. The method of claim 8, wherein step (c) further comprises the step of altering a software code of said dynamic software object. 10. The method of claim 3, wherein steps (c) and (d) are performed for said Web page substantially before step (b) is performed, such that a minimized Web page is stored. 11. The method of claim 10, wherein steps (c) and (d) are repeated for at least one link embedded in said Web page. 12. The method of claim 11 , wherein said Web page is a primary Web page of a Web site, such that steps (c) and (d) are repeated for every link in said primary Web page. 13. The method of claim 3, wherein steps (c) and (d) are performed for said Web page after step (b) is performed. 14. The method of claim 13, wherein said Web page is received by an ISP (Internet Service Provider), such that steps (c) and (d) are performed by said ISP. 15. A system for minimizing a Web page to form a minimized Web page for more rapid Web page data transfer, the Web page featuring a plurality of components, the system comprising: (a) a Web browser for displaying the minimized Web page; (b) a Web server for serving the Web page; and (c) a minimization module for minimizing the Web page to form the minimized Web page, such that at least one specific component of the Web page is selected and minimized by said minimization module. 16. The system of claim 15, wherein said minimization module is a software module installed at said Web server. 17. The system of claim 15, further comprising: (d) an ISP (Internet Service Provider) for connecting said Web browser and said Web server; and wherein said minimization module is a combined software and hardware device installed at said ISP.

Inventors: REINSCHMIDT MENACHEM, REINSCHMIDT, MENACHEM
Applicants: REINSCHMIDT MENACHEM, SPEEDWISE LTD, REINSCHMIDT, MENACHEM, SPEEDWISE LTD.
Application year: 2000
Main classification: G06F
IPC codes: G06F12, G06F13, G06F17, H04N7