WO2015052968A1 - サーバ装置、クライアント装置、情報処理方法および記録媒体 - Google Patents
サーバ装置、クライアント装置、情報処理方法および記録媒体 Download PDFInfo
- Publication number
- WO2015052968A1 WO2015052968A1 PCT/JP2014/067696 JP2014067696W WO2015052968A1 WO 2015052968 A1 WO2015052968 A1 WO 2015052968A1 JP 2014067696 W JP2014067696 W JP 2014067696W WO 2015052968 A1 WO2015052968 A1 WO 2015052968A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- resource
- document
- identifier
- client
- unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
Definitions
- the present disclosure relates to a server device, a client device, an information processing method, and a recording medium.
- Patent Document 1 describes a technique for caching content in a web server in order to efficiently use a cache even when access to memory resources and web services is restricted.
- a document acquisition unit that acquires a document including a reference to a resource
- an identifier generation unit that generates a unique identifier for each content of the resource
- the document A server device includes an identifier description unit that associates an identifier with a reference to the resource, the document, and a document transmission unit that transmits an identifier associated with the reference to the resource to the client.
- a request transmission unit that transmits a request to a server, a document including a reference to a resource transmitted from the server in response to the request, and the reference associated with the reference to the resource
- a client device including a document reception unit that receives a unique identifier for each resource content from the server, and a cache determination unit that determines whether the resource is stored in the cache based on the identifier Is done.
- An information processing method in response to a request from a client, obtaining a document including a reference to a resource, generating a unique identifier for each content of the resource, and a processor
- An information processing method includes associating the identifier with a reference to the resource, and transmitting the document and an identifier associated with the reference to the resource to the client.
- the function of transmitting a request to the server, the document including the reference to the resource transmitted in response to the request, and the content of the resource associated with the reference to the resource are unique.
- a recording medium is provided.
- FIG. 1 is a diagram illustrating a schematic configuration of a system to which some embodiments of the present disclosure are applied.
- FIG. FIG. 3 is a block diagram illustrating a schematic functional configuration of an intermediate server and a client according to the first embodiment of the present disclosure.
- 5 is a flowchart illustrating processing of an intermediate server according to the first embodiment of the present disclosure.
- 6 is a flowchart illustrating processing of a client according to the first embodiment of the present disclosure.
- 14 is a flowchart illustrating processing of an intermediate server according to a modification example of the first embodiment of the present disclosure.
- 14 is a flowchart illustrating processing of a client according to a modification example of the first embodiment of the present disclosure.
- FIG. 9 is a block diagram illustrating a schematic functional configuration of an intermediate server and a client according to a second embodiment of the present disclosure.
- 14 is a flowchart illustrating a process before an intermediate server according to a second embodiment of the present disclosure receives a request.
- 14 is a flowchart illustrating a process before a client transmits a request according to the second embodiment of the present disclosure.
- It is a block diagram showing a schematic functional composition of an intermediate server concerning a 3rd embodiment of this indication.
- It is a block diagram showing a schematic functional composition of a client concerning a 3rd embodiment of this indication.
- 14 is a flowchart illustrating processing of an intermediate server according to the third embodiment of the present disclosure.
- 14 is a flowchart illustrating processing of a client according to the third embodiment of the present disclosure.
- 14 is a flowchart illustrating processing of an intermediate server according to a modification of the third embodiment of the present disclosure. It is a block diagram showing a schematic functional composition of an intermediate server concerning a 4th embodiment of this indication. It is a block diagram showing a schematic functional composition of a client concerning a 4th embodiment of this indication.
- 14 is a flowchart illustrating processing of an intermediate server according to the fourth embodiment of the present disclosure.
- 14 is a flowchart illustrating processing of an intermediate server according to the fourth embodiment of the present disclosure.
- 14 is a flowchart illustrating processing of a client according to the fourth embodiment of the present disclosure.
- 14 is a flowchart illustrating processing of a client according to the fourth embodiment of the present disclosure.
- 16 is a flowchart illustrating processing of an intermediate server according to the fifth embodiment of the present disclosure.
- 16 is a flowchart illustrating processing of a client according to the fifth embodiment of the present disclosure.
- 14 is a flowchart illustrating processing of an intermediate server according to a sixth embodiment of the present disclosure. It is a block diagram showing a schematic functional composition of an intermediate server and a client concerning a 7th embodiment of this indication.
- 18 is a flowchart illustrating processing of an intermediate server according to the seventh embodiment of the present disclosure. It is a figure for demonstrating the production
- FIG. 3 is a block diagram for explaining an exemplary hardware configuration of an information processing apparatus according to an embodiment of the present disclosure.
- FIG. 1 is a diagram illustrating a schematic configuration of a system to which some embodiments of the present disclosure are applied.
- the system 10 includes a distribution source server 100, an intermediate server 200, and a client 300.
- the distribution source server 100, the intermediate server 200, and the client 300 are connected to each other through a network such as the Internet.
- the distribution source server 100 and the intermediate server 200 are both servers realized by one or a plurality of server devices.
- the distribution source server 100 holds a document provided to the user and a resource referred to by the document.
- Documents and resources are distributed to the client 300 from the distribution source server 100 via one or a plurality of intermediate servers 200 in response to a request from the client 300.
- the intermediate server 200 holds documents and resources as a cache, and distributes the cached documents and resources to the client 300 on behalf of the distribution source server 100, so that the document can be quickly provided to the client 300. .
- the intermediate server 200 can execute various processes for speeding up, as well as the cache holding, as in an embodiment described later.
- one or a plurality of server devices that realize the distribution source server 100 and the intermediate server 200 may be information processing devices including a processor such as a CPU (Central Processing unit).
- the client 300 can also be realized by an information processing apparatus including a processor.
- the client 300 may further include an output device such as a display and a speaker, an input device such as a touch panel, and an imaging device. More specifically, for example, the client 300 may be a device such as a smartphone, a personal computer, a tablet, a media player, a television, a game machine, or the like.
- a specific hardware configuration of the information processing apparatus that can realize each of the above apparatuses will be described in more detail later.
- the system 10 can be used for distributing a document described in a markup language such as HTML.
- the resource may be, for example, a script such as JavaScript, style definition information such as CSS (Cascading Style Sheets), an image, and a moving image.
- the system 10 is not limited to the one described in the markup language, and can be used to distribute various types of documents or data other than documents (including images or moving images).
- FIG. 2 is a block diagram illustrating a schematic functional configuration of the intermediate server and the client according to the first embodiment of the present disclosure.
- the intermediate server 200 includes a request receiving unit 202, a document acquisition unit 204, a document analysis unit 206, a resource acquisition unit 208, an identifier generation unit 210, and an identifier description unit 212 as functional configurations.
- the client 300 includes a request transmission unit 302, a document reception unit 304, a cache determination unit 306, a resource reception unit 308, and a display control unit 310 as functional configurations.
- These functional configurations can be realized, for example, when a processor included in an information processing device that realizes the intermediate server 200 and the client 300 operates according to a program stored in a memory or a recording medium. Further, the cache 280 in the intermediate server 200 and the cache 380 in the client 300 can be realized by, for example, storage or memory of each information processing apparatus.
- the request reception unit 202 receives a request from the client 300.
- the document acquisition unit 204 acquires the document specified in the request in response to the request.
- the document acquisition unit 204 may internally acquire the document stored in the cache 280. If the designated document is not stored in the cache 280, the document acquisition unit 204 transmits a request to the distribution source server 100, and acquires the document transmitted from the distribution source server 100 in response to the request.
- the document analysis unit 206 analyzes the document acquired by the document acquisition unit 204. More specifically, the document analysis unit 206 detects a reference to a resource included in the document. When the document analysis unit 206 detects a reference to a resource, the resource acquisition unit 208 acquires the referenced resource. At this time, the resource acquisition unit 208 may internally acquire the resources stored in the cache 280. When the referenced resource is not stored in the cache 280, the resource acquisition unit 208 transmits a request to the distribution source server 100, and acquires the resource transmitted from the distribution source server 100 in response to the request. The resource newly acquired from the distribution source server 100 is stored in the cache 280.
- the identifier generation unit 210 generates a unique identifier for each resource content for the resource acquired by the resource acquisition unit 208.
- the identifier generation unit 210 may calculate a hash with a predetermined algorithm based on the contents of the resource. In this case, the calculated hash can be a unique identifier for each resource content.
- the identifier generation unit 210 does not necessarily use the hash as an identifier as it is, and may identify a resource based on the hash and then generate a separate identifier and assign it to the resource.
- the identifier generation unit 210 may associate the generated identifier with the resource stored in the cache 280.
- the identifier generation unit 210 regards the resource as binary data regardless of the type, and generates a unique identifier using a hash function.
- a hash function for example, MD5, SHA-1, or SHA-256 may be used.
- the identifier generation unit 210 may generate a plurality of identifiers for one resource using a plurality of hash functions. By determining that the resources are the same when all of these identifiers match, the uniqueness of the identifier can be further increased.
- the processing capability of the intermediate server 200 is higher than that of the client 300 and will be described later.
- the identifier description unit 212 associates the identifier generated by the identifier generation unit 210 with a reference to a resource in the document. More specifically, for example, the identifier description unit 212 adds the identifier generated by the identifier generation unit 210 to the original identifier and associates the identifier with the reference to the resource.
- an HTML document includes a reference to a resource whose original identifier is a URL (Uniform Resource Locator).
- the identifier description unit 212 may additionally describe the identifier generated by the identifier generation unit 210, such as a hash, in the document while leaving the URL that is the original identifier.
- the identifier description unit 212 uses the identifier generation unit 210 as shown in (b).
- a hash (new_id) that is the generated identifier may be additionally described in the document.
- (A) ⁇ img src “resource / image001.jpg” />
- the client 300 determines whether or not the resource is cached based on the identifier additionally described by the identifier description unit 212. If there is no cache, the client 300 allocates the resource to the intermediate server 200. Is configured to request. However, a client other than the client 300, that is, a client that does not refer to an additionally described identifier may exist on the network. By leaving the original identifier in the identifier description unit 212, it is possible to ensure backward compatibility with such a client.
- the identifier description unit 212 may overwrite the original identifier included in the reference to the resource in the document with the identifier generated by the identifier generation unit 210.
- a reference to a resource as shown in (a) above can be rewritten as shown in (c) below.
- (C) ⁇ img src “http: //www.xxx.yyy/zzz/736f6e7920706174656e74” />
- the identifier description unit 212 rewrites the URL to an absolute path indicating the intermediate server 200, and describes the identifier generated by the identifier generation unit 210 following the absolute path.
- the absolute path indicating the intermediate server 200 is added in common to all resources. Therefore, the determination of the presence or absence of the cache based on the original identifier rewritten as in the above example by the client 300 is substantially the same as the determination based on the identifier generated by the identifier generation unit 210. It will be. In this case, the client may not be configured to refer to the additionally described identifier.
- the document transmission unit 214 transmits a document including the identifier generated by the identifier generation unit 210 to the client 300.
- the client 300 displays a document while referring to the resource based on the identifier generated by the identifier generation unit 210.
- the resource transmission unit 216 transmits the resource stored in the cache 280 to the client 300 in response to a resource request transmitted from the client 300 when the resource referred to in the document is not cached in the client 300.
- the request transmission unit 302 transmits a request to the intermediate server 200 based on, for example, a user operation.
- the document receiving unit 304 receives a document transmitted by the intermediate server 200 in response to a request.
- the received document includes a reference to the resource, and the resource reference is associated with a unique identifier for each content of the resource generated by the identifier generation unit 210 of the intermediate server 200.
- a unique identifier may be associated with a reference to a resource in addition to the original identifier.
- the cache determination unit 306 determines whether or not the resource referred to in the document received by the document reception unit 304 is stored in the cache 380. At this time, the cache determination unit 306 determines whether the resource is stored in the cache 380 based on a unique identifier for each resource content. When the resource is stored in the cache 380, the cache determination unit 306 reads out the stored resource and provides it to the display control unit 310. On the other hand, when the resource is not stored in the cache 380, the cache determination unit 306 requests the resource reception unit 308 to transmit a request for the resource to the intermediate server 200.
- the identifier used for determination by the cache determination unit is a URL
- the identifier is not necessarily unique for each resource content. Therefore, it may be determined that different resources are referenced even if the contents of the resources are the same.
- the URL indicating the first distribution source server 100a is different from the URL indicating the second distribution source server 100b.
- Different identifiers (URLs) are used for references to one resource and second resource.
- the cache determination unit does not change the second resource itself even if the first resource having the same content is already stored in the cache. Is not stored in the cache, it can be determined that the referenced resource is not stored in the cache.
- the cache determination unit 306 of the client 300 determines whether or not the resource is stored in the cache 380 based on a unique identifier for each content of the resource.
- the identifier generation unit 210 of the intermediate server 200 generates a common identifier for the first resource and the second resource, and the cache determination unit 306 is based on the common identifier.
- Whether or not the resource is stored in the cache 380 is determined. Accordingly, when the second resource is referenced in the received second document, if the first resource having the same content is already stored in the cache 380, the cache determination unit 306 determines the resource being referenced. Can be provided to the display control unit 310 by reusing resources stored in the cache 380 without transmitting a request to the intermediate server 200.
- the resource receiving unit 308 transmits a resource request to the intermediate server 200 and receives the resource transmitted from the intermediate server 200 in response to the request.
- the resource reception unit 308 provides the received resource to the display control unit 310. Further, the resource receiving unit 308 stores the newly received resource in the cache 380.
- the display control unit 310 displays the document on the display of the client 300 based on the document received by the document reception unit 304 and the resource referenced in the document.
- the resource is read from the cache 380 and reused or newly received from the intermediate server 200 according to the determination of the cache determination unit 306. Since reception from the intermediate server 200 takes time for communication, the higher the ratio of resources to be reused, the faster the document display.
- the cache determination unit 306 determines whether or not the resource is stored in the cache 380 based on a unique identifier for each content of the resource. Therefore, for example, not only resources that are referred to by documents distributed from the same distribution source server 100 but also resources that are respectively referred to by a plurality of documents distributed from different distribution source servers 100 have the same content. Can be reused. Accordingly, the ratio of resources that are reused when displaying a document increases, and the display of the document can be accelerated.
- FIG. 3 is a flowchart illustrating processing of the intermediate server according to the first embodiment of the present disclosure.
- the request receiving unit 202 receives a request from the client 300 (S101).
- the document acquisition unit 204 acquires the document specified in the request (S103).
- the document analysis unit 206 analyzes the acquired document (S105).
- the resource acquisition unit 208 acquires the referenced resource (S109). Further, the identifier generation unit 210 generates a unique identifier based on the acquired content of the resource (S111). Next, the identifier description unit 212 associates the generated unique identifier with a reference to a resource in the document (S113). S109 to S113 can be repeatedly executed until all references to resources in the document are detected.
- the document transmission unit 214 transmits the document to the client 300 (S115). Thereafter, when a resource request is received from the client 300 (YES in S117), the resource transmission unit 216 transmits the resource to the client 300 (S119). When the resource request is not received or not received (NO in S117), the processing in the intermediate server 200 ends.
- FIG. 4 is a flowchart illustrating processing of the client according to the first embodiment of the present disclosure.
- the request transmission unit 302 transmits a request to the intermediate server 200 (S131).
- the document receiving unit 304 receives the document transmitted by the intermediate server 200 in response to the request (S133).
- the display control unit 310 starts displaying the received document (S135).
- the cache determination unit 306 determines whether the referenced resource is stored in the cache 380 (cached) (S139). . As described above, the cache determination unit 306 determines whether or not a resource is stored in the cache 380 based on a unique identifier for each resource content associated with a reference to the resource in the document.
- the cache determination unit 306 reads the resource from the cache 380 and provides it to the display control unit 310. That is, the cache determination unit 306 and the display control unit 310 reuse the cached resource (S141).
- the resource receiving unit 308 transmits a resource request to the intermediate server 200 (S143). The resource receiving unit 308 receives the resource transmitted by the intermediate server 200 in response to the request (S145).
- the display control unit 310 refers to the reused resource or the resource received from the intermediate server 200 and continues to display the document (S147). S139-S147 can be repeated until all references to resources in the document are found. If the display control unit 310 displays the entire document and no reference to the resource is found or no reference to the resource is found (NO in S137), the client 300 completes the display of the document ( S149).
- FIG. 5 is a flowchart illustrating processing of the intermediate server according to the modification of the first embodiment of the present disclosure. Referring to FIG. 5, first, S101 to S105 are executed similarly to the example described above with reference to FIG.
- the identifier description unit 212 associates a dummy identifier with a reference to a resource detected by document analysis (S161).
- the dummy identifier is a series of identifiers generated mechanically, for example, and is not necessarily unique for each resource content.
- the identifier description unit 212 associates an incremental or random dummy identifier with the detected reference sequentially from the top of the document.
- the original identifiers for example, URLs
- the identifier description unit 212 may associate the same dummy identifiers with these references.
- the document transmission unit 214 transmits the document to the client 300 (S115).
- the resource acquisition unit 208 acquires the referenced resource
- the identifier generation unit 210 acquires the content of the resource A unique identifier is generated based on (S107 to S111).
- the identifier description unit 212 associates the dummy identifier associated with the reference in S161 with the unique identifier generated in S111 (identifier association information). ) Is generated (S163).
- the document transmission unit 214 transmits the identifier association information to the client 300 (S165). Thereafter, when a resource request is received from the client 300, the resource transmission unit 216 transmits the resource to the client 300 (S117, S119).
- FIG. 6 is a flowchart illustrating processing of a client according to a modification example of the first embodiment of the present disclosure. Referring to FIG. 6, first, S131 to S135 are executed as in the example described above with reference to FIG.
- the cache determination unit 306 When a reference to a resource is found in the document (YES in S137), the cache determination unit 306 is referred to after replacing the dummy identifier associated with the found reference with a unique identifier (S181). It is determined whether or not the resource is stored in the cache 380 (S139).
- S181 the identifier association information described above is not received by the document reception unit 304 at the time of S181, that is, when the cache determination unit 306 is associated with the resource reference in the state where the dummy identifier is associated with the resource.
- the cache determination unit 306 transmits an identifier or a request for identifier association information to the intermediate server 200.
- the identifier generation unit 210 of the intermediate server 200 may preferentially generate a unique identifier based on the content of the referenced resource for the reference from which the request is received.
- the processing capability of the intermediate server 200 is higher than that of the client 300, it takes a certain amount of time for the identifier generation unit 210 to generate a unique identifier. Therefore, as in this modification, a document in which a dummy identifier that can be easily generated is associated with a reference is transmitted to the client 300 in advance, and display is started based on the document received by the client 300. By executing the generation of the unique identifier in the intermediate server 200, the time until the document display is completed in the client 300 can be further shortened.
- FIG. 7 is a block diagram illustrating a schematic functional configuration of the intermediate server and the client according to the second embodiment of the present disclosure.
- intermediate server 200 further includes a resource advance delivery unit 218 as a functional configuration.
- the client 300 further includes a resource advance receiving unit 312 as a functional configuration.
- the resource advance delivery unit 218 of the intermediate server 200 transmits a predetermined resource to the client 300 in advance before the request reception unit 202 receives a request from the client 300. At this time, the resource advance distribution unit 218 transmits the resource to the client 300 in association with a unique identifier for each content of the resource generated by the identifier generation unit 210.
- the resource advance delivery unit 218 counts the number of times that the identifier generated by the identifier generation unit 210 is associated with the reference to the resource in the document, and based on this number of resources, the resource that is estimated to be used frequently is counted. You may transmit to the client 300.
- the resource advance delivery unit 218 may send the resource specified by the service provider to the client 300 in advance.
- the resource advance delivery unit 218 sends the client 300 in advance according to the setting by the service provider.
- the resource advance distribution unit 218 may pre-compile the program and then transmit it to the client 300. For example, when the client 300 compiles and executes a program referenced in a document, the time required for compiling is limited even if the program is stored in the cache 380. On the other hand, when the resource pre-distribution unit 218 precompiles the program before sending it to the client 300 in the intermediate server 200, it can be sufficiently timed for compilation. can do.
- the resource advance reception unit 312 of the client 300 receives the resource transmitted by the resource advance delivery unit 218 of the intermediate server 200 before the request transmission unit 302 transmits a request to the intermediate server 200.
- the resource received here may be, for example, a resource that is presumed to be frequently used based on the number of times associated with a reference to the resource, or specified by the service provider. It may be a resource.
- the resource advance receiving unit 312 receives the resource distributed in advance from the intermediate server 200 and stores the received resource in the cache 380.
- the received resource is associated with a unique identifier for each resource content generated by the identifier generation unit 210 in the intermediate server 200.
- the resource preceding reception unit 312 stores the received resource in the cache 380 in association with this identifier.
- a resource having the same content as the previously distributed resource is referred to in the document regardless of the original identifier (for example, URL) of the previously distributed resource, it is stored in the cache 380 in advance. It is possible to speed up the display of the document by using the resource that has been set.
- the resource advance receiving unit 312 may receive the program precompiled by the resource advance distributing unit 218 of the intermediate server 200.
- the resource advance receiving unit 312 may store the precompiled program in the cache 380 in a storage area different from resources other than the program such as images and CSS.
- the precompiled program can be stored in a common storage area with a library such as WebCore. Accordingly, when a document is displayed on the client 300, it may be possible to access the precompiled program corresponding to the referenced resource at high speed.
- a script such as JavaScript occupies the largest ratio next to the image.
- most of the cases are that some specific standard libraries are referred to. Therefore, for example, by distributing the script standard library from the intermediate server 200 to the client 300 in advance, transmission and reception of requests and resources for the script standard library that occur with a high probability in displaying the document can be omitted. Display can be speeded up.
- a script when a script is updated, if the updated script is distributed from the intermediate server 200 to the client 300 prior to the request, the script is referred to from the document for the first time after the update. Even so, the document can be quickly displayed using the script stored in the cache of the client 300.
- the speed can be further increased.
- a resource that is estimated to be highly likely to be referred to when displaying a document such as a logo image or a topic item image, is distributed from the intermediate server 200 to the client 300 in advance. This can contribute to speeding up.
- FIG. 8 is a flowchart illustrating a process before the intermediate server according to the second embodiment of the present disclosure receives a request.
- the resource advance delivery unit 218 determines a resource to be delivered in advance (S201).
- the resource to be distributed in advance may be determined based on the number of times that the identifier is associated with the reference to the resource in the document as described above, or may be specified by the service provider.
- the resource advance delivery unit 218 periodically requests the resource source server 100 for a resource that is estimated to be frequently used and that may be updated, such as the standard library of scripts described above. Thus, the presence or absence of an update may be confirmed, and if there is an update, it may be determined to distribute the updated resource in advance.
- the resource advance delivery unit 218 may use an identifier generation process by the identifier generation unit 210 in order to check whether there is an update. That is, when the identifier generation unit 210 generates a unique identifier for each resource content, if the generated identifier is different from the previously generated identifier, it can be determined that the resource has been updated.
- the resource advance delivery unit 218 performs pre-compilation as necessary (S203).
- the resource advance delivery unit 218 transmits the resource to the client 300 (S205).
- FIG. 9 is a flowchart showing a process before a client transmits a request according to the second embodiment of the present disclosure.
- the resource advance receiving unit 312 receives a resource distributed from the intermediate server 200 (S211).
- the resource advance receiving unit 312 determines that the distributed resource is different from the other resources for the program.
- the resource is stored in the storage area (S215). Otherwise, the resource advance receiving unit 312 stores the resource in the storage area of the normal cache 380 (S217).
- FIG. 10 is a block diagram illustrating a schematic functional configuration of an intermediate server and a client according to the third embodiment of the present disclosure.
- the intermediate server 200 includes a request receiving unit 202, a document acquisition unit 204, a document analysis unit 206, a resource acquisition unit 208, a resource analysis unit 220, and a shortened character string generation unit as functional configurations. 222, an abbreviated character string description unit 224, a document transmission unit 214, an association information transmission unit 226, and a resource transmission unit 216.
- the client 300 includes a request transmission unit 302, a document reception unit 304, a resource reception unit 308, an association information reception unit 314, a character string interpretation unit 316, and a display control unit 310. Including.
- These functional configurations can be realized, for example, when a processor included in an information processing device that realizes the intermediate server 200 and the client 300 operates according to a program stored in a memory or a recording medium.
- the database 282 in the intermediate server 200 and the database 382 in the client 300 can be realized by, for example, storage or memory of each information processing apparatus.
- the request reception unit 202 and the document acquisition unit 204 acquire a document in response to a request from the client 300, as in the first embodiment.
- the document analysis unit 206 analyzes the document acquired by the document acquisition unit 204 and detects a reference to a resource included in the document.
- the resource acquisition unit 208 acquires the referenced resource when the document analysis unit 206 detects a reference to the resource.
- the document analysis unit 206 detects a shortenable character string included in the document acquired by the document acquisition unit 204.
- the resource analysis unit 220 detects a shortenable character string included in the resource acquired by the resource acquisition unit 208.
- the shortenable character string includes, for example, an arbitrary identifier given to an element in a document, a class defined by a style, a function defined by a program, or the like.
- the shortenable character string may include a reserved word in a document or resource format.
- the shortenable character string may include an identifier of a resource referred to in the document or a character string described in the document as a so-called local sentence.
- the shortened character string generation unit 222 When a character string that can be shortened is detected by the document analysis unit 206 and the resource analysis unit 220, the shortened character string generation unit 222 generates a character string (hereinafter also referred to as a shortened character string) obtained by shortening the detected character string. To do.
- the shortened character string generation unit 222 may generate the shortened character string by performing an operation according to a predetermined algorithm based on the original character string. As will be described later, in the illustrated example, since the relationship between the original character string and the shortened character string is recorded in the database 282, the algorithm may be irreversible.
- the shortened character string generation unit 222 may generate an incremental or random shortened character string regardless of the original character string.
- the shortened character string when the shortened character string is generated using the algorithm, the shortened character string becomes slightly longer, but if the original character string is the same, the same shortened character string is automatically generated. Therefore, the search performance can be improved by minimizing the records in the database 282. Further, depending on the algorithm used, a shortened character string unique to the original character string can be generated.
- the shortened string when generating an incremental or random shortened string, can be shortened to the limit (for example, to the shortest length that can represent the number of shortenable strings contained in a document or resource).
- the abbreviated character string generation unit 222 refers to the database 282 and a new abbreviated character string is generated when no abbreviated character string has been generated for the same original character string, the number of records in the database 282 is reduced. can do.
- the abbreviated character string generation unit 222 adds a record (abbreviated character string record) that associates the original character string and the abbreviated character string to the database 282.
- the database 282 may be generated in units of documents.
- the correspondence between the original character string and the abbreviated character string indicated by the database 282 may be based on a document transmitted in response to a single request and a resource referenced from this document.
- the database 282 may be generated with a plurality of documents and resources referenced from these documents as scopes.
- the short character string generation unit 222 stores the short character string in the database 282. It is not necessary to add a column record. For example, when a reserved word in a document or resource format is handled as a character string that can be shortened, the reserved word is finite, so a short character string is assigned in advance, and the correspondence between the reserved word and the short character string is assigned to the database 282 and It can be recorded in the database 382 in advance.
- the abbreviated character string generation unit 222 generates an abbreviated character string assigned in advance with reference to the database 282 for the reserved word detected in the document or resource, and then adds a new record to the database 282. Is omitted.
- the abbreviated character string description unit 224 replaces the original character string included in the document and the resource with the abbreviated character string generated by the abbreviated character string generation unit 222. In order to reduce the amount of data to be transmitted and to reduce the processing amount of character string reading in the client 300, the abbreviated character string description unit 224 uses the abbreviated character string without leaving the original character string in the document and resource. It is desirable to substitute.
- the document transmission unit 214 transmits to the client 300 a document that includes the shortened character string generated by the shortened character string generation unit 222 (that is, the original character string is replaced with the shortened character string).
- the resource transmission unit 216 transmits to the client 300 a resource in which the original character string is replaced with a shortened character string.
- the association information transmission unit 226 generates information (hereinafter also referred to as association information) for associating the original character string with the abbreviated character string based on the abbreviated character string record in the database 282, and transmits this to the client 300.
- the association information transmitting unit 226 may transmit the association information to the client 300 only when the client 300 needs to restore the original character string from the shortened character string. That is, the association information may not include at least a part of the shortened character string record.
- the abbreviated character string generation unit 222 when the abbreviated character string generation unit 222 generates an abbreviated character string for an arbitrary identifier given to an element in a document, a class defined by a style, a function defined by a program, or the like, A shortened character string is generated so that the original character string and the shortened character string have a one-to-one correspondence (for example, a shortened character string is generated from the original character string based on a predetermined algorithm, or the database 282). If the abbreviated character string has already been generated with respect to the original character string, the abbreviated character string is reused), and the client 300 does not restore the original character string. However, an element, class, or function is uniquely identified. In such a case, the association information transmission unit 226 may not transmit the association information about the shortened character string to the client 300.
- the database 282 when a shortened character string is generated for a reserved word in a document or resource, the database 282 includes a shortened character string record corresponding to a shortened character string corresponding to the reserved word in advance.
- the association information to be transmitted may not include information on reserved words (when information on reserved words is stored in advance in the database 382 of the client 300).
- the association information transmission unit 226 transmits the association information generated based on the record in the database 282 to the client 300.
- the request transmission unit 302 and the document reception unit 304 transmit a request to the intermediate server 200 as in the first embodiment, and receive the document transmitted by the intermediate server 200 in response to the request.
- the resource receiving unit 308 receives a resource transmitted from the intermediate server 200.
- the received document and resource are provided to the character string interpreter 316.
- the association information receiving unit 314 receives the association information transmitted from the association information transmitting unit 226 of the intermediate server 200.
- the association information receiving unit 314 generates a shortened character string record in the database 382 based on the received association information.
- the character string interpretation unit 316 refers to the database 382 and interprets the shortened character string included in the document and the resource. Here, the character string interpretation unit 316 does not need to rewrite the shortened character string to the original character string. In the present embodiment, the character string interpretation unit 316 can interpret the shortened character string included in the document and the resource as it is by referring to the database 382, and the display control unit 310 can display the document based on the interpretation. It is.
- the documents and resources received by the client 300 include a shortened character string that is not included in the association information received by the association information receiving unit 314.
- a shortened character string that is not included in the association information received by the association information receiving unit 314.
- the association information received by the association information receiving unit 314 corresponds to the reserved word.
- the abbreviated character string is not included.
- the original character string and a shortened character string have a one-to-one correspondence through the document and resources. If the abbreviated character string is generated so as to correspond, the information corresponding to the abbreviated character string is not included in the association information and may not be included in the database 382. In this case, the abbreviated character string is handled in the same manner as an ordinary character string in the client 300, and the display control unit 310 directly interprets the character string and causes the document to be displayed.
- FIG. 11 is a flowchart illustrating processing of the intermediate server according to the third embodiment of the present disclosure.
- the request receiving unit 202 receives a request from the client 300 (S301).
- the document acquisition unit 204 acquires the document specified in the request (S303).
- the document analysis unit 206 analyzes the acquired document (S305).
- the resource acquisition unit 208 acquires the referenced resource (S309), and the resource analysis unit 220 acquires the acquired resource. Analysis is performed (S311). Thereafter, the shortened character string generation unit 222 generates a shortened character string for the shortenable character string detected in the document and the resource (S313). At this time, the shortened character string generation unit 222 adds a shortened character string record that associates the original character string and the shortened character string to the database 282 (S315).
- the abbreviated character string description unit 224 replaces the original character string included in the document and the resource with the abbreviated character string generated by the abbreviated character string generation unit 222 (S317).
- the document transmission unit 214 transmits the document including the shortened character string to the client 300 (S319).
- the association information transmitting unit 226 transmits the association information generated based on the record of the database 382 to the client 300 (S321).
- the resource transmission unit 216 transmits a resource including the shortened character string to the client 300 (S323).
- FIG. 12 is a flowchart illustrating processing of a client according to the third embodiment of the present disclosure.
- the request transmission unit 302 transmits a request to the intermediate server 200 (S331).
- the document receiving unit 304 receives a document including a shortened character string transmitted by the intermediate server 200 in response to the request (S333).
- the association information receiving unit 314 receives the association information transmitted from the intermediate server 200 (S335).
- the association information receiving unit 314 generates a record in the database 382 based on the received association information (S337).
- the resource receiving unit 308 receives the resource including the shortened character string transmitted by the intermediate server 200 (S339).
- the character string interpretation unit 316 refers to the database 382 and interprets the shortened character string included in the document (S341). Note that the process of S341 may be executed in parallel with the process of S339, for example.
- the character string interpretation unit 316 also interprets the shortened character string with reference to the database 382 for the resource referred to in the document received in S339 (S343).
- the display control unit 310 causes the character string interpretation unit 316 to display the document using the result of interpreting the shortened character string included in the document and the resource (S345).
- the shortened character string generation unit 222 adds a record that associates the original character string and the shortened character string to the database 282.
- the database 382 can be referred to when generating a shortened character string, and the relationship between the original character string and the shortened character string can be made a one-to-one relationship through documents and resources.
- the client 300 can interpret the abbreviated character string described in each of the document and the resource and display the document referring to the resource.
- the association information transmission unit 226 generates association information that associates the shortened character string generated in the document and the resource with the original character string, based on the record in the database 282, and generates the association information. May be sent to.
- the client 300 uses the abbreviated character string described in each of the document and the resource. It is possible to interpret and display a document that references the resource.
- FIG. 13 is a flowchart illustrating processing of an intermediate server according to a modification example of the third embodiment of the present disclosure. Referring to FIG. 13, first, S301 to S305 are executed as in the example described above with reference to FIG.
- the shortened character string generation unit 222 generates a shortened character string in advance for the shortenable character string detected in the document (S361). At this time, the abbreviated character string generation unit 222 adds a record that associates the original character string and the abbreviated character string to the database 282 (S315). Further, the abbreviated character string description unit 224 replaces the character string included in the document with the abbreviated character string in accordance with the record in the database 282 (S363). When the replacement is completed, the document transmission unit 214 transmits a document including the shortened character string to the client 300 (S319). Before or after the document transmission, or in parallel with this, the association information transmission unit 226 transmits the association information generated based on the records in the database 282 to the client 300 (S321).
- the resource acquisition unit 208 acquires the referenced resource (S309).
- the resource analysis unit 220 analyzes the acquired resource (S311).
- the abbreviated character string description unit 224 replaces the character string included in the resource with the abbreviated character string based on the abbreviated character string record of the database 382 generated by the process of S315 (S365).
- the resource transmission unit 216 transmits a resource including the shortened character string to the client 300 (S323).
- the resource character string is replaced with the shortened character string based on the generation result of the shortened character string in the document.
- the resource can be replaced with the shortened character string so as to be consistent with the document. Accordingly, the display of the document can be started by the client 300 without waiting for completion of the replacement of the shortened character string for the resource.
- the processing flow of the client in this modification can be the same as that shown in FIG. 12 except that the resource reception unit 308 receives the resource after the document and the association information are received.
- the detailed explanation is omitted.
- the example in which the information that associates the original character string with the abbreviated character string is stored in the database is described. However, the information does not necessarily have to be stored in the database. Then, a file or the like may be used.
- FIG. 14 is a block diagram illustrating a schematic functional configuration of an intermediate server and a client according to the fourth embodiment of the present disclosure.
- the intermediate server 200 includes a request receiving unit 202, a document acquisition unit 204, a document analysis unit 206, a resource acquisition unit 208, an identifier generation unit 210, and an identifier description unit 212 as functional configurations.
- FIG. 14 is a block diagram illustrating a schematic functional configuration of an intermediate server and a client according to the fourth embodiment of the present disclosure.
- the intermediate server 200 includes a request receiving unit 202, a document acquisition unit 204, a document analysis unit 206, a resource acquisition unit 208, an identifier generation unit 210, and an identifier description unit 212 as functional configurations.
- the client 300 includes a request transmission unit 302, a document reception unit 304, an association information reception unit 314, a character string interpretation unit 316, a cache determination unit 306, and a resource reception unit 308 as functional configurations. And a display control unit 310.
- These functional configurations can be realized, for example, when a processor included in an information processing device that realizes the intermediate server 200 and the client 300 operates according to a program stored in a memory or a recording medium. Further, the cache 280 and the database 282 in the intermediate server 200 and the cache 380 and the database 382 in the client 300 can be realized by, for example, storage or memory of each information processing apparatus.
- this embodiment is a combination of the first embodiment and the third embodiment. Since the functional configurations of the intermediate server 200 and the client 300 have already been described in the first and third embodiments, detailed descriptions thereof will be omitted.
- FIG. 15 (Processing flow of intermediate server)
- FIG. 15 is a flowchart illustrating processing of the intermediate server according to the fourth embodiment of the present disclosure.
- the request receiving unit 202 receives a request from the client 300 (S401).
- the document acquisition unit 204 acquires the document specified in the request (S403).
- the document analysis unit 206 analyzes the acquired document (S405).
- the resource acquisition unit 208 acquires the referenced resource for the reference to the resource detected in the document (S407).
- the identifier generation unit 210 generates a unique identifier based on the acquired content of the resource (S409).
- the identifier description unit 212 associates the generated unique identifier with a reference to a resource in the document (S411). Note that the above processing may be executed sequentially each time a reference to one or a plurality of resources is detected, or may be executed collectively after all references to resources are detected.
- the shortened character string generation unit 222 generates a shortened character string for the shortenable character string detected in the document before or after the above S407 to S411 or in parallel (S413). At this time, the shortened character string generation unit 222 adds a shortened character string record that associates the original character string with the shortened character string to the database 282 (S415). Further, the abbreviated character string description unit 224 replaces the character string included in the document with the abbreviated character string in accordance with the abbreviated character string record in the database 282 (S417). Note that when S407 to S411 and S413 to S417 are executed in parallel as in the illustrated example, references to resources in the document do not have to be a target for generating a shortened character string.
- the document transmission unit 214 transmits the document updated by the identifier description unit 212 and the shortened character string description unit 224 to the client 300 (S419).
- the association information transmitting unit 226 transmits the association information generated based on the record of the database 282 to the client 300 (S421).
- the resource analysis unit 220 analyzes the resource acquired in the above S407 before or after the transmission of the document and the association information or in parallel with this (S423). After that, the short character string description unit 224 replaces the character string included in the resource with the short character string based on the short character string record of the database 282 generated by the processing of the short character string generation unit 222 for the document ( S425). Thereafter, the resource transmission unit 216 transmits the resource to the client 300 in response to the resource request from the client 300 (S427).
- FIG. 16 (FIG. 16A and FIG. 16B) is a flowchart showing processing of the client according to the fourth embodiment of the present disclosure.
- the request transmission unit 302 transmits a request to the intermediate server 200 (S451).
- the document receiving unit 304 receives the document transmitted by the intermediate server 200 in response to the request (S453).
- the association information receiving unit 314 receives the association information transmitted from the intermediate server 200 before, after, or in parallel with the reception of the document (S455).
- the association information receiving unit 314 generates a shortened character string record in the database 382 based on the received association information (S457).
- the character string interpretation unit 316 refers to the database 382 and interprets the shortened character string included in the document (S459).
- the display control unit 310 starts displaying the received document based on the interpretation by the character string interpretation unit 316 (S461).
- the cache determination unit 306 determines whether or not a resource is stored in the cache 380 based on a unique identifier for each resource content associated with a reference to the resource in the document.
- the cache determination unit 306 When it is determined that the resource is stored in the cache 380 (YES in S465), the cache determination unit 306 reads the resource from the cache 380 and provides it to the character string interpretation unit 316. That is, the cache determination unit 306 reuses the cached resource 380 (S467). On the other hand, when it is determined that the resource is not stored in the cache 380 (NO in S465), the cache determination unit 306 transmits a resource request to the intermediate server 200 (S469). The resource receiving unit 308 receives the resource transmitted by the intermediate server 200 in response to the request (S471).
- the character string interpretation unit 316 interprets the shortened character string included in the reused resource or the resource received from the intermediate server 200 based on the record in the database 382 (S473).
- the display control unit 310 continues to display the document by using the result obtained by the character string interpretation unit 316 interpreting the shortened character string included in the document and the resource (S475).
- S465-S475 can be repeated until all references to resources in the document are found.
- the display control unit 310 displays the entire document and no reference to the resource is found, or when no reference to the resource is found (NO in S463), the client 300 completes the display of the document (S463). S477).
- the shortened character string generation unit 222 when the cache 380 in the client 300 is used for resources, it is desirable that the shortened character strings included in the resources are the same regardless of the opportunity to refer to the resources. Therefore, for example, in the intermediate server 200, the shortened character string generation unit 222 generates a shortened character string using a predetermined algorithm, and if the original character string is the same, the same shortened character string is automatically generated. You may do it. Alternatively, by using the database 282 in the intermediate server 200 in common for a plurality of documents, the same abbreviated character string may be generated if the original character string is the same.
- FIG. 17 is a flowchart illustrating processing of the intermediate server according to the fifth embodiment of the present disclosure. Note that the illustrated series of processing can be executed by a processor included in an information processing apparatus that implements the intermediate server 200 operating according to a program stored in a memory or a recording medium.
- the processor receives a request from the client 300 (S501).
- the processor acquires the document specified in the request (S503).
- the processor may acquire the document from the distribution source server 100 or may acquire the document internally from the cache.
- the processor acquires a resource referred to in the document (S505).
- the resource may also be acquired from the distribution source server 100 or may be acquired internally from the cache.
- the processor generates intermediate data based on the acquired document and resource (S507).
- the generation of intermediate data may include, for example, generation of a DOM (Document Object Model) by parsing an HTML document, generation of a Computed Style by CSS processing, and conversion to an intermediate representation by parsing of JavaScript.
- the processor transmits the generated intermediate data to the client 300 (S509).
- FIG. 18 is a flowchart showing processing of a client according to the fifth embodiment of the present disclosure.
- the series of processes shown in the figure can be executed by a processor provided in an information processing apparatus that implements the client 300 operating according to a program stored in a memory or a recording medium.
- the processor transmits a request to the intermediate server 200 (S521).
- the processor receives the intermediate data based on the document and the resource transmitted by the intermediate server 200 in response to the request (S523).
- the processor generates a layout based on the received intermediate data (S525), and displays a document according to the layout (S527).
- part of the processing for displaying the document on the client 300 is executed instead on the intermediate server 200. If the processing capability of the intermediate server 200 is higher than that of the client 300, this shortens the time from when the request is sent by the client 300 until the display of the document is completed.
- intermediate server 200 what kind of intermediate data is generated by the intermediate server 200 is appropriately determined according to the network status, the processing capability of the client 300, and the like. For example, only one of the above three examples relating to the HTML document may be employed, any two may be employed, or all three may be employed.
- FIG. 19 is a flowchart illustrating processing of the intermediate server according to the sixth embodiment of the present disclosure. Note that the illustrated series of processing can be executed by a processor included in an information processing apparatus that implements the intermediate server 200 operating according to a program stored in a memory or a recording medium. Only the present embodiment will be described assuming that the document is an HTML document and the resource is a CSS.
- the processor receives a request from the client 300 (S601).
- the processor acquires the HTML document specified in the request (S603). Similar to the other embodiments described above, the processor may acquire the HTML document from the distribution source server 100 or may acquire it internally from the cache.
- the processor acquires the CSS referred to in the HTML document (S605).
- the CSS may be acquired from the distribution source server 100 or may be acquired internally from the cache.
- the processor specifies a style defined by CSS for each element of the HTML document (S607).
- a style defined by CSS for each element of the HTML document S607.
- the processor updates the CSS based on the processing result of S607 (S609), and transmits the CSS updated together with the document to the client 300 (S611).
- the client 300 displays an HTML document based on the HTML document and CSS received from the intermediate server 200. Since the processing at this time is the same as the processing for displaying a normal HTML document, detailed description thereof is omitted. However, in the case of the present embodiment, the CSS referred to by the client 300 is optimized by the processing in the intermediate server 200 as described above. Therefore, the client 300 can omit most of the processing for specifying the style defined for each element of the HTML document. Therefore, if the processing capacity of the intermediate server 200 is higher than that of the client 300, this shortens the time from when the request is transmitted by the client 300 until the display of the document is completed.
- the resource is CSS.
- other resources such as images and scripts may be referred to together with CSS.
- FIG. 20 is a block diagram illustrating a schematic functional configuration of the intermediate server and the client according to the seventh embodiment of the present disclosure.
- the intermediate server 200 includes, as functional configurations, a request reception unit 202, a document acquisition unit 204, a document analysis unit 206, a resource acquisition unit 208, an image transcoding unit 228, and an image reference update unit. 230, a document transmission unit 214, and a resource transmission unit 216.
- the client 300 includes a request transmission unit 302, a document reception unit 304, a resource reception unit 308, and a display control unit 310 as functional configurations.
- These functional configurations can be realized, for example, when a processor included in an information processing device that realizes the intermediate server 200 and the client 300 operates according to a program stored in a memory or a recording medium. Further, the cache 280 in the intermediate server 200 and the cache 380 in the client 300 can be realized by, for example, storage or memory of each information processing apparatus.
- the request reception unit 202 and the document acquisition unit 204 acquire a document in response to a request from the client 300, as in the first embodiment.
- the document analysis unit 206 analyzes the document acquired by the document acquisition unit 204 and detects a reference to a resource included in the document.
- the resource acquisition unit 208 acquires the referenced resource when the document analysis unit 206 detects a reference to the resource.
- the resources acquired by the resource acquisition unit 208 include images of various formats.
- the image transcoding unit 228 transcodes the acquired image into a predetermined format, and stores the transcoded image in the cache 280.
- the image reference update unit 230 updates the reference to the image resource included in the document to the reference to the image after transcoding by the image transcoding unit 228 stored in the cache 280.
- the document transmission unit 214 transmits the document whose reference is updated to the client 300.
- the resource transmission unit 216 transmits the resource stored in the cache 280 in response to a request from the client 300.
- the transmitted resource can include an image transcoded by the image transcoding unit 228 into a predetermined format.
- the request transmission unit 302 and the document reception unit 304 transmit a request to the intermediate server 200 as in the first embodiment, and receive the document transmitted by the intermediate server 200 in response to the request.
- the display control unit 310 displays the received document.
- the resource receiving unit 308 transmits a request to the intermediate server 200 and receives the resource transmitted in response to the request.
- the resource received here may include an image transcoded into a predetermined format by the image transcoding unit 228 described above.
- the display control unit 310 causes the document to be displayed using the resource stored in the cache 380 or the resource received by the resource receiving unit 308.
- FIG. 21 is a flowchart illustrating processing of the intermediate server according to the seventh embodiment of the present disclosure.
- the request receiving unit 202 receives a request from the client 300 (S701).
- the document acquisition unit 204 acquires the document specified in the request (S703).
- the document analysis unit 206 analyzes the acquired document (S705).
- the image reference update unit 230 changes a reference to an image resource included in the document to a reference to the image after transcoding. (S709).
- the identifier such as the file name of the image after the transcoding is determined first. The determined identifier is described in the document reference and is temporarily stored in the memory of the intermediate server 200, and is associated with the transcoded image to be generated later.
- the document transmission unit 214 transmits the document with the updated reference to the image resource to the client 300 (S711).
- the resource acquisition unit 208 acquires an image that is referred to (S713).
- the image transcoding unit 228 transcodes the acquired image into a predetermined format (S715). Note that if the transcoded image is already stored in the cache 280, the image transcoding unit 228 may omit the transcoding process again.
- the resource transmission unit 216 transmits a resource including the transcoded image to the client 300 in response to the resource request from the client 300 (S717).
- the intermediate server 200 executes the transcoding of the image, so that the time until the client 300 completes the display of the document can be shortened.
- the image transcoding unit 228 performs image transcoding.
- the document transmission unit 214 may transmit the document to the client 300.
- the processing in the client 300 is the same as the processing for displaying a normal document except that a transcoded image is included in the referenced resource, and thus detailed description thereof is omitted. To do.
- images included in resources acquired from the distribution source server 100 are described in various formats such as JPEG, PNG, and GIF. Moreover, it is often the case that images do not strictly follow these formats. Therefore, when an image acquired from the distribution source server 100 (including an image cached by the intermediate server 200 or the client 300) is decoded by the client 300, it is necessary to assume various cases, so that the processing is optimized. It was difficult to do and the processing efficiency was not always high. In addition, images often occupy a large proportion of data transferred from the intermediate server 200 to the client 300 for document display, and the demand for reducing the amount of image data is still high.
- the intermediate server 200 transcodes the image. For example, even if the image transcode 282 of the intermediate server 200 only transcodes the image acquired from the distribution source server 100 into a genuine format of each format, the decoding at the client 300 can be optimized to some extent. Thus, the display of the document can be speeded up. Further, when the image transcode 282 transcodes the image acquired from the distribution source server 100 into one or a plurality of predetermined formats that can optimize the decoding process in the client 300, the display of the document can be performed. Further speedup is possible.
- image format (8-4. Format example)
- the image format described below may be implemented in combination with transcoding in an intermediate server as in the present embodiment, for example, but is not limited to such an example, and when implemented as the image format itself Can also provide various advantages. That is, the embodiment of the present disclosure may include an image format (for example, an image processing apparatus or an image processing method that handles an image of the format) independent of transcoding.
- 22 and 23 are diagrams for describing image file generation processing in accordance with an image format that can be applied in the seventh embodiment of the present disclosure.
- the process described here can be executed by, for example, the image transcoding unit 228 of the intermediate server 200 described above.
- a vector component 704, a bitmap component 706, and an approximation error 708 are calculated from an original image 700 described in a bitmap format (including JPEG, PNG, GIF, etc.).
- the original image 700 is divided into two area groups 702a and 702b (S751).
- the region group 702a is a wide region having a low spatial frequency.
- the region group 702b is a narrow region having a high spatial frequency.
- the division of the region can be realized by various known methods such as a split-and-merge method.
- the vector component 704 is generated by the processing of S753 to S761.
- a shading model of three-dimensional computer graphics can be applied. In the shading model, specular and the like can be expressed by setting a cubic surface and a light source.
- the vector component 704 can be generated by expressing the approximate outline and the color in the outline for each region of the region group 702a.
- a bitmap component 706 is generated by compressing it as an image (S763).
- S763 a known technique such as DCT (Discrete Cosine Transform) or VQ (Vector Quantization) can be used.
- an encoded image file 714 is generated based on the vector component 704, the bitmap component 706, and the approximation error 708.
- the area of the original image 700 is divided based on the bounding boxes (bbox) of the vector component 704 and the bitmap component 706, and a kd tree 710 indicating the division is generated (S767).
- the approximate error component 712 can be obtained by allocating the approximate error 708 by the area dividing line of the kd tree 710 (S769).
- the image file 714 is generated by serializing the vector component 704, the bitmap component 706, the kd tree 710, and the approximate error component 712 thus obtained (S771).
- a kd tree 710 is described as structure data at the top. As a result, it is possible to quickly seek the component of the region to be drawn. Subsequently, a vector component 704, a bitmap component 706, and an approximate error component 712 are described. For the components other than the kd tree 710, the arrangement order in the image file 714 is not particularly limited.
- each vertex data is normalized by bbox. Therefore, the number of significant digits required by the mantissa part can be reduced and the data can be compressed.
- the approximate error component 712 run-length compression is possible if most of the error zero region is present. Further, even if there is an error, the distribution should be concentrated on a small-scale error, so that it can be compressed using an algorithm such as LZW.
- the vector component 704 represents, for example, that a region surrounded by a Bezier curve is solidly painted with a single color.
- An example of the description content of the vector component 704 is shown below. In the example, the description content is expressed in PostScript format for the sake of explanation, but the actual vector component 704 is compressed after being binary encoded, for example. newpath 0 100 moveto 100 50 150 50 250 0 rcurveto 100 -50 150 -50 250 0 rcurveto closepath 0 .3 1 .0 setcolor fill
- the bitmap component 706 represents applying a bitmap pattern to a rectangular area, for example.
- An example of the description content of the bitmap component 706 is shown below. In the example, the description content is expressed in PostScript format for the sake of explanation, but the actual bitmap component 706 is compressed after being binary encoded, for example.
- xxxx piximage indicates a bitmap used as a fill pattern. newpath 100 100 moveto 100 0 rlineto 0 100 rlineto -100 0 rlineto closepath xxxx piximage fill
- the display control unit 310 of the client 300 draws the vector components 704 included in the image file 714 in order.
- the path of the vector component 704 drawn later is prioritized.
- the display control unit 310 sequentially draws the bitmap components 706 included in the image file 714. At this time, the drawing by the bitmap component 706 is overwritten with the drawing by the vector component 704. If there is an overlap in the path between the bitmap components 706, the path of the bitmap component 706 drawn later is given priority.
- the display control unit 310 adds the approximate error component 712 to the image of each region.
- the approximate error component 712 may be added for each of RGBA (Red, Green, Blue, Alpha), for example.
- the display control unit 310 of the client 300 When drawing during download, as a first example, the display control unit 310 of the client 300 performs the vector component 704, the bitmap component 706, and the approximate error component 712 in order in accordance with the download progress of the image file 714. draw. As a result, first, a wide range of colors is determined, and then a display in which the image is detailed in stages is possible.
- the display control unit 310 of the client 300 first downloads the kd tree 710 at the head of the image file 714.
- the display control unit 310 can obtain pointer information from the kd tree 710 to the vector component 704, the bitmap component 706, and the approximate error component 712 corresponding to a specific region. Accordingly, the display control unit 310 downloads the vector component 704, the bitmap component 706, and the approximate error component 712 referred to by the pointer information using a file seek or HTTP range request.
- the display control unit 310 draws the specific range in the order of the vector component 704, the bitmap component 706, and the approximate error component 712, and ends the decoding for the region.
- the communication capacity can be reduced by reducing the file size of the image referred to in the document.
- the decoding process can be speeded up by vectorizing these parts by transcoding.
- FIG. 24 is a block diagram for describing a hardware configuration example of the information processing apparatus according to the embodiment of the present disclosure.
- the illustrated information processing apparatus 900 can realize, for example, a server and a client in the above-described embodiment.
- the information processing apparatus 900 includes a CPU (Central Processing unit) 901, a ROM (Read Only Memory) 903, and a RAM (Random Access Memory) 905.
- the information processing apparatus 900 may include a host bus 907, a bridge 909, an external bus 911, an interface 913, an input device 915, an output device 917, a storage device 919, a drive 921, a connection port 923, and a communication device 925.
- the information processing apparatus 900 may include an imaging device 933 and a sensor 935 as necessary.
- the information processing apparatus 900 may include a processing circuit called DSP (Digital Signal Processor) or ASIC (Application Specific Integrated Circuit) instead of or in addition to the CPU 901.
- DSP Digital Signal Processor
- ASIC Application Specific Integrated Circuit
- the CPU 901 functions as an arithmetic processing device and a control device, and controls all or a part of the operation in the information processing device 900 according to various programs recorded in the ROM 903, the RAM 905, the storage device 919, or the removable recording medium 927.
- the ROM 903 stores programs and calculation parameters used by the CPU 901.
- the RAM 905 primarily stores programs used in the execution of the CPU 901, parameters that change as appropriate during the execution, and the like.
- the CPU 901, the ROM 903, and the RAM 905 are connected to each other by a host bus 907 configured by an internal bus such as a CPU bus. Further, the host bus 907 is connected to an external bus 911 such as a PCI (Peripheral Component Interconnect / Interface) bus via a bridge 909.
- PCI Peripheral Component Interconnect / Interface
- the input device 915 is a device operated by the user, such as a mouse, a keyboard, a touch panel, a button, a switch, and a lever.
- the input device 915 may be, for example, a remote control device that uses infrared rays or other radio waves, or may be an external connection device 929 such as a mobile phone that supports the operation of the information processing device 900.
- the input device 915 includes an input control circuit that generates an input signal based on information input by the user and outputs the input signal to the CPU 901. The user operates the input device 915 to input various data and instruct processing operations to the information processing device 900.
- the output device 917 is a device that can notify the user of the acquired information visually or audibly.
- the output device 917 can be, for example, a display device such as an LCD (Liquid Crystal Display), a PDP (Plasma Display Panel), an organic EL (Electro-Luminescence) display, an audio output device such as a speaker and headphones, and a printer device.
- the output device 917 outputs the result obtained by the processing of the information processing device 900 as video such as text or an image, or outputs it as audio such as voice or sound.
- the storage device 919 is a data storage device configured as an example of a storage unit of the information processing device 900.
- the storage device 919 includes, for example, a magnetic storage device such as an HDD (Hard Disk Drive), a semiconductor storage device, an optical storage device, or a magneto-optical storage device.
- the storage device 919 stores programs executed by the CPU 901, various data, various data acquired from the outside, and the like.
- the drive 921 is a reader / writer for a removable recording medium 927 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and is built in or externally attached to the information processing apparatus 900.
- the drive 921 reads information recorded on the attached removable recording medium 927 and outputs the information to the RAM 905.
- the drive 921 writes a record in the attached removable recording medium 927.
- the connection port 923 is a port for directly connecting a device to the information processing apparatus 900.
- the connection port 923 can be, for example, a USB (Universal Serial Bus) port, an IEEE 1394 port, a SCSI (Small Computer System Interface) port, or the like.
- the connection port 923 may be an RS-232C port, an optical audio terminal, an HDMI (High-Definition Multimedia Interface) port, or the like.
- the communication device 925 is a communication interface configured with, for example, a communication device for connecting to the communication network 931.
- the communication device 925 may be, for example, a communication card for wired or wireless LAN (Local Area Network), Bluetooth (registered trademark), or WUSB (Wireless USB).
- the communication device 925 may be a router for optical communication, a router for ADSL (Asymmetric Digital Subscriber Line), or a modem for various communication.
- the communication device 925 transmits and receives signals and the like using a predetermined protocol such as TCP / IP with the Internet and other communication devices, for example.
- the communication network 931 connected to the communication device 925 is a wired or wireless network, such as the Internet, a home LAN, infrared communication, radio wave communication, or satellite communication.
- the imaging device 933 uses various members such as an imaging element such as a CCD (Charge Coupled Device) or a CMOS (Complementary Metal Oxide Semiconductor), and a lens for controlling the formation of a subject image on the imaging element. It is an apparatus that images a real space and generates a captured image.
- the imaging device 933 may capture a still image or may capture a moving image.
- the sensor 935 is various sensors such as an acceleration sensor, a gyro sensor, a geomagnetic sensor, an optical sensor, and a sound sensor.
- the sensor 935 acquires information about the state of the information processing apparatus 900 itself, such as the posture of the information processing apparatus 900, and information about the surrounding environment of the information processing apparatus 900, such as brightness and noise around the information processing apparatus 900, for example. To do.
- the sensor 935 may include a GPS sensor that receives a GPS (Global Positioning System) signal and measures the latitude, longitude, and altitude of the apparatus.
- GPS Global Positioning System
- Each component described above may be configured using a general-purpose member, or may be configured by hardware specialized for the function of each component. Such a configuration can be appropriately changed according to the technical level at the time of implementation.
- Embodiments of the present disclosure include, for example, an information processing apparatus (server apparatus or client apparatus) as described above, a system, an information processing method executed by the information processing apparatus or system, and a program for causing the information processing apparatus to function And a non-transitory tangible medium on which the program is recorded. It should be noted that the plurality of embodiments described above can be implemented in any combination within the scope obvious to those skilled in the art from the description of the present specification, even if it is not specified that the combinations are particularly possible. .
- a document acquisition unit that acquires a document including a reference to a resource in response to a request from a client;
- An identifier generator that generates a unique identifier for each content of the resource;
- An identifier description that associates the identifier with a reference to the resource in the document;
- a server apparatus comprising: a document transmission unit configured to transmit the document and an identifier associated with a reference to the resource to the client.
- the server device according to (1) or (2), further including a resource advance delivery unit.
- the resource pre-distribution unit pre-compiles the program and transmits the program to the client when the resource estimated to be used frequently is a program. .
- the server device according to any one of (1) to (4), wherein the identifier includes a hash calculated based on a content of the resource.
- the document transmission unit transmits the document in which a dummy identifier is associated with a reference to the resource before the identifier is generated to the client, and after the identifier is generated, 6.
- the server device according to any one of (1) to (5), wherein information that associates the identifier is transmitted to the client.
- a request transmission unit that transmits a request to the server;
- a document receiving unit that receives a document including a reference to a resource transmitted from the server in response to the request, and a unique identifier for each content of the resource associated with the reference to the resource;
- a cache determination unit that determines whether or not the resource is stored in a cache based on the identifier.
- the client device receives a document including a reference to the resource associated with the identifier in addition to the original identifier.
- Client device receives the predetermined resource associated with the identifier from the server before the request and stores the received resource in a cache.
- Client device (10) The client device according to (9), wherein when the predetermined resource is a program, the resource advance receiving unit receives the precompiled program and caches the received program.
- the resource advance receiving unit caches the received program in a storage area different from resources other than the program.
- the client device according to any one of (7) to (11), wherein the identifier includes a hash calculated based on a content of the resource.
- the document reception unit receives, from the server, information associating the identifier with the dummy identifier after receiving the document in which a dummy identifier is associated with the reference to the resource from the server.
- the client device according to any one of (12) to (12).
- the cache determination unit realizes a function of transmitting a request for the identifier to the server when referring to the resource in a state where a dummy identifier is associated with a reference to the resource.
- the client device according to 13).
- DESCRIPTION OF SYMBOLS 10 System 100 Distribution server 200 Intermediate server 202 Request receiving part 204 Document acquisition part 206 Document analysis part 208 Resource acquisition part 210 Identifier generation part 212 Identifier description part 214 Document transmission part 216 Resource transmission part 218 Resource advance distribution part 220 Resource analysis part 222 Short character string generation unit 224 Short character string description unit 226 Association information transmission unit 228 Image transcoding unit 230 Image reference update unit 280 Cache 282 Database 300 Client 302 Request transmission unit 304 Document reception unit 306 Cache determination unit 308 Resource reception unit 310 Display Control unit 312 Resource preceding reception unit 314 Association information reception unit 316 Character string interpretation unit 380 Interview 382 database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Digital Computer Display Output (AREA)
- Document Processing Apparatus (AREA)
Abstract
Description
1.システム構成
2.第1の実施形態
2-1.機能構成
2-2.処理フロー
2-3.変形例
3.第2の実施形態
3-1.機能構成
3-2.処理フロー
4.第3の実施形態
4-1.機能構成
4-2.処理フロー
4-3.変形例
5.第4の実施形態
5-1.機能構成
5-2.処理フロー
6.第5の実施形態
7.第6の実施形態
8.第7の実施形態
8-1.機能構成
8-2.処理フロー
8-3.トランスコードの例
8-4.フォーマットの例
8-5.デコード処理の例
9.ハードウェア構成
10.補足
図1は、本開示のいくつかの実施形態が適用されるシステムの概略的な構成を示す図である。図1を参照すると、システム10は、配信元サーバ100と、中間サーバ200と、クライアント300とを含む。配信元サーバ100、中間サーバ200、およびクライアント300は、例えばインターネットなどのネットワークによって相互に接続されている。
(2-1.機能構成)
図2は、本開示の第1の実施形態に係る中間サーバおよびクライアントの概略的な機能構成を示すブロック図である。図2を参照すると、中間サーバ200は、機能構成として、リクエスト受信部202と、ドキュメント取得部204と、ドキュメント解析部206と、リソース取得部208と、識別子生成部210と、識別子記述部212と、ドキュメント送信部214と、リソース送信部216とを含む。クライアント300は、機能構成として、リクエスト送信部302と、ドキュメント受信部304と、キャッシュ判定部306と、リソース受信部308と、表示制御部310とを含む。
中間サーバ200では、リクエスト受信部202がクライアント300からのリクエストを受信する。リクエストが受信されると、ドキュメント取得部204が、リクエストに応じて、リクエストにおいて指定されたドキュメントを取得する。このとき、ドキュメント取得部204は、キャッシュ280に格納されたドキュメントを内部的に取得してもよい。指定されたドキュメントがキャッシュ280に格納されていない場合、ドキュメント取得部204は配信元サーバ100にリクエストを送信し、リクエストに応じて配信元サーバ100から送信されたドキュメントを取得する。
(a)<img src=“resource/image001.jpg”/>
(b)<img src=“resource/image001.jpg” new_id=“736f6e7920706174656e74”/>
(c)<img src=“http://www.xxx.yyy/zzz/736f6e7920706174656e74”/>
クライアント300では、リクエスト送信部302が、例えばユーザ操作に基づいて中間サーバ200にリクエストを送信する。ドキュメント受信部304は、中間サーバ200がリクエストに応じて送信したドキュメントを受信する。上述の通り、受信されるドキュメントにはリソースへの参照が含まれ、リソースへの参照には中間サーバ200の識別子生成部210によって生成されたリソースの内容ごとに一意な識別子が関連付けられている。上述の通り、ドキュメントにおいて、一意な識別子は、オリジナルの識別子に追加してリソースへの参照に関連付けられていてもよい。
(中間サーバの処理フロー)
図3は、本開示の第1の実施形態に係る中間サーバの処理を示すフローチャートである。図3を参照すると、まず、リクエスト受信部202が、クライアント300からのリクエストを受信する(S101)。次に、ドキュメント取得部204が、リクエストにおいて指定されたドキュメントを取得する(S103)。次に、ドキュメント解析部206が、取得されたドキュメントを解析する(S105)。
図4は、本開示の第1の実施形態に係るクライアントの処理を示すフローチャートである。図4を参照すると、まず、リクエスト送信部302が、中間サーバ200にリクエストを送信する(S131)。次に、ドキュメント受信部304が、中間サーバ200がリクエストに応じて送信したドキュメントを受信する(S133)。ここで、表示制御部310は、受信されたドキュメントの表示を開始する(S135)。
(中間サーバの処理フロー)
図5は、本開示の第1の実施形態の変形例に係る中間サーバの処理を示すフローチャートである。図5を参照すると、まず、上記で図3を参照して説明した例と同様にS101~S105が実行される。
図6は、本開示の第1の実施形態の変形例に係るクライアントの処理を示すフローチャートである。図6を参照すると、まず、上記で図4を参照して説明した例と同様にS131~S135が実行される。
(3-1.機能構成)
図7は、本開示の第2の実施形態に係る中間サーバおよびクライアントの概略的な機能構成を示すブロック図である。図7を参照すると、中間サーバ200は、機能構成として、リソース先行配信部218をさらに含む。また、クライアント300は、機能構成として、リソース先行受信部312をさらに含む。
(中間サーバの処理フロー)
図8は、本開示の第2の実施形態に係る中間サーバがリクエストを受信する前の処理を示すフローチャートである。図8を参照すると、まず、リソース先行配信部218が、先行して配信するリソースを決定する(S201)。ここで、先行して配信するリソースは、例えば上記のように識別子がドキュメントにおいてリソースへの参照に関連付けられた回数に基づいて決定されてもよいし、サービス提供者によって指定されてもよい。
図9は、本開示の第2の実施形態に係るクライアントがリクエストを送信する前の処理を示すフローチャートである。図9を参照すると、まず、リソース先行受信部312が、中間サーバ200から配信されたリソースを受信する(S211)。次に、リソース先行受信部312は、付加的な処理として、先行して配信されるリソースがプログラムであれば(S213のYES)、配信されたリソースを他のリソースとは別の、プログラム用の記憶領域にリソースを格納する(S215)。そうでない場合、リソース先行受信部312は、リソースを通常のキャッシュ380の記憶領域に格納する(S217)。
(4-1.機能構成)
図10(図10Aおよび図10B)は、本開示の第3の実施形態に係る中間サーバおよびクライアントの概略的な機能構成を示すブロック図である。図10Aを参照すると、中間サーバ200は、機能構成として、リクエスト受信部202と、ドキュメント取得部204と、ドキュメント解析部206と、リソース取得部208と、リソース解析部220と、短縮文字列生成部222と、短縮文字列記述部224と、ドキュメント送信部214と、関連付け情報送信部226と、リソース送信部216とを含む。図10Bを参照すると、クライアント300は、機能構成として、リクエスト送信部302と、ドキュメント受信部304と、リソース受信部308と、関連付け情報受信部314と、文字列解釈部316と、表示制御部310とを含む。
中間サーバ200では、リクエスト受信部202およびドキュメント取得部204が、上記の第1の実施形態と同様に、クライアント300からのリクエストに応じてドキュメントを取得する。また、ドキュメント解析部206は、ドキュメント取得部204が取得したドキュメントを解析し、ドキュメントに含まれるリソースへの参照を検出する。リソース取得部208は、ドキュメント解析部206によってリソースへの参照が検出された場合に、参照されているリソースを取得する。
クライアント300では、リクエスト送信部302およびドキュメント受信部304が、上記の第1の実施形態と同様に、中間サーバ200にリクエストを送信し、中間サーバ200がリクエストに応じて送信したドキュメントを受信する。また、リソース受信部308は、中間サーバ200から送信されたリソースを受信する。受信されたドキュメントおよびリソースは、文字列解釈部316に提供される。さらに、本実施形態では、関連付け情報受信部314が、中間サーバ200の関連付け情報送信部226から送信された関連付け情報を受信する。関連付け情報受信部314は、受信した関連付け情報に基づいて、データベース382に短縮文字列レコードを生成する。
(中間サーバの処理フロー)
図11は、本開示の第3の実施形態に係る中間サーバの処理を示すフローチャートである。図11を参照すると、まず、リクエスト受信部202が、クライアント300からのリクエストを受信する(S301)。次に、ドキュメント取得部204が、リクエストにおいて指定されたドキュメントを取得する(S303)。次に、ドキュメント解析部206が、取得されたドキュメントを解析する(S305)。
図12は、本開示の第3の実施形態に係るクライアントの処理を示すフローチャートである。図12を参照すると、まず、リクエスト送信部302が、中間サーバ200にリクエストを送信する(S331)。次に、ドキュメント受信部304が、中間サーバ200がリクエストに応じて送信した、短縮文字列を含むドキュメントを受信する(S333)。これと前後して、またはこれと並行して、関連付け情報受信部314が、中間サーバ200から送信された関連付け情報を受信する(S335)。関連付け情報受信部314は、受信した関連付け情報に基づいてデータベース382にレコードを生成する(S337)。また、リソース受信部308が、中間サーバ200が送信した、短縮文字列を含むリソースを受信する(S339)。
(中間サーバの処理フロー)
図13は、本開示の第3の実施形態の変形例に係る中間サーバの処理を示すフローチャートである。図13を参照すると、まず、上記で図11を参照して説明した例と同様にS301~S305が実行される。
(5-1.機能構成)
図14(図14Aおよび図14B)は、本開示の第4の実施形態に係る中間サーバおよびクライアントの概略的な機能構成を示すブロック図である。図14Aを参照すると、中間サーバ200は、機能構成として、リクエスト受信部202と、ドキュメント取得部204と、ドキュメント解析部206と、リソース取得部208と、識別子生成部210と、識別子記述部212と、リソース解析部220と、短縮文字列生成部222と、短縮文字列記述部224と、ドキュメント送信部214と、関連付け情報送信部226と、リソース送信部216とを含む。図14Bを参照すると、クライアント300は、機能構成として、リクエスト送信部302と、ドキュメント受信部304と、関連付け情報受信部314と、文字列解釈部316と、キャッシュ判定部306と、リソース受信部308と、表示制御部310とを含む。
続いて、本実施形態の処理フローについて説明する。なお、以下の説明では、第1の実施形態および第3の実施形態のそれぞれの変形例を組み合わせたより複雑な処理フローについて説明するが、変形例ではない例を組み合わせた例についても同様に実現可能であることは容易に理解されるであろう。
図15(図15Aおよび図15B)は、本開示の第4の実施形態に係る中間サーバの処理を示すフローチャートである。図15を参照すると、まず、リクエスト受信部202が、クライアント300からのリクエストを受信する(S401)。次に、ドキュメント取得部204が、リクエストにおいて指定されたドキュメントを取得する(S403)。次に、ドキュメント解析部206が、取得されたドキュメントを解析する(S405)。
図16(図16Aおよび図16B)は、本開示の第4の実施形態に係るクライアントの処理を示すフローチャートである。図16を参照すると、まず、リクエスト送信部302が、中間サーバ200にリクエストを送信する(S451)。次に、ドキュメント受信部304が、中間サーバ200がリクエストに応じて送信したドキュメントを受信する(S453)。
図17は、本開示の第5の実施形態に係る中間サーバの処理を示すフローチャートである。なお、図示された一連の処理は、中間サーバ200を実現する情報処理装置に備えられるプロセッサがメモリまたは記録媒体に格納されたプログラムに従って動作することによって実行されうる。
図19は、本開示の第6の実施形態に係る中間サーバの処理を示すフローチャートである。なお、図示された一連の処理は、中間サーバ200を実現する情報処理装置に備えられるプロセッサがメモリまたは記録媒体に格納されたプログラムに従って動作することによって実行されうる。なお、本実施形態に限り、ドキュメントをHTMLドキュメント、リソースをCSSとして説明する。
(8-1.機能構成)
図20は、本開示の第7の実施形態に係る中間サーバおよびクライアントの概略的な機能構成を示すブロック図である。図20を参照すると、中間サーバ200は、機能構成として、リクエスト受信部202と、ドキュメント取得部204と、ドキュメント解析部206と、リソース取得部208と、画像トランスコード部228と、画像参照更新部230と、ドキュメント送信部214と、リソース送信部216とを含む。クライアント300は、機能構成として、リクエスト送信部302と、ドキュメント受信部304と、リソース受信部308と、表示制御部310とを含む。
中間サーバ200では、リクエスト受信部202およびドキュメント取得部204が、上記の第1の実施形態と同様に、クライアント300からのリクエストに応じてドキュメントを取得する。また、ドキュメント解析部206は、ドキュメント取得部204が取得したドキュメントを解析し、ドキュメントに含まれるリソースへの参照を検出する。リソース取得部208は、ドキュメント解析部206によってリソースへの参照が検出された場合に、参照されているリソースを取得する。
クライアント300では、リクエスト送信部302およびドキュメント受信部304が、上記の第1の実施形態と同様に、中間サーバ200にリクエストを送信し、中間サーバ200がリクエストに応じて送信したドキュメントを受信する。表示制御部310は、受信されたドキュメントを表示させる。このとき、ドキュメントにおいて参照されているリソースがキャッシュ380に格納されていなければ、リソース受信部308が中間サーバ200にリクエストを送信し、リクエストに応じて送信されたリソースを受信する。ここで受信されるリソースには、上記の画像トランスコード部228によって所定のフォーマットにトランスコードされた画像が含まれうる。表示制御部310は、キャッシュ380に格納されたリソース、またはリソース受信部308によって受信されたリソースを利用してドキュメントを表示させる。
図21は、本開示の第7の実施形態に係る中間サーバの処理を示すフローチャートである。図21を参照すると、まず、リクエスト受信部202が、クライアント300からのリクエストを受信する(S701)。次に、ドキュメント取得部204が、リクエストにおいて指定されたドキュメントを取得する(S703)。次に、ドキュメント解析部206が、取得されたドキュメントを解析する(S705)。
次に、本実施形態における画像のトランスコードの例について、さらに説明する。
次に、本実施形態における画像のトランスコードに適用することが可能な、画像のフォーマットの例について、さらに説明する。以下で説明する画像のフォーマットは、例えば本実施形態のような中間サーバにおけるトランスコードに組み合わせて実施されてもよいが、そのような例には限られず、画像フォーマットそれ自体として実施される場合にも様々な利点をもたらしうるものである。つまり、本開示の実施形態には、トランスコードとは独立した、画像のフォーマット(例えば当該フォーマットの画像を扱う画像処理装置または画像処理方法など)が含まれうる。
newpath
0 100 moveto
100 50 150 50 250 0 rcurveto
100 -50 150 -50 250 0 rcurveto
closepath
0 .3 1 .0 setcolor
fill
newpath
100 100 moveto
100 0 rlineto
0 100 rlineto
-100 0 rlineto
closepath
xxxx piximage
fill
次に、上記の例における画像ファイル714を、クライアント300においてデコードするときの処理の例について説明する。
まず、ダウンロード完了後にデコードする場合の処理について説明する。この場合、クライアント300の表示制御部310は、画像ファイル714に含まれるベクター成分704を順に描画する。この例では、パスに重複がある場合は、後から描画されたベクター成分704のパスが優先される。
ダウンロード途中で描画する場合、第1の例として、クライアント300の表示制御部310は、画像ファイル714のダウンロードの進捗に合わせて、ベクター成分704、ビットマップ成分706、および近似誤差成分712の順で描画する。これによって、まず広い範囲の色が確定し、その後段階的に画像が詳細化されているような表示が可能になる。
次に、図24を参照して、本開示の実施形態に係る情報処理装置のハードウェア構成について説明する。図24は、本開示の実施形態に係る情報処理装置のハードウェア構成例を説明するためのブロック図である。図示された情報処理装置900は、例えば、上記の実施形態におけるサーバおよびクライアントを実現しうる。
本開示の実施形態は、例えば、上記で説明したような情報処理装置(サーバ装置またはクライアント装置)、システム、情報処理装置またはシステムで実行される情報処理方法、情報処理装置を機能させるためのプログラム、およびプログラムが記録された一時的でない有形の媒体を含みうる。なお、上記で説明された複数の実施形態は、特に組み合わせが可能であることが明示されていなくても、本明細書の記載から当業者に自明な範囲で任意に組み合わせて実現することができる。
(1)クライアントからのリクエストに応じて、リソースへの参照を含むドキュメントを取得するドキュメント取得部と、
前記リソースの内容ごとに一意な識別子を生成する識別子生成部と、
前記ドキュメントにおいて前記識別子を前記リソースへの参照に関連付ける識別子記述部と、
前記ドキュメントと、前記リソースへの参照に関連付けられた識別子とを前記クライアントに送信するドキュメント送信部と
を備えるサーバ装置。
(2)前記識別子記述部は、前記識別子を、オリジナルの識別子に追加して前記リソースへの参照に関連付ける、前記(1)に記載のサーバ装置。
(3)前記識別子が前記リソースへの参照に関連付けられた回数をカウントし、前記回数に基づいて使用頻度が高いと推定される前記リソースを前記リクエストより前に前記識別子に関連付けて前記クライアントに送信するリソース先行配信部をさらに備える、前記(1)または(2)に記載のサーバ装置。
(4)前記リソース先行配信部は、前記使用頻度が高いと推定されるリソースがプログラムである場合に、前記プログラムをプリコンパイルしてから前記クライアントに送信する、前記(3)に記載のサーバ装置。
(5)前記識別子は、前記リソースの内容に基づいて算出されるハッシュを含む、前記(1)~(4)のいずれか1項に記載のサーバ装置。
(6)前記ドキュメント送信部は、前記識別子が生成される前に、前記リソースへの参照にダミー識別子を関連付けた前記ドキュメントを前記クライアントに送信し、前記識別子が生成された後に、前記ダミー識別子に前記識別子を関連付ける情報を前記クライアントに送信する、前記(1)~(5)のいずれか1項に記載のサーバ装置。
(7)サーバにリクエストを送信するリクエスト送信部と、
前記リクエストに応じて前記サーバから送信された、リソースへの参照を含むドキュメントと、前記リソースへの参照に関連付けられた前記リソースの内容ごとに一意な識別子とを前記サーバから受信するドキュメント受信部と、
前記識別子に基づいて、前記リソースがキャッシュに格納されているか否かを判定するキャッシュ判定部と
を備えるクライアント装置。
(8)前記ドキュメント受信部は、オリジナルの識別子に追加して前記識別子が関連付けられた前記リソースへの参照を含むドキュメントを受信する、前記(7)に記載のクライアント装置。
(9)前記識別子に関連付けられた所定の前記リソースを前記リクエストより前に前記サーバから受信し、該受信されたリソースをキャッシュに格納するリソース先行受信部をさらに備える、前記(7)または(8)に記載のクライアント装置。
(10)前記リソース先行受信部は、前記所定のリソースがプログラムである場合に、プリコンパイルされた前記プログラムを受信し、該受信されたプログラムをキャッシュする、前記(9)に記載のクライアント装置。
(11)前記リソース先行受信部は、前記受信されたプログラムを、プログラム以外のリソースとは異なる記憶領域にキャッシュする、前記(10)に記載のクライアント装置。
(12)前記識別子は、前記リソースの内容に基づいて算出されるハッシュを含む、前記(7)~(11)のいずれか1項に記載のクライアント装置。
(13)前記ドキュメント受信部は、前記リソースへの参照にダミー識別子が関連付けられた前記ドキュメントを前記サーバから受信した後に、前記ダミー識別子に前記識別子を関連付ける情報を前記サーバから受信する、前記(7)~(12)のいずれか1項に記載のクライアント装置。
(14)前記キャッシュ判定部は、前記リソースへの参照にダミー識別子が関連付けられた状態で前記リソースを参照する場合に、前記サーバに前記識別子のためのリクエストを送信する機能を実現する、前記(13)に記載のクライアント装置。
(15)クライアントからのリクエストに応じて、リソースへの参照を含むドキュメントを取得することと、
前記リソースの内容ごとに一意な識別子を生成することと、
プロセッサが、前記ドキュメントにおいて前記識別子を前記リソースへの参照に関連付けることと、
前記ドキュメントと、前記リソースへの参照に関連付けられた識別子とを前記クライアントに送信することと
を含む情報処理方法。
(16)サーバにリクエストを送信する機能と、
前記リクエストに応じて送信された、リソースへの参照を含むドキュメントと、前記リソースへの参照に関連付けられた前記リソースの内容ごとに一意な識別子とを前記サーバから受信する機能と、
前記識別子に基づいて、前記リソースがキャッシュに格納されているか否かを判定する機能と
をコンピュータに実現させるためのプログラムが記録された一時的でない有形の記録媒体。
100 配信サーバ
200 中間サーバ
202 リクエスト受信部
204 ドキュメント取得部
206 ドキュメント解析部
208 リソース取得部
210 識別子生成部
212 識別子記述部
214 ドキュメント送信部
216 リソース送信部
218 リソース先行配信部
220 リソース解析部
222 短縮文字列生成部
224 短縮文字列記述部
226 関連付け情報送信部
228 画像トランスコード部
230 画像参照更新部
280 キャッシュ
282 データベース
300 クライアント
302 リクエスト送信部
304 ドキュメント受信部
306 キャッシュ判定部
308 リソース受信部
310 表示制御部
312 リソース先行受信部
314 関連付け情報受信部
316 文字列解釈部
380 キャッシュ
382 データベース
Claims (16)
- クライアントからのリクエストに応じて、リソースへの参照を含むドキュメントを取得するドキュメント取得部と、
前記リソースの内容ごとに一意な識別子を生成する識別子生成部と、
前記ドキュメントにおいて前記識別子を前記リソースへの参照に関連付ける識別子記述部と、
前記ドキュメントと、前記リソースへの参照に関連付けられた識別子とを前記クライアントに送信するドキュメント送信部と
を備えるサーバ装置。 - 前記識別子記述部は、前記識別子を、オリジナルの識別子に追加して前記リソースへの参照に関連付ける、請求項1に記載のサーバ装置。
- 前記識別子が前記リソースへの参照に関連付けられた回数をカウントし、前記回数に基づいて使用頻度が高いと推定される前記リソースを前記リクエストより前に前記識別子に関連付けて前記クライアントに送信するリソース先行配信部をさらに備える、請求項1に記載のサーバ装置。
- 前記リソース先行配信部は、前記使用頻度が高いと推定されるリソースがプログラムである場合に、前記プログラムをプリコンパイルしてから前記クライアントに送信する、請求項3に記載のサーバ装置。
- 前記識別子は、前記リソースの内容に基づいて算出されるハッシュを含む、請求項1に記載のサーバ装置。
- 前記ドキュメント送信部は、前記識別子が生成される前に、前記リソースへの参照にダミー識別子を関連付けた前記ドキュメントを前記クライアントに送信し、前記識別子が生成された後に、前記ダミー識別子に前記識別子を関連付ける情報を前記クライアントに送信する、請求項1に記載のサーバ装置。
- サーバにリクエストを送信するリクエスト送信部と、
前記リクエストに応じて前記サーバから送信された、リソースへの参照を含むドキュメントと、前記リソースへの参照に関連付けられた前記リソースの内容ごとに一意な識別子とを前記サーバから受信するドキュメント受信部と、
前記識別子に基づいて、前記リソースがキャッシュに格納されているか否かを判定するキャッシュ判定部と
を備えるクライアント装置。 - 前記ドキュメント受信部は、オリジナルの識別子に追加して前記識別子が関連付けられた前記リソースへの参照を含むドキュメントを受信する、請求項7に記載のクライアント装置。
- 前記識別子に関連付けられた所定の前記リソースを前記リクエストより前に前記サーバから受信し、該受信されたリソースをキャッシュに格納するリソース先行受信部をさらに備える、請求項7に記載のクライアント装置。
- 前記リソース先行受信部は、前記所定のリソースがプログラムである場合に、プリコンパイルされた前記プログラムを受信し、該受信されたプログラムをキャッシュする、請求項9に記載のクライアント装置。
- 前記リソース先行受信部は、前記受信されたプログラムを、プログラム以外のリソースとは異なる記憶領域にキャッシュする、請求項10に記載のクライアント装置。
- 前記識別子は、前記リソースの内容に基づいて算出されるハッシュを含む、請求項7に記載のクライアント装置。
- 前記ドキュメント受信部は、前記リソースへの参照にダミー識別子が関連付けられた前記ドキュメントを前記サーバから受信した後に、前記ダミー識別子に前記識別子を関連付ける情報を前記サーバから受信する、請求項7に記載のクライアント装置。
- 前記キャッシュ判定部は、前記リソースへの参照にダミー識別子が関連付けられた状態で前記リソースを参照する場合に、前記サーバに前記識別子のためのリクエストを送信する機能を実現する、請求項13に記載のクライアント装置。
- クライアントからのリクエストに応じて、リソースへの参照を含むドキュメントを取得することと、
前記リソースの内容ごとに一意な識別子を生成することと、
プロセッサが、前記ドキュメントにおいて前記識別子を前記リソースへの参照に関連付けることと、
前記ドキュメントと、前記リソースへの参照に関連付けられた識別子とを前記クライアントに送信することと
を含む情報処理方法。 - サーバにリクエストを送信する機能と、
前記リクエストに応じて送信された、リソースへの参照を含むドキュメントと、前記リソースへの参照に関連付けられた前記リソースの内容ごとに一意な識別子とを前記サーバから受信する機能と、
前記識別子に基づいて、前記リソースがキャッシュに格納されているか否かを判定する機能と
をコンピュータに実現させるためのプログラムが記録された一時的でない有形の記録媒体。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201480054817.5A CN105593853B (zh) | 2013-10-08 | 2014-07-02 | 服务器装置、客户端装置、信息处理方法和记录介质 |
EP14852303.8A EP3056996A4 (en) | 2013-10-08 | 2014-07-02 | Server device, client device, information processing method, and recording medium |
JP2015541456A JP6323461B2 (ja) | 2013-10-08 | 2014-07-02 | サーバ装置、クライアント装置、情報処理方法および記録媒体 |
US15/026,919 US10509826B2 (en) | 2013-10-08 | 2014-07-02 | Server device, client device, information processing method, and recording medium |
BR112016007311A BR112016007311A2 (pt) | 2013-10-08 | 2014-07-02 | dispositivos servidor e cliente, método de processamento de informação, e, mídia de gravação tangível não transitória |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013-211282 | 2013-10-08 | ||
JP2013211282 | 2013-10-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015052968A1 true WO2015052968A1 (ja) | 2015-04-16 |
Family
ID=52812789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/067696 WO2015052968A1 (ja) | 2013-10-08 | 2014-07-02 | サーバ装置、クライアント装置、情報処理方法および記録媒体 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10509826B2 (ja) |
EP (1) | EP3056996A4 (ja) |
JP (1) | JP6323461B2 (ja) |
CN (1) | CN105593853B (ja) |
BR (1) | BR112016007311A2 (ja) |
WO (1) | WO2015052968A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11677809B2 (en) * | 2015-10-15 | 2023-06-13 | Usablenet Inc. | Methods for transforming a server side template into a client side template and devices thereof |
US10866893B2 (en) * | 2018-01-23 | 2020-12-15 | Home Depot Product Authority, Llc | Cache coherency engine |
US11914980B2 (en) * | 2021-06-08 | 2024-02-27 | Red Hat, Inc. | Managing deployments of software programs to distributed computing environments |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000222273A (ja) * | 1999-02-03 | 2000-08-11 | Nec Software Shikoku Ltd | ドキュメントダウンロードシステム |
JP2003281023A (ja) * | 2002-03-26 | 2003-10-03 | Toshiba Corp | データ転送装置、データ転送方法、データ受信表示装置、プログラム |
JP2004185263A (ja) * | 2002-12-03 | 2004-07-02 | Oki Electric Ind Co Ltd | 分散協調型コンテンツ配信システム |
JP2007188514A (ja) * | 2007-02-13 | 2007-07-26 | Toshiba Corp | サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム |
JP2011108102A (ja) | 2009-11-19 | 2011-06-02 | Sony Corp | ウェブサーバ、ウェブブラウザおよびウェブシステム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6195622B1 (en) * | 1998-01-15 | 2001-02-27 | Microsoft Corporation | Methods and apparatus for building attribute transition probability models for use in pre-fetching resources |
US6631515B1 (en) * | 1998-09-24 | 2003-10-07 | International Business Machines Corporation | Method and apparatus to reduce code size and runtime in a Java environment |
US8041817B2 (en) * | 2000-06-30 | 2011-10-18 | At&T Intellectual Property I, Lp | Anonymous location service for wireless networks |
US20040010543A1 (en) * | 2002-07-15 | 2004-01-15 | Steven Grobman | Cached resource validation without source server contact during validation |
US7519726B2 (en) * | 2003-12-12 | 2009-04-14 | International Business Machines Corporation | Methods, apparatus and computer programs for enhanced access to resources within a network |
US8161353B2 (en) * | 2007-12-06 | 2012-04-17 | Fusion-Io, Inc. | Apparatus, system, and method for validating that a correct data segment is read from a data storage device |
JP5208560B2 (ja) * | 2008-03-31 | 2013-06-12 | 株式会社東芝 | 情報映像化配信装置、情報映像化配信方法及びプログラム |
CN102124697B (zh) * | 2008-08-18 | 2014-08-27 | F5网络公司 | 更新网络流量管理设备同时维持有效性 |
EP2567334A4 (en) * | 2010-05-07 | 2014-11-05 | Google Inc | CACHING ELECTRONIC DOCUMENT RESOURCES IN A CLIENT DEVICE HAVING ELECTRONIC RESOURCE DATA BASED |
US8484373B2 (en) * | 2010-10-25 | 2013-07-09 | Google Inc. | System and method for redirecting a request for a non-canonical web page |
IL217279A0 (en) * | 2011-12-29 | 2012-02-29 | Israel Ragutski | Method and system for ensuring authenticity of ip data served by a service provider |
-
2014
- 2014-07-02 JP JP2015541456A patent/JP6323461B2/ja active Active
- 2014-07-02 WO PCT/JP2014/067696 patent/WO2015052968A1/ja active Application Filing
- 2014-07-02 EP EP14852303.8A patent/EP3056996A4/en not_active Withdrawn
- 2014-07-02 CN CN201480054817.5A patent/CN105593853B/zh not_active Expired - Fee Related
- 2014-07-02 US US15/026,919 patent/US10509826B2/en active Active
- 2014-07-02 BR BR112016007311A patent/BR112016007311A2/pt not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000222273A (ja) * | 1999-02-03 | 2000-08-11 | Nec Software Shikoku Ltd | ドキュメントダウンロードシステム |
JP2003281023A (ja) * | 2002-03-26 | 2003-10-03 | Toshiba Corp | データ転送装置、データ転送方法、データ受信表示装置、プログラム |
JP2004185263A (ja) * | 2002-12-03 | 2004-07-02 | Oki Electric Ind Co Ltd | 分散協調型コンテンツ配信システム |
JP2007188514A (ja) * | 2007-02-13 | 2007-07-26 | Toshiba Corp | サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム |
JP2011108102A (ja) | 2009-11-19 | 2011-06-02 | Sony Corp | ウェブサーバ、ウェブブラウザおよびウェブシステム |
Non-Patent Citations (2)
Title |
---|
AKIRA MATSUDA, SHOKAI RAILS 4 'SHIJO SAIKO' NO SHIN VERSION O TETTEI SHOKAI! DAI 3 SHO JIKKO MO KAIHATSU MO KOSOKU NA RAILS 4, vol. 73, 25 March 2013 (2013-03-25), pages 63 - 69, XP008183601 * |
See also references of EP3056996A4 |
Also Published As
Publication number | Publication date |
---|---|
EP3056996A1 (en) | 2016-08-17 |
US20160292298A1 (en) | 2016-10-06 |
EP3056996A4 (en) | 2017-06-28 |
US10509826B2 (en) | 2019-12-17 |
CN105593853A (zh) | 2016-05-18 |
CN105593853B (zh) | 2020-01-21 |
JPWO2015052968A1 (ja) | 2017-03-09 |
JP6323461B2 (ja) | 2018-05-16 |
BR112016007311A2 (pt) | 2017-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947512B (zh) | 一种文本适配显示方法、装置、服务器及存储介质 | |
US11327993B2 (en) | Systems and methods for managing and delivering digital content | |
JP2015529874A (ja) | 医用画像を閲覧するためのシステム及び方法 | |
CN106687945A (zh) | 远程字体管理 | |
JP2003099358A5 (ja) | ||
US20130141450A1 (en) | Facilitating Caching in an Image-Processing System | |
CN114116635A (zh) | 压缩数据流的并行解压缩 | |
US20160098414A1 (en) | Systems and methods to present activity across multiple devices | |
JP6323461B2 (ja) | サーバ装置、クライアント装置、情報処理方法および記録媒体 | |
US10296713B2 (en) | Method and system for reviewing medical study data | |
CN108495174B (zh) | 一种h5页面效果生成视频文件的方法及系统 | |
CN115209215A (zh) | 视频处理方法、装置及设备 | |
WO2015052967A1 (ja) | サーバ装置、クライアント装置、情報処理方法および記録媒体 | |
KR20140040994A (ko) | 전자문서 레이아웃 유지를 위한 폰트처리 방법, 그리고 이를 위한 폰트처리 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 | |
JP2023519378A (ja) | メディアシーン記述のための方法および装置 | |
US11436764B2 (en) | Dynamic generation and delivery of scalable graphic images in web applications | |
CN115136594A (zh) | 在沉浸式视频中对于每个图集标示启用视图的方法和装置 | |
RU2634221C2 (ru) | Способ и устройство для отрисовки представления электронного документа на экране | |
CN109493401B (zh) | 演示文稿生成方法、装置以及电子设备 | |
CN118194420B (zh) | 基于b/s架构的在线编辑bim模型的方法及相关设备 | |
WO2015073666A1 (en) | Displaying activity across multiple devices | |
CN117272965B (zh) | 演示稿件生成方法、装置、电子设备和计算机可读介质 | |
EP4170517A1 (en) | Integrating data with different configuration models | |
CN110060310B (zh) | 文件压缩方法、装置及设备 | |
CN116244580A (zh) | 基于模型的数据预测方法、模型生成方法、装置及产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14852303 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2015541456 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: IDP00201602197 Country of ref document: ID |
|
REEP | Request for entry into the european phase |
Ref document number: 2014852303 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15026919 Country of ref document: US Ref document number: 2014852303 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112016007311 Country of ref document: BR |
|
ENP | Entry into the national phase |
Ref document number: 112016007311 Country of ref document: BR Kind code of ref document: A2 Effective date: 20160401 |