US9270776B2 - Dynamically adjusting delivery of content between terminal device and server - Google Patents
Dynamically adjusting delivery of content between terminal device and server Download PDFInfo
- Publication number
- US9270776B2 US9270776B2 US14/084,125 US201314084125A US9270776B2 US 9270776 B2 US9270776 B2 US 9270776B2 US 201314084125 A US201314084125 A US 201314084125A US 9270776 B2 US9270776 B2 US 9270776B2
- Authority
- US
- United States
- Prior art keywords
- terminal device
- data
- transmitted
- image
- cost
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/59—Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
-
- H04L67/2861—
-
- 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
-
- 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/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G06F17/30902—
-
- G06F17/30905—
-
- H04L29/08801—
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H04L67/32—
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Definitions
- the embodiments discussed herein are related to communication equipment and a communication control method.
- Communication systems are speeded up in recent years, and terminal devices for using services provided from Web servers are widely available.
- Examples of the high-speed communication systems in practical use include LTE (Long Term Evolution), WiMAX (Worldwide Interoperability for Microwave Access), and public wireless LAN.
- Terminal devices such as smartphones and tablets, are also widely used.
- BYOD Back Your Own Device
- An example of a related technique includes a thin client system that secures high operability while ensuring the security.
- a program operated on a thin client may be selected according to the network quality between the thin client and a thin client server (for example, Japanese Laid-Open Patent Publication No. 2012-99091).
- Some applications provided by Web services are executed a terminal device, instead of Web servers.
- terminal devices execute Java Applet (registered trademark) and Java Script (registered trademark). Therefore, if the performance of the CPU of a terminal device is low for example, or if the memory capacity of the terminal device is small, the terminal device may not be able to execute the applications at a desired response.
- This problem may be solved by providing gateway equipment between the Web server and the terminal device, for example.
- the gateway equipment executes the applications to generate images to be displayed on the terminal device and transmits the image data to the terminal device.
- the gateway equipment executes the applications to generate images to be displayed on the terminal device and transmits the image data to the terminal device.
- such a system configuration may lead to insufficient resources in the gateway equipment when a large number of terminal devices exist under the gateway equipment.
- the process slows down, or the process cannot be executed.
- the response of service is reduced in each terminal device. For example, the time from the request of a service by a user to the display of a screen image corresponding to the service increases.
- communication equipment arranged between a terminal device and a server, includes: a detector configured to detect transmitted data that is transmitted from the communication equipment to the terminal device and non-transmitted data that is not transmitted from the communication equipment to the terminal device, from service data transmitted from the server to the terminal device through the communication equipment; a first calculator configured to calculate a first cost of transmitting the non-transmitted data to the terminal device; a second calculator configured to calculate a second cost of transmitting, to the terminal device, a difference image between an image corresponding to the service data and an image corresponding to the transmitted data; and a transmission scheme decision unit configured to transmit the non-transmitted data to the terminal device when the second cost is equal to or greater than the first cost and transmit the difference image to the terminal device when the second cost is smaller than the first cost.
- FIG. 1 illustrates a configuration of a Web system according to an embodiment
- FIGS. 2A and 2B illustrate an outline of a communication control method of the embodiment
- FIG. 3 illustrates hardware configurations of a terminal device, a server, and a gateway
- FIG. 4 is a diagram illustrating functions of the terminal device, the gateway, and the server;
- FIG. 5 is a flow chart illustrating the communication control method of the embodiment
- FIG. 6A illustrates an example of service data received by the gateway
- FIG. 6B illustrates an example of transmitted data
- FIG. 7 illustrates an example of control information
- FIG. 8 illustrates an example of execution decision information
- FIG. 9 is a diagram illustrating a process of generating non-displayed region image
- FIG. 10 illustrates an example of data size of the non-displayed region image
- FIG. 11 is a diagram illustrating a method of generating an image of a remote connection screen
- FIG. 12 is a flow chart illustrating a process of a control information transmitter
- FIG. 13 is a flow chart illustrating a process of a control information receiver
- FIG. 14 is a flow chart illustrating a process of an execution decision unit
- FIG. 15 is a flow chart illustrating a process of a Web browser of the gateway
- FIG. 16 is a flow chart illustrating a process of a transmission scheme decision unit
- FIG. 17 is a flow chart illustrating a process of a non-displayed region detector
- FIG. 18 is a flow chart illustrating a process of a data transmitter
- FIG. 19 is a flow chart illustrating a process of a screen selector
- FIG. 20 is a flow chart illustrating a process of a remote connection screen configuration unit
- FIG. 21 is a diagram illustrating functions of the terminal device, the gateway, and the server according to a first embodiment
- FIGS. 22A and 22B illustrate an example of HTML files
- FIG. 23 is a flow chart illustrating a process of the Web browser of the gateway of the first embodiment
- FIG. 24 is a flow chart illustrating a process of the HTML analyzer
- FIG. 25 is a flow chart illustrating a process of the execution decision unit in the first embodiment
- FIG. 26 illustrates an example of the execution decision information used in a second embodiment
- FIG. 27 is a diagram illustrating functions of the terminal device, the gateway, and the server according to a third embodiment.
- FIG. 1 illustrates a configuration of a Web system according to an embodiment of the present invention.
- a server 1 is a Web server computer operated by an enterprise.
- a terminal device 2 is a communication device used by an employee of the enterprise.
- the communication device is a wireless communication device, such as a smartphone and a tablet.
- a gateway 3 is provided between the terminal device 2 and the server 1 to relay communication between the terminal device 2 and the server 1 .
- the server 1 and the gateway 3 are operated by the same enterprise in this example.
- the server 1 can provide various services. Each service is provided by execution of one or a plurality of applications.
- the terminal device 2 can use the services provided by the server 1 . In this case, the terminal device 2 accesses the server 1 through the gateway 3 .
- the terminal device 2 and the gateway 3 are connected through the use of, for example, a VPN (Virtual Private Network) to ensure the security.
- VPN Virtual Private Network
- the capacity of the line between the gateway 3 and the server 1 is sufficiently greater than that of the line between the terminal device 2 and the gateway 3 . That is, when data is transmitted from the server 1 to the terminal device 2 through the gateway 3 , the data transmission time from the server 1 to the gateway 3 is significantly shorter than the data transmission time from the gateway 3 to the terminal device 2 .
- the terminal device 2 may execute an application corresponding to a service, for example.
- the communication protocol between the server 1 and the terminal device 2 is HTTP, for example.
- the terminal device 2 executes an application corresponding to a service S 1 .
- the terminal device 2 generates an image “ABC . . . ”.
- execution of application includes a process of generating an image displayed on a display device.
- the performance of the terminal device 2 is low for example, the time required for the display of a screen corresponding to the service increases when the terminal device 2 executes the application. More specifically, the response of service is deteriorated in the terminal device 2 .
- the gateway 3 of the Web system may execute an application of a service requested from the terminal device 2 to generate an image corresponding to the service.
- the gateway 3 executes an application corresponding to a service S 2 .
- the gateway 3 generates an image “XYZ . . . ”.
- the gateway 3 transmits the generated image to the terminal device 2 by remote connection scheme, and the terminal device 2 receives the image by the remote connection scheme to display the image on the display device.
- the remote connection scheme includes a procedure, in which, for example, a terminal device connects to other communication equipment (gateway 3 here) through the network, the communication equipment executes an application or the like to generate image data, and the terminal device receives the image data to display the image data on a display device.
- the remote connection scheme is performed according to the situation in the Web system of the embodiment.
- the remote connection scheme improves the response of service in the terminal device 2 .
- the process of the gateway 3 may slow down.
- the user of the terminal device 2 may reload the same link by deciding that the Web browser is terminated or may request connection to another link, for example. Therefore, the gateway 3 of the embodiment can determine whether to execute the remote connection to improve the response of service in the terminal device 2 .
- FIGS. 2A and 2B illustrate an outline of a communication control method according to the embodiment of the present invention.
- a Web service is requested from the terminal device 2 to the server 1 , and service data is transmitted from the server 1 to the terminal device 2 .
- the service data includes data and/or programs related to an application for implementing the service.
- the request transmitted from the terminal device 2 is transferred to the server 1 through the gateway 3 .
- the service data transmitted from the server 1 is transferred to the terminal device 2 through the gateway 3 .
- the terminal device 2 and the server 1 are connected based on HTTP, for example.
- the gateway 3 requests the server 1 for the same service as the service requested by the terminal device 2 .
- the server 1 also transmits, to the gateway 3 , the same data as the service data transmitted to the terminal device 2 as illustrated in FIG. 2A .
- the capacity of the line between the gateway 3 and the server 1 is sufficiently greater than that of the line between the terminal device 2 and the gateway 3 . Therefore, the gateway 3 completes the reception of the service data requested by the gateway 3 before the completion of the transmission of the service data from the server 1 to the terminal device 2 .
- the gateway 3 generates an image corresponding to the service based on the service data received from the server 1 .
- the gateway 3 generates an image P 1 .
- the image P 1 is substantially the same as an image (complete image) ultimately displayed in the terminal device 2 .
- the image P 1 includes “Java Applet”, “Image 1”, “Image 2”, and “Image 3”.
- the gateway 3 In a relay process of the service data transmitted from the server 1 to the terminal device 2 , the gateway 3 detects data already transmitted from the gateway 3 to the terminal device 2 (hereinafter, “transmitted data”) and data not yet transmitted from the gateway 3 to the terminal device 2 (hereinafter, “non-transmitted data”). Then the gateway 3 calculates or estimates time required to transmit the non-transmitted data to the terminal device 2 (hereinafter, “non-transmitted data transmission time”).
- the terminal device 2 generates and displays a corresponding image based on the received service data.
- the terminal device 2 can generate and display an image corresponding to part of the service data when the part of the service data is received.
- the terminal device 2 generates and displays an image P 2 based on part of the service data.
- the image P 2 includes the “Image 1”.
- the gateway 3 reproduces the image P 2 displayed on the terminal device 2 based on the transmitted data.
- the gateway 3 compares the image P 1 and the image P 2 to detect a region where corresponding image is not displayed in the terminal device 2 (hereinafter, “non-displayed region”). In this case, the gateway 3 may generate a difference image between the image P 1 and the image P 2 . In the example illustrated in FIG. 2B , three shaded regions represent the non-displayed regions. As a result, the gateway 3 can determine that the “Java Applet”, the “Image 2”, and the “Image 3” are not displayed in the terminal device 2 .
- the gateway 3 calculates or estimates time (hereinafter, “non-displayed image transmission time”) required to transmit, to the terminal device 2 , an image (hereinafter, “non-displayed region image”) to be displayed on the non-displayed region in the terminal device 2 .
- time hereinafter, “non-displayed image transmission time”
- non-displayed region image an image
- the gateway 3 compares the non-transmitted data transmission time and the non-displayed image transmission time.
- the gateway 3 transmits the non-transmitted data to the terminal device 2 .
- the communication based on the HTTP continues.
- the terminal device 2 also generates images from the received data.
- the gateway 3 transmits the non-displayed region images to the terminal device 2 .
- the gateway 3 transmits the non-displayed region images (“Java Applet”, “Image 2”, and “Image 3”) to the terminal device 2 .
- the communication between the terminal device 2 and the gateway 3 is switched from the HTTP to the remote connection.
- the terminal device 2 combines the image P 2 generated earlier and the non-displayed region images received from the gateway 3 to generate an image P 3 .
- the terminal device 2 may copy the image P 2 to a remote connection screen and arrange the non-displayed region images on the screen, for example.
- the browser screen is seamlessly switched to the remote connection screen.
- the image generated by the gateway 3 is transmitted to the terminal device 2 when the non-displayed image transmission time is shorter than the non-transmitted data transmission time in the communication control method of the embodiment.
- the terminal device 2 does not have to execute the application to generate the image when the image generated by the gateway 3 is received. This improves the response of service in the terminal device 2 .
- the remote connection is not executed for all terminal devices under the gateway 3 . Therefore, the resources of the gateway 3 are efficiently used.
- the gateway 3 determines the scheme of connection between the gateway 3 and the terminal device 2 based on the non-transmitted data transmission time and the non-displayed image transmission time.
- this method is an example, and the gateway 3 may take other factors into account to determine the scheme of connection between the gateway 3 and the terminal device 2 . More specifically, the gateway 3 may determine the scheme of connection between the gateway 3 and the terminal device 2 based on a cost in the scheme of transmitting the non-transmitted data from the gateway 3 to the terminal device 2 and a cost in the scheme of transmitting the non-displayed region images from the gateway 3 to the terminal device 2 .
- the non-transmitted data transmission time and the non-displayed image transmission time are factors of the costs.
- the resources of the terminal device 2 may also be used as factors of the costs.
- the communication bandwidth may be used as factors of the costs.
- FIG. 3 illustrates hardware configurations of the terminal device 2 , the server 1 , and the gateway 3 .
- the terminal device 2 includes a CPU 21 , a ROM (Read Only Memory) 22 , a RAM (Random Access Memory) 23 , an HDD (Hard Disk Drive) 24 , a NIC (Network Interface Card) 25 , and an input-output device 26 .
- the CPU 21 , the ROM 22 , the RAM 23 , the HDD 24 , the NIC 25 , and the input-output device 26 are connected to each other through a bus, for example.
- the CPU 21 controls the operation of the terminal device 2 .
- the CPU 21 may include a plurality of processor elements.
- the ROM 22 stores programs such as a boot program.
- the ROM 22 may also store programs related to the communication control method of the embodiment.
- the RAM 23 is used as a work area of the CPU 21 .
- the HDD 24 stores data and/or programs used by the CPU 21 .
- the programs related to the communication control method of the embodiment may be stored in the HDD 24 .
- the CPU 21 may read the programs from the HDD 24 and load the programs on the RAM 23 to execute the programs.
- the terminal device 2 may include another storage device (for example, SSD (Solid State Drive)) in place of the HDD 24 .
- SSD Solid State Drive
- the NIC 25 provides an interface for connection to the network. Examples of the network include a LAN (Local Area Network), a WAN (Wide Area Network), and the Internet.
- the NIC 25 provides an interface for connection to the gateway 3 through the network.
- the input-output device 26 includes an input device, such as a keyboard and/or a mouse.
- the input-output device 26 also includes an output device, such as a display, a camera, and/or a sensor device.
- the gateway 3 includes a CPU 31 , a ROM 32 , a RAM 33 , an HDD 34 , and NICs 35 .
- the CPU 31 , the ROM 32 , the RAM 33 , the HDD 34 , and the NICs 35 are substantially the same as the CPU 21 , the ROM 22 , the RAM 23 , the HDD 24 , and the NIC 25 , and the description will not be repeated.
- the gateway 3 includes two NICs 35 in the example illustrated in FIG. 3 , the number of NICs included in the gateway 3 is not limited.
- the server 1 includes a CPU 11 , a ROM 12 , a RAM 13 , an HDD 14 , and a NIC 15 .
- the CPU 11 , the ROM 12 , the RAM 13 , the HDD 14 , and the NIC 15 are substantially the same as the CPU 21 , the ROM 22 , the RAM 23 , the HDD 24 , and the NIC 25 , and the description will not be repeated.
- FIG. 4 is a diagram illustrating functions of the terminal device 2 , the gateway 3 , and the server 1 .
- the terminal device 2 includes a Web browser 41 , a control information transmitter 42 , a remote connection client 43 , a remote connection screen configuration unit 44 , and a screen selector 45 .
- the terminal device 2 may have other functions.
- the Web browser 41 accesses the server 1 to acquire service data corresponding to a desired Web service.
- the Web browser 41 can access the URL designated by the user.
- the Web browser 41 executes an application program included in the service data acquired from the accessed URL.
- the control information transmitter 42 transmits control information to the gateway 3 .
- the control information includes information related to the resources of the terminal device 2 , the URL of the Web service, data for measuring the communication bandwidth between the terminal device 2 and the gateway 3 , etc.
- the remote connection client 43 accesses a remote connection server 55 of the gateway 3 to execute remote connection.
- the remote connection screen configuration unit 44 forms a remote connection screen based on an image of a Web browser screen generated by the Web browser 41 and image data received from the gateway 3 through the remote connection scheme.
- the screen selector 45 selects and displays one of the Web browser screen generated by the Web browser 41 and the remote connection screen formed by the remote connection screen configuration unit 44 .
- the CPU 21 executes software programs to realize the Web browser 41 , the control information transmitter 42 , the remote connection client 43 , the remote connection screen configuration unit 44 , and the screen selector 45 .
- hardware circuits may realize part of the Web browser 41 , the control information transmitter 42 , the remote connection client 43 , the remote connection screen configuration unit 44 , and the screen selector 45 .
- the gateway 3 includes a relay 51 , a transmitted data storage 52 , a control information receiver 53 , a Web browser 54 , the remote connection server 55 , an execution decision unit 56 , an execution decision information storage 57 , a non-displayed region detector 58 , a transmission scheme decision unit 59 , and a data transmitter 60 .
- the gateway 3 may have other functions.
- the relay 51 relays data transferred between the server 1 and the terminal device 2 .
- the server 1 and the terminal device 2 are connected based on the HTTP, for example.
- the relay 51 can extract data transmitted from the server 1 to the terminal device 2 .
- the transmitted data storage 52 stores data transmitted from the server 1 to the terminal device 2 .
- data information indicating the data name, the data size, and the like of the data transmitted from the gateway 3 to the terminal device 2 is also stored in the transmitted data storage 52 .
- the control information receiver 53 receives control information transmitted from the control information transmitter 42 of the terminal device 2 .
- the Web browser 54 accesses the server 1 to acquire service data corresponding to the Web service.
- the Web browser 54 can execute substantially the same process as the Web browser 41 of the terminal device 2 .
- the Web browser 54 can receive the same data as the service data transmitted to the terminal device 2 based on the request from the terminal device 2 .
- the Web browser 54 can generate an image to be displayed in the terminal device 2 based on the service data received from the server 1 .
- the remote connection server 55 transmits the image data generated by the Web browser 54 to the terminal device 2 based on the remote connection scheme.
- the execution decision unit 56 determines which one of the terminal device 2 and the gateway 3 will execute the process of the Web service.
- the execution decision information storage 57 stores information used for the decision by the execution decision unit 56 .
- the non-displayed region detector 58 detects an image region not yet displayed in the terminal device 2 from the image corresponding to the service data transmitted from the server 1 to the terminal device 2 .
- the transmission scheme decision unit 59 decides whether to transmit the image data corresponding to the Web service to the terminal device 2 based on the remote connection scheme.
- the data transmitter 60 transmits the image data of the region detected by the non-displayed region detector 58 to the terminal device 2 .
- the CPU 31 executes software programs to realize the relay 51 , the control information receiver 53 , the Web browser 54 , the remote connection server 55 , the execution decision unit 56 , the non-displayed region detector 58 , the transmission scheme decision unit 59 , and the data transmitter 60 .
- hardware circuits may realize part of the relay 51 , the control information receiver 53 , the Web browser 54 , the remote connection server 55 , the execution decision unit 56 , the non-displayed region detector 58 , the transmission scheme decision unit 59 , and the data transmitter 60 .
- the server 1 includes a Web server 71 and a storage 72 .
- the Web server 71 provides Web services requested from the Web browsers 41 and 54 .
- the storage 72 stores data and programs for realizing the Web services.
- FIG. 5 is a flow chart illustrating the communication control method according to the embodiment of the present invention. The process of the flow chart is executed when the user provides an instruction for requesting a Web service to the terminal device 2 , for example.
- the Web browser 41 of the terminal device 2 accesses the server 1 through the gateway 3 .
- the Web browser 41 accesses the URL corresponding to the Web service designated by the user.
- the service data corresponding to the designated Web service is transmitted from the server 1 to the terminal device 2 .
- the relay 51 of the gateway 3 relays the service data.
- the relay 51 detects the data name, the data size, and the data content of the data element transmitted to the terminal device 2 .
- the relay 51 stores the detected data name, data size, and data content in the transmitted data storage 52 as transmitted data.
- FIG. 6B illustrates an example of the transmitted data stored in the transmitted data storage 52 .
- Data elements index.html, data d.gif, . . . , and data_n.jpg are recorded in this example.
- information indicating the acquired location is also recorded in this example.
- S 2 to S 20 are executed in parallel with the transmission of the service data from the server 1 to the terminal device 2 .
- control information transmitter 42 transmits control information to the gateway 3 when access to the server 1 by the Web browser 41 is detected.
- FIG. 7 illustrates an example of the control information.
- control information is stored in a packet and transmitted from the terminal device 2 to the gateway 3 .
- a packet ID identifies the packet storing the control information.
- a data length denotes the data length of the packet.
- Terminal device information denotes the performance of the CPU of the terminal device 2 , the capacity of the memory of the terminal device 2 , etc.
- a Web service URL denotes the URL accessed from the terminal device 2 to the server 1 .
- Transmission time denotes the time of the transmission of the packet from the terminal device 2 .
- the control information receiver 53 receives the control information generated by the terminal device 2 .
- the control information receiver 53 calculates the communication bandwidth between the terminal device 2 and the gateway 3 based on the received control information. In the calculation of the communication bandwidth, the control information receiver 53 detects the time of the reception of the control information.
- the time of the terminal device 2 and the time of the gateway 3 are synchronized based on NTP, for example. Therefore, the control information receiver 53 can calculate the communication bandwidth between the terminal device 2 and the gateway 3 based on the following formula.
- the control information receiver 53 notifies the execution decision unit 56 of the received control information and the calculated communication bandwidth.
- the execution decision unit 56 determines whether image data transmission through the remote connection can be executed based on the control information received from the terminal device 2 and the communication bandwidth calculated in S 3 .
- the execution decision unit 56 refers to execution decision information stored in the execution decision information storage 57 .
- FIG. 8 illustrates an example of the execution decision information.
- the execution decision information indicates whether the image data transmission based on the remote connection can be executed for combinations of “Destination URL”, “Terminal Device Information”, and “Communication Bandwidth”.
- the destination information denotes the URL of the Web service requested from the terminal device 2 .
- the terminal device information denotes the performance of the CPU of the terminal device 2 and the capacity of the memory of the terminal device 2 .
- the communication bandwidth denotes the communication bandwidth between the terminal device 2 and the gateway 3 .
- a symbol “O” denotes that the image data transmission based on the remote connection can be executed, and a symbol “X” denotes that the image data transmission based on the remote connection cannot be executed.
- the execution decision information indicates past decision results.
- a first record illustrated in FIG. 8 indicates the following results.
- a second record illustrated in FIG. 8 indicates the following decision results.
- the execution decision unit 56 can decide whether the image data transmission based on the remote connection can be executed by referring to the execution decision information in the “Destination URL”, the “Terminal Device Information”, and the “Communication Bandwidth” in relation to new access from the terminal device to the server 1 .
- the execution decision information in the “Destination URL”, the “Terminal Device Information”, and the “Communication Bandwidth” in relation to new access from the terminal device to the server 1 .
- the terminal device that newly accesses the server 1 includes a CPU_a and a memory of 2 GB
- the communication bandwidth is 3 Mbps
- the destination is a service a
- the process of the communication control method proceeds to S 6 .
- the process of the communication control method ends. In this case, the image data transmission based on the remote connection is not executed, and the terminal device 2 receives the service data from the server 1 based on the HTTP.
- the execution decision unit 56 activates the Web browser 54 .
- the execution decision unit 56 notifies the Web browser 54 of the “Destination URL” in the control information received from the terminal device 2 .
- the Web browser 54 accesses the notified URL.
- the gateway 3 accesses the same Web service as the Web service accessed by the terminal device 2 in S 1 .
- the execution decision unit 56 further notifies the terminal device 2 of the decision result (decision result: available) indicating that the image data transmission based on the remote connection can be executed.
- the remote connection screen configuration unit 44 receives the decision result.
- the remote connection screen configuration unit 44 activates the remote connection client 43 . Consequently, the remote connection client 43 connects to the remote connection server 55 . However, the image data is not transmitted from the remote connection server 55 to the remote connection client 43 at this point.
- the Web browser 54 acquires the service data from the server 1 (i.e. URL accessed in S 6 ).
- the Web browser 54 stores the data information (data name, data size, and acquired location) of the received service data in a specified memory region.
- the Web browser 54 analyzes the received service data to acquire the service information.
- the Web browser 54 may receive the data information of the service data from the server 1 along with the service data.
- the memory region for storing the service information is not particularly limited.
- the memory region may be a file, a database, or a storage device such as an HDD.
- FIG. 6A illustrates an example of the data information of the received service data.
- the service data corresponding to the Web service includes n data elements. The data name, the data size, and the destination are recorded for each data element.
- the Web browser 54 executes the service data received from the server 1 to generate an image of the browser screen.
- the generated image is equivalent to the screen image displayed by the Web browser 41 in the terminal device 2 .
- the Web browser 54 transmits a completion notification to the non-displayed region detector 58 and the transmission scheme decision unit 59 .
- the transmission scheme decision unit 59 detects non-transmitted data that is not yet transmitted to the terminal device 2 in the service data transmitted from the server 1 to the terminal device 2 .
- the Web browser 54 detects the service data transmitted from the server 1 to the terminal device 2 as illustrated in FIG. 6A .
- the transmitted data that is already transmitted to the terminal device 2 is stored in the transmitted data storage 52 as illustrated in FIG. 6B . Therefore, the non-transmitted data is detected by referring to the information.
- at least data_a and data b are not yet transmitted from the gateway 3 to the terminal device 2 .
- the total data size is 6917805 bytes.
- the transmission scheme decision unit 59 calculates or estimates time T1 required for transmitting the non-transmitted data to the terminal device 2 based on the following formula.
- the communication bandwidth is calculated in S 3 .
- Transmission time T 1 data size of non-transmitted data/communication bandwidth
- the non-displayed region detector activates the Web browser 54 to generate an image (hereinafter, may be called “current screen”) corresponding to the current display state in the terminal device 2 .
- current screen an image corresponding to the current display state in the terminal device 2 .
- the service data already received by the terminal device 2 is stored as transmitted data in the transmitted data storage 52 . Therefore, the non-displayed region detector 58 can generate the image (i.e. current screen) corresponding to the current display state in the terminal device 2 by referring to the transmitted data storage 52 .
- the non-displayed region detector 58 detects an image region that is not yet displayed in the terminal device 2 in the image corresponding to the Web service provided from the server 1 to the terminal device 2 .
- the non-displayed region detector 58 compares the image generated in S 8 (complete screen in FIG. 9 ) and the image corresponding to the current display state in the terminal device 2 (current screen in FIG. 9 ) to detect an image of the non-displayed region.
- the current screen corresponding to the current display state in the terminal device 2 includes the “Image 1”.
- the non-displayed region detector 58 can generate the current screen by referring to the transmitted data storage 52 .
- the non-displayed region detector 58 generates the complete screen based on the service data of the Web service acquired by the gateway 3 from the server 1 .
- the complete screen is equivalent to a screen displaying all service data for providing the requested Web service.
- the complete screen includes the “Java Applet”, the “Image 1”, the “Image 2”, and the “Image 3”.
- the non-displayed region detector 58 compares the current screen and the complete screen to detect the image of the region that is not yet displayed in the terminal device 2 (i.e. non-displayed region image). In this example, it is estimated that the “Image 1” among the “Java Applet”, the “Image 1”, the “Image 2”, and the “Image 3” is already displayed on the terminal device 2 . Therefore, it is determined that the “Java Applet”, the “Image 2”, and the “Image 3” are the non-displayed region images.
- the non-displayed region detector 58 calculates or estimates time required for transmitting the non-displayed region images from the gateway 3 to the terminal device 2 .
- the non-displayed region detector 58 calculates the data size of each image element of the non-displayed region images.
- the data size of the compressed image data is calculated.
- the data size of each image element (Java Applet, Image 2, and Image 3) of the non-displayed region images is calculated as illustrated in FIG. 10 .
- the total data size of the non-displayed region images is 33857 bytes.
- the non-displayed region detector 58 calculates transmission time T2 required for transmitting the non-displayed region image data from the gateway 3 to the terminal device 2 based on the following formula.
- the communication bandwidth is calculated by the control information receiver 53 in S 3 .
- Transmission time T 2 data size of non-displayed region image/communication bandwidth
- the transmission scheme decision unit 59 compares the transmission time T1 of the non-transmitted data and the transmission time T2 of the non-displayed region image. If the transmission time T2 of the non-displayed region image is equal to or longer than the transmission time T1 of the non-transmitted data, the process of the transmission scheme decision unit 59 proceeds to S 13 . On the other hand, if the transmission time T2 of the non-displayed region image is shorter than the transmission time T1 of the non-transmitted data, the transmission scheme decision unit 59 transmits a request termination instruction to the screen selector 45 of the terminal device 2 and provides a transmission request to the data transmitter 60 . The process of the transmission scheme decision unit 59 then proceeds to S 15 .
- S 13 The transmission scheme decision unit 59 determines whether all service data of the Web service requested by the terminal device 2 is transmitted to the terminal device 2 . If non-transmitted data remains, the process of the gateway 3 returns to S 10 . More specifically, S 10 to S 13 are repeated until “T1>T2” is detected or until all service data is transmitted to the terminal device 2 .
- the transmission scheme decision unit 59 stores, in the execution decision information storage 57 , information indicating that the image data transmission based on the remote connection is not executed. In this case, “Execution Availability: Not Available” is recorded for the combination of the destination URL, the terminal device information of the terminal device 2 , and the communication bandwidth between the terminal device 2 and the gateway 3 as illustrated in FIG. 8 .
- the transmission scheme decision unit 59 transmits a request termination instruction to the terminal device 2 .
- the transmission scheme decision unit 59 stores, in the execution decision information storage 57 , information indicating that the image data transmission based on the remote connection is executed.
- “Execution Availability: Available” is recorded for the combination of the destination URL, the terminal device information of the terminal device 2 , and the communication bandwidth between the terminal device 2 and the gateway 3 as illustrated in FIG. 8 . If the execution availability information is already recorded for the combination of the destination URL, the terminal device information of the terminal device 2 , and the communication bandwidth, the process of storing the determination result in the execution decision information storage 57 may be skipped.
- the execution availability information recorded in S 14 or S 15 is used when a new service request is issued from the terminal device. More specifically, the gateway 3 refers to the result of the execution availability decision for the same service request in the past based on the destination URL, the terminal device information, and the communication bandwidth of the new service request. For example, if the determination result for the same service request in the past is “Not Available”, it is expected to determine “not to execute the image data transmission based on the remote connection” in S 12 when S 6 to S 12 are executed for the new service request. Therefore, the gateway 3 does not start the process for the remote connection in this case. As a result, unnecessary execution of the process is prevented, and the efficiency of the gateway 3 improves.
- the screen selector 45 receives the request termination instruction from the transmission scheme decision unit 59 . Consequently, the screen selector 45 instructs the Web browser 41 to terminate the data acquisition.
- the Web browser 41 terminates the process of acquiring the service data from the server 1 and notifies the remote connection screen configuration unit 44 of the completion of the termination of the data acquisition.
- the relay 51 in the gateway 3 terminates the process of transmitting the service data.
- the remote connection screen configuration unit 44 copies the image of the browser screen generated by the Web browser 41 to the display screen of the remote connection client 43 .
- the remote connection screen configuration unit 44 transmits a copy completion notification to the screen selector 45 .
- the screen selector 45 receives the copy completion notification from the remote connection screen configuration unit 44 . By so doing, the screen selector 45 displays the image of the remote connection screen on the front face of the display device of the terminal device 2 . Then the screen selector 45 terminates the Web browser 41 .
- the data transmitter 60 uses the non-displayed region detector 58 to acquire the non-displayed region image.
- the data transmitter 60 converts the acquired non-displayed region image into data of the remote connection scheme and transmits the data to the terminal device 2 .
- the remote connection screen configuration unit 44 receives the non-displayed region image data from the gateway 3 . Then, the remote connection screen configuration unit 44 displays the non-displayed region image received from the gateway 3 on the remote connection screen.
- the data transmitter 60 then provides a transmission request to the remote connection server 55 .
- the remote connection server 55 transmits the image data generated by the Web browser 54 to the terminal device 2 based on the remote connection scheme hereafter.
- the remote connection client 43 of the terminal device 2 receives the image data.
- S 17 to S 20 will be described with reference to FIG. 11 .
- the remote connection screen configuration unit 44 copies the image of the Web browser screen to the remote connection screen.
- an image including the “Image 1” is copied to the remote connection screen.
- the data transmitter 60 transmits the non-displayed region image data to the terminal device 2 .
- image data including the “Java Applet”, the “Image 2”, and the “Image 3” is transmitted from the gateway 3 to the terminal device 2 .
- the remote connection screen configuration unit 44 displays the non-displayed region image on the remote connection screen.
- the image acquired from the Web browser screen is already displayed on the remote connection screen. Therefore, on the remote connection screen, the remote connection screen configuration unit 44 superimposes the non-displayed region image received from the gateway 3 on the image acquired from the Web browser screen.
- the non-displayed region images (“Java Applet”, “Image 2”, and “Image 3”) are superimposed on the image (“Image 1”) acquired from the Web browser screen.
- the data necessary for realizing the Web service is transmitted to the terminal device 2 based on the scheme with the shorter transmission time from the gateway 3 to the terminal device 2 in the communication control method of the embodiment. Therefore, according to the communication control method of the embodiment, the response of service provided from the server 1 to the terminal device 2 improves.
- the terminal device 2 combines the image generated by the Web browser and the image received based on the remote connection to generate the display image. Therefore, the Web browser is seamlessly switched to the remote connection.
- whether to switch the HTTP to the remote connection is determined based on the comparison result of the transmission time of the non-transmitted data and the transmission time of the non-displayed region image.
- whether to switch the Web browser to the remote connection may be determined based on the comparison result of the data size of the non-transmitted data and the data size of the non-displayed region image.
- FIG. 12 is a flow chart illustrating a process of the control information transmitter 42 .
- the process of the flow chart corresponds to S 2 of FIG. 5 .
- the control information transmitter 42 monitors operation of the Web browser 41 .
- the control information transmitter 42 When the Web browser 41 requests the server 1 for a Web service, the control information transmitter 42 generates control information and transmits the control information to the gateway 3 in S 32 .
- An example of the control information is as described with reference to FIG. 7 .
- the control information receiver 53 receives the control information.
- the control information transmitter 42 monitors the start of a shutdown procedure of the terminal device 2 . More specifically, the control information transmitter 42 repeats the process of S 31 and S 32 until the shutdown procedure of the terminal device 2 is started.
- FIG. 13 is a flow chart illustrating a process of the control information receiver 53 .
- the process of the flow chart corresponds to S 3 of FIG. 5 .
- the control information receiver 53 waits for control information transmitted from the terminal device 2 .
- the control information is transmitted from the control information transmitter 42 of the terminal device 2 as described with reference to FIG. 12 .
- the control information receiver 53 calculates a communication bandwidth between the terminal device 2 and the gateway 3 based on the control information in S 42 .
- the control information receiver 53 calculates the communication bandwidth based on the data length, the transmission time, and the reception time of the packet storing the control information, for example.
- the control information receiver 53 may calculate the communication bandwidth based on RTT (Round-Trip Time).
- control information receiver 53 notifies the execution decision unit 56 of the control information received from the terminal device 2 and the calculated communication bandwidth.
- the control information receiver 53 monitors the start of a shutdown procedure of the gateway 3 . More specifically, the control information receiver 53 repeats the process of S 41 to S 43 until the shutdown procedure of the gateway 3 is started.
- FIG. 14 is a flow chart illustrating a process of the execution decision unit 56 .
- the process of the flowchart corresponds to S 4 to S 6 of FIG. 5 .
- the execution decision unit 56 waits for a notification transmitted from the control information receiver 53 (such as control information (Web service URL, terminal device information, etc.) and communication bandwidth).
- the execution decision unit 56 determines whether the image data transmission based on the remote connection can be executed for the Web service requested by the terminal device 2 in S 52 and S 53 .
- the execution decision unit 56 uses the control information and the communication bandwidth as search indexes to refer to the execution decision information stored in the execution decision information storage 57 .
- FIG. 8 illustrates an example of the execution decision information.
- the execution decision unit 56 When “Execution Availability: Available” is obtained for the control information and the communication bandwidth or when there is no corresponding search index in the execution decision information storage 57 , the execution decision unit 56 activates the Web browser 54 in S 54 . In this case, the execution decision unit 56 provides an access instruction to the Web browser 54 and notifies the Web browser 54 of the “Web Service URL” included in the control information received from the terminal device 2 . If “Execution Availability: Not Available” is obtained for the control information and the communication bandwidth, S 54 is skipped.
- the execution decision unit 56 notifies the terminal device 2 of the decision result of the execution availability.
- the remote connection screen configuration unit 44 receives the decision result.
- the execution decision unit 56 monitors the start of a shutdown procedure of the gateway 3 . More specifically, the execution decision unit 56 repeats the process of S 51 to S 55 until the shutdown procedure of the gateway 3 is started.
- FIG. 15 is a flow chart illustrating a process of the Web browser 54 .
- the process of the flow chart corresponds to S 8 and S 9 of FIG. 5 .
- the Web browser 54 waits for an access instruction transmitted from the execution decision unit 56 .
- the Web browser 54 accesses the Web service URL notified from the execution decision unit in S 62 .
- the URL is the same as the URL of the Web service requested by the terminal device 2 . More specifically, the Web browser 41 of the terminal device 2 and the Web browser 54 of the gateway 3 request the same Web service.
- the Web browser 54 receives service data corresponding to the requested Web service from the server 1 . As illustrated in FIG. 6A , the Web browser 54 stores the data information indicating the data name, the data size, the acquired location, etc. of each data element of the received service data. The Web browser 54 generates a browser screen image corresponding to the requested Web service.
- the image generated in S 63 and S 64 is substantially the same as the browser screen image generated in the terminal device 2 when all service data is transmitted to the terminal device 2 . More specifically, the Web browser 54 can generate substantially the same image as the browser screen image generated in the terminal device 2 .
- the Web browser 54 notifies the transmission scheme decision unit 59 of the completion of the generation of the browser screen image corresponding to the requested Web service.
- the Web browser 54 transmits, to the non-displayed region detector 58 , a completion notification indicating the completion of the generation of the browser screen image corresponding to the requested Web service.
- FIG. 16 is a flow chart illustrating a process of the transmission scheme decision unit 59 .
- the process of the flow chart corresponds to S 10 , S 12 , S 13 , and S 15 of FIG. 5 .
- the transmission scheme decision unit 59 waits for a completion notification transmitted from the Web browser 54 .
- the transmission scheme decision unit 59 refers to the data information created by the Web browser 54 to recognize the service data transmitted from the server 1 to the terminal device 2 in S 72 .
- the data information is created and stored in S 64 illustrated in FIG. 15 .
- the transmission scheme decision unit 59 refers to the transmitted data storage 52 to detect data already transmitted to the terminal device 2 (i.e. transmitted data) in the service data received from the server 1 .
- An example of the transmitted data storage 52 is as illustrated in FIG. 6B .
- the transmission scheme decision unit 59 compares the service data transmitted from the server 1 to the terminal device 2 and the transmitted data to detect non-transmitted data that is not transmitted to the terminal device 2 .
- the transmission scheme decision unit 59 calculates or estimates the transmission time T1 required for transmitting the non-transmitted data to the terminal device 2 based on the data size of the non-transmitted data.
- the transmission scheme decision unit 59 waits for a notification indicating the transmission time T2.
- the transmission time T2 denotes time required for transmitting the non-displayed region image data to the terminal device 2 , and this will be described with reference to FIG. 17 .
- the transmission scheme decision unit 59 compares the transmission time T1 of the non-transmitted data and the transmission time T2 of the non-displayed region image data. If the transmission time T2 of the non-displayed region image data is shorter than the transmission time T1 of the non-transmitted data, the process of the transmission scheme decision unit 59 proceeds to S 78 . In this case, the data transmission based on the HTTP is switched to the image data transmission based on the remote connection. On the other hand, if the transmission time T2 of the non-displayed region image data is equal to or longer than the transmission time T1 of the non-transmitted data, the process of the transmission scheme decision unit 59 proceeds to S 80 . In this case, the data transmission based on the HTTP continues.
- the transmission scheme decision unit 59 transmits a request termination instruction for terminating the Web browser to the terminal device 2 .
- the screen selector 45 in the terminal device 2 receives the request termination instruction.
- the transmission scheme decision unit 59 provides a transmission request to the data transmitter 60 .
- the transmission scheme decision unit 59 determines whether all data elements in the service data transmitted from the server 1 to the terminal device 2 are transmitted to the terminal device 2 . If there are data elements not transmitted to the terminal device 2 , the process of the transmission scheme decision unit 59 returns to S 74 . More specifically, the transmission time T1 and the transmission time T2 are repeatedly compared until all data elements are transmitted to the terminal device 2 . When the transmission time T2 becomes shorter than the transmission time T1, the data transmission based on the HTTP is switched to the image data transmission based on the remote connection at this point.
- the transmission scheme decision unit 59 creates execution decision information and stores the execution decision information in the execution decision information storage 57 .
- the execution decision information includes information indicating the execution availability for the destination URL, the terminal device information, and the communication bandwidth as illustrated in FIG. 8 .
- the transmission scheme decision unit 59 monitors the start of a shutdown procedure of the gateway 3 . More specifically, the transmission scheme decision unit 59 repeats the process of S 71 to S 81 until the shutdown procedure of the gateway 3 is started.
- FIG. 17 is a flow chart illustrating a process of the non-displayed region detector 58 .
- the process of the flow chart corresponds to S 12 of FIG. 5 .
- the non-displayed region detector 58 waits for a completion notification transmitted from the Web browser 54 .
- the completion notification is received from the Web browser 54
- the non-displayed region detector 58 acquires transmitted data that is already transmitted to the terminal device 2 from the transmitted data storage 52 in S 92 .
- An example of the transmitted data storage 52 is as illustrated in FIG. 6B .
- the non-displayed region detector 58 newly activates the Web browser 54 .
- the non-displayed region detector 58 causes the newly activated Web browser 54 to generate a screen image based on the transmitted data. This screen image is substantially the same as the screen image displayed in the terminal device 2 at this point (current screen in FIG. 9 ).
- the non-displayed region detector 58 compares the image generated by the Web browser 54 of the gateway 3 based on the service data acquired from the server 1 and the image generated in S 94 .
- the image generated by the Web browser 54 is equivalent to the screen image corresponding to the Web service requested by the terminal device 2 (complete screen in FIG. 9 ). Therefore, the difference image between the two screen images indicates an image that is not displayed on the terminal device 2 at this point (i.e. non-displayed region image).
- the non-displayed region detector 58 calculates or estimates the transmission time T2 required for transmitting the non-displayed region image (i.e. the difference image between the two screen images) to the terminal device 2 based on the remote connection.
- the transmission time T2 is calculated based on the data size of the non-displayed region image.
- the non-displayed region detector 58 notifies the transmission scheme decision unit 59 of the calculated transmission time T2.
- the information indicating the transmission time T2 is received in S 75 of FIG. 16 and compared with the transmission time T1 in S 76 .
- the non-displayed region detector 58 waits for an image acquisition request generated by the data transmitter 60 .
- the non-displayed region detector 58 transfers the non-displayed region image to the data transmitter 60 in S 99 .
- the non-displayed region detector 58 monitors the start of a shutdown procedure of the gateway 3 . More specifically, the non-displayed region detector 58 repeats the process of S 91 to S 99 until the shutdown procedure of the gateway 3 is started.
- FIG. 18 is a flow chart illustrating a process of the data transmitter 60 .
- the process of the flow chart corresponds to S 19 of FIG. 5 .
- the transmitter 60 waits for a transmission request generated by the transmission scheme decision unit 59 .
- the data transmitter 60 transmits an image acquisition request to the non-displayed region detector 58 to acquire the non-displayed region image in S 112 .
- the data transmitter 60 waits for the non-displayed region image generated by the non-displayed region detector 58 .
- the data transmitter 60 transmits the non-displayed region image to the terminal device 2 based on the remote connection scheme in S 114 .
- the data transmitter 60 may convert the non-displayed region image received from the non-displayed region detector 58 into a data format of the remote connection scheme.
- the remote connection screen configuration unit 44 in the terminal device 2 receives the non-displayed region image data.
- the data transmitter 60 provides a transmission start instruction to the remote connection server 55 .
- the remote connection server 55 communicates with the remote connection client 43 of the terminal device 2 based on the remote connection scheme hereafter.
- the data transmitter 60 monitors the start of a shutdown procedure of the gateway 3 . More specifically, the data transmitter 60 repeats the process of S 111 to S 115 until the shutdown procedure of the gateway 3 is started.
- FIG. 19 is a flow chart illustrating a process of the screen selector 45 .
- the process of the flow chart corresponds to S 18 of FIG. 15 .
- the screen selector 45 waits for a request termination instruction generated by the transmission scheme decision unit 59 .
- the request termination instruction is generated in S 78 of FIG. 16 .
- the screen selector 45 instructs the Web browser 41 to terminate the Web service request in S 122 .
- the Web browser 41 terminates the operation of requesting the server 1 for the Web service.
- the Web browser 41 notifies the remote connection screen configuration unit 44 of the termination of the service request.
- the screen selector 45 waits for a copy completion notification generated by the remote connection screen configuration unit 44 .
- the copy completion notification is generated in S 136 of FIG. 20 described later.
- the screen selector 45 sets the remote connection screen on the front face of the display screen in S 124 .
- the switch from the Web browser screen to the remote connection client screen is realized.
- the screen selector 45 then terminates the Web browser 41 .
- the screen selector 45 monitors the start of a shutdown procedure of the terminal device 2 . More specifically, the screen selector 45 repeats the process of S 121 to S 124 until the shutdown procedure of the terminal device 2 is started.
- FIG. 20 is a flow chart illustrating a process of the remote connection screen configuration unit 44 .
- the process of the flow chart corresponds to S 17 and S 20 of FIG. 5 .
- the remote connection screen configuration unit 44 waits for a decision result with respect to the execution availability of the remote connection from the gateway 3 .
- the execution decision unit 56 generates the decision result in S 55 illustrated in FIG. 14 . If the decision result indicates “Available”, the process of the remote connection screen configuration unit 44 proceeds to S 133 .
- the remote connection screen configuration unit 44 activates the remote connection client 43 .
- the remote connection client 43 of the terminal device 2 and the remote connection server 55 of the gateway 3 can communicate with each other based on the remote connection scheme.
- the remote connection screen configuration unit 44 waits for a notification indicating the termination of the Web service request by the Web browser 41 .
- the remote connection screen configuration unit 44 copies the screen image of the Web browser to the remote connection screen in S 135 .
- the remote connection screen configuration unit 44 transmits a copy completion notification indicating the completion of the copy process to the screen selector 45 in S 136 .
- the screen selector 45 sets the remote connection screen on the front face of the display screen in S 124 .
- the remote connection screen configuration unit 44 waits for a non-displayed region image generated by the gateway 3 .
- the non-displayed region image is generated by the non-displayed region detector 58 and transmitted by the data transmitter 60 .
- the remote connection screen configuration unit 44 displays the non-displayed region image on the remote connection screen in S 138 .
- an image generated by the Web browser 41 is displayed on the remote connection screen. Therefore, the non-displayed region image is superimposed on the image of the Web browser.
- the remote connection screen configuration unit 44 monitors the start of a shutdown procedure of the terminal device 2 . More specifically, the remote connection screen configuration unit 44 repeats the process of S 131 to S 138 until the shutdown procedure of the terminal device 2 is started.
- S 133 to S 138 are not executed.
- the Web browser screen is not switched to the remote connection screen in the terminal device 2 . More specifically, the terminal device 2 displays the screen image generated based on the service data received using the Web browser 41 .
- the gateway equipment and the communication control method according to other embodiments of the present invention will be described.
- the other embodiments described below are realized by adding some factors or changing some factors from the gateway equipment and the communication control method described with reference to FIGS. 1 to 20 .
- FIG. 21 is a diagram describing functions of the terminal device 2 , the gateway 3 , and the server 1 according to a first embodiment.
- the gateway 3 of the first embodiment includes an HTML analyzer 61 in addition to the functions illustrated in FIG. 4 .
- the Web browser 54 receives an HTML file (such as index.html, index.cgi, and index.shtml) from the server 1 .
- This HTML file is substantially the same as the HTML file requested to the server 1 by the terminal device 2 , as described above.
- the HTML analyzer 61 analyzes the HTML file acquired by the Web browser 54 from the server 1 .
- the HTML analyzer 61 analyzes whether the HTML file refers to data other than image data.
- examples of the image data include a jpg file, a gif file, and a png file.
- examples of the data other than the image data include an external file of JavaScript (such as .js file), Java Applet, video data (such as wmv file and mp4 file), audio data (such as wav file and mp3 file), and document data (such as pdf file and doc file).
- an HTML file illustrated in FIG. 22A does not refer to data other than image data.
- an HTML file illustrated in FIG. 22B refers to data other than image data.
- the time required for transmitting the image data from the gateway 3 to the terminal device 2 is substantially the same in the HTTP and in the remote connection scheme. More specifically, when the HTML file does not refer to data other than image data, the data transmission time from the gateway 3 to the terminal device 2 is substantially the same in the HTTP and in the remote connection. Therefore, the gateway 3 does not switch the data transmission scheme from the HTTP to the remote connection in this case. In this case, the Web browser 41 of the terminal device 2 continues the operation of receiving the HTML file from the server 1 based on the HTTP.
- the gateway 3 generates the image data from the HTML file and transmits the image data to the terminal device 2 based on the remote connection.
- the image data corresponds to (or is equivalent to) the non-displayed region image data illustrated in FIG. 11 .
- FIG. 23 is a flow chart illustrating a process of the Web browser 54 in the first embodiment. The description of the same processes in FIGS. 15 and 23 will not be repeated.
- the Web browser 54 waits for an HTML file transmitted from the server 1 .
- the HTML file is substantially the same as the file requested to the server 1 by the terminal device 2 .
- the Web browser 54 transmits the HTML file to the HTML analyzer 61 in S 142 .
- the Web browser 54 waits for a result of analysis by the HTML analyzer 61 .
- the analysis result indicates whether the image data transmission based on the remote connection may be executed. If the analysis result indicates “Available”, the process of the Web browser 54 proceeds to S 63 . On the other hand, if the analysis result indicates “Not Available”, the process of the Web browser 54 ends.
- FIG. 24 is a flow chart illustrating a process of the HTML analyzer 61 .
- the HTML analyzer 61 waits for an HTML file acquired by the Web browser 54 in S 151 .
- the HTML analyzer 61 analyzes the HTML file in S 152 and S 153 .
- the HTML analyzer 61 determines whether the HTML file refers to data other than image data.
- the HTML analyzer 61 notifies the Web browser 54 and the execution decision unit 56 of “Analysis Result: Available” in S 154 and S 155 .
- the HTML analyzer 61 notifies the Web browser 54 and the execution decision unit 56 of “Analysis Result: Not Available” in S 156 and S 157 .
- the analysis result indicates whether the image data transmission based on the remote connection may be executed.
- the Web browser 54 receives the analysis result in S 143 illustrated in FIG. 23 .
- FIG. 25 is a flow chart illustrating a process of the execution decision unit 56 in the first embodiment. The description of the same processes in FIGS. 14 and 25 will not be repeated.
- the execution decision unit 56 waits for a result of analysis by the HTML analyzer 61 in S 161 .
- the analysis result indicates whether the image data transmission based on the remote connection may be executed as described with reference to FIG. 24 .
- the execution decision unit 56 notifies the remote connection screen configuration unit 44 of the information indicating the execution availability in S 55 .
- the gateway 3 of the first embodiment does not switch the data transmission scheme from the HTTP to the remote connection if the HTML file acquired from the server 1 does not refer to data other than image data. More specifically, if reduction in the transmission time is not expected even if the data transmission scheme is switched from the HTTP to the remote connection, the gateway 3 determines not to perform the remote connection without comparing the estimated transmission time based on the HTTP and the estimated transmission time based on the remote connection scheme. In this case, the gateway 3 does not execute the process of comparing the estimated transmission time based on the HTTP and the estimated transmission time based on the remote connection scheme, and the consumption of the resources of the gateway 3 is reduced.
- the gateway 3 acquires data information of service data corresponding to a Web service when the Web service is requested from a terminal device to the server 1 .
- the data information includes data names and data sizes of data elements included in the service data.
- the data information is used to decide whether to transmit the data related to the Web service to the terminal device based on the remote connection scheme. Therefore, if the gateway 3 stores data information corresponding to Web services provided from the server 1 to the terminal device in the past, the gateway 3 may use the data information to decide whether to execute the remote connection for a new Web service request.
- the Web browser 54 stores the data information of the service data corresponding to the Web service acquired from the server in the execution decision information storage 57 in association with execution decision information.
- a data set identifier is recorded in the execution decision information as illustrated in FIG. 26 .
- the data set identifier may identifies the URL of the Web service.
- the data information i.e. data name and data size
- data names (file_a1.html to file_an.jpg) and data sizes of the data elements are stored in association with the data set identifier for identifying a service a.
- the execution decision information storage 57 of the gateway 3 stores the execution decision information illustrated in FIG. 26 . It is also assumed that the service a is requested from a terminal device to the server 1 . In this case, the gateway 3 can use a data set identifier set_a corresponding to the requested service a to acquire the data names and the data sizes of the data elements included in the service data for providing the service a. In this case, the Web browser 54 does not have to analyze the data names and the data sizes of the data elements included in the service data corresponding to the service a. Therefore, according to the second embodiment, the load of the Web browser is reduced.
- the data transmitter 60 transmits the non-displayed region image data to the remote connection screen configuration unit 44 of the terminal device 2 .
- the remote connection server 55 provides the function of the data transmitter 60 illustrated in FIG. 4 . More specifically, the remote connection server 55 of the third embodiment can transmit the non-displayed region image data to the remote connection screen configuration unit 44 of the terminal device 2 .
- the configuration of the gateway 3 may be simplified. Furthermore, notifications transferred between the data transmitter 60 and the remote connection server 55 in the configuration illustrated in FIG. 4 are not necessary.
- whether to transmit data through the remote connection is determined based on the comparison between the transmission time of the non-transmitted data and the transmission time of the non-displayed region image (or the comparison between the data size of the non-transmitted data and the data size of the non-displayed region image).
- the gateway 3 of an embodiment of the present invention may take other factors into account to determine whether to transmit data based on the remote connection.
- a cost of displaying the non-transmitted data in the terminal device 2 and a cost of displaying the non-displayed region image on the terminal device 2 may be compared.
- the cost of displaying the non-transmitted data in the terminal device 2 includes a cost of a process of transmitting the non-transmitted data from the gateway 3 to the terminal device 2 and a cost of a process of generating an image based on the non-transmitted data in the terminal device 2 .
- the cost of the process of generating the image based on the non-transmitted data in the terminal device 2 depends on the resources of the terminal device 2 .
- the execution decision unit 56 may also refer to the “Terminal Device Information” of the execution decision information illustrated in FIG. 8 or 26 in addition to the transmission time of the non-transmitted data and the transmission time of the non-displayed region image to determine whether to perform the remote connection.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
Communication bandwidth [bps]=data length [bit]/packet transmission time [sec]
Packet transmission time=reception time−transmission time Then the
- (1) The terminal device includes a CPU_a and a memory of 2 GB.
- (2) The communication bandwidth between the terminal device and the
gateway 3 is 3 Mbps. - (3) The URL of a service a is accessed.
- (4) In this case, the image data transmission based on the remote connection is executed.
- (1) The terminal device includes a CPU_a and a memory of 2 GB.
- (2) The communication bandwidth between the terminal device and the
gateway 3 is 2.8 Mbps. - (3) The URL of a service b is accessed.
- (4) In this case, the image data transmission based on the remote connection is not executed.
Transmission time T1=data size of non-transmitted data/communication bandwidth
Transmission time T2=data size of non-displayed region image/communication bandwidth
Claims (9)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013-000468 | 2013-01-07 | ||
JP2013000468A JP6007795B2 (en) | 2013-01-07 | 2013-01-07 | Communication apparatus and communication control method |
Publications (2)
Publication Number | Publication Date |
---|---|
US20140195596A1 US20140195596A1 (en) | 2014-07-10 |
US9270776B2 true US9270776B2 (en) | 2016-02-23 |
Family
ID=51061841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/084,125 Expired - Fee Related US9270776B2 (en) | 2013-01-07 | 2013-11-19 | Dynamically adjusting delivery of content between terminal device and server |
Country Status (2)
Country | Link |
---|---|
US (1) | US9270776B2 (en) |
JP (1) | JP6007795B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012252452A (en) * | 2011-06-01 | 2012-12-20 | Ricoh Co Ltd | Information processing device, information processing system, and program |
KR102044452B1 (en) * | 2012-07-17 | 2019-11-13 | 엘지전자 주식회사 | Method and apparatus for measuring a packet throughput in wireless communication system |
US10348828B2 (en) * | 2016-06-20 | 2019-07-09 | Cisco Technology, Inc. | Method and apparatus for optimizing data transfers utilizing machine learning |
JP7248600B2 (en) * | 2020-01-21 | 2023-03-29 | 株式会社日立製作所 | Computer system and data transfer control method |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001211443A (en) | 2000-01-27 | 2001-08-03 | Mega Chips Corp | Information distribution system |
US20020165993A1 (en) * | 2001-05-04 | 2002-11-07 | Andre Kramer | System and method of partitioning software components of a monolithic component-based application program to separate graphical user interface elements for local execution at a client system in conjunction with remote execution of the application program at a server system |
JP2009271576A (en) | 2008-04-30 | 2009-11-19 | Ntt Docomo Inc | Client terminal equipment, thin client system, thin client server device, and client terminal equipment control method |
JP2010182176A (en) | 2009-02-06 | 2010-08-19 | Casio Computer Co Ltd | Server device, client device, server based computing system, and program |
JP2012099091A (en) | 2010-10-08 | 2012-05-24 | Hitachi Ltd | Thin client system |
US8201093B2 (en) * | 2008-10-30 | 2012-06-12 | Raja Singh Tuli | Method for reducing user-perceived lag on text data exchange with a remote server |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011077550A1 (en) * | 2009-12-25 | 2011-06-30 | 株式会社 東芝 | Screen relay device |
JP2012252381A (en) * | 2011-05-31 | 2012-12-20 | Fujifilm Corp | Image distribution server, image distribution control method, and program |
-
2013
- 2013-01-07 JP JP2013000468A patent/JP6007795B2/en not_active Expired - Fee Related
- 2013-11-19 US US14/084,125 patent/US9270776B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001211443A (en) | 2000-01-27 | 2001-08-03 | Mega Chips Corp | Information distribution system |
US20020165993A1 (en) * | 2001-05-04 | 2002-11-07 | Andre Kramer | System and method of partitioning software components of a monolithic component-based application program to separate graphical user interface elements for local execution at a client system in conjunction with remote execution of the application program at a server system |
JP2009271576A (en) | 2008-04-30 | 2009-11-19 | Ntt Docomo Inc | Client terminal equipment, thin client system, thin client server device, and client terminal equipment control method |
US8201093B2 (en) * | 2008-10-30 | 2012-06-12 | Raja Singh Tuli | Method for reducing user-perceived lag on text data exchange with a remote server |
JP2010182176A (en) | 2009-02-06 | 2010-08-19 | Casio Computer Co Ltd | Server device, client device, server based computing system, and program |
JP2012099091A (en) | 2010-10-08 | 2012-05-24 | Hitachi Ltd | Thin client system |
Also Published As
Publication number | Publication date |
---|---|
US20140195596A1 (en) | 2014-07-10 |
JP6007795B2 (en) | 2016-10-12 |
JP2014132410A (en) | 2014-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8990429B2 (en) | HTTP-based synchronization method and apparatus | |
US20120194519A1 (en) | Image Optimization | |
US20130232187A1 (en) | Systems and methods for managing data in a networked communication system | |
US20170324807A1 (en) | Proactive content push for enhancing real-time service delivery via cloud | |
CN107491320A (en) | Loading method and device based on mixed mode Mobile solution | |
US9270776B2 (en) | Dynamically adjusting delivery of content between terminal device and server | |
CN107463657B (en) | File operation method and terminal | |
WO2013056564A1 (en) | Browser core adaptation method and browser | |
US9537930B2 (en) | Information system, file server, and file server control method | |
US10601958B2 (en) | Information processing system and method for prioritized information transfer | |
US10157588B2 (en) | Systems and methods for image optimization | |
US9762516B2 (en) | Variable image acquisition and processing techniques based on image data type | |
US9400547B2 (en) | Processing device and method thereof | |
US8341216B2 (en) | Efficient method for image processing in a computer network | |
EP4028908A1 (en) | Web acceleration via learning | |
US20140337708A1 (en) | Method and apparatus for providing web browsing service | |
CN107547221B (en) | Method and equipment for providing log information | |
US10771578B2 (en) | Webpage loading method and apparatus | |
US11153399B2 (en) | Facilitating inter-proxy communication via an existing protocol | |
CN108289165B (en) | Method and device for realizing camera control based on mobile phone and terminal equipment | |
Narita et al. | Reliable cloud-based robot services | |
US20150334160A1 (en) | Method and apparatus for loading web page | |
CN112732457A (en) | Image transmission method, image transmission device, electronic equipment and computer readable medium | |
KR20120111598A (en) | Server, device, and the method for increasing efficiency of caching in a web environment | |
US20150222505A1 (en) | Business transaction resource usage tracking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FUJITSU LIMITED, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YAMASAKI, KOICHI;MATSUI, KAZUKI;REEL/FRAME:031894/0918 Effective date: 20131008 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20200223 |