CN101785005A - Apparatus, system, and method for cooperation between a browser and a server to package small objects in one or more archives - Google Patents

Apparatus, system, and method for cooperation between a browser and a server to package small objects in one or more archives Download PDF

Info

Publication number
CN101785005A
CN101785005A CN200880104106A CN200880104106A CN101785005A CN 101785005 A CN101785005 A CN 101785005A CN 200880104106 A CN200880104106 A CN 200880104106A CN 200880104106 A CN200880104106 A CN 200880104106A CN 101785005 A CN101785005 A CN 101785005A
Authority
CN
China
Prior art keywords
file
webpage
files
browser
web server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN200880104106A
Other languages
Chinese (zh)
Inventor
程龙
凯瑟琳·迪普
兰东俊
陆晟
路易斯·奥斯蒂迪克
王庆波
叶萌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/847,287 external-priority patent/US7937478B2/en
Priority claimed from US11/847,299 external-priority patent/US20090063622A1/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101785005A publication Critical patent/CN101785005A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

An apparatus, system, and method are disclosed for reducing the loading time of a web page. In one embodiment, the apparatus, system, and method comprise requesting a web page from a web server, wherein requesting a web page from a web server comprises sending a browser parameter comprising an indicator to the web server, the indicator indicating that a browser is capable of receiving an archive. The present invention may further comprise receiving one or more archives from the web server, the one or more archives each comprising a plurality of archivable objects referenced by the web page, and rendering the web page using the plurality of archivable objects from the one or more archives.

Description

