SERVER APPARATUSES, SERVER CONTROL PROGRAMS, AND CLIENT APPARATUSES IN A COMPUTER SYSTEM

Information

  • Patent Application
  • 20070192509
  • Publication Number
    20070192509
  • Date Filed
    February 13, 2007
    18 years ago
  • Date Published
    August 16, 2007
    17 years ago
Abstract
The present drawing data stored in the present drawing data storage unit is compared with the preceding drawing data stored in the preceding drawing data storage unit for each of the drawing areas divided by the area dividing unit, thereby determining whether there is a change in the preceding drawing data for each of the drawing areas in the present drawing data. Then, control is performed to transmit to the client apparatus the drawing data in a drawing area determined to have a change by the comparison decision unit, except for a drawing area of the present drawing data determined to have no change by the comparison decision unit. Consequently, it is possible to remarkably reduce the amount of data transferred to the client apparatus as a result of a change in the drawing and therefore transfer the drawing data at high speed.
Description

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention, and together with the general description given above and the detailed description of the embodiments given below, serve to explain the principles of the invention.



FIG. 1 is a block diagram showing the configuration of a thin client system which includes a server apparatus 10 and its client apparatuses 20a, 20b, . . . according to an embodiment of the invention;



FIG. 2 shows a state where drawing data created at the server apparatus 10 of the thin client system is transferred to the client apparatus 20, (A) showing a change in the drawing data at the server apparatus 10, (B) showing transfer drawing data when the drawing data has changed, and (C) showing the display output state of the transferred drawing data;



FIG. 3 shows in detail transfer drawing data H created by an accelerator circuit 101 on the basis of an area Q′ of changed drawing data G′ at the server apparatus 10 of the thin client system;



FIG. 4 is a block diagram showing the circuit configuration of the server apparatus 10 in the thin client system;



FIG. 5 is a block diagram showing the circuit configuration of the accelerator circuit 101 in the server apparatus 10 of the thin client system;



FIG. 6 is a block diagram showing the configuration of an image comparing circuit lie in the accelerator circuit 101 of the server apparatus 10;



FIG. 7 is a block diagram showing the configuration of a color sensing circuit e18 of the image comparing circuit 11e in the accelerator circuit 101 of the server apparatus 10;



FIG. 8 is a block diagram showing the configuration of a tile comparing circuit e19 of the image comparing circuit 11e in the accelerator circuit 101 of the server apparatus 10;



FIG. 9 is a block diagram showing the configuration of a compression circuit 11f in the accelerator circuit 101 of the server apparatus 10;



FIG. 10 is a compression method decision table f11T included in a compression method decision circuit f11 in the compression circuit 11f;



FIG. 11 is a flowchart to help explain an overall operation control in the server apparatus 10 of the thin client system;



FIG. 12 shows a transfer data thread process by client (step SA) accompanying a service process in the server apparatus, (A) showing its flowchart and (B) showing a transfer data format in tiles;



FIG. 13 is a flowchart to help explain an accelerator circuit activating process executed when the accelerator circuit 101 of the server apparatus 10 is started;



FIG. 14 is a flowchart to help explain a response time sensing process accompanying the accelerator circuit activating process at the server apparatus 10;



FIG. 15 is a flowchart to help explain a software difference process (part 1) for each divided tile when control is passed to a software process as a result of the transfer data thread process by client at the server apparatus 10;



FIG. 16 is a flowchart to help explain a software difference process (part 2) for each divided tile when control is passed to a software process as a result of the transfer data thread process by client at the server apparatus 10;



FIG. 17 is a flowchart to help explain a number-of-colors counting and transmittable color setting process for each divided tile accompanying the software difference process in the software process at the server apparatus 10;



FIG. 18 is a flowchart to help explain a software optimum encoding process for each divided tile when control is passed to the software process as a result of the transfer data thread process by client at the server apparatus 10;



FIG. 19 is a block diagram showing a circuit configuration of the client apparatus 20 in the thin client system;



FIG. 20 is a block diagram showing a circuit configuration of an accelerator circuit 21 in the client apparatus 20 of the thin client system; and



FIG. 21 is a flowchart to help explain an overall operation control in the client apparatus 20 of the thin client system.


Claims
  • 1. A server apparatus for a computer system which causes drawing data created at a server apparatus to be transmitted to a client apparatus and displayed on its display screen, the server apparatus comprising: a preceding drawing data storage unit which stores drawing data on the preceding screen transferred to the client apparatus;a present drawing data storage unit which stores drawing data on a created present screen;an area dividing unit which divides the drawing data into a plurality of drawing areas;a comparison decision unit which compares the present drawing data stored in the present drawing data storage unit with the preceding drawing data stored in the preceding drawing data storage unit for each of the drawing areas divided by the area dividing unit and determines whether there is a change in the preceding drawing data for each of the drawing areas in the present drawing data; anda transmission control unit which transmits to the client apparatus the drawing data in a drawing area determined to have a change by the comparison decision unit, except for a drawing area of the present drawing data determined to have no change by the comparison decision unit.
  • 2. The server apparatus for the computer system according to claim 1, wherein the comparison decision unit compares the present drawing data stored in the present drawing data storage unit with the preceding drawing data stored in the preceding drawing data storage unit by pixel data item for each of the drawing areas divided by the area dividing unit and determines whether there is a change in the preceding drawing data for each of the pixel data items in each of the drawing areas in the present drawing data, and the transmission control unit includes a specific data replacing unit which replaces image data in the present drawing data determined to have no change by the comparison decision unit with specific data, anda specific area sensing unit which detects the drawing area of the present drawing data where the pixel data has been replaced with the specific data by the specific data replacing unit, andtransmits to the client apparatus the drawing data in the drawing area excluding the drawing area of the present drawing data detected by the specific area sensing unit.
  • 3. The server apparatus for the computer system according to claim 2, further comprising an image compressing unit which image-compresses each of the drawing areas in the present drawing data after the pixel data determined to have no change by the specific data replacing unit has been replaced with the specific data.
  • 4. The server apparatus for the computer system according to claim 2 or 3, further comprising a transmittable color setting unit which detects color data on each pixel constituting the drawing area for each drawing area in the present drawing data divided by the area dividing unit and sets color data other than the detected color data as a transmittable color for the drawing area, wherein the specific data which replaces the pixel data in the drawing area in the present drawing data determined to have no change by the specific data replacing unit is transmittable color data for the drawing area set by the transmittable color setting unit.
  • 5. The server apparatus for the computer system according to any one of claims 1 to 3, wherein the transmission control unit adds coordinate information on the present drawing data in the drawing area to the drawing data in the drawing area determined to have a change, except for the drawing area of the present drawing data determined to have no change by the comparison decision unit, and transmits the resulting data to the client apparatus.
  • 6. A server control program recorded in a recording medium for a computer system which causes drawing data created at a server apparatus to be transmitted to a client apparatus and displayed on its display screen, the server control program causing a computer of the server apparatus to function as a preceding drawing data storage unit which stores drawing data on the preceding screen transmitted to the client apparatus into a memory,a present drawing data storage control unit which stores drawing data on a created present screen into a memory;an area dividing unit which divides the drawing data stored in the memory into a plurality of drawing areas;a comparison decision unit which compares the present drawing data stored in the memory by the present drawing data storage control unit with the preceding drawing data stored in the memory by the preceding drawing data storage control unit for each of the drawing areas divided by the area dividing unit and determines whether there is a change in the preceding drawing data for each of the drawing areas in the present drawing data; anda transmission control unit which transmits drawing data on a drawing area determined to have a change by the comparison decision unit to the client apparatus, except for a drawing area of the present drawing data determined to have no change by the comparison decision unit.
  • 7. The server control program recorded in the recording medium according to claim 6, wherein the comparison decision unit compares the present drawing data stored in the memory by the present drawing data storage control unit with the preceding drawing data stored in the memory by the preceding drawing data storage control unit by pixel data item for each of the drawing areas divided by the area dividing unit and determines whether there is a change in the preceding drawing data for each of the pixel data items in each of the drawing areas in the present drawing data, and the transmission control unit further causes the computer of the server apparatus to function asa specific data replacing unit which replaces pixel data in the present drawing data determined to have no change by the comparison decision unit with specific data, anda specific area sensing unit which detects the drawing area of the present drawing data where the pixel data has been replaced with the specific data by the specific data replacing unit, andfurther causes the computer of the server apparatus to transmit to the client apparatus the drawing data in the drawing area excluding the drawing area of the present drawing data detected by the specific area sensing unit.
  • 8. A server apparatus for a computer system which causes drawing data created at a server apparatus to be transmitted to a client apparatus and displayed on its display screen, the server apparatus comprising: a hardware circuit which includes a preceding drawing data storage unit which stores drawing data on the preceding screen transferred to the client apparatus, a present drawing data storage unit which stores drawing data on a created present screen, an area dividing unit which divides the drawing data into a plurality of drawing areas, and a comparison decision unit which compares the present drawing data stored in the present drawing data storage unit with the preceding drawing data stored in the preceding drawing data storage unit for each of the drawing areas divided by the area dividing unit and determines whether there is a change in the preceding drawing data for each of the drawing areas in the present drawing data;a software program recorded in a recording medium which causes the computer of the server apparatus to function as an area dividing unit which divides the drawing data stored in the drawing data storage unit into a plurality of drawing areas, and a comparison decision unit which compares the present drawing data stored in the present drawing data storage unit with the preceding drawing data stored in the preceding drawing data storage unit for each of the drawing areas divided by the area dividing unit and determines whether there is a change in the preceding drawing data for each of the drawing areas in the present drawing data; anda transmission control unit which uses the comparison decision unit of the hardware circuit if the drawing area of the present drawing data stored in the present drawing data storage unit is larger than a preset area size and uses the comparison decision unit of the software program if the drawing area of the present drawing data is equal to or smaller than the preset area size to determine whether there is a change in the preceding drawing data in each of the drawing areas in the present drawing data and transmits to the client apparatus the drawing data in a drawing area determined to have a change, except for a drawing area of the present drawing data determined to have no change.
  • 9. A server apparatus for a computer system which causes drawing data created at a server apparatus to be transmitted to a client apparatus and displayed on its display screen, the server apparatus comprising: a hardware circuit which includes a preceding drawing data storage unit which stores drawing data on the preceding screen transferred to the client apparatus, a present drawing data storage unit which stores drawing data on a created present screen, an area dividing unit which divides the drawing data into a plurality of drawing areas, and a comparison decision unit which compares the present drawing data stored in the present drawing data storage unit with the preceding drawing data stored in the preceding drawing data storage unit for each of the drawing areas divided by the area dividing unit and determines whether there is a change in the preceding drawing data for each of the drawing areas in the present drawing data;a software program recorded in a recording medium which causes the computer of the server apparatus to function as an area dividing unit which divides the drawing data stored in the drawing data storage unit into a plurality of drawing areas, and a comparison decision unit which compares the present drawing data stored in the present drawing data storage unit with the preceding drawing data stored in the preceding drawing data storage unit for each of the drawing areas divided by the area dividing unit and determines whether there is a change in the preceding drawing data for each of the drawing areas in the present drawing data; anda transmission control unit which uses the comparison decision unit of the hardware circuit if the number of drawing colors in the present drawing data stored in the present drawing data storage unit is larger than a preset number of colors and uses the comparison decision unit of the software program if the number of drawing colors in the present drawing data is equal to or smaller than the preset number of colors to determine whether there is a change in the preceding drawing data in each of the drawing areas in the present drawing area and transmits to the client apparatus the drawing data in a drawing area determined to have a change to the client apparatus, except for a drawing area of the present drawing data determined to have no change.
  • 10. A client apparatus for a computer system which causes drawing data created at a server apparatus to be received and displayed on its display screen, the client apparatus comprising: a pixel data decision unit which reads a drawing area of present drawing data received from the server apparatus pixel data item by pixel data item and determines whether the pixel data item is specific data with no change in the drawing; anda display update control unit which updates the display on the display screen according to a pixel data item other than a pixel data item determined to be specific data by the pixel data decision unit.
  • 11. A server apparatus for a computer system which causes drawing data created at a server apparatus to be transmitted to a client apparatus and displayed on its display screen, the server apparatus comprising: a preceding drawing data storage unit which stores drawing data on the preceding screen transferred to the client apparatus;a present drawing data storage unit which stores drawing data on a created present screen;an area dividing unit which divides the drawing data into a plurality of drawing areas;a specific data replacing unit which compares the present drawing data stored in the present drawing data storage unit with the preceding drawing data stored in the preceding drawing data storage unit for each of the drawing areas divided by the area dividing unit and replaces the drawing data in an unchanged part of each of the drawing areas in the present drawing data with specific data;a compressing unit which compresses the drawing data in each of the drawing areas in the present drawing data after the specific data replacing unit has replaced the drawing data in the unchanged part with the specific data;a specific area sensing unit which detects a drawing area of the present drawing data where the drawing data has been replaced with the specific data by the specific data replacing unit; anda transmission control unit which transmits to the client apparatus the drawing data in each of the drawing areas in the present drawing data compressed by the compressing unit, except for the drawing data in the drawing area detected by the specific area sensing unit.
  • 12. The server apparatus for the computer system according to claim 11, wherein the compressing unit includes a number-of-colors counting unit which counts the number of colors in the drawing data on a drawing area to be compressed, and a compression method decision unit which determines a compression method according to the number of colors counted by the number-of-colors counting unit, and compresses the drawing data in the drawing area to be compressed by the compression method determined by the compression method decision unit, andthe transmission control unit adds information indicating a method of compressing the drawing data to the drawing data in each of the drawing areas in the present drawing data compressed by the compressing unit, except for the drawing data detected by the specific area sensing unit and transmits the resulting data to the client apparatus.
  • 13. The server apparatus for the computer system according to claim 11, wherein the compressing unit includes a communication load sensing unit which detects a load on the client apparatus in a communicating state, and a compression method decision unit which determines a compression method according to the load on the client apparatus in the communicating state detected by the communication load sensing unit, and compresses the drawing data in the drawing area to be compressed by the compression method determined by the compression method decision unit, andthe transmission control unit adds information indicating a method of compressing the drawing data to the drawing data in each of the drawing areas in the present drawing data compressed by the compressing unit, except for the drawing area detected by the specific area sensing unit and transmits the resulting data to the client apparatus.
  • 14. The server apparatus for the computer system according to claim 11, wherein the compressing unit includes a number-of-colors counting unit which counts the number of colors in the drawing data on a drawing area to be compressed, a communication load sensing unit which detects a load on the client apparatus in a communicating state, and a compression method decision unit which determines a compression method according to the number of colors counted by the number-of-colors counting unit and the load on the client apparatus in the communicating state detected by the communication load sensing unit, and compresses the drawing data in the drawing area to be compressed by the compression method determined by the compression method decision unit, andthe transmission control unit adds information indicating a method of compressing the drawing data to the drawing data in each of the drawing areas in the present drawing data compressed by the compressing unit, except for the drawing area detected by the specific area sensing unit and transmits the resulting data to the client apparatus.
  • 15. The server apparatus for the computer system according to any one of claim 11 to claim 14, further comprising a transmittable color setting unit which detects color data on each pixel constituting the drawing area for each of the drawing areas in the present drawing data divided by the area dividing unit and sets color data other than the detected color data as transmittable color for the drawing area, wherein the specific data with which the drawing data in an unchanged part of each of the drawing areas in the present drawing data has been replaced by the specific data replacing unit is transmittable color data in the drawing area set by the transmittable color setting unit.
  • 16. The server apparatus for the computer system according to any one of claim 11 to claim 14, wherein the transmission control unit adds information indicating the compression method and coordinate information on the present drawing data in the drawing area to the drawing data in each of the drawing areas in the present drawing data compressed by the compressing unit, except for the drawing data in the drawing area detected by the specific area sensing unit and transmits the resulting data to the client apparatus.
  • 17. A server control program recorded in a recording medium for a computer system which causes drawing data created at a server apparatus to be transmitted to a client apparatus and displayed on its display screen, the server control program causing a computer of the server apparatus to function as a preceding drawing data storage unit which stores drawing data on the preceding screen transferred to the client apparatus into a memory,a present drawing data storage control unit which stores drawing data on a created present screen into a memory;an area dividing unit which divides the drawing data stored in the memory into a plurality of drawing areas;a specific data replacing unit which compares the present drawing data stored in the memory by the present drawing data storage unit with the preceding drawing data stored in the memory by the preceding drawing data storage unit for each of the drawing areas divided by the area dividing unit and replaces the drawing data in an unchanged part of each of the drawing areas in the present drawing data with specific data;a compression control unit which causes a compression circuit to compress the drawing data in each of the drawing areas in the present drawing data after the specific data replacing unit has replaced the drawing data in the unchanged part with the specific data;a specific area sensing unit which detects the drawing area of the present drawing data where the drawing data has been replaced with the specific data by the specific data replacing unit; anda transmission control unit which transmits to the client apparatus the drawing data in each of the drawing areas in the present drawing data compressed by the compression control unit, except for the drawing area detected by the specific area sensing unit.
  • 18. The server control program recorded in the recording medium according to claim 17, wherein the compression control unit causes a computer of the server apparatus to function as a number-of-colors counting unit which counts the number of colors in the drawing data in a drawing area to be compressed, and a compression method decision unit which determines a compression method according to the number of colors counted by the number-of-colors counting unit, and further causes the compression circuit to compress the drawing data in the drawing area to be compressed by the compression method determined by the compression method decision unit, and the transmission control unit causes the computer of the server apparatus to add information indicating a method of compressing the drawing data to the drawing data in each of the drawing areas in the present drawing data compressed by the compression control unit, except for the drawing data in the drawing area detected by the specific area sensing unit, and transmits the resulting data to the client apparatus.
  • 19. The server control program recorded in the recording medium according to claim 17, wherein the compression control unit causes a computer of the server apparatus to function as a communication load sensing unit which detects a load on the client apparatus in a communicating state, and a compression method decision unit which determines a compression method according to the load on the client apparatus in the communicating state detected by the communication load sensing unit, and further causes the compression circuit to compress the drawing data in the drawing area to be compressed by the compression method determined by the compression method decision unit, and the transmission control unit adds information indicating a method of compressing the drawing data to the drawing data in each of the drawing areas in the present drawing data compressed by the compression control unit, except for the drawing data in the drawing area detected by the specific area sensing unit, and transmits the resulting data to the client apparatus.
  • 20. The server control program recorded in the recording medium according to claim 17, wherein the compression control unit causes a computer of the server apparatus to function as a number-of-color counting unit which counts the number of colors in the drawing data in a drawing area to be compressed, a communication load sensing unit which detects a load on the client apparatus in a communicating state, and a compression method decision unit which determines a compression method according to the load on the client apparatus in the communicating state detected by the communication load sensing unit, and further causes the compressing unit to compress the drawing data in the drawing area to be compressed by the compression method determined by the compression method decision unit, and the transmission control unit adds information indicating a method of compressing the drawing data to the drawing data in each of the drawing areas in the present drawing data compressed by the compression control unit, except for the drawing area detected by the specific area sensing unit, and transmits the resulting data to the client apparatus.
  • 21. A client apparatus for a computer system which causes drawing data created at a server apparatus to be received and displayed on its display screen, the client apparatus comprising: a compression/decompression unit which decompresses the compressed drawing data in a drawing area of the present drawing data received from the server apparatus;a pixel data decision unit which reads pixel data item by pixel data item the drawing data in the drawing area decompressed by the compressing/decompressing unit and determines whether the pixel data is specific data indicating that there is no change in the drawing; anda display update control unit which updates the display on the display screen according to pixel data other than the pixel data determined to be specific data by the pixel data decision unit.
Priority Claims (2)
Number Date Country Kind
2006-036652 Feb 2006 JP national
2006-036653 Feb 2006 JP national