Cooperation is to be encapsulated into small object device, the system and method in one or more files between browser and server
Technical field
The present invention relates to webpage, and more specifically, relate to and improving the load time that is used for webpage.
Background technology
The Internet has been revealed as the acquiescence platform that is used for commercial and individual application and development.The Internet demands of applications of setting up the availability that increases has day by day been enlarged the employing of multimedia technology, so that present better user experience.The result is that generic web page comprises a large amount of image resources usually, can carry out script and type definition.The file size of each of these resources is little, usually less than 1K.When these little resource deployments were on Web (WWW) server, they typically had high expense requirement, cause the relative high requirement to the network bandwidth and server workload.
The network overhead of resource requires to comprise protocol header, http header, TCP header and IP header.For single HTTP request or response, therefore average http header, in a request is mutual, exists greater than 600 to 700 byte http headers greater than 300 bytes.As mentioned above, the size of the object in many webpages is very little, and therefore the cost of unnecessary http header is appreciable.Object is more little, and expense is bigger than more.Because the header that causes the expense of each request to require is the essential part of the current structure of the Internet,, what reduces them so almost can not doing.
Except the delay that expense causes, when the browser access webpage, browser sends the request to each object in the webpage, and waits for the response of each object.This has produced and has postponed another " two-way time ", and it is compound with the overhead delay that is caused by header etc.When webpage is made of many little objects, for stand-by period of object be accumulation and further postpone to load.
Summary of the invention
According to the discussion of front, obviously exist the device of the load time that is used to reduce webpage, the demand of system and method.Advantageously, this device, system and method preferably relate to browser and the web server of cooperative action with the load time of minimizing webpage.
In response to the present situation of this area, and particularly,, developed the present invention in response to the problems of the prior art and the needs that are not also solved fully by current available webpage transmission technology.Therefore, the present invention seeks to provide a kind of device, system and method that is used to reduce the load time of webpage, and it has overcome the many or whole of the above-mentioned shortcoming in this area.
System of the present invention has been proposed to reduce the load time of webpage.This system can pass through web browser, web server and archive device and embody.Particularly, in one embodiment, this system comprises the web browser, is configured to: from web server requests webpage; Receive one or more files, these one or more files are included in one or more objects that file of quoting in the webpage; And use filed object to present webpage from these one or more files.The web server can be configured to: from the request of browser reception to webpage; And transmit one or more files, wherein each of these one or more files is included in a plurality of objects that file of quoting in the webpage.Archive device can be configured to: for can the file selection of object of one or more file optimizations of webpage; And generate one or more files from the optimized choice of the object that can file.
Browser in the system can also be configured to send and comprise the browser parameters that is configured to receive the designator of one or more files about browser.In another embodiment, browser sends and to comprise about browser and be configured to receive browser parameters for the designator of the available connection of the maximum number of browser.
In some embodiment of system, archive device also is configured to by determining to be used for to transmit the optimum number of the connection of one or more files, determines the file response parameter with the ability compatibility of browser.In a further embodiment, archive device generates the file that transmits the equal number of the optimum number that is connected of one or more files with being used to of determining.In another embodiment, archive device is determined response parameter with the ability compatibility of browser by following steps: send the file response parameter to browser, the response parameter of wherein filing comprises the designator that is configured to generate one or more files about archive device and is connected for the available of web server; And the maximum number that is identified for transmitting the connection of one or more files.
In an embodiment of system, browser also be configured to by transmission from the web server before the tabulation of the pre-cache object that exists in mutual, the browser cache, send browser parameters to the web server, this pre-cache object and Webpage correlation.In another embodiment, archive device is determined file response parameter with the ability compatibility of browser by following steps: with the filed object comparison of quoting in the tabulation of the pre-cache object that exists in the browser cache and the webpage; Determine the filed object that in the tabulation of pre-cache object, lacks; And be chosen in the filed object that lacks in the browser cache for one or more files.
A kind of computer program that comprises computer-readable medium is provided, and this computer-readable medium has the computer usable program code that programming is used to reduce the load time of webpage.In one embodiment, this computer program comprises the instruction that is used for following operation, described operation comprises: receive browser parameters, wherein this browser parameters comprises the designator that is configured to receive one or more files about browser and is connected for the available of browser.This computer program also can comprise the instruction that is used for following operation: be identified for transmitting the number of the connection of one or more files, and for can the file selection of object of one or more file optimizations of webpage.
In certain embodiments, this computer program comprises the instruction of the file that is used to generate the number that equates with the number that is connected that is used to transmit one or more files, and these one or more files comprise the selection of the optimization of available objects.In another embodiment, this computer program also comprises the operation that is used to transmit one or more files, and wherein each of these one or more files is included in a plurality of objects that file of quoting in the webpage.In one embodiment, can the file selection of object of optimization also comprises the filed object of selecting to be used for to be included in one or more files that will be generated by archive device, and the content of file comprises according to object priority to be distinguished and from one or more objects that file of webpage.
In an embodiment of computer program, can the file selection of object of optimization also comprises the DOM Document Object Model of the structure of scanning indication webpage (document object model, DOM) tree is with the object of determining to quote in webpage.In another embodiment, can the file selection of object of optimization also comprises according to one or more prioritization standards and distributes priority for the object that can file.This prioritization standard can comprise the number of the derivation object of the object in the dom tree.This prioritization standard can comprise the document object person in charge (document object master, DOM) stratum level of the object in the tree.
In an embodiment of computer program, the filed object of selecting to be used for to be included in one or more files comprises: less than the determining of threshold size, select to be used to the filed object that comprises in response to the size of object.In another embodiment, the filed object that selection is used for being included in one or more files comprises: in response to from the web server before lack determining of the object that can file in the tabulation of filed object of the pre-high-speed cache that exists in mutual, the browser cache, select the object that is used to comprise.
In an embodiment of computer program, generate a plurality of files and also comprise:, make higher priority can file object than can the file starting point of the more close file of object of lower priority according to the filed object in the one or more files of priority classification.Generating a plurality of files can comprise: according to the filed object of priority classification selection, establishment is used for the thesaurus (bin) of each file, and less than target sizes, be increased to each thesaurus according to the classified order object that can file in response to total size of the object in the thesaurus.In one embodiment, generate a plurality of files and also comprise the one or more files of compression.
The method that is used to dispose computing architecture of the present invention has also been proposed, comprise computer-readable code is integrated in the computing system, wherein the code that combines with computing system can be from web server requests webpage, wherein comprise that from web server requests webpage the browser parameters that will comprise designator sends to the web server, this designator indication browser can receive file.In one embodiment, the code that combines with computer system can also receive one or more files from the web server, and each of these one or more files comprises a plurality of objects that file of being quoted by webpage.In another embodiment, the code that combines with computer system can use a plurality of objects that file from these one or more files to present webpage.
In another embodiment, the code that combines with computer system can receive the file response parameter from the web server, and this file response parameter comprises the indication that can transmit file about the web server.In one embodiment, can also determine can be used for the number that is connected that browser is used for receiving webpage with the code of computer system combination.In another embodiment, the code that combines with computer system can send the browser parameters that comprises concatenating indicator, and the indication of this concatenating indicator can be used for the number of connection that browser is used for receiving the each several part of webpage.
This method also can comprise according to from the file response parameter of web server with can be used for being connected of linking number foundation that browser uses and web server.In another embodiment, this method comprise transmission from the web server before mutual, the tabulation that remains on the filed object in the high-speed cache by browser.This method also can comprise extracts the object that can file from one or more files.
In certain embodiments, presenting webpage also comprises and can file object storage in high-speed cache.In another embodiment, presenting webpage also comprises and will be presented on the display device from the filed object that files.In a further embodiment, present the file that webpage also comprises the compression that decompresses.
The method of the load time that is used to reduce webpage also is provided.Method among the disclosed embodiment comprises substantially carries out the top necessary step of function that presents about the operation of described device and system.In one embodiment, this method comprises and determines to can be used for the number that browser is used for receiving the connection of webpage.This method also can comprise from web server requests webpage.Requested webpage can comprise the transmission browser parameters, and it comprises that the indication browser can receive the designator of file and indicate the designator of the number that is connected can be used for being used for receiving by browser the each several part of webpage.
In one embodiment, this method comprises that from web server reception file response parameter, this file response parameter comprises that indication web server can transmit the designator of file.This method also can comprise according to setting up with browser parameters from the file response parameter of web server and being connected with the one or more of web server.In one embodiment, this method comprises from the web server and receives one or more files that each of these one or more files comprises a plurality of objects that file that are associated with webpage.This method can also comprise that use presents webpage from a plurality of objects that file of one or more files.
A kind of computer program that comprises computer-readable medium also is provided, and this computer-readable medium has the computer usable program code that programming is used to reduce the load time of webpage.In one embodiment, the operation of this computer program comprises: the number of definite file that will generate; And the filed object of selecting to be used for to be included in one or more files that will generate by archive device, the selected object that files comprises according to object priority to be distinguished and one or more objects that file of being associated with webpage, and wherein determines to select the object that can file in response to what the object that can file had the size that is lower than threshold value.In one embodiment, this computer program comprises the operation that is used for optimizing for one or more files of webpage the selected object that files.This computer program also can comprise the operation that is used to generate with the file of the number equal number of the file of determining, this file comprises the optimized choice of the object that can file.
Run through this instructions to feature, advantage quote or similar language throughout does not hint that all feature and advantage that can utilize the present invention to realize should be in any single embodiment of the present invention or in any single embodiment of the present invention.But the language of referenced characteristics and advantage is appreciated that to meaning that special characteristic, advantage or the characteristic described in conjunction with the embodiments comprise at least one embodiment of the present invention.Therefore, run through this instructions, the discussion of feature and advantage and similar language throughout can but needn't refer to identical embodiment.
In addition, feature of the present invention, advantage and the characteristic of description can make up in any appropriate manner in one or more embodiments.Those skilled in the technology concerned will recognize, can put into practice the present invention under the situation of one or more special characteristics that do not have specific embodiment or advantage.In other example, can recognize the extra feature and advantage that in all embodiment of the present invention, not present in certain embodiments.
These feature and advantage of the present invention will become more abundant obvious from following description and claim, perhaps can be by learning as the practice of the present invention that after this proposes.
Description of drawings
Now will be only by the mode of example, embodiment of the invention will be described with reference to drawings, in the accompanying drawing:
Fig. 1 is a diagram according to the schematic block diagrams of an embodiment of the system of the download time that is used to improve webpage of the present invention;
Fig. 2 is the schematic block diagrams of diagram according to an embodiment of archive device of the present invention (archiver);
Fig. 3 is the schematic block diagrams of diagram according to an embodiment of selection module of the present invention;
Fig. 4 is the schematic block diagrams of diagram according to an embodiment of the filed object of DOM Document Object Model of the present invention (DOM) tree and ordering;
Fig. 5 is the schematic block diagrams of diagram according to an embodiment of file maker module of the present invention;
Fig. 6 is the schematic block diagrams of diagram according to an embodiment of (archive enabled) browser of permission file of the present invention;
Fig. 7 is the schematic block diagrams of diagram according to an embodiment of web server of the present invention;
Fig. 8 is a diagram according to the indicative flowchart of an embodiment of the method for the download time that is used to improve webpage of the present invention;
Fig. 9 is a diagram according to the indicative flowchart of an embodiment of the method for the download time of the webpage that is used for improving the web browser of the present invention; And
Figure 10 is a diagram according to the indicative flowchart of an embodiment of the method for the download time of the webpage that is used for improving the web server of the present invention.
Embodiment
Many functional units of describing in this instructions have been labeled as module, so that more specifically emphasize their realization independence.For example, module can be implemented as hardware circuit, and it comprises customization VLSI circuit or gate array, non-customized (off-the-shelf) semiconductor, as logic chip, transistor or other discrete assembly.Module can also realize with the programmable hardware device as field programmable gate array, programmable logic array, programmable logic device etc.
Module can also realize with software, and this software is used for by carrying out with various types of processors of multi-form memory communication.For example, the identification module of executable code can comprise the one or more physics or the logical block of computer instruction, and it for example can be organized as object, processing or function.Yet executable identification module does not need to be physically located in together, but can comprise the foreign peoples's who is stored in diverse location instruction, and this instruction comprises module and realizes the described purpose of module when logically combining.
In fact, the module of executable code can be a perhaps multiple instruction of single instruction, and even can be distributed on some different code sections, in the middle of distinct program and cross over some memory devices.Similarly, can in module, discern and illustrate, and can and be organized in the data structure of any suitable type with any appropriate format embodiment in this service data.Service data can be gathered for the individual data group maybe can be distributed on the diverse location and (is included on the different storage device), and can be at least in part on system or the network electric signal and exist.
Run through this instructions to " embodiment ", " embodiment " quote or similar language throughout means that special characteristic, structure or the characteristic described about embodiment comprise at least one embodiment of the present invention.Therefore, run through this instructions, the appearance of phrase " in one embodiment ", " in an embodiment " and similar language throughout can still needn't all refer to identical embodiment.
Can adopt and to generate signal, make signal to generate quoting of signal bearing medium or make any form that the program of machine readable instructions is carried out on digital processing unit.Signal bearing medium can embody by transmission line, compact disk, digital video disc, tape, Bernoulli drive, disk, card punch, flash memory, integrated circuit or other digital processing unit memory devices.
In addition, feature of the present invention, structure or the characteristic of description can make up in any appropriate manner in one or more embodiments.In the following description, numerous specific details are provided, as the example, software module, user's selection, web transactions, data base querying, database structure, hardware module, hardware circuit, hardware chip etc. of programming, so that the thorough of the embodiment of the invention to be provided.Yet various equivalent modifications will be recognized, can put into practice the present invention under the situation of neither one or a plurality of specific detail, or utilize other method, assembly, material etc. to put into practice the present invention.In other example, do not specifically illustrate or describe known structure, material or operation with the each side of the present invention of avoiding confusion.
Fig. 1 has described to be used to improve the embodiment of system 100 of the download time of webpage.System 100 can comprise the web main frame 102 with web server application 104, archive device 106 and data storage 108.System 100 can also comprise network 110 and web client 112, the browser 118 that this web client 112 has CPU (central processing unit) (CPU) 114, storer 116 and allows to file.File that system's 100 usefulness are associated with webpage generates by the readable webpage of the browser that allows to file 118, to be used for improved download time.
In one embodiment, web main frame 102 comprises and is used to provide the hardware and software component of webpage to web client 112.Web main frame 102 can comprise web server application 104, archive device 106 and data storage 108.Web main frame 102 can be visited on network 110.
In one embodiment, web main frame 102 comprises web server application 104.The web server is used 104 and is comprised the software that is configured to transmit webpage on network.The web server is used 104 and be can be configured to the webpage that transmits the standard (as the HTML(Hypertext Markup Language) file) that meets acceptance.Other example of the standard of compatible webpage comprises extensible HyperText Markup Language (XHTML), hypertext pretreater (PHP), w3c (W3C) etc.The example that the web server is used comprises Apache http server, Microsoft Internet information server
Figure GPA00001032963700072
IBM
Figure GPA00001032963700073
Http server etc.
In one embodiment, the web server is used 104 and can also be configured to transmit the file that is associated with webpage.In one embodiment, these files comprise and present the required object of webpage.Below this document He after a while, file is described in more detail about archive device 106.
In one embodiment, archive device 106 is generated as improved download time and the webpage optimized.The object that archive device 106 can be quoted from webpage generates one or more files.Each of this file is made up of a plurality of objects of quoting in webpage.Term as used herein " file " mean with classification or not mode classification be encapsulated in the single file selection with a plurality of data objects that are used for single transmission.When file sent to web client 112, it can comprise single header.On the contrary, separately transmit each object and relate to the header that separates that is used for each object.Because each of one or more files comprises a plurality of objects, and substitute the header of each object that is used for filing, can utilize single transmission of preamble to file, so reduced total size of the header that requires.In another embodiment, file can comprise a plurality of headers that are used for each object, but simplifies these headers to reduce total header size.
Then, the web server uses 104 can transmit single file, to substitute each of the independent object quoted in webpage.Each object in because file only require simple header or even no longer require independent header, and stand-by period of separating that is not associated with each independent object is so reduced whole download time for webpage.
In one embodiment, the webpage that is generated by archive device 106 can present by the browser 118 that allows to file.The browser 118 that permission is filed can receive the file that is associated with webpage and use from the object of file decapsulation and present webpage.The webpage that generates can be the specific format that requirement allows the browser 118 of file to present.For example, the webpage of generation can comprise html file and one or more file that is associated.The browser 118 that allow to file can be handled html file and one or more file that is associated to present webpage.In one embodiment, label in the html file of the browser 118 processing webpages that permission is filed and the header in one or more file are to determine the appropriate location of the object in the file.Below with reference to Fig. 6 the example how browser 118 that allows file handles file has been described.
In one embodiment, archive device 106 can be from static Web page, utilize the file of the object of quoting the webpage to generate to optimize the webpage (hereinafter referred to as " webpage that files and optimize ") that uses.Static Web page is the webpage with the content that does not change in response to the parameter that is associated with webpage.Archive device 106 can use the object that is associated with static Web page to generate one or more files.In one embodiment, archive device 106 can generate the webpage that files and optimize in response to the request of 112 pairs of webpages of web client to static Web page.
In another embodiment, archive device 106 can with the request of 112 pairs of webpages of web client asynchronously, static Web page is generated the webpage that files and optimize.In another embodiment, archive device 106 can generate the webpage that a collection of file is optimized to a collection of static Web page.Archive device 106 can generate one or more files to the webpage of optimizing that files.The webpage and being used to that can store the file optimization of generation files one or more files of the webpage optimized to be used for by 102 visits of web main frame.The webpage that the file that can cause generating to the request of static Web page is optimized and the transmission of file, the webpage that this files is optimized and filing all generated before the request of reception to webpage.In this embodiment, archive device 106 can generate webpage and the file that files and optimize, and web main frame 102 is not under the heavy duty simultaneously.
In another embodiment, archive device 106 can generate webpage and the file that files and optimize to dynamic web page.Dynamic web page is in response to the webpage that the request of webpage is created.Before request, dynamic web page can not exist.In this embodiment, archive device 106 dynamically generates webpage and the file that files and optimize in response to the request of 112 pairs of dynamic web pages of web client.For example, web client 112 can be from web main frame 102 requested webpages, and this webpage comprises from the data of data storage 108 and in response to request to be created.Archive device 106 can receive data from data storage 108, and generates file webpage of optimizing and the file that is used for webpage.Webpage that generates and file can use 104 by the web server then pass to web client 112.
In alternate embodiment, archive device 106 generates files, and this file comprises that the browser 118 that allows to file presents the required all files of webpage.For example, archive device 106 can generate one or more files of the content of the whole requirements that comprise the webpage that is used to ask, and will these one or more files passes to and allow the browser 118 that files to present being used to.
In one embodiment, data storage 108 can be included in the web main frame 102.Data in the data storage 108 can comprise complete webpage, are used to generate the data of webpage, predefined file and be used to present the object of webpage.For example, data storage 108 can comprise the one or more hard disk drives that comprise data file.In another embodiment, data storage 108 comprises database.In other embodiment, data storage 108 comprises flash memory device.
In one embodiment, network 110 is provided for the medium of the data transmission between web main frame 102 and the web client 112.Network 110 can be transferred to web main frame 102 from web client 112 with request.Network 110 can also be transferred to web client 112 from web main frame 102 with webpage and the file that generates.Network 110 can be any network that can transmit this data, as the Internet.Other example of network 110 comprises Intranet, straight-forward network connection etc.In one embodiment, web client 112 presents the webpage of generation to be used for demonstration.The browser 118 that web client 112 can comprise CPU 114, storer 116 and allow to file.In one embodiment, web client 112 is used the webpage that presents generation from the object that files.
In one embodiment, allowing the browser 118 of file is the web browser that can handle the file that comprises the object that is associated with the webpage of the optimization of filing.The example of object comprises other object that uses in image file (as jpeg, gif, bmp etc.), script file or the webpage.
In one embodiment, allow the browser 118 of file from web main frame 102 requested webpages.Webpage can comprise being included in quoting of one or more objects (being called the object that can file at this) in the file.Web main frame 102 can pass to the browser 118 that allows file with the webpage (that is the webpage that files and optimize) of quoting the generation of file.The browser 118 that allows to file can be carried out the software instruction of incorporating in the browser 118 that allows to file (plug-in card program of primary object code or increase or expansion), to file from 102 retrievals of web main frame.Incorporate browser 118 execution that the extra executable code (plug-in card program of primary object code or increase or expansion) in the browser 118 that allows to file is allowed to file into, with the object that to file of decapsulation from file, and use the object that to file to present webpage.
Fig. 2 illustrates an embodiment of archive device 106.Archive device 106 can comprise file cost/income module 202, select module 204 and file maker module 206.Archive device 106 generates the related web page that files and have improved download time.
What in one embodiment, file cost/income module 202 webpages definite and the file optimization that generates file and be associated were associated assesses the cost whether surpass the income of the improved download time of webpage.If the plan of download time improvement surpasses the expense cost that and generation webpage and file is associated, the cost that then files/income module 202 can indicate archive device 106 should generate file webpage of optimizing and the file that is associated.
In certain embodiments, file cost/income module 202 can adopt exploration (heuristic) function to determine whether to generate webpage and the file that files and optimize.For example, file cost/income module 202 can be planned (project) and is used to generate the assessing the cost of the webpage optimized and file of filing.Be lower than threshold value if assess the cost, then cost/income module 202 can indicate archive device 106 should generate webpage and the file that files and optimize.In alternate embodiment, file cost/income module 202 can also plan with and the value that is associated of the improvement of the webpage optimized of filing and file download time of being associated.Cost/income module 202 can be indicated the webpage and the file that should be lower than threshold value in response to the ratio between the income that assesses the cost and plan of plan and generate the optimization of filing.
For example, file cost/income module 202 can comprise the model of input of the size of the number of the file that will generate, the number of filed object in the webpage and webpage based on utilization, derives value at cost.File cost/income module 202 can also derive financial value, and the time of its estimation in using the transmission webpage that files is with respect to the minimizing of transmitting the unmodified needed time of webpage.Financial value can use the input of the size of the number of the object that can file in the number that comprises the file that will generate, the webpage and webpage to come modeling.In this example, the ratio between file cost/income module 202 manufacturing cost values and the financial value.The threshold value of this ratio can be selected arbitrarily or calculate in advance based on other test and model, and this threshold value determines to generate the webpage that does not still generate the optimization of filing.
In one embodiment, webpage of optimizing for the file that must generate in response to the request to webpage and the webpage of optimizing for the file of asynchronous generation can be different by determining of carrying out of file cost/income module 202.For example, file cost/income module 202 can be at the underload time durations assessment of static webpage on the web main frame 102, and determines to generate webpage and file.After generating file, will cause the transmission of the webpage of the file of asynchronous generation and the optimization of filing to the request of webpage.Yet if reception is to the request of webpage before generating file, the cost that files/income module 202 can obtain different conclusions, and this is because need generation file when the browser of request is waited for file.When must be in response to the request of webpage being generated when filing the webpage of optimizing or when the load on the web main frame 102 is high relatively, the webpage that generates identical file optimization may be by that the file cost/income module 202 is defined as cost is too high.
In one embodiment, the object quoted of the webpage of selecting module 204 to select to optimize by filing is to be used for being included in file.Select module 204 based on the choice criteria alternative, this choice criteria determines whether object should be in file rather than separately be delivered to web client 112.A size that example is an object of choice criteria, the object that wherein has less size more may be from be included in file and income than the object with big size.In one embodiment, the object of selecting module 204 can select to have the size that is lower than threshold value.For example, threshold value can be the 3k byte, and the selection module can select to have the object less than the size of 3k byte.
In one embodiment, file maker module 206 generates the one or more files that are associated with the webpage of the optimization of filing.File maker module 206 is used by the object of selecting module 204 to select and is formed one or more files.Behind the executable code of carrying out the browser 118 that allows file, these one or more files are delivered to web client 112 in response to the request of being undertaken by web client 112.
Fig. 3 illustrates an embodiment who selects module 204.Select module 204 can comprise DOM Document Object Model (DOM) tree scanner module 302, choice criteria module 304, the big little module 306 that files, object priority discriminating module 308 and object priority differentiation standard module 310.Select module 204 to select to file object to be used for being included in one or more files from webpage.
In one embodiment, the dom tree of dom tree scanner module 302 scanning webpages.The logical organization of dom tree definition webpage.According to the hierarchical structure arrangement, the some of them object is subordinated to other object to object in the webpage in dom tree, and all object is subordinated to root object.By utilizing dom tree scanner module 302 scanning dom trees, the information of selecting module 204 to determine about the object in the webpage, the relative dependency between each object of quoting in the type of the object of being quoted, quoting in the webpage by webpage as what object, the size of object and the webpage.
In one embodiment, choice criteria module 304 comprises and determines that whether object is the one or more choice criteria of object of can filing.Can file to as if should (or being defined as) be included in the object in the file.Judge the object of quoting in the webpage according to choice criteria, to determine whether they are the object that can file.The example of choice criteria comprises the full-size of object and the type of object.For example, choice criteria module 304 can comprise that the object that can file should have the standard less than the size of 3k byte.Another standard can be that the object that can file must be an image file.
In one embodiment, the big little module 306 that files is determined the target sizes of filing.The big little module 306 that files can be determined the target sizes of file by the size of determining webpage.In one embodiment, the size of webpage comprise the object of quoting in the webpage size and.In another embodiment, the size of webpage comprise the size that is increased to the object of quoting in the webpage and the size of html file of webpage.
In one embodiment, the big little module 306 that files is made as the target sizes of filing the mark of the size of webpage.In one embodiment, target sizes is 1/4th of a webpage size.Most traditional web browsers are configured to open and reach four and be connected with the web server time.As a result, will cause by creating the decreasing returns (diminishing returns) of the performance benefits that realizes of filing greater than 1/4th file of webpage size.In another embodiment, target sizes is the number percent of the whole size of the object quoted in webpage.In another embodiment, target sizes is the part of the size of webpage, and this part can comprise ratio, number percent or the tolerance of form in addition, makes the file that the generates size less than webpage.
In one embodiment, the priority of the filed object of quoting in object priority discriminating module 308 definite webpages.The priority of object can be distinguished standard module 310 from object priority and determine by object priority differentiation standard.Determine the order of the filed object in the file by object priority discriminating module 308 definite priority.Filed object order with higher priority is before the filed object with lower priority.For example, the filed object of the form of definition in the webpage can be assigned with than the priority by the filed object Geng Gao of the image construction in the form.Because the filed object of definition tables has the priority higher than image, the filed object order of definition tables is before image.Priority by distinguishing the object that can file and to its ordering can be placed the filed object of decapsulation by can file object in decapsulation the time, more effectively presents the webpage that files and optimize.
In one embodiment, object priority is distinguished standard module 310 and is comprised that one or more object priority distinguish standards, and it determines the priority of the object quoted in the webpage of optimizing that files.Object priority differentiation standard relates to the filed Properties of Objects of quoting in the webpage of optimizing that files.For example, in dom tree before the lower object, this can improve presenting of the page with object order higher in the dom tree, because before the object of the object institute subordinate that removes from file can be used, the object that should remove from file can not present.Therefore, in one embodiment, the hierarchical level in the dom tree of the object that can file is that object priority is distinguished standard.For example, the filed object with high relatively hierarchical level (meaning from the less relatively stride of the root of dom tree) can have higher priority than the filed object with low relatively hierarchical level (meaning from the more relatively stride of the root of dom tree).As a result, the filed object order with higher priority in filing, make its decapsulation and present morning more.
Because same cause, in another embodiment, object priority is distinguished standard can comprise the number that derives from object in the dom tree.For example, the filed object with derivation object of big relatively number can be assigned with higher priority than the filed object of the derivation object with relatively little number.The result of this standard is the improvement about the possibility that can use at the object that removes from file that derivation can be filed before the object, prerequisite (prerequisite) can be filed.
When filing object minimum, can realize that the maximum of performance improves.Therefore, in one embodiment, the size of the object that can file is that object priority is distinguished standard.For example, if total size of the object that can file surpasses the file size of determining by the big little module 306 that files, then less filed object can be assigned with the priority higher than big relatively filed object.As a result, less filed object will be included in the file to improve the performance of filing.Big relatively filed object limits and may not be placed in the file owing to size.
Fig. 4 diagram be used to the file embodiment of filed object 404 of the dom tree 402 of the webpage optimized and the ordering that is used to file.Dom tree 402 can be included in a plurality of object 412-422 that arrange among the hierarchical level 406-410.Dom tree 402 is expressions of the relation between the object 412-422 in the webpage optimized of object.Object in the rank 2408 depends on the object in the rank 1406, and the object in the rank 3410 depends on the prerequisite object in the rank 2408 etc.For example, the object 2416 in the rank 3410 depends on the object 1414 in the rank 2408.
In one embodiment, can not suitably be presented in the webpage of optimizing that files, be presented in the webpage of optimizing that files up to the prerequisite object than the object in the low level.For example, object 1414 can be the form in the webpage of file optimizing, and the image of object 2416 in can the form of indicated object 1414.Because the image of object 2416 is defined as in the form of object 1414, so it can not be presented in the webpage of optimizing that files before form presents.
As the result of these dependencies and other consideration, can distinguish priority by object priority discriminating module 308 by the filed object of selecting module 204 to select and also sort as the filed object 404 of ordering.For example, Object Selection module 204 can determine that object 1414, object 3418, object 4420 and object 5 satisfy a group selection standard, and specifies these objects as filing object.Object Selection module 204 can also determine that object 2416 does not satisfy a group selection standard, and for example, object 2416 may have the size greater than threshold value.
Selecting module 204 can also be the filed object 404 of ordering with the object order that can file.Object priority discriminating module 308 can be distinguished the standard sorted object that can file according to object priority.For example, object 1414 and object 4420 since they in dom tree 402 in the relative high position at rank 2408 places, can be assigned with high priority.Object 1414 can be assigned with the priority higher than object 4420, because object 1414 has than object 4420 more subordinate objects.As a result, in the filed object 404 of ordering, object 1414 can sort before object 4420.
Fig. 5 illustrates an embodiment of file maker module 206.File maker module 206 can comprise object order module 502, file compressor module 504 and Heuristics for Compression module 506.File maker module 206 is used by the filed object of selecting module 204 to select and is generated history file.
In one embodiment, object order module 502 is according to the prioritization of the object that can the file object that can file.The priority of object of can filing can be distinguished standard according to object priority and be determined by object priority discriminating module 308.The object order module 502 ordering object that can file makes in the file that generates, and the filed object order of high priority is before the filed object of low priority relatively relatively.
In one embodiment, the file of file compressor module 504 compression generations.The file that File Compress device module 504 can use any data compression method compression to generate.The example that can be used to compress the data compression method of file comprises gzip, zip, LZX, arithmetic coding etc.
File maker module 206 can rely on the file that Heuristics for Compression module 506 determines whether to compress generation.In some cases, the compression file may prove poor efficiency.For example, as many image files of jpeg file by precompression.If the filed object that constitute to file comprises a high proportion of precompression image file, then utilize extra compressor processes to file will to cause assessing the cost, but the improvement of the size of relatively limited file.
During wherein another example of the file of Sheng Chenging situation about can not compress file of appearing at dynamic web page generates.When the webpage that dynamic file is optimized generated file, the server load on the web main frame 102 may be high.Desired the assessing the cost of compression file may surpass the minimizing of the size of filing with the time when the web client 112 of request is waited for.
During the income of the minimizing of the size of surpass filing when the cost of compression, for fear of the file of attempting to compress generation, in one embodiment, Heuristics for Compression module 506 determines when should compress file.For example, the ratio of image during Heuristics for Compression module 506 can be determined to file.When the ratio of image was lower than threshold level in filing, Heuristics for Compression module 506 can be determined to compress file.
Fig. 6 illustrates an embodiment of the browser 118 that allows file.The browser 118 that allows to file can comprise that browser parameters transport module 602, file response receiver module 604, historical transport module 606, link block 608, archive retrieval module 610, file decapsulation module 612 and the page present module 614.Browser 118 retrievals that permission is filed also present the webpage that uses the file optimization of filing.
In one embodiment, the webpage by browser 118 retrievals of allow filing and the file optimization that presents can be first example of webpage.For example, filing the webpage of optimizing can be in response to the request dynamic generation from web client 112.In another example, can be in response to the webpage that the design of webpage is generated browser 118 retrievals of filing and the file optimization that presents by the web deviser by permission.In this example, archive device 106 can be linked to web design software or integrated with the web design software.
In another embodiment, can be the existing webpage of quoting that does not comprise filing by browser 118 retrievals that allow to file and the webpage that presents.In this embodiment, rewrite existing webpage to comprise to quoting of filing.For example, file maker module 206 can also use the webpage of the file optimization that can file object and be associated to generate file by the access static webpage.In another example, file maker module 206 can be to not comprising the web page operation to the dynamic generation of quoting of filing.In this example, the dynamic webpage that generates of rewriting is to create the webpage that can use the file optimization that presents from the filed object that files.
The webpage that file is optimized can comprise the html tag of the filed object that is linked in the file.For example, if the filed object oriented that the name of filing is called in " html.archive " and the file is " obj1 ", then the unified resource identifier (URL) in the html tag can be " html.archive/obj1 ".
In one embodiment, browser parameters transport module 602 will be referred to allow one or more browser parameters of the ability of the browser that files to be transferred to web server 104.These one or more browser parameters can comprise designator.In one embodiment, browser parameters transport module 602 sends the browser parameters that comprises designator, and this designator indication allows the browser 118 of file to receive and/or presents the webpage of the file optimization that comprises file.For example, browser parameters transport module 602 can send and clearly indicate the browser 118 that allows to file can use file to present the designator of the page.In another example, browser parameters transport module 602 can send the version number of the browser 118 that allows file.Web server 104 is this version number and the known tabulation that can present the browser of the webpage that the file that comprises file optimizes relatively, and as this result relatively, determines to allow the ability of the browser that files.
In another embodiment, browser parameters transport module 602 sends the browser parameters that comprises designator, and this designator indication can be used for allowing the number of the connection that the browser 118 that files uses.For example, in one embodiment, the browser 118 that permission is filed has by host computer and/or operating system stipulates the number of available connection.In one example, allow the browser 118 of file can be allowed to maximum four connections.Browser parameters transport module 602 can send browser parameters to web server 104, and the browser 118 that indication allows to file has four available connections.
In one embodiment, file response receiver module 604 from web server 104 reception file response parameters.In one embodiment, this file response parameter comprises designator.This designator can indicate web server 104 can transmit file.In one embodiment, web server 104 can receive determining of file in response to the browser 118 that allows to file, and sends the file response parameter.In another embodiment, no matter web server 104 sends the file response parameters and the type of the web browser of requested webpage.
In one embodiment, historical transport module 606 will allow the history of the web browser 118 of file to be transferred to web server 104.In one embodiment, history comprise from before with the tabulation of the object affairs of web server 104 and/or other web server, that keep by the browser that allows to file.The object that keeps can be stored in the volatile storage high-speed cache (as storer) or in the non-volatile memories high-speed cache (as hard disk drive).In one embodiment, historical transport module 606 can transmit the file response parameter of file, transmission history in response to receiving indication web server 104.
In one embodiment, web server 104 uses this history, to generate use for the file of the cached version of the object of the webpage of request and the webpage that files and optimize.For example, the some objects in the webpage of the file optimization that this history can indication request Already in allow in the high-speed cache of the browser 118 that files.Archive device 106 can generate the file of the object that does not comprise high-speed cache.Web server 104 can send the webpage of file optimization, and the object in the high-speed cache of the browser 118 that its browser 118 use permissions of instructing permission to file are filed presents the webpage that file is optimized.
In one embodiment, link block 608 is opened the browser 118 of permission file and the one or more connections between the web server 104.In one embodiment, link block 608 is opened the connection of the number that equates with the number that is connected of the browser 118 that can be used for allowing filing.In another embodiment, link block 608 is opened the connection of the number that equates with the number that is connected that can be used for 104 uses of web server.In another embodiment, link block 608 is opened at web server 104 and the connection of the number of consulting between the browser 118 that allows to file.
For example, the webpage of the file optimization of request can comprise than the file that can be used for the lower number of web server 104 and the number that is connected of the browser 118 that allow to file.In this example, link block 608 can be set up being connected of the number equal with the number that files.
In one embodiment, archive retrieval module 610 is filed by an available chained search.Archive retrieval module 610 can so that web client 112 from web main frame 102 retrieval be used to the file file of the webpage optimized.In case retrieve, web client 112 is with in the temporary transient or permanent storage of archive storage on client device.
In one embodiment, 612 pairs of file decapsulations of file decapsulation module.File decapsulation module 612 can comprise makes web client 112 place the also instruction of the file of decapsulation retrieval.In one embodiment, decapsulation is filed and to be comprised extract the object that can file from file.File decapsulation module 612 can be filed object storage in temporary transient or permanent storage.
Can extract the object that to file in order, mean according to the order of determining by object priority discriminating module 308 or according to the order of determining by object order module 502 and extract the object that to file.In one embodiment, file by 206 compressions of file maker module.File decapsulation module 612 object in filing or filing that can decompress.
In one embodiment, the page presents module 614 uses present the optimization of filing from the filed object of the extraction of filing webpage.The page presents module 614 can comprise that being used for the feasible browser 118 of file that allows uses the instruction that presents the webpage of the optimization of filing from the filed object of the extraction of filing.
Fig. 7 diagram is according to an embodiment of web server 104 of the present invention.Web server 104 can comprise browser parameters receiver module 702, file response transmission module 704, historical receiver module 706, link block 708 and the transmission module 710 of filing.Web server 104 receives the request of webpage and uses one or more files to transmit webpage.
In one embodiment, browser parameters receiver module 702 receives browser parameters from the browser 118 that allows to file, the ability of the browser 118 that this browser parameters indication permission is filed.The essence of the browser parameters that is received by browser parameters receiver module 702 is identical with the browser parameters of describing about disclosed browser parameters transport module 602 among Fig. 6 basically.The number of the connection that the browser 118 that the reception of browser parameters can indicate the browser 118 of permission file can receive file and/or indication permission file can be used.
In one embodiment, file response transmission module 704 is given the file response transmission browser 118 that allows file.The file response parameter can comprise that indication web server 104 can transmit the designator of file.In one embodiment, the file response parameter can comprise the designator of the number of the connection that indication web server 104 can be used.In one embodiment, web server 104 can receive determining of file in response to the browser 118 that allows to file, and sends the file response parameter.In another embodiment, no matter web server 104 sends the file response parameters and the type of the web browser of requested webpage.
In one embodiment, historical receiver module 706 receives historical from the browser 118 that allows to file.In one embodiment, this history basically with top about Fig. 6 describe identical.Web server 104 can use this history to determine that what object must be transferred to the browser 118 that allow to file, and what object can be quoted from the high-speed cache of the browser 118 that allows to file.For example, archive device 106 can use this history to generate one or more files of getting rid of the one or more objects in historical (or high-speed cache), therefore reduce total size of the object that is transferred to the browser 118 that allows file, and reduce the load time of webpage.
In one embodiment, link block 708 is opened the browser 118 of permission file and the one or more connections between the web server 104.In one embodiment, link block 708 is opened the connection of the number that the number that is connected that can use with the browser 118 that allows to file equates.In another embodiment, link block 708 is opened the connection of the number that equates with the number that is connected that can be used for 104 uses of web server.In another embodiment, link block 708 is opened at web server 104 and the connection of the number of consulting between the browser 118 that allows to file.For example, the webpage of request can comprise than the connection that can be used for the lower number of web server 104 and the number that is connected of the browser 118 that allow to file.In this example, link block 708 can be set up being connected of the number equal with the number that files.
In one embodiment, file transmission module 710 by an available connection transmission file.File to transmit module 710 can be so that web server 104 will be used to file the file of the webpage optimized send to and allow the browser 118 that files.
Following indicative flowchart proposes as logical flow chart usually.An embodiment of the method that order of describing like this, and the indication of the step of mark present.Can conceive on function, logical OR effect and the one or more steps of illustrated method or other step and the method for its part equivalence.In addition, the form of employing and symbol provide the logic step that this method is described, and are interpreted as the scope that does not limit this method.Although can adopt various arrow types and line type in process flow diagram, they are not understood that to limit the scope of corresponding method.In fact, some arrows or other connector can only be used to refer to the logic flow of this method.For example, arrow can be indicated the wait of not specifying the duration between the step of enumerating of described method or be monitored the period.In addition, the order of the corresponding step of the order that occurs of ad hoc approach shown in can or can not strict obedience.
Fig. 8 is the process flow diagram of each step that the method 800 of the download time that is used for improving webpage is shown.In certain embodiments, method 800 is methods of using in the system of Fig. 1-7 and device, and discusses with reference to those figure.Yet method 800 can also be carried out independently with it, and intention does not lie in the embodiment that discusses with reference to those figure above being restricted to particularly.
As shown in Figure 8, method 800 calculating 802 and assessing the cost that the generation to webpage is filed and is associated.In one embodiment, assessing the cost is generate to file and be configured to visit the tolerance of the desired resource of webpage that the file of the filed object in the file optimizes.In alternate embodiment, it can be ratio between the tolerance of the resource that the webpage optimized of produce filing and file requires and the improved tolerance of the download time by using the webpage realized of filing that 802 of calculating assesses the cost.In another embodiment, 802 of calculating assess the cost and to change in response to parameter (whether whether has been static Web page by 112 requests of web client and webpage as the load on the web main frame 102, webpage).
In one embodiment, file cost/income module 202 determines that then 804 generate the file that is used for webpage and whether are worth.Determine that 804 can assess the cost and threshold value based on 802 of calculating.For example, when the ratio with performance benefits of assessing the cost was lower than threshold value, file cost/income module 202 can be determined to generate to file to be worth.
If determine that 804 is not, then method 800 is selected 806 generic web page.Generic web page is the webpage of quoting that does not comprise filing.In one embodiment, method 800 can generate generic web page.In alternate embodiment, method 800 can be selected 806 existing generic web page.
Then, if file cost/income module 202 determines that 804 should generate file, then select the dom tree of module 204 scannings 808 webpages to represent.Scanning 808DOM tree is to determine what object is in webpage neutralization other parameter about object, as the size of object, the hierarchical level of object and the dependency between each object.
Then, select module 204 to select 810 objects as filing object.The object that can file selects 810 in response to meeting Object Selection standard (as the size or the type of object).For example, select module 204 to select 810 objects as filing object less than the 3k byte in response to the size of object.
308 pairs of filed object discrimination priority 812 of object priority discriminating module by 204 selections 810 of selection module.The prioritization 812 of object of can filing is distinguished standard based on object priority, as the number of the relative depth in the dom tree, subordinate object etc.For example, an object can have the priority higher than another object, because it has more subordinate objects in dom tree.
File maker module 206 is used the object that can file to generate 814 then and is filed.In the file that generates, the filed object during 814 of generation is filed can be according to the prioritization of object for allocation during prioritization 812.As a result, the filed object with higher priority can appear at before the object with lower priority in file.
In one embodiment, Heuristics for Compression module 506 can determine whether 815 pairs of compressions of filing are worth.The number of the file in the type of the file in the file, the file, the size of file and other factors can influence determines 815, as described in reference Fig. 5.Determine 815 in response to what be unworthy compressing filing, method 800 is selected 818 unpressed files.
In one embodiment, file compressor module 504 determines 815 in response to what be worth compressing filing, the files that compression 816 generates.The compression 816 of filing can be used any compression method, as gzip, zip, LZX, arithmetic coding etc.The compression 816 of filing can will occur from determining of compression income in response to file.For example, method 800 object of can determining to file comprises a high proportion of compressed image file, therefore determines should not compress file.
Fig. 9 is the process flow diagram of each step that the method 900 of the download time that is used for improving the webpage that allows the web browser 118 that files is shown.In certain embodiments, method 900 is methods of using in the system of Fig. 1-7 and device, and discusses with reference to those figure.Yet method 900 can also be carried out independently with it, and intention does not lie in the embodiment that discusses with reference to those figure above being restricted to particularly.
As shown in Figure 9, method 900 determines that 902 can be used for allowing the number of the connection of the browser 118 that files.The number of available connection can depend on browser 118, web client 112, network 110 or other consideration that allows file.
The browser 118 that allows to file is asked 904 webpages.In one embodiment, ask 904 webpages to comprise and transmit a request to web main frame 102 via network 110.For example, allow the browser 118 of file to send the HTTP request to ask 904 webpages via the TCP/IP network.
In one embodiment, browser parameters transport module 602 sends 906 browser parameters to web server 104.The browser parameters that sends 906 to web servers 104 can comprise indication allow the browser 118 of file can receive file one or more designators, can be used for allowing number or other designator of the connection of the browser 118 that files.
Then, file response receiver module 604 receives 908 file response parameters.The file response parameter can indicate web server 104 can transmit file.The file response parameter can also be indicated number or other designator of the connection that can be used for web server 104.
The web browser 118 that allows to file determines then whether 910 support to file.In one embodiment, this determines 910 in response to the 908 file response parameters that receive.If the web browser that permission is filed 118 determines that 910 do not support to file, then method 900 uses 912 do not have the generic web page of file.If the web browser 118 that allows to file determines that 910 support to file, then method 900 continues.
Link block 608 is set up 914 and is connected with the one or more of web server 104.In one embodiment, the numbers that 914 of foundation connects are in response to browser parameters, file response parameter or other consideration, as top with reference to as described in Fig. 6 and 7.Set up 914 connect be used to file, the transmission of webpage, historical information, parameter or other data.
Historical transport module 606 can will allow the history information transmittance 916 of the browser 118 of file to arrive web server 104.In one embodiment, 916 history of transmission comprise from before with the tabulation of the object affairs of web server 104 and/or other web server, that keep by the browser that allows to file.In one embodiment, historical transport module 606 transmits 916 history in response to receiving the file response parameter, and this file response parameter indication web server 104 can transmit file.
Archive retrieval module 610 receives 918 from web server 104 and files.The file that receives can comprise aforesaid one or more object that files.In one embodiment, history file is in response to the request 904 of webpage and receive 918.
In one embodiment, file decapsulation module 612 can be compressed in response to the file of transmission and 919 files that decompress.The compression method that 919 files that decompress can comprise that use is used by compressor module 504 decompresses and files.
In one embodiment, the page presents module 614 uses and presents 920 webpages from 918 the filed objects that file extraction that receive.The page presents module 614 can comprise that browser 118 uses of feasible permission file present the software instruction of the webpage of 920 file optimizations from the filed object of the extraction of filing.Presenting 920 webpages that file optimization can comprise: on display, show the object that can file in the position of the web page definition of optimizing filing.
Figure 10 is the process flow diagram of each step of method 1000 that the download time of the webpage that is used for improving web server 104 is shown.In certain embodiments, method 1000 is methods of using in the system of Fig. 1-7 and device, and discusses with reference to those figure.Yet method 1000 can also be carried out independently with it, and intention does not lie in the embodiment that discusses with reference to those figure above being restricted to particularly.
As shown in figure 10, method 1000 comprises by browser parameters receiver module 702 receptions 1002 browser parameters.Browser parameters can receive 1002 from the web browser 118 that allows to file, and can comprise one or more designators of the ability of indicating browser.This designator can indicate the web browser 118 that allows file to use the ability of the webpage that presenting files optimizes that files.This designator can also be indicated the number of the connection that can be used for allowing the web browser 118 that files.
Web server 104 can determine that 1004 are used to transmit the number of connection of the webpage (comprising one or more files) optimized of filing.In one embodiment, web server 104 can be determined 1004 numbers that connect in response to one or more browser parameters, and this browser parameters indication can be used for allowing the number of the connection of the web browser 118 that files, the number that can be used for the connection of web server 104, performance consideration etc.
Archive device 106 can be optimized 1006 selections that can file object.In one embodiment, archive device 106 is one or more in response to the number of the file of the relative height of the object that can file in the size of the object that can file, the dom tree, each dependency between the object of can filing, generation or other consideration, optimizes 1006 and selects.In one embodiment, as the object that can file of optimization 1006 as described in reference Fig. 2-5.
Archive device 106 can generate 1008 one or more files.These one or more files can use 1006 the selecting and generate 1008 of optimization of the object that can file.The number of the file that generates can be relevant with 1004 numbers of determining before that connect.In another embodiment, 1008 of the generation numbers that file can influence the connection that will use number determine 1004.
In an embodiment of method 1000, file and transmit the web browsers 118 that module 710 files to permission one or more files transmission 1010.In one embodiment, file transmits module 710 and uses networks 110 (as the TCP/IP network) transmission 1010 one or more files.
The present invention can not depart from its spirit or fundamental characteristics with other particular form realization.It only is illustrative and nonrestrictive that described embodiment should be considered in all respects.Therefore, scope of the present invention is by claim but not the description of front indication.Falling into the meaning of equivalence of claim and the institute in the scope changes and is included in its scope.
The cross reference of related application
The application relates to Long Cheng, Catherine C.Diep, Dong Jun Lan, Sheng Lu, Luis J.Ostidiek Ostdiek, (it has sequence number 11/847 to people's such as Qing Bo Wang and Meng Ye the U.S. Patent application that is entitled as " Apparatus; System; and Method for Cooperation Between a Browser and a Server to PackageSmall Objects in one or more Archives ", 299 and submit on August 29th, 2007, the agency is numbered SVL920060134US2), and Catherine C.Diep, Xing X.Fang, Dong Jun Lan, Sheng S.Lu, Luis J.Ostdiek, Qing Bo Wang, (it has sequence number 11/781 to people's such as Meng Ye the U.S. Patent application that is entitled as " Apparatus; System; and Methodfor Archiving Small Objects to Improve the Loading Time of a Web Page ", 066 and submit on July 20th, 2007, the agency is numbered SVL920060136US1).

Claims (51)

1. system that is used to reduce the load time of webpage, this system comprises:
Browser is configured to:
From the Web server requested webpage;
Receive one or more files, these one or more files are included in one or more objects that file of quoting in this webpage; And
Use presents this webpage from the filed object of these one or more files;
Web server is configured to:
From the request of this browser reception to webpage; And
Transmit one or more files, wherein each of these one or more files is included in a plurality of objects that file of quoting in this webpage; And
Archive device is configured to:
For can the file selection of object of one or more file optimizations of this webpage; And
Generate one or more files from the selection of the optimization of the object that can file.
2. the system as claimed in claim 1, wherein this browser also is configured to send and comprises the browser parameters that is configured to receive the designator of one or more files about browser.
3. as claim 1 or the described system of claim 2, wherein this archive device is by determining to be used for to transmit the optimum number of the connection of these one or more files, determines the file response parameter with the ability compatibility of this browser.
4. system as claimed in claim 3, wherein this archive device generates the file that transmits the equal number of the optimal number that is connected of these one or more files with being used to of determining.
5. the system as claimed in claim 1, wherein this archive device is by the following response parameter of determining with the ability compatibility of this browser:
Send the file response parameter to browser, wherein should the file response parameter comprise the designator that is configured to generate one or more files about archive device and be used for the available of Web server and be connected; And
Be identified for transmitting the maximum number of the connection of these one or more files.
6. the system as claimed in claim 1, wherein this browser also be configured to by transmission from before with the tabulation of the pre-cache object mutual, that in browser cache, exist of Web server, send browser parameters to Web server, this pre-cache object and Webpage correlation.
7. system as claimed in claim 6, wherein this archive device is by the following file response parameter of determining with the ability compatibility of browser:
With the filed object quoted in the tabulation of the pre-cache object that exists in the browser cache and the webpage relatively;
Determine the filed object that in the tabulation of pre-cache object, lacks; And
For one or more files are chosen in the filed object that lacks in the browser cache.
8. computer program that comprises computer-readable medium, this computer-readable medium have the computer usable program code that programming is used to reduce the load time of webpage, and the operation of this computer program comprises:
Receive browser parameters, wherein this browser parameters comprises the designator that is configured to receive one or more files about browser and is used for the available of browser and is connected; And
Be identified for transmitting the number of the connection of one or more files;
For can the file selection of object of one or more file optimizations of webpage; And
Generate the file of the number equal with the number that is connected that is used to transmit one or more files, these one or more files comprise the selection of the optimization of the object that can file;
Transmit this one or more files, wherein each of these one or more files is included in a plurality of objects that file of quoting in the webpage.
9. computer program as claimed in claim 8, the selection of wherein optimizing the object that can file also comprises: select to be used for to be included in the filed object of one or more files that will be generated by archive device, the content of this file comprises according to the prioritization of object and from one or more objects that file of webpage.
10. computer program as claimed in claim 9, the selection of wherein optimizing the object that can file also comprises: the object of DOM Document Object Model (DOM) tree to determine to quote in webpage of the structure of scanning indication webpage.
11. computer program as claimed in claim 10, the selection of wherein optimizing the object that can file also comprises: distribute priority for the object that can file according to one or more prioritization standards.
12. computer program as claimed in claim 11, wherein the prioritization standard comprises the number of the derivation object of the object in the dom tree.
13. computer program as claimed in claim 11, wherein the prioritization standard comprises the hierarchical level of the object in the document object person in charge (DOM) tree.
14. computer program as claimed in claim 11, the filed object of wherein selecting to be used for to be included in one or more files comprises: less than the determining of threshold size, select to be used to the filed object that comprises in response to the size of object.
15. computer program as claimed in claim 11, wherein generating a plurality of files also comprises: according to the filed object in these one or more files of priority classification, make high priority can file object than can the file starting point of the more close file of object of low priority.
16. computer program as claimed in claim 8 wherein generates a plurality of files and also comprises these one or more files of compression.
17. a computer program that comprises computer-readable medium, this computer-readable medium have the computer usable program code that programming is used to reduce the load time of webpage, the operation of this computer program comprises:
From the Web server requested webpage;
Receive one or more files from Web server, each of these one or more files comprises a plurality of objects that file of being quoted by webpage; And
Use presents webpage from a plurality of objects that file of these one or more files.
18. computer program as claimed in claim 17 also comprises: receive the file response parameter from Web server, this file response parameter comprises the indication that can transmit one or more files about Web server.
19. computer program as claimed in claim 17 also comprises: determine to can be used for the number that browser is used for receiving the connection of webpage.
20. computer program as claimed in claim 19, wherein also comprise from the Web server requested webpage: send the browser parameters comprise concatenating indicator, this concatenating indicator indication can be used for the number of connection that browser is used for receiving the each several part of webpage.
21. computer program as claimed in claim 20 also comprises: according to file response parameter and the linking number that can be used for the browser use from Web server, foundation is connected with Web server.
22. computer program as claimed in claim 17 wherein presents webpage and also comprises: extract the object that to file from these one or more files.
23. computer program as claimed in claim 17 wherein presents webpage and also comprises: the file of the compression that decompresses.
24. a computer program that comprises computer-readable medium, this computer-readable medium have the computer usable program code that programming is used to reduce the load time of webpage, the operation of this computer program comprises:
Determine to can be used for the number that browser is used for receiving the connection of webpage;
From the Web server requested webpage, wherein comprise from the Web server requested webpage:
Send browser parameters, this browser parameters comprises that designator that the indication browser can receive file and indication can be used for being used for receiving by browser the designator of the number that is connected of the each several part of webpage;
Receive the file response parameter from Web server, this file response parameter comprises that the indication Web server can transmit the designator of one or more files;
According to file response parameter and the browser parameters from Web server, foundation is connected with the one or more of Web server;
Receive one or more files from Web server, each of these one or more files comprises a plurality of objects that file that are associated with webpage; And
Use presents webpage from a plurality of objects that file of these one or more files.
25. a computer program that comprises computer-readable medium, this computer-readable medium have the computer usable program code that programming is used to reduce the load time of webpage, the operation of this computer program comprises:
The number of definite file that will generate;
Selection is used for being included in the filed object of one or more files that will be generated by archive device, and the selected object that files comprises according to object priority to be distinguished and one or more objects that file of being associated with webpage;
Wherein determine to select the object that to file in response to what the object that can file had the size that is lower than threshold value;
Filed object for one or more file optimized choice of webpage; And
The file of the number equal number of generation and determined file, this file comprises the selection of the optimization of the object that can file.
26. a method that is used to reduce the load time of webpage, this method comprises:
From the Web server requested webpage;
Receive one or more files, these one or more files are included in one or more objects that file of quoting in the webpage;
Use presents webpage from the filed object of these one or more files;
From the request of browser reception to webpage; And
Transmit one or more files, wherein each of these one or more files is included in a plurality of objects that file of quoting in this webpage;
For can the file selection of object of one or more file optimizations of this webpage; And
The selection of the optimization of the filed object from archive device generates one or more files.
27. method as claimed in claim 26 also comprises: send and to comprise the browser parameters that is configured to receive the designator of one or more files about browser.
28. as claim 26 or 27 described methods, wherein archive device is by determining to be used for to transmit the optimum number of the connection of these one or more files, determines the file response parameter with the ability compatibility of this browser.
29. method as claimed in claim 28 also comprises: generate the file that transmits the optimum number equal number that is connected of these one or more files with definite being used to.
30. method as claimed in claim 26 also comprises the response parameter of determining with the ability compatibility of browser by following:
Send the file response parameter to browser, wherein should the file response parameter comprise the designator that is configured to generate one or more files about archive device and be used for the available of Web server and be connected; And
Be identified for transmitting the maximum number of the connection of these one or more files.
31. method as claimed in claim 26, also comprise: by transmitting from the tabulation of the pre-cache object mutual, that in browser cache, exist of browser and Web server before, send browser parameters to Web server, this pre-cache object and Webpage correlation.
32. method as claimed in claim 31 also comprises the file response parameter of determining with the ability compatibility of browser by following:
With the filed object quoted in the tabulation of the pre-cache object that exists in the browser cache and the webpage relatively;
Determine the filed object that in the tabulation of pre-cache object, lacks; And
For one or more files are chosen in the filed object that lacks in the browser cache.
33. a method that is used to reduce the load time of webpage comprises:
Receive browser parameters, wherein this browser parameters comprises the designator that is configured to receive one or more files about browser and is used for the available of browser and is connected;
Be identified for transmitting the number of the connection of one or more files;
For can the file selection of object of one or more file optimizations of webpage;
Generate the file with the number equal number that is connected that is used to transmit one or more files, these one or more files comprise the selection of the optimization of the object that can file; And
Transmit this one or more files, wherein each of these one or more files is included in a plurality of objects that file of quoting in the webpage.
34. method as claimed in claim 33, the selection of wherein optimizing the object that can file also comprises: select to be used for to be included in the filed object of one or more files that will be generated by archive device, the content of this file comprises according to the prioritization of object and from one or more objects that file of webpage.
35. as claim 33 or 34 described methods, the selection of wherein optimizing the object that can file also comprises: the object of DOM Document Object Model (DOM) tree to determine in webpage, to quote of the structure of scanning indication webpage.
36. method as claimed in claim 35, the selection of wherein optimizing the object that can file also comprises: distribute priority for the object that can file according to one or more prioritization standards.
37. method as claimed in claim 36, wherein the prioritization standard comprises the number of the derivation object of the object in the dom tree.
38. method as claimed in claim 36, wherein the prioritization standard comprises the hierarchical level of the object in the document object person in charge (DOM) tree.
39. as the arbitrary described method of claim 34-38, the filed object of wherein selecting to be used for to be included in one or more files comprises: less than the determining of threshold size, select to be used to the filed object that comprises in response to the size of object.
40. arbitrary described method as claim 33-39, wherein generating a plurality of files also comprises: according to the filed object in these one or more files of priority classification, make high priority can file object than can the file starting point of the more close file of object of low priority.
41. as the arbitrary described method of claim 33-40, wherein generate a plurality of files and also comprise: compress this one or more files.
42. a method that is used to reduce the load time of webpage comprises:
From the Web server requested webpage;
Receive one or more files from Web server, each of these one or more files comprises a plurality of objects that file of being quoted by webpage; And
Use presents webpage from a plurality of objects that file of these one or more files.
43. method as claimed in claim 42 comprises also from Web server receiving the file response parameter that this file response parameter comprises the indication that can transmit one or more files about Web server.
44., also comprise and determine to can be used for the number that browser is used for receiving the connection of webpage as the arbitrary described method of claim 42 or 43.
45. arbitrary described method as claim 42 to 44, wherein also comprise from the Web server requested webpage: send the browser parameters comprise concatenating indicator, this concatenating indicator indication can be used for the number of connection that browser is used for receiving the each several part of webpage.
46. method as claimed in claim 45 also comprises: according to file response parameter and the linking number that can be used for the browser use from Web server, foundation is connected with Web server.
47., wherein present webpage and also comprise: extract the object that to file from these one or more files as the arbitrary described method of claim 42 to 46.
48., wherein present webpage and also comprise: the file of the compression that decompresses as the arbitrary described method of claim 42 to 46.
49. a method that is used to reduce the load time of webpage, this method comprises:
Determine to can be used for the number that browser is used for receiving the connection of webpage;
From the Web server requested webpage, wherein comprise from the Web server requested webpage:
Send browser parameters, this browser parameters comprises that the indication browser can receive the designator of file and indicate the designator of the number that is connected that can be used for being used for receiving by browser the each several part of webpage;
Receive the file response parameter from Web server, this file response parameter comprises that the indication Web server can transmit the designator of one or more files;
According to file response parameter and the browser parameters from Web server, foundation is connected with the one or more of Web server;
Receive one or more files from Web server, each of these one or more files comprises a plurality of objects that file that are associated with webpage; And
Use presents webpage from a plurality of objects that file of these one or more files.
50. a method that is used to reduce the load time of webpage, this method comprises:
The number of definite file that will generate;
Selection is used for being included in the filed object of one or more files that will be generated by archive device, and the filed object of selection comprises according to object priority to be distinguished and one or more objects that file of being associated with webpage;
Wherein, the object that can file selects to file object in response to having the determining of size that is lower than threshold value;
Filed object for one or more file optimized choice of webpage; And
The file of the number equal number of the file that generates and determine, this file comprises the selection of the filed object of optimization.
51. a computer program, comprise when described program is moved on computers, be applicable to enforcement of rights require 26 to 50 program code means in steps.
CN200880104106A 2007-08-29 2008-08-18 Apparatus, system, and method for cooperation between a browser and a server to package small objects in one or more archives Pending CN101785005A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/847,287 2007-08-29
US11/847,287 US7937478B2 (en) 2007-08-29 2007-08-29 Apparatus, system, and method for cooperation between a browser and a server to package small objects in one or more archives
US11/847,299 US20090063622A1 (en) 2007-08-29 2007-08-29 Apparatus, system, and method for cooperation between a browser and a server to package small objects in one or more archives
US11/847,299 2007-08-29
PCT/EP2008/060792 WO2009027256A1 (en) 2007-08-29 2008-08-18 Apparatus, system, and method for cooperation between a browser and a server to package small objects in one or more archives

Publications (1)

Publication Number Publication Date
CN101785005A true CN101785005A (en) 2010-07-21

Family

ID=39938295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880104106A Pending CN101785005A (en) 2007-08-29 2008-08-18 Apparatus, system, and method for cooperation between a browser and a server to package small objects in one or more archives

Country Status (5)

Country Link
JP (1) JP5187980B2 (en)
KR (1) KR20100066454A (en)
CN (1) CN101785005A (en)
TW (1) TW200928980A (en)
WO (1) WO2009027256A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102163206A (en) * 2011-01-30 2011-08-24 青岛海信传媒网络技术有限公司 Method and system for loading pages
CN104978325A (en) * 2014-04-03 2015-10-14 腾讯科技(深圳)有限公司 Webpage processing method and device, and user terminal

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8407340B2 (en) * 2010-04-09 2013-03-26 Microsoft Corporation Page load performance analysis
US9582392B2 (en) 2010-09-14 2017-02-28 Microsoft Technology Licensing, Llc Add-on performance advisor
JP5511609B2 (en) 2010-09-27 2014-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション Web page creation system, method and program
CN102214237B (en) * 2011-06-30 2013-11-27 北京新媒传信科技有限公司 Method and device for webpage making
JP5896712B2 (en) * 2011-12-08 2016-03-30 キヤノン株式会社 Information processing apparatus, information processing method, program, and information processing system
TWI630551B (en) * 2013-05-31 2018-07-21 博世尼克資訊股份有限公司 Method of downloading program
WO2014201660A1 (en) 2013-06-20 2014-12-24 博世尼克资讯股份有限公司 Method for downloading application
JP5740026B1 (en) * 2014-03-25 2015-06-24 株式会社 ディー・エヌ・エー Server and method for displaying display screen
TWI634483B (en) * 2017-09-14 2018-09-01 和碩聯合科技股份有限公司 File combination and recovery methods and electronic devices using the same

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11242640A (en) * 1998-02-25 1999-09-07 Kdd Corp File transfer method
JP2000020415A (en) * 1998-07-07 2000-01-21 Hitachi Ltd Www server proxy, www browser proxy and www system
US20020065800A1 (en) * 2000-11-30 2002-05-30 Morlitz David M. HTTP archive file
JP2004206172A (en) * 2002-12-20 2004-07-22 Sanyo Electric Co Ltd Method and apparatus for controlling communication
JP4241920B2 (en) * 2004-03-22 2009-03-18 ベーステクノロジー株式会社 Data communication method
JP2006133846A (en) * 2004-11-02 2006-05-25 Hitachi Ltd Data transfer method and proxy server

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102163206A (en) * 2011-01-30 2011-08-24 青岛海信传媒网络技术有限公司 Method and system for loading pages
CN104978325A (en) * 2014-04-03 2015-10-14 腾讯科技(深圳)有限公司 Webpage processing method and device, and user terminal
CN104978325B (en) * 2014-04-03 2019-06-25 腾讯科技(深圳)有限公司 A kind of web page processing method, device and user terminal

Also Published As

Publication number Publication date
JP5187980B2 (en) 2013-04-24
JP2010537337A (en) 2010-12-02
WO2009027256A1 (en) 2009-03-05
KR20100066454A (en) 2010-06-17
TW200928980A (en) 2009-07-01

Similar Documents

Publication Publication Date Title
CN101785005A (en) Apparatus, system, and method for cooperation between a browser and a server to package small objects in one or more archives
JP6848085B2 (en) Page display programs, devices, servers and storage media
US9654586B2 (en) Resource server providing a rapidly changing resource
US8117315B2 (en) Apparatus, system, and method for archiving small objects to improve the loading time of a web page
CN1091277C (en) Load balancing across the processes of a server computer
CN1241131C (en) Method for providing resource from network server to client computer
TW307840B (en)
CN102577237B (en) Method for scheduling web hosting service, method for processing application access, apparatus and system thereof
CN1797399B (en) system for providing data to user and method for optimizing the utilization of data
CN101583072B (en) Middleware product for realizing Mobile Internet and method thereof
US20030149567A1 (en) Method and system for using natural language in computer resource utilization analysis via a communications network
CN111368520A (en) Editing method and device for electronic forms
US7937478B2 (en) Apparatus, system, and method for cooperation between a browser and a server to package small objects in one or more archives
CN104063454A (en) Search push method and device for mining user demands
CN101127632A (en) A method, system and redirector for server traffic control
WO2013006332A1 (en) Improving access to network content
CN104063460A (en) Method and device for loading webpage in browser
KR102222287B1 (en) Web Crawler System for Collecting a Structured and Unstructured Data in Hidden URL
CN102184177A (en) Method and system for previewing file
CN101371220A (en) Transferring and displaying hierarchical data between databases and electronic documents
US8620957B1 (en) Storing and accessing data using a shell interface
US20090063622A1 (en) Apparatus, system, and method for cooperation between a browser and a server to package small objects in one or more archives
CN100481072C (en) Document processing apparatus
US9104664B1 (en) Access to search results
Prakash et al. Analyzing and predicting user behavior pattern from weblogs

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20100721