WO2012046800A1 - シンクライアントシステム - Google Patents

シンクライアントシステム Download PDF

Info

Publication number
WO2012046800A1
WO2012046800A1 PCT/JP2011/073089 JP2011073089W WO2012046800A1 WO 2012046800 A1 WO2012046800 A1 WO 2012046800A1 JP 2011073089 W JP2011073089 W JP 2011073089W WO 2012046800 A1 WO2012046800 A1 WO 2012046800A1
Authority
WO
WIPO (PCT)
Prior art keywords
thin client
data
program
file
server
Prior art date
Application number
PCT/JP2011/073089
Other languages
English (en)
French (fr)
Inventor
真紀 森
信 萱島
礒川 弘実
レタンマン カオ
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Publication of WO2012046800A1 publication Critical patent/WO2012046800A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Definitions

  • the subject matter disclosed herein relates to a secure remote access system that allows a server to be remotely operated safely via a network.
  • a screen transfer type thin client system in which programs and data are stored in a thin client server, and a thin client terminal (hereinafter referred to as a thin client or TC (Thin Client)) does not have data.
  • the thin client accesses the thin client server via the network and sends input from the keyboard, mouse, etc., the thin client server transfers the screen data of the processing result in the thin client server to the thin client, and the thin client
  • the PC desktop running on the server is remotely operated by displaying the transferred screen data. This system reduces the risk of losing data even if the user loses the thin client.
  • the screen transfer speed is low and screen drawing is frequently performed.
  • the screen transfer type system cannot display a screen on the thin client in an offline environment where communication with the thin client server is not possible.
  • the secure data downloaded from the server and stored in the mobile terminal can be used, and it is temporarily deleted by ensuring the security by deleting it at a predetermined timing.
  • a thin client terminal has been proposed that allows the operation to be continued even when communication with the server is cut off, and realizes a high security level against information leakage (Patent Document 1).
  • Non-Patent Document 1 In addition to the screen transfer type thin client system, there is an offline function of HTML5 as a method of browsing Web contents and data when offline.
  • the HTML5 specification provides a SQL-based database API that stores data locally, and an offline application application HTTP cache that allows the user to use the application even when the user is not connected to the network (Non-Patent Document 1). ).
  • JP 2009-181460 A (paragraphs 0061 and 0062) JP 2010-045618 A (paragraphs 0032 to 0047, 0055)
  • Patent Document 1 if data or a program is stored in a terminal operated by a user in order to improve operability when offline, information may be leaked if the terminal is lost. is there.
  • Patent Document 1 describes a method for deleting data temporarily downloaded from a server to a client terminal. However, when data downloaded from a server is updated, a method for reflecting the updated result on the server is described. It is not done.
  • Non-Patent Document 1 can browse Web contents and data when offline, but a Web application program that provides the same function as an application program that operates on a thin client server is available. is necessary.
  • the Web application version program equivalent to the application program that the user wants to use is not necessarily provided. Therefore, depending on the application program to be used, the user can use the application program that runs on the thin client server or equivalent. It is necessary to use different Web application programs that provide functions.
  • Non-Patent Document 1 Furthermore, with the method described in Non-Patent Document 1, it is possible to browse Web contents and data when offline, but cooperation between applications is not possible.
  • linking between applications means creating not only simple data exchange with a copy buffer, but also creating a new composite application by linking data between applications using macros and scripts. .
  • a standard that defines a method for exchanging data between applications and an environment for executing macros and scripts on the application are required. The method described in Non-Patent Document 1 satisfies these requirements. Because it does not support, it becomes difficult to realize.
  • the processing target data by the user does not exist on the thin client terminal side. Therefore, even if the thin client terminal is lost or stolen, It has the feature that there is no risk of information leakage even if it is shared by both.
  • Patent Document 2 the information linked between the mobile phone terminal and the thin client (TC) terminal relates to authenticated information, and the storage of data worked on the TC terminal is mentioned. Absent.
  • the present disclosure discloses a communication path with a server to which a terminal is connected while ensuring security by preventing information leakage when outputting, editing, and saving application program data on a client terminal. It is a thin client system with high operability regardless of quality.
  • the screen transfer type thin client system uses an application program that requires cooperation between applications and a Web client program. Equipped with a mechanism to smoothly switch between used work.
  • a thin client system in which a thin client server, a web server, and a thin client terminal are connected via a network, If the thin client server receives operation information for starting an application program for creating or updating a target file from a thin client terminal connected via a network, the thin client server determines whether to execute the application program on the thin client server.
  • the thin client server sends the identifier of the application program, the identifier of the target file, and the file data indicated by the file identifier to the Web server,
  • the Web server generates access destination information based on the identifier of the application program, the identifier of the target file, and the identifier of the storage destination of the received file data,
  • the Web server sends the generated access destination information to the thin client server.
  • the thin client server sends the received access destination information to the thin client terminal, Thin client terminal Based on the access destination information received from the thin client server, connect to the Web server,
  • a thin client system is disclosed that executes an application program and creates or updates a target file.
  • the Web server and / or thin client server includes a table for managing the status of a file to be created or updated
  • the thin client server starts the application program, references the table before reading the target file, If the target file has been changed, an inquiry as to whether to update the target file is displayed on the thin client terminal screen,
  • the application program may be started after following the instruction whether to update or not input to the thin client terminal.
  • the thin client server Detects the load status of the network connected to the thin client terminal, Whether or not the application program is to be executed by the thin client server may be determined based on the load state and a startup policy provided in advance.
  • the above startup policy includes the relationship between the type of application program, the state of the network between the thin client server and the thin client terminal, the state of the thin client server, the type of file read by the application program and the method of starting the application program. And may be included.
  • the thin client terminal Connect to the thin client server, specify the file to be created or updated, send operation information to start the application program that creates or updates the target file,
  • the access destination information is received from the thin client server, A configuration is disclosed that connects to a Web server and creates or updates a target file based on received access destination information.
  • the client terminal Based on the application program execution instruction with the file name received from the thin client terminal, Determine whether to start the application program in the thin client server, If the application program is not started on the thin client server, send the file specified by the execution instruction to the Web server, The client terminal receives the access destination information and the authentication information necessary for access necessary for accessing the file sent to the web server from the web server, A configuration is disclosed in which an instruction to start a Web client program that accesses a Web server, the received access destination information, and authentication information are transmitted to a thin client terminal.
  • the thin client server determines whether to start the application program, the network load state between the thin client terminal and the thin client server, the identifier of the application program designated to start, and the file used by the application program. You may perform based on an identifier and the load state of the said thin client server.
  • the thin client terminal Based on the operation information by the thin client terminal that specifies the file to be created or updated for the thin client server and starts the application program that creates or updates the target file. Receiving the identifier of the application program, the target file, and the identifier of the user using the thin client terminal from the thin client server; Based on the identifier, generate the access destination information necessary when the Web client program executed on the thin client terminal uses the application program started on the Web server, A configuration is disclosed in which the generated access destination information is transmitted to a thin client server.
  • the Web server may transmit the file and the application program to the thin client terminal.
  • the predetermined condition in the Web server is based on, for example, a rule in which the user identifier used when generating the access destination information and the user identifier transmitted from the Web client program are stored in the access control data. It is determined whether access is possible and access is possible.
  • the predetermined condition in the above Web server is a confidentiality when the data transmitted from the Web server has a function that can be deleted remotely and the function that can be deleted remotely is set to operate.
  • the portable terminal can be designated as a file storage destination so that a file with a high degree of can be stored in the portable terminal.
  • Also disclosed in this specification is to specify a file stored in the thin client server using an input device of the thin client terminal, and input an instruction to start an application program associated with the file.
  • the mobile code necessary for editing the file using a Web client program operating on the thin client terminal and the data of the file are stored in a portable terminal connected to the thin client terminal by a communication function.
  • the mobile terminal stores the file and the application program transmitted from the Web server, or an identifier for identifying the terminal and an identifier for identifying the file when the file is changed or deleted after the file is stored. It is also possible to configure so that data associating a file state (for example, change, deletion, alias saving) is transmitted to a thin client terminal or a Web server.
  • data associating a file state for example, change, deletion, alias saving
  • the mobile terminal Furthermore, based on the data indicating whether the mobile terminal has a function capable of remotely deleting the data transmitted from the web server and whether the function capable of remotely deleting is set to operate, It is also possible to register the data indicating whether or not the above-mentioned portable terminal is applicable to the storage location corresponding to the degree of confidentiality of the contents as access control data stored in the Web server as a data writable medium list. good.
  • the thin client terminal displays a file and an application program transmitted from the Web server or a storage location of the file, and has a function of storing data according to an input from the user.
  • the storage location is determined by whether or not the mobile device is included in the list corresponding to the file storage location. If it is included, the mobile device is displayed as the data destination, and if it is not included, the mobile device is not displayed. You may do it.
  • the file stored in the thin client server can be saved.
  • You may comprise a thin client system so that it may store in a secondary storage device of a thin client terminal or a portable terminal via a Web server.
  • a Web application program that enables editing of data on a thin client server and a Web client program that operates on the thin client by storing the data in the Web server.
  • Data that has been edited on the client server can be edited without going through the thin client server.
  • the Web application program and the data used by the Web application program are downloaded to the thin client in advance, the Web client program can be started even in an environment where the thin client cannot connect to the network. Now you can start the web application program and edit the data.
  • the work on the thin client server by the screen transfer type, the work to access the web server by using the web browser, and the work by offline on the thin client are performed. It is possible to switch as needed. In addition, by providing a function for executing the data update process necessary for switching work, it is possible to reduce the burden of switching work for the user and prevent the user from forgetting to update the data. .
  • access to data used by an application program according to the communication environment between a computer terminal operated by a user and a computer connected to the terminal via a network is provided in the activation policy data. Since it is possible to switch the method, it is possible to use an access method with higher operability when the communication environment is bad, and the user can input new data by switching the access method for the same data Since there is no need to rework, operability is improved.
  • structure of the thin client system to disclose The figure which illustrates the program structure of the thin client system to disclose.
  • FIG. 5 is a flowchart illustrating an example of processing of a switching program 103.
  • 6 is a flowchart illustrating an example of processing of an application monitoring program 203.
  • FIG. 5 is a flowchart illustrating an example of processing of a data management broker program 205.
  • FIG. 5 is a flowchart illustrating an example of processing of a Web client program 104.
  • the flowchart which illustrates the process of the Web server program 303.
  • the figure which illustrates the screen of TC10. The figure which illustrates the screen of TC10.
  • the figure which illustrates the screen of TC10. The figure which illustrates the screen of TC10.
  • the figure which illustrates the screen of TC10. The figure which illustrates the screen of TC10.
  • the figure which illustrates the screen of TC10. The figure which illustrates the screen of TC10.
  • the figure which illustrates the screen of TC10. The figure which illustrates the screen of TC10.
  • the figure which illustrates the screen of TC10. The figure which illustrates the screen of TC10.
  • the figure which illustrates the screen of TC10. The figure which illustrates the screen of TC10.
  • the figure which illustrates the screen of TC10. The figure which illustrates the screen of TC10.
  • the first embodiment will be described with reference to FIGS. 1 to 18E.
  • the first embodiment shows a case where a document file is newly created or a created file is edited using a thin client system.
  • FIG. 1 shows the overall configuration of a thin client system (hereinafter, this system) according to the present embodiment.
  • This system is a thin client system comprising a thin client server computer having a thin client server function, a Web server computer having a Web application server function, and a thin client terminal communicating with these server computers.
  • One server device may have a thin client server function and a Web application server function.
  • the Web application server function is a transmission function that transmits data or a Web application program (hereinafter referred to as a Web application program) to a request source program in response to a request from the Web client program, and a Web application program that operates on the Web client program
  • a data management function having a function of updating data on the Web server by operating together.
  • a web application program is a mobile code that operates on a web client program.
  • This system includes a thin client terminal 10 (hereinafter referred to as TC), a thin client server 20 (hereinafter referred to as TCS), and a Web server 30 connected via a network 40.
  • TC thin client terminal
  • TCS thin client server 20
  • Web server 30 connected via a network 40.
  • the TCS 20 and the Web server 30 are separate computers, but may be a single computer.
  • TC10, TCS20, and Web server 30 are displayed one by one in the figure, a plurality of computers may be connected to the network.
  • the network 40 is composed of a plurality of networks such as a corporate network, the Internet, and a mobile phone communication network.
  • the TC 10 (TC 10-1) and the TCS 20 are connected to the corporate network
  • the TC 10 (TC 10-2) and the Web server 30 different from the TC 10 connected to the corporate network may be connected to the Internet.
  • the TC 10 functions as a device in charge of a user GUI operation interface, and is an interface for an external device such as a CPU 11, a memory 12, a secondary storage device 13, a network interface 14, and a USB (Universal Serial Bus). 15, an input unit 17 such as a keyboard for acquiring operation input from a user, an output unit 18 such as a display unit for outputting data, and an internal communication line such as a bus (hereinafter referred to as a bus) to which these are connected to each other. 16 is comprised.
  • an external device such as a CPU 11, a memory 12, a secondary storage device 13, a network interface 14, and a USB (Universal Serial Bus).
  • an input unit 17 such as a keyboard for acquiring operation input from a user
  • an output unit 18 such as a display unit for outputting data
  • an internal communication line such as a bus (hereinafter referred to as a bus) to which these are connected to each other. 16 is comprised.
  • the TCS 20 is a device in charge of executing an application program used by a user, and includes an internal communication line such as a CPU 21, a memory 22, a secondary storage device 23, a network interface 24, and a bus to which these are connected to each other. (Referred to as a bus) 25.
  • the Web server 30 manages the application program data (hereinafter referred to as application data) 220 transmitted from the TCS 20 and requests from the TC 10 for the Web application program (hereinafter referred to as Web application program) 304 and the application program data (hereinafter referred to as application program data).
  • application data is transmitted to the TC 10.
  • FIG. 2 is a diagram illustrating a program configuration of this system.
  • the user uses this system to create a file with an application program, edit and save the data of the created file, and execute file editing processing.
  • the file editing processing includes “remote file editing processing” and “local file editing processing”. Of local file editing processing, processing when the TC 10 is not connected to the network is called offline processing.
  • Remote file editing process is a process in which an application program started on the TCS 20 edits a file stored in the TCS 20. Since the computer operated by the user is different from the computer that executes the application program, it is called “remote”.
  • “Local file editing process” is a process of editing a file temporarily stored in the TC 10 by operating the Web application program downloaded from the Web server 30 on the Web client program that is activated on the TC 10. Since the computer operated by the user is the same as the computer that executes the Web application program corresponding to the application program, it is called “local”.
  • Application programs include document creation software, spreadsheet software, and presentation material creation software. In the following, it is assumed that presentation material creation software is used as one of the application programs.
  • a file is identified by a file name, and is uniquely identified by a combination of a storage area name (such as a combination of a storage medium identifier and a directory name) and a file name of a storage medium to be stored.
  • the file name includes an extension. For example, in the case of a file with a file name “sample.txt”, the character string “txt” following “.” Is the extension.
  • the extension can be associated with the application program. By specifying the file name and instructing to open the file, the application program associated with the file name is started, and the file data indicated by the file name Is read. Since this mechanism is known to those skilled in the art, a detailed description is omitted.
  • an operating system (OS) 101 In the TC 10, an operating system (OS) 101, a switching program 103, a remote drawing client program 102, and a Web client program 104 are loaded and stored as appropriate in a memory. These programs are executed by the CPU 11 to realize predetermined functions described below.
  • OS operating system
  • switching program 103 a switching program 103
  • remote drawing client program 102 In the TC 10, an operating system (OS) 101, a switching program 103, a remote drawing client program 102, and a Web client program 104 are loaded and stored as appropriate in a memory.
  • a remote drawing client program 102 In the TC 10, an operating system (OS) 101, a switching program 103, a remote drawing client program 102, and a Web client program 104 are loaded and stored as appropriate in a memory. These programs are executed by the CPU 11 to realize predetermined functions described below.
  • the OS 101 executes common basic processes used by application programs for input / output functions, memory / secondary storage read / write management functions, communication functions, and the like.
  • the switching program 103 displays a menu indicating the operation contents that can be operated by the user on the TC 10, and starts the remote drawing client program 102 or the Web client program 104 in accordance with the instruction contents from the user to start processing. Further, the switching program 103 executes processing corresponding to the interrupt processing from the switching broker program 204 operating on the TCS 20.
  • the network status table 110 is a value obtained by measuring the network status between the TC 10 and the TCS 20 (throughput and latency), and a connection method between the TC 10 and the TCS 20 (network type such as the Internet, Intranet, and cellular phone network, and wired communication). Data indicating the type of communication means (when connecting to a network such as a LAN, wireless LAN, data communication card, power line) is stored as data of the communication environment.
  • the network status table may store the update status of the file stored in the temporary storage data 120 by storing not only the data of the communication environment but also data similar to the file update status table 330 described later. .
  • the temporary storage data 120 stores a web application program used for offline processing, which will be described later, and application data that is editing data. Data on the memory 12 is appropriately stored in the secondary storage device 13 or the external storage medium 19. Stored in
  • User identifier data 130 is data for uniquely identifying a user, is stored in the external storage medium 19, and is loaded and stored in the memory 12 as appropriate via the external device interface 15. Note that the user identifier data 130 may be stored in the secondary storage device 13.
  • Data obtained as a result of the execution of the Web client program 104 is saved in the memory 12, the secondary storage device 13, or the temporary storage data 120 stored in the external storage medium 19. Further, when the Web client program 104 accesses the Web server 30 described later and acquires the Web application program and application data used by the Web application program via the network interface, these data are only in the memory 12. Instead, it may be stored as temporarily stored data 120.
  • the temporary storage data 120 is stored by the switching program 103 based on a user input to a menu displayed by the switching program 103 operating on the TC 10 or based on an instruction from the switching broker program 204 of the TCS 20, or a remote drawing client It is executed by a user input to the menu displayed by the program 102.
  • the OS 201 the remote drawing server program 202, the application monitoring program 203 (hereinafter referred to as application monitoring program), the application program 206 (hereinafter referred to as AP 206), the data management broker program 205, and the switching broker program 204 are stored in a secondary storage device.
  • application monitoring program the application monitoring program 203
  • AP 206 the application program 206
  • the data management broker program 205 the switching broker program 204
  • these programs are stored in the memory 23 and loaded into the memory 22 and executed by the CPU 21 to realize the functions described below.
  • the activation policy 230, the application data 220, and the state table 210 are stored in the secondary storage device 23, and are loaded into the memory and updated when a program that uses these data is activated. Is stored in the secondary storage device 23 at a predetermined timing.
  • the remote drawing server program 202 executes processing in response to a request from the TC 10 remote drawing client program.
  • the application monitoring program 203 determines whether the application program is executed by the TCS 20 or the TC 10 when the user operation detection data acquired by the remote drawing server program 202 is acquired via the OS 201.
  • the switching broker program 204 waits for input from the application monitoring program 203, the data management broker program 205, and the switching program 103 of the TC 10, and executes a corresponding process according to the program that has passed the data.
  • the data management broker program 205 is a program that manages data duplication and synchronization of the duplicated data so that the application data 220 stored in the TCS 20 can be edited by the TCS 20 or TC 10 depending on the situation.
  • the OS 301, the Web server program 303, the Web application program 304, and the data management program 302 are stored in the secondary storage device 33, and these programs are loaded into the memory 32 and executed by the CPU 31.
  • the functions described below are realized.
  • the secondary storage device 33 stores application data 320, access control data 310 for the application data 320, file update state management table 330, and status parameter management table 340.
  • Each program and data may be stored in advance in the secondary storage device of each device, or when necessary, the secondary storage device from another device via a medium that can be used by each device. May be introduced.
  • the medium is, for example, a storage medium that can be attached to and detached from the external device interface, or a communication medium (that is, a wired, wireless, or optical network connected to the network interface, or a carrier wave or digital signal that propagates through the network).
  • the application data 220 and 320 may be stored in a NAS (Network Attached Storage) and may be accessed by the user by an access control function provided by the NAS.
  • the application data 320 is a copy of some or all of the files specified by the user in the application data 220. However, if the data format handled by the AP 206 and the Web application program 304 is different, the data is appropriately converted at the time of duplication, and the format can be handled by each program.
  • TCS20, Web server 30, and TC10 are powered on, and the OS of each computer is started. After the OS is started, each computer also starts the following program.
  • the TC 10 starts the switching program 103
  • the TCS 20 starts the application monitoring program 203
  • the switching broker program 204 starts the data management broker program 205
  • the Web server 30 starts the data management program 302 and the Web server program 303 (F1).
  • the system acquires login information for the user to use the system (F2).
  • a screen for inputting an identifier (ID) for identifying a user and a password is displayed on the screen of the TC 10, and the user inputs data using an input device such as a keyboard.
  • an input device such as a keyboard.
  • the output unit 17 of the TC 10 displays options for the user to specify the next operation as a menu.
  • a method and screen examples for the user to select the displayed options will be described later with reference to FIGS. 17A to 17D and FIGS. 18A to 18E.
  • the user issues an instruction to connect the TC 10 and the TCS 20 and log in to the TCS 20, a connection process between the TC 10 and the TCS 20 starts (F6).
  • the TC 10 and the TCS 20 are connected by the remote drawing client program 102 and the remote drawing server program 202, it is possible to specify the activation of an application program that operates on the TCS 20 via the input unit 18 of the TC 10. Details after the connection will be described later with reference to FIG.
  • the system acquires the instruction to activate the AP (F7). Details of the processing content will be described later with reference to FIG. 4, and an example of a screen displayed when the user instructs activation of the application program will be described later with reference to FIG. 18A.
  • the TCS 20 detects the activation of the AP, the TCS 20 acquires data relating to the communication status of the network 40 between the TC 10 and the TCS 20 and the status of the processing capacity of the computer in the TCS 20 (F8).
  • the network 40 connecting the TC 10 and the TCS 20 has a good line state such as broadband or LAN
  • the process proceeds to F11, and when the state of the communication line such as a narrow band is bad or when the computer load of the TCS 20 is high, Proceed to F21 (F9).
  • the preparation process (F11) for AP execution in the TCS 20 when the network state of the network 40 connecting the TC 10 and the TCS 20 is good, the AP 206 stored in the TCS 20 is activated and stored as the application data 220. This is a process of reading a file. Details will be described later with reference to FIG. An example of a screen displayed when the application program is activated in the TCS 20 will be described later with reference to FIG. 18C.
  • the file editing process (F12) on the TCS is a remote file editing process.
  • the data to be edited is the application data 220 stored in the TCS 20, and the data storage process is known to those skilled in the art.
  • the edited result is overwritten and saved as application data 220 stored in the TCS 20 or saved under a different name in accordance with a user instruction to save the edited file. It is processing to do.
  • the AP 206 is terminated and the TCS 20 is logged off according to the user's operation (F14).
  • preparation of the editing environment and activation of the Web client program 104 are executed as preparation processing for executing the application program on the TC 10. Details will be described later with reference to FIG. 5 (F21). An example of a screen displayed when the Web application program operates on the Web client program activated by the TC 10 will be described later with reference to FIGS. 18D and 22A to 22C.
  • F22 is a local file editing process.
  • the locally edited file is saved according to user instructions.
  • This storage process is called a remote storage process because the storage process is executed not only by the computer operated by the user but also by a computer different from the computer operated by the user (F23).
  • the activated Web client program 104 is terminated according to the user's operation (F24).
  • FIG. 4 the processing from F6 to F11 shown in FIG. 3 will be described using FIG. 4 according to the sequence of processing executed by the program stored in the TC 10 and the program stored in the TCS 20.
  • the processing in the square surrounded by the broken line in FIG. 4 corresponds to F6 to F11 in FIG.
  • step 101 is abbreviated as S, and step 101 is abbreviated as S.
  • the same number indicates the case where the processing contents are the same.
  • the processing described below is realized by the CPU executing a program that realizes each function, but for the sake of convenience of description, the program will be described as an execution subject.
  • the remote drawing client program 102 processes the input information (keyboard and mouse operation etc.) from the user and transfers it to the remote drawing server program 202 (SQ113).
  • the remote drawing server program 202 passes the input information received from the remote drawing client program 102 to a program that operates on the TCS 20 via the OS 201, and uses the processing result corresponding to the input information as output information to the user as the output information of the TC10. Transfer to the remote drawing client program 102 (SQ115).
  • the remote drawing client program 102 processes output information (display output, speaker output, etc.) output to the user received from the remote drawing server program 202.
  • the result processed on the TCS 20 is output to the TC 10 using the input information from the TC 10 by the exchange between the remote drawing client program and the remote drawing server program.
  • the input information ⁇ ⁇ (user operation) from the user indicating the content operated by the user using the input device of the TC 10 is sent from the remote drawing client program 102 to the remote drawing server program 202 (SQ117).
  • the remote drawing server program 202 passes the user operation received via the OS 201 to the application monitoring program 203 (SQ119), and the application monitoring program 203 generates user operation detection data based on the received user operation (user operation detection data). Will be described in step S232 in FIG. 12).
  • the user operation is input by the user operating the TC 10 input device, and includes contents of character input from the keyboard and input to the TC 10 output device such as a GUI displayed on the screen.
  • a GUI displayed on the screen.
  • For input to the GUI click the area (button) displayed on the screen with a pointing device such as a mouse to specify the contents of the process to be executed next, or display the file name and icon to be displayed with the right mouse button.
  • the application monitoring program 203 stores data in a state table 210 described later (details will be described in S233 of FIG. 12).
  • the activation policy 230 it is determined whether or not the AP 206 is activated by the TCS 20 (details will be described in S234 of FIG. 12).
  • the AP 206 is activated (SQ121), and the user operation sent from the TC 10 is activated via the remote drawing server program 202 and the remote drawing client program 102. (SQ123, SQ125) (F11).
  • F21 is a process executed when the application monitoring program 203 determines in F9 that "the computer that executes the file editing process is TC10".
  • the data storage program 502 is not included in the constituent elements of this embodiment, and will be described in the second embodiment.
  • the application monitoring program 203 passes the user operation detection data to the switching broker program 204 (this process will be described later in FIG. 12, S237).
  • the switching broker program 204 passes the user operation detection data to the data management broker program 205 (this process will be described later in FIG. 13 S243).
  • the data management broker program 205 passes the user operation detection data, the file referenced from the application data 220, the user identifier, and the like to the data management program 302 (this process will be described later in FIG. 14, S253).
  • the data management program 302 stores the file in the application data 320 based on the received data (details of this processing will be described later in S322 in FIG. 15), and access destination information described later based on the user identifier, user operation detection data, and the like. And the switching parameter are generated, and the access destination information is stored in the state table 330 (this process will be described later in FIG. 15 S323).
  • the data management program 302 passes the generated access destination information and switching parameters to the data management broker program 205 (this process will be described later in FIG. 15 S324).
  • the data management broker program 205 stores the received access destination information in the state table 210, and passes the access destination information and switching parameters to the switching broker program 204 (FIG. 14, S256 will be described later).
  • the switching broker program 204 sends the access destination information and the switching parameters to the switching program 103 (described later in FIG. 13 S245).
  • the switching program 103 When the switching program 103 receives the access destination information and the switching parameter from the switching broker program 204, the switching program 103 generates switching control data for switching a program operating in the TC 10 based on the switching parameter, and based on the switching control data, the Web The client program 104 is activated (described later in FIG. 11B S1397).
  • the Web client program 104 accesses the Web server 30 based on the access destination information received by the switching program 103. At this time, if the user identifier is transmitted together and the access control data 310 of the Web server 30 is used, single sign-on to the Web server 30 is possible.
  • the Web server program 303 receives a request from the Web client program 104, and refers to the data of the application data 320 using the Web application program 304 based on the request (SQ147, SQ149). The referred data and Web application program are transmitted as a response.
  • the Web application program and data are downloaded to the TC 10 in the Web client program 104 (SQ151).
  • the Web client program 104 is activated on the TC 10
  • the Web application program 304 is activated on the Web client program 104 and the Web server 30 via the Web server program 303.
  • the preparation processing for AP execution in TC10 is completed.
  • the web application program operating on the web client program 104 acquires input from the user, displays the processing result of the web server program 303 according to the input, and the user Executes editing processing for the specified file.
  • the Web client program 104 transmits update data for the file stored as the temporary storage data 120 to the Web server 30 (SQ161), and the Web server program 303 receives the update data.
  • the application data 320 is updated based on the received update data.
  • the data management program 302 monitors the update status of the application data 320, and when detecting that the application data 320 is updated, the data management program 302 turns on the update flag and updates the file update state management table 330.
  • the data management program 302 may monitor the update of the application data 320 or may receive a data update request notification from the application program 304.
  • the data management program 302 transmits the updated application data and data such as update date / time and updater to the data management broker program 205 (SQ167).
  • the data management broker program 205 updates the application data 220 and the state table 210 based on the received data (described later in FIG. 14 S257), and notifies the data management program 302 of the completion of the update (described later in FIG. 14 S258). .
  • the data management program 302 Upon receiving the update completion notification (described later in FIG. 15 S328), the data management program 302 notifies the application program 304 of the completion of data update (described later in FIG. 15 S329), and the Web server program 303 and the Web client program 104. The user is notified of the completion of the data update via.
  • the activation policy 230 includes an ID field for identifying a policy stored in the table 230, an application ID field 231 for storing an ID for identifying an application program (hereinafter referred to as an application ID), and an application activation computer for identifying a computer that activates the application program.
  • the application identification table 240 includes an application ID column 241 that stores application IDs, and storage destination columns 242 and 242 on the TCS of execution programs that indicate areas in which execution programs of application programs identified by application IDs are stored in the TCS 20.
  • a storage destination field 243 on the Web server indicating an area in which a Web application program having the same function as that shown in FIG. 6 is stored, and an extension field 244 for storing an extension of a file associated with the program. Consists of.
  • the condition table 250 stores conditions for determining a computer that starts an application.
  • the condition is a combination of one or more parameters indicating the TC10, TCS20, the network state between the TC10 and the TCS20 when the application program is started, and is distinguished by a condition ID.
  • Parameters include data related to the communication environment, data related to the file used when starting the application program (file size, file type, etc.), computer processing capacity status of the TC 10 and TCS 20 (memory usage, memory usage rate, CPU Usage rate, number of running application programs, number of running processes, number of windows displayed on the screen, identifier indicating whether a pre-specified application program is running, screen displayed Resolution and the number of bits to be displayed).
  • condition ID column 251 stores a condition ID
  • the communication environment ID column 252 stores an ID for identifying data related to the communication environment stored in the communication environment table 260
  • file type column 253 stores the type of file read by the application program. Is stored.
  • the communication environment table 260 divides the communication environment by combining the communication means, the type of the communication network, the measured value of the network state, and the like as the data related to the communication environment between the TC 10 and the TCS 20, and for each divided communication environment. Is given a communication environment ID.
  • an index field 211 for storing an identifier for identifying a file stored in the application data 220, a file name field 212 for identifying a file by the TCS 20, and data indicated by the file name field are stored in the server of the TCS 20.
  • the data shown in the TCS server directory column 213 and the file name column 212 indicating the current directory is read and executed, and stored in the application ID column 214 storing the application ID for identifying the application program, the index column 331 or the file name column 332.
  • the data is synchronized with the data copied on the Web server 30 or the data stored in the TC 10 (data indicating “done” is stored), and when the data is not synchronized (“not done” is displayed).
  • state table 210 has the same type of data as that stored in the condition table 250 (not shown).
  • the table configuration of the file update state management table 330 stored in the Web server 30 will be described with reference to FIG.
  • the file update state management table 330 whether the file stored in the TCS 20 is copied to the Web server 30 or the TC 10, is edited after copying, is the edited data synchronized with the data of the TCS 20, Data for managing the duplication, modification, and synchronization status of files, such as whether data newly created by the TC 10 is stored in the Web server 30 or the TCS 20, is stored.
  • the file update state management table 330 includes an index field 331 for storing an identifier for identifying a file stored in the application data 320, a file name field 332 for identifying a file in the TCS 20, and data indicated by the file name field in the server of the TCS 20
  • An application ID column 334 for storing an application ID for identifying an application program, an index column 331, or a file name column 332 for reading and executing the data indicated by the TCS server directory column 333 and the file name column 332 indicating the directory stored in
  • An Internet address field 335 for storing access destination information necessary for access specified by the Web client program when editing data identified by the data stored in the Web server 30; 30 data is synchronized with the data stored in the TCS 20 or the data downloaded to the TC 10 (data indicating “done” is stored) and when the data is not synchronized (“incomplete” ”Is stored), a synchronization column 336 for storing data for identifying, a status number column 337 for storing a status number
  • a UserID column 339 for storing a user ID for identifying a user who has executed an instruction to edit data identified by the data stored in the last update date / time column 338, the index column 331, or the file name column 332 by the Web server 30. Consists of including.
  • the data in the TCS server directory column 333 is a value including data for identifying each TCS 20 when there are a plurality of TCS 20s. If the file stored in the application data 320 has never been edited after storage, that is, if the status number is 1, the date / time in the last update date / time column 338 indicates the date / time copied to the application data 320. .
  • the file update state management table 330 and a status parameter management table 340 are stored in the Web server 30.
  • the file update state management table 330 and the status parameter management table 340 may be synchronized with each other and can be accessed from both the TCS 20 and the Web server 30. It may be stored on a simple network disk.
  • the table configuration of the status parameter management table 340 will be described with reference to FIG.
  • the status parameter management table 340 includes a status description column 342 that describes on which computer or storage medium the copy of the application data file stored in the TCS 20 is present, and the status of access to the file. Between the file status column 343 indicating the change status of the file as to whether the data has been changed, the application data stored in the Web server 30 and the file downloaded to the TC 10 and stored as temporary storage data The synchronization state column 344 indicating whether or not the data synchronization is completed is stored for each status number stored in the status number column 340.
  • data indicating which terminal is being downloaded may be included.
  • data indicating which terminal is being downloaded may be included.
  • a state indicating whether or not the data downloaded to the terminal has been deleted from the terminal may be included.
  • the switching program 103 When the OS of the TC 10 is activated, the switching program 103 is activated. The switching program 103 switches and passes the input from the user to the remote drawing client program 102, the Web client program, or the switching program in accordance with the input from the pointing device. In addition, the switching program 103 switches a program that passes input from an input device other than the pointing device.
  • the remote drawing client program 102 is activated when an instruction is received from the user after the switching program 103 is activated.
  • the Web client program is activated when there is a control from the switching program 103 or an instruction from the user.
  • the switching program 103 is activated when the OS is activated by the user turning on the power of the TC 10 and the login process is executed.
  • the switching program 103 displays a menu and waits for input from the user (S131).
  • a process corresponding to the menu selected by the user is executed. If termination processing is instructed (S132), the switching program is terminated and the user is logged out.
  • the remote drawing client program 102 is activated and connected to the TCS 20 (S136), the Web client program 104 is activated and connected to the Web server 30 (S137), or offline processing ( S138) is executed. After executing any one of these processes, it waits for a user operation from the input unit 17 or an interrupt input from the TCS 20 input via the network interface 14 (S139), and executes a process according to the input.
  • communication means are set (S134).
  • FIG. 11B shows a detailed flow of step 139 in FIG. 11A. It waits for a user operation or no input from the TCS 20 (S1391), and if there is an input, it is determined whether both the remote drawing client program 102 and the Web client program 104 are finished (S1392). If it is completed, the process returns to S132 in FIG. If the input is an input by a user operation, the process proceeds to S139413, and if the input is from the TCS 20, the process proceeds to S1397.
  • the input by the user operation is an area displayed by the remote drawing client program 102 (1607 in FIG. 22A, 1703 or 1705 in FIG. 22B), or an area displayed by the Web client program 104 (1601 in FIG. 22A). 22B (1704 and 1706 in FIG. 22B) or the area displayed by the switching program 104 (1608 and 1609 in FIG. 22A, 1702 and 1707 in FIG. 22B), the corresponding processing is executed. If the input is for the area displayed by the remote drawing client program 102, the process advances to step S 1395 to transmit the input data to the remote drawing server program 202. If the input is for an area displayed by the Web client program 104, the process advances to S1396 to execute processing as an input for the Web client program. If the input is for the area displayed by the switching program 104, the processing provided by the switching program is executed (S1398).
  • FIG. 22 shows a screen example when these three areas are displayed on the screen of TC10.
  • the file icon to be dragged-and-dropped is regarded as processing for the area where the file icon was displayed.
  • Detect directory names For example, by dragging and dropping the file icon displayed in the area 1703 to the area 1702, the file indicated by the icon is regarded as an offline preparation process, or the file indicated by the icon displayed in the area 1702 is displayed in the area 1703.
  • the operation indicated by the icon can be regarded as an operation of uploading the file indicated by the icon by dragging and dropping.
  • step 1397 access destination information and switching parameters transmitted from the switching broker program 204 of the TCS 20 are received. Based on the received switching parameters, switching control data is generated.
  • the switching parameter is “Open”
  • the Web client program 104 is started, a command for accessing the Web server 30 based on the access destination information is generated as switching control data, and the command is executed.
  • the switching parameter is “Copy”
  • the web server 30 is accessed based on the access destination information, the web application program data and the data to be edited necessary for offline processing are acquired from the web server 30, and temporarily stored data
  • a command to be stored in 120 is generated as switching control data, and the command is executed.
  • the access destination information may be stored in the temporary storage data 120.
  • the switching program 103 and the switching broker program 204 establish a connection with the remote drawing client 102 and the remote drawing server 202 when the connection is established.
  • the switching program 103 when the user gives an instruction regarding an operation for starting the application program using the input device of the TC 10, the switching program 103 indicates that the AP 206 operating on the TCS 20 is the application data. Or the web application program 304 operating on the web server 30 manipulates the data. If the former, the remote drawing client program 102 displays the screen data sent from the remote drawing server program 202. Thus, in the latter case, the control is switched so that the Web client program 104 installed in the TC 10 is started. The contents of the screen data sent from the remote drawing server program are screen data indicating that the AP 206 is activated in the TCS 20.
  • the application monitoring program 203 is started after the OS is started together with the remote drawing server program 202, the data management broker program 205, and the switching broker program 204.
  • the application monitoring program 203 monitors a user operation sent from the remote drawing client program 102 via the OS 201 (S231).
  • “user operation detection data” is generated based on the content, and the operation content is determined according to the data (S232).
  • User operation detection data includes “file name”, “file storage location (full path directory name or memory address)”, “application ID based on file name”, “operation content”, and “file copy or move operation”.
  • Storage destination to copy the file The contents of the operation are divided into (1) processing involving the activation of the application program, (2) processing involving copying of the file, and (3) other processing. In the case of (1), the process proceeds to S233. If yes, go to S237 (3) If yes, return to S231.
  • step 233 the load state of the TCS 20 and the load state of the network 40 connecting the TC 10 and the TCS 20 are detected.
  • the data detected in step 233 is data indicating the state of the network 40 and the load state of the TCS 20 as shown in the condition table 250 and is stored in the state table 210.
  • the network load state the one stored in the network state table 110 in S247 described later may be referred to.
  • step 234 based on the activation policy 230, the contents of the user operation detection data, and the load state of the TCS 20 and the network 40, it is determined which computer will activate the application program.
  • step S235 processing is performed based on the determination result. Fork.
  • the file name “bbb.ppt” is acquired based on the file name indicated by the icon, and the file storage location “c: ⁇ Doc ⁇ home ⁇ dir1” is determined based on the location where the icon is displayed.
  • Acquire that the process is "Open” that starts the program and opens the file.
  • “broadband” or “non-broadband” is acquired as the communication environment ID, and “drawing software” or “video” is selected as the file type opened by the application program as an index indicating the load of the TCS 20 Get "file”.
  • the application ID and the condition ID acquired in this way are determined based on the activation policy 230, if the application ID is A1 and the condition ID is C1, the application program is activated by TCS, and the application ID is A1 and the condition ID. When C2 is C2, the application program is determined to be activated at TC.
  • step 235 if the application obtained by the TCS 20 is activated as a result of the determination in this way, the process proceeds to S236, the AP 206 is activated, and if the application program is not activated in the TC 20, that is, the process proceeds to S237 when activated by the TC 10.
  • the contents of the user operation detection data are passed to the broker program 204.
  • the application monitoring program 203 may display the screen shown in FIG. 18B, and may proceed to S236 if the user selects S237 and 1403 when 1402 is selected.
  • the switching broker program 204 waits for interrupt processing from another program (S241), and executes processing according to the interrupted program.
  • the user operation detection data is passed to the data management broker program 205 (S243), and when there is an interrupt from the data management broker program 205 (S244), the switching program 103
  • the switching parameter and the access destination information are transmitted (S245), and if there is an interrupt from the switching program 103 (S246), data regarding the network status is received and written to the network status table 110 (S247).
  • the data management broker program 205 waits for interrupt processing from another program (S251), and executes processing according to the interrupted program. If there is an interrupt from the switching broker program 204 (S252), the data read from the application data 220 and the user operation detection data are passed to the data management program 302 and the file update status based on the user operation detection data Is stored in the state table 210 (S253).
  • the status table 210 stores data relating to the update status of the file stored in the application data 220 and the status of the network connection status between the TC 10 and the TCS 20.
  • the data stored in the state table 210 will be described with reference to FIG.
  • the value stored in the index 211 may be generated by the data management broker program 205 so as to be a unique value, or a file generated by editing a file in TC10 or creating a new file is a Web
  • the data numbered by the data management program 302 of the Web server 30 may be used at the timing of being uploaded via the server 30 and stored in the application data 220. If the value assigned by the data management broker program 205 and the number assigned by the data management program 302 can be distinguished from each other by the numbering rule of the number, the original data is edited or created by the TC 10 to determine whether the original data is TCS 20 data. Can be distinguished.
  • the file name 212, the TC server directory 213, and the application ID 214 are generated based on the user operation detection data.
  • a value indicating “done” is stored in the synchronization column 216, and when data is downloaded from the web server 30 to the TC 10, the “done” is based on the notification from the web server 30. "Is changed to a value indicating" incomplete ".
  • a “status number” indicating the access status from the user to the data stored in the application data 220 is set.
  • the status number is a value corresponding to the contents shown in the table 340.
  • the table 340 is stored not only in the Web server 30 but also in the TCS 20.
  • the last update 218 is the last date and time when the file stored in the application data 220 is updated.
  • the user ID 219 is a user identifier that identifies a user who logs in to the TCS 20. When a plurality of users access one TCS 20, an identifier of the accessible user is stored in order to control access to the stored file.
  • step 256 the access destination information and the switching parameter are transmitted to the switching broker program 204, and the access destination information is stored in the state table 210.
  • step 257 the file update result is stored in the application data 220 and the file update status is stored in the state table 210.
  • step 258 the update result is transmitted to the data management program 302.
  • the Web application program 304 is called when the Web server program 303 responds in response to a request from the Web client program 104, is transmitted to the Web client program 104 as part of the content, and is executed on the TC 10.
  • the operations using these Web application programs are not described in detail because they are known to those skilled in the art.
  • the Web application program 304 includes a moving image reproduction program, word processor software, spreadsheet software, drawing software, and the like, and some of them have functions similar to normal application programs.
  • the data management program 302 monitors the update of data in the Web application program (S320). If there is an update, the update flag is set to “ON” and the process proceeds to S325, and if there is no update, the process proceeds to S321.
  • the update flag is a flag indicating an update status for the application data 320. If it is updated, it is set to “ON”, and if the update result is synchronized with the application data 220, it is set to “OFF”.
  • the data management program 302 waits for an interrupt from the data management broker program 205 (S321). If there is an interrupt, the data management program 302 receives the application data and the user identifier, and the application data is stored in the application data 320. Then, the data is stored in the file update state management table 330 based on the user identifier and the user operation detection data.
  • the data stored in the file update state management table 330 will be described.
  • the value stored in the index 331 may be generated by the data management program 302 so as to be a unique value, or a value received from the TCS 20 as file management data when receiving a file that is application data from the TCS 20 May be used. If the value received from the TCS 20 and the number assigned by the Web server 30 can be distinguished by the numbering rule of the number, it is distinguished whether the original data is the data of the TCS 20 or the data edited and created by the TC 10. be able to. As the file name 332, the TC server directory 333, and the application ID 334, the values received from the TC 20 are used as the file management data described above.
  • the synchro 336 stores “Done” when the file is copied from the TCS 20, and when the file data is changed, the value is changed from “Done” to “Not done”.
  • a “status number” indicating the access status from the user to the data stored in the application data 320 is set.
  • the status number is a value corresponding to the contents shown in the table 340.
  • the last update 338 is the last date and time when the file stored in the application data 320 is updated.
  • the user ID 339 is a user identifier that is sent when the file is transmitted from the TCS 20. When a plurality of users access the Web server 30, an identifier of an accessible user is stored in order to control access to the stored file.
  • the data management program 302 generates access destination information based on the identifier of the application specifying the type of application to be used, the operand indicating the file name accessed by the application program, and the identifier of the user, and the file update state management table 330 is stored in the Internet address column 355.
  • the access destination information is described in the URL format, and the type of the Web application program, the storage location of the transmitted application data, and the identifier of the user who can access the data are expressed directly or indirectly.
  • the switching parameter is generated based on the user operation detection data.
  • the switching parameter is data for distinguishing whether the TC 10 starts the Web client program 104 based on the access destination information or allows the TC 10 to download data used in offline processing. For example, if the operation content of the user operation detection data is “Open file”, the switching parameter is “Open”, and if the operation content of the user operation detection data is “Copy file”, the switching parameter is “Copy”. And
  • the data management program 302 transmits the access destination information generated in S323 and the switching parameter to the data management broker 205.
  • the data management program 302 refers to the file update state management table 330 and obtains the storage location of the application data 220 stored in the TCS 20 by referring to the TCS server directory column 333.
  • the update condition is a condition for determining whether to synchronize between the application data 220 and the application data stored in the application data 320 or the temporarily stored data 120. Satisfy the condition when the synchronization column 216 or 336 of the table 210 or 330 is “incomplete” or when specified by the user on the screen shown in FIG. 18E (synchronize when 1406 is specified). To do.
  • the data management program 302 sends the updated result (or the difference data of the changed portion) to the data management broker program 205 (S327).
  • the update completion notification is received from the data management broker program 205, the status table 330 is updated, the temporary storage file is deleted, the update flag is turned OFF (S328), and the update completion is notified to the Web application program 304 (S329).
  • the Web application program outputs update completion to the user via the Web server program 303 and the Web client program 104.
  • the application data 220 stored in the TCS 20 can be edited using the Web client program 104 operating on the TC 10 and the Web application program 304 acquired from the Web server 30.
  • the access destination information is acquired from the switching broker program 204 via the switching program 103 (S141).
  • the switching program 103 specifies access destination information indicating the temporarily saved data when the Web client program 104 is activated.
  • user identification information is acquired (S142).
  • the user identification information is stored in the user identifier data 130, and may be stored in a memory obtained when the user logs in to the TC 10 via the external device interface 15.
  • the access destination information and the user identifier data are used to access local data that is temporarily stored data of the Web server or TC 10 (S143). Processing for accessing local data is called offline processing.
  • a session is established, a screen based on the access destination information is displayed (S144), and the following steps according to user input and each step of FIG. 16B are executed. Note that when accessing data stored in the secondary storage device of the TC 10 without communicating with the Web server 30, a session with the Web server 30 is not established.
  • the process waits for user input to the screen displayed in S144. If there is an input, the process proceeds to S146, and if not, the input is waited. In S146, if the input user input is not an input related to termination, the process proceeds to S147, and if it is an input related to termination, the Web client program 104 is terminated. Before the end, if the data being edited is not saved, the necessity of saving is confirmed, and if the saving is necessary, the saving process is executed.
  • the Web server program 303 receives data corresponding to the user input from the Web client program 104 (S332), performs user authentication using the access control data 320 (S333), and receives the data received from the Web client program 104.
  • a process corresponding to the process is executed (S334), and data corresponding to the process result of S334 is transmitted to the Web client.
  • FIG. 17A to FIG. 17D are diagrams illustrating examples of menu screens displayed by the switching program.
  • the user designates the next process to be executed using a GUI (graphical user interface) as shown in FIGS. 17A to 17D.
  • GUI graphical user interface
  • a menu indicated by the area 1301 is selected by placing a symbol (pointer) specifying a position on the screen in the area 1301 of FIG. 17A and pressing a button of the pointing device.
  • a symbol pointer
  • FIGS. 17A to 17D There are four types of work that can be selected by the user: “connect to TCS 20”, “connect to Web server 30”, “do not connect to network, perform offline work on TC 10”, and “log out TC 10”.
  • 17A is displayed.
  • FIG. 17A is not displayed and
  • FIG. 17B is displayed.
  • FIG. 17C There is a method of displaying FIG. 17C.
  • the menu illustrated in FIG. 17A can be easily switched between online processing and offline processing if it is displayed on the screen in a different manner and not displayed.
  • FIG. 17D When 1306 or 1307 is selected, FIG. 17D is not displayed and FIG. 17B is displayed. There is also a method.
  • FIG. 18A to 18E are screen examples displayed on the TC 10 after logging in to the thin client server 20 by the remote drawing client program 102.
  • FIG. 18A to 18E are screen examples displayed on the TC 10 after logging in to the thin client server 20 by the remote drawing client program 102.
  • FIG. 18A is an example in which the file name of the application data stored in the TCS 20 is displayed and a screen is displayed when the displayed file name is designated with a pointer.
  • the file name opened by the user using the application program is displayed in a manner different from other file names as indicated by 1401.
  • FIG. 18B is a screen example of a screen for the user to specify whether to start the AP 206 in the TCS 20.
  • the screen of B is displayed on the TC 10 before executing the branch process of S235 based on the determination result of S234 of FIG. If the user designates 1402 for the displayed menu, the process proceeds to S237. If 1403 is designated, the process proceeds to S236. If 1404 is designated, the process returns to S231.
  • FIG. 18C is an example of a screen displayed when the file specified in FIG. 18A is opened by the AP 206 and the AP 206 is activated in the TCS 20. 18A and 18C are output to the output unit of TC10.
  • FIG. 18D is a screen example when the data corresponding to the file specified in FIG. 18A is displayed on the TC 10 by the Web client program 104.
  • FIG. 18E shows the case where the application data 220 of the TCS 20 is replicated in the application data 320 of the Web server 30 or the temporary storage data of the TC 10, or the data of the TCS 20 is different from the other replicated data.
  • FIG. 11 is an example of a screen for designating whether the file name for storing the changed data is the original file name or a different file name when the copied data is different from the TCS 20 data. For example, in SQ165 of FIG. 6, when the data management program 302 detects a change in the application program, before updating the data of the application data 220 of the TCS 20, FIG. 18E is displayed and 1406 is selected.
  • the Web application program 304 and the application data 320 are stored in advance in the temporary storage data 120 of the TC 10 from the Web server 30 and stored in the TC 10 even when the TC 10 is in an offline state not connected to the network.
  • This processing is called offline processing.
  • FIG. 19 is used to explain the flow of processing of the thin client system when offline processing and offline preparation processing are executed.
  • each computer is turned on, the OS and various programs are started, and the login information of the user is acquired. Since the processing of F1 and F2 is as described above, the details are omitted.
  • options for the user to specify the next operation are displayed on the output unit 17 of the TC 10 as a menu. For example, if 1301 in FIG. 17 is selected, it is assumed that the user has specified online processing, and the process proceeds to F4. If 1302 is selected, it is assumed that the user has specified offline processing, and the process proceeds to F41.
  • the processing after F4 will be described in the case of “online processing” in which the system is connected to the network.
  • F4 the update status of the temporary storage data 120 stored in the TC 10 or the external storage medium 19 is confirmed.
  • the download date and time when the file stored in the temporarily saved data is downloaded from the Web server 30, the upload date and time uploaded to the Web server 30, and the save date and time edited and saved by the TC 10 are stored as management data. If the storage date / time is newer than the download date / time or the storage date / time is newer than upload, the process proceeds to F5. Otherwise, the communication means is selected, and the process proceeds to F6 to log in to the TCS 20. When there is a change, the temporary storage data is uploaded and synchronized with the application data stored in the TCS 20 or the Web server (F5), and the process proceeds to F6 to log in to the TCS 20.
  • offline preparation process For offline processing in the TC 10. Details of the offline preparation process will be described later in detail with reference to FIG.
  • the offline preparation process is completed, the user logs off the TCS 20 and ends the process.
  • processing other than offline preparation processing may be executed without logging off the TCS 20, or processing using the Web client program 104 of the TC 10 may be executed after logging off the TCS 20.
  • the Web client program 104 is activated (F41).
  • the Web client program 104 reads temporarily saved data 120.
  • Data stored as temporarily stored data includes data edited by a Web application program, a URL for accessing a Web server, and an operation history.
  • an offline file editing process is executed on the TC (F43), and the data edited by the offline function in the TC10 by the input from the user or the automatic saving function of the system is stored in the TC10 or externally. It is stored in the storage medium 19 (F44).
  • the Web client program is finished according to the user's operation, and the whole process is finished.
  • the offline preparation process refers to the data corresponding to the file name and the application program associated with the file name extension without starting the application program associated with the specified file name and file name extension. This is a process of downloading application program data from the Web server 30 to the TC 10.
  • the preparation process can be started using the GUI for the file name, the file to be processed offline cannot be started as an application on the TCS 20 as data necessary for processing the file edited by the TCS 20 offline. Can also be stored in the TC 10. This simplifies the procedure for manually editing data that has been edited in a network-connected office environment in an environment where network connection is not possible.
  • AP206 can be started and ready to work in the offline environment without waiting for the startup time, so for example, before going on a business trip, it is easy to take out the data that was working until just before going out and prepare to work in the offline environment It becomes possible.
  • a file to be processed offline may be specified after starting the offline preparation processing program.
  • drag and drop There is a method of specifying an operation for copying a file indicated by an icon by moving the icon of the file displayed on the screen from one area to another area (referred to as drag and drop).
  • the user can check the file name of the file stored in the TCS 20 on the screen displayed by the remote drawing client program 102.
  • the application monitoring program 203 stores user operation detection data. Is obtained (SQ201). This user operation detection data is passed to the data management program 302 of the Web server 30 via the switching broker 204 and the data management broker program 205 (SQ202).
  • the data management program 302 receives the received user operation detection data and the file data designated by the user, stores the file data in the application data 320, and stores the management data related to the stored file in the table 330. And Access destination information and switching parameters are generated, data of the access destination information is stored in the status table 330, and the access destination information and switching parameters are transmitted to the data management broker program 205.
  • the data management broker program 205 receives the access destination information and switching parameters, stores them in the status table 210, passes the received access destination information and switching parameters to the switching broker program 204, and the switching broker program 204
  • the switching control data is generated based on the parameters, and the access destination information and the switching control data are transmitted to the switching program 103 of the TC 10.
  • the switching program 103 receives the access destination information and the switching control data, starts the Web client program based on the “switching control data”, and displays a screen based on the access destination information.
  • the application data and the Web application program are acquired from the Web server 30 and stored as temporarily stored data 120.
  • Fig. 21A shows an example of the screen.
  • An area 1501 is an area indicating that data stored in the temporary storage data 120 of the TC 10 is displayed.
  • the “name” portion indicates the file name of the file stored in the temporary storage data 120.
  • the “server address part” indicates which data stored in the TCS 20 is the data indicated by the file name.
  • the “update” portion indicates whether or not there is a change after copying the data stored in the TCS 20, and when the date and time is displayed, there is a change and the date and time indicates the last update date and time. Is displayed, it indicates that there is no change after duplication (only time is displayed in the figure).
  • the “download” part is downloaded to the TC 10 after the offline preparation process in the Web server 30 is completed, whether the process of downloading the Web application program and the application data from the Web server 30 in the offline preparation process is completed. It is shown whether it is possible to download, or the offline preparation process in the Web server 30 has not been completed and download is still impossible.
  • FIG. 21B is a screen displayed when the user gives an instruction to save data after editing the data stored in the temporarily saved data 120 by offline processing.
  • the application data stored in the temporary storage data 120 is updated, and the updated data is stored as the temporary storage data 120 as the file update state. .
  • 21C in FIG. 21C is an example of a menu for starting the offline preparation process. This menu is displayed when a specific input (for example, right click) using a pointing device is input after selecting at least one file to be processed offline.
  • a specific input for example, right click
  • FIG. 21D is a confirmation screen displayed after the menu 1506 is displayed.
  • offline preparation processing is executed.
  • 1508 is selected, the file selected on the screen (c) is released, and offline preparation processing is not executed.
  • FIG. 22 shows a screen configuration when displayed on the TC 10.
  • Reference numerals 1601, 1704, and 1706 denote areas for receiving instructions to the Web client program 104.
  • Reference numeral 1602 denotes a part of an area for receiving an instruction to the remote drawing client program 102, and is an output result of a program that displays a file name of data stored in the TCS 20.
  • Reference numerals 1607, 1703, and 1705 are output result areas of the remote drawing client program 102, and 1608, 1702, and 1707 are areas that receive instructions to the switching program. There may be a plurality of areas for receiving instructions to the Web client program 104.
  • FIG. 23 shows an example of a screen when the Web client program 104 is started after logging in to the TC 10 and selecting the menu 1307 of 1305D in FIG. 17C, for example.
  • the access destination information for accessing the Web server may be a URL stored in the memory of the TC 10, a temporary storage file, or the external storage medium 19, and may be different data for each user.
  • the second embodiment is a thin client system in which a portable terminal as a data storage device capable of erasing data by remote operation is added to the system configuration of the first embodiment.
  • the portable terminal 50 in this embodiment includes at least a communication unit 54 or an external device interface 55, and also includes a memory 52 or a secondary storage device 53, and a central processing unit.
  • Reference numeral 51 denotes an information processing apparatus that executes processing of programs (501 to 504) stored in the memory 52.
  • the communication unit 54 performs communication with the TC 10 or communication with the network 40-1.
  • the external device interface 55 is an interface for connecting to another terminal having a communication function when the portable terminal 50 does not have the communication unit 54.
  • the network 40 is an open network such as the Internet, and the network 40-1 is a network for connecting to the Internet, and is a network to which a pre-registered terminal such as a mobile phone network can be connected.
  • the network 40-1 may be a network that does not require permission for network connection in advance, such as a public wireless LAN or a private LAN.
  • the external device interface 55 inputs / outputs data with a device such as the external storage medium 59, transmits / receives data to / from a device (not shown) that communicates with the TC 10, and communicates with the network 40 (not shown). ) And data.
  • the portable terminal 50 also includes an input unit 58 such as a keyboard and a touch panel that accepts input from a user who operates the portable terminal, and an output unit 57 such as a display unit and a speaker that outputs processing results and states in the portable terminal. These are connected to each other by an internal communication line 56 such as a bus.
  • the OS 501 executes common basic processes used by application programs for input / output functions, memory / secondary storage device read / write management functions, communication functions, and the like.
  • the data storage program 502 stores data acquired from the TC 10 or the Web server 30 as temporary storage data 520 in the secondary storage device.
  • the temporary storage data 520 may be stored in the memory 52.
  • the communication control program is a program for controlling communication processing when communicating with the TC 10 or the Web server 30 by a communication unit or a communication device connected via an external device interface.
  • the login information generation program 504 is used when logging into the TC 10 based on user identifier data stored in the external storage medium 59, the secondary storage device 53, or the memory 52 and data input from the user via the input unit. This program generates the necessary login information.
  • TC10, TCS20, and the portable terminal 50 are displayed one each in the figure, a plurality of computers may be connected to the network.
  • the mobile terminal 50 in this embodiment has a function of preventing information leakage by erasing data by remote operation.
  • the switching program 103 detects whether or not an external storage medium or a portable terminal is connected to the TC 10 as an external storage device, and the type of the external storage medium, the type of the portable terminal, or the individual identification number of the portable terminal (for example, MAC address or uid It is checked whether the portable terminal 50 has the function (a function capable of remotely deleting data) based on the terminal ID. Furthermore, the result of the TC 10 checking whether the mobile terminal has the function is set to be valid is acquired, whether it can be designated as an external storage medium, and list data of external storage media that can be designated The data is registered in the access control data 310 of the Web server 30 as a (data writable medium list).
  • the list may be stored in a combination of an identifier for identifying a mobile terminal, setting contents, and a flag indicating whether or not it can be recognized as an external storage device for each degree of confidentiality.
  • the portable terminal 50 When a communication path is secured between the TC 10 and the portable terminal 50, or when the portable terminal 50 is connected via the external device interface 15 of the TC 10, the portable terminal 50 is recognized as an external storage device of the TC 10. Determine whether to do. At the time of determination, it is determined whether or not the portable terminal 50 is included in the data writable medium list registered in the access control data 310, using the individual identification number of the portable terminal 50 as a key. If it is not included, it is not recognized as an external storage device.
  • the switching program 103 or the Web application program 304 that is downloaded to the TC 10 and operates on the Web client program 104 is set.
  • the Web client program 104 of the TC 10 receives the Web application program and the data edited by the Web application program from the Web server 30, the data is transferred to the portable terminal 50 via the communication unit.
  • the data storage program 502 stores the data as temporary storage data.
  • the file of application data 220 stored in the TCS 20 is classified in advance, and when a file designated in advance is to be stored in the application data 320, the storage location of the file is designated according to the classification result.
  • the switching program 103 or the Web client program 104 operating on the TC 10 stores the file in the secondary storage device of the TC 10, the external storage medium 19, or the portable terminal 50. To do.
  • the TCS 20 stores data indicating the correspondence between file classification categories and storage locations where files can be stored corresponding to each category. For example, the storage location of a file with a low degree of confidentiality can be stored in either the portable terminal 50 or the external storage medium 19, but if the classification is a classification based on the degree of confidentiality of the file, the degree of confidentiality
  • the Web application program 304 operating on the Web client program 104 downloaded to the switching program 103 or the TC 10 is controlled so that an external storage medium cannot be designated as a storage destination of a file having a high file size.
  • the mobile terminal has a mail transmission function
  • the data is received from the TC 10 via the communication function and the data received as the temporary storage data by the data storage program 502 is stored, the file name of the received data and the TC 10 It is possible to send an e-mail informing the destination registered in advance of the user name indicated by the user identifier data stored in and the reception date and time.
  • the mail transmission function transmits via the network 40-1.
  • the secondary storage device 53 of the mobile terminal 50 erases the data stored as the temporarily stored data by remote operation from a mobile terminal or a computer different from the mobile terminal 50. This erasing operation can prevent information leakage.
  • the temporary storage data 520 of the portable terminal 50 is used instead of the temporary storage file 120.
  • the data storage program 502 sends data to the TC 10 via the communication path established between the login information generation program 504 and the communication control program 503 between the TC 10 and the portable terminal 50.
  • the temporary storage data is confirmed not only for the TC 10 or the external storage medium 19 but also for the update status of the temporary storage data stored in the portable terminal 50. . If there is a change, the data stored in the portable terminal 50 may be connected to the TC 10 via the communication unit 54 and uploaded to the Web server 30 via the TC 10 or via the network 40-1. You may connect to the server 30 and upload.
  • the access destination information necessary for accessing the Web server is stored in the mobile terminal via the TC 10. 50, but after obtaining the access destination information, using a Web client program (not shown) operating on the portable terminal 50, the Web application program and application data are transmitted from the Web server 30 via the network 40-1. And get.

Abstract

 シンクライアントサーバ上でファイルを指定するだけで、通信環境に応じたアクセス手段(シンクライアントサーバ上でアプリが起動するか、シンクライアントサーバ上のデータをWebサーバ上にコピーし、シンクライアント上のWebブラウザでWebサーバへアクセスする)によって、シンクライアントサーバに格納されていたデータを編集することが可能であり、シンクライアントとシンクライアントサーバとの間のネットワーク品質に応じて、シンクライアントで動作するプログラムを切り替えるプログラムを有するシンクライアントシステム。

Description

シンクライアントシステム 参照による取り込み
 本出願は、2010年10月8日に出願された日本特許出願第2010-228074号、2011年7月14日に出願された日本特許出願第2011-155339号の優先権を主張し、その内容を参照することにより本出願に取り込む。
 本明細書で開示される主題は、ネットワークを介してサーバを安全に遠隔操作することを可能にするセキュアリモートアクセスシステムに関する。
 携帯端末の紛失などに起因した、情報漏えいのセキュリティ事故が絶えない。そこで、シンクライアントサーバにプログラムやデータを格納し、シンクライアント端末(以下、シンクライアント、またはTC(Thin Client)という)はデータを持たない画面転送型のシンクライアントシステムが提供されている。シンクライアントは、ネットワークを介してシンクライアントサーバへアクセスしてキーボード、マウスなどからの入力を送信し、シンクライアントサーバは、シンクライアントサーバにおける処理結果の画面データをシンクライアントに転送し、シンクライアントは転送された画面データを表示させることによりリモートからサーバ上で稼動するPCデスクトップを操作する。このシステムにより、利用者がシンクライアントを紛失しても、データを紛失するリスクが低くなる。
 非ブロードバンド環境や、通信品質の悪いネットワーク環境では、画面転送速度が低くなり、画面描画が頻繁に行われる。例えば、動画表示のアプリケーションプログラムでは、画面描画に時間がかかり、利用者からの入力に対する応答も遅くなり、操作性が悪くなる。また、画面転送型のシステムでは、シンクライアントサーバと通信ができないオフライン環境において、シンクライアントに画面を表示することができない。
 そこで、画面転送型のシンクライアントシステムのオフライン時の対策として、サーバからダウンロードして携帯端末に記憶したセキュアデータを使用できるようにし、所定のタイミングにより消去することでセキュリティを確保することにより、一時的にサーバとの通信が切断された場合でも、操作の続行を可能とするとともに、情報漏えいに対する高いセキュリティレベルを実現したシンクライアント端末が提案されている(特許文献1)。
 また、画面転送型のシンクライアントシステムに限らずオフライン時にWebコンテンツやデータを閲覧する方法として、HTML5のオフライン機能がある。このHTML 5 仕様は、ローカルにデータを保存する SQL-based database API と、ユーザがネットワークに接続していないときでもアプリケーションを利用できるようにする offline application HTTP cache を提供している(非特許文献1)。
特開2009-181460号公報(段落0061、0062) 特開2010-045618号公報(段落0032~0047、0055)
Anne van Kesteren、"HTML5 Offline Web Applications"、[online]、[平成22年7月7日検索]、インターネット<URL: http://www.w3.org/TR/2008/NOTE-offline-webapps-20080530/>
 上記特許文献1では、オフライン時の操作性を向上させるために、データやプログラムを利用者が操作する端末に格納すると、端末を紛失した場合に情報が漏えいする可能性があり、セキュリティ上問題がある。
 特許文献1では、サーバからクライアント端末に一時的にダウンロードしたデータを削除する方法について述べられているが、サーバからダウンロードしたデータを更新した場合、更新した結果をサーバへ反映させるための方法について述べられていない。
 また、非特許文献1で述べられているオフライン機能は、オフライン時にWebコンテンツやデータを閲覧することが可能であるが、シンクライアントサーバで動作するアプリケーションプログラムと同等の機能を提供するWebアプリケーションプログラムが必要である。
 利用者が使いたいアプリケーションプログラムと同等のWebアプリケーション版のプログラムは必ずしも提供されているとは限らないため、使おうとするアプリケーションプログラムによって、利用者はシンクライアントサーバで動作するアプリケーションプログラムか、それと同等の機能を提供するWebアプリケーションプログラムかを使い分ける必要がある。
 さらに、非特許文献1で述べられている方法では、オフライン時にWebコンテンツやデータを閲覧することが可能であるが、アプリケーション間の連携ができない。ここでアプリケーション間の連携とは、単純なコピーバッファでのデータ交換だけではなく、アプリケーション間で、マクロやスクリプトを用いてそれぞれのデータを連携させることにより、新たな複合アプリケーションを作り上げることを意味する。これを実現するためには、アプリケーション間のデータ交換方法を定めた規格と、アプリケーション上にマクロやスクリプトを実行する環境が必要であり、非特許文献1で述べられている方法ではこれらの要件をサポートしていないため実現が困難となる。
 また、画面転送型のシンクライアントシステムでは、利用者による処理対象データが、シンクライアント端末側に存在しないため、シンクライアント端末を紛失したり、盗まれたりしても、また、同じ端末を複数人で共用しても、情報漏えいの虞がない、という特徴を備える。
 しかし、オフライン処理によりシンクライアント端末側にデータが存在すると、上記特徴が失われる虞がある。
 この課題に対して、シンクライアント端末と利用者が携帯する携帯端末とで、情報を連携させることにより、上記問題の軽減を図ることが考えられる。
 シンクライアント端末と他の装置との情報連携に関しては、携帯電話端末とシンクライアント端末とセンタ装置からなるシステムで、センタ装置へ接続するための認証済み情報を携帯電話端末とシンクライアント端末との間で連携し、携帯電話端末で生成した認証済み情報をシンクライアント端末に引き継ぐシステムが提案されている(特許文献2)。
 しかしながら、特許文献2において、携帯電話端末とシンクライアント(TC)端末との間で連携される情報は、認証済み情報に関するものであり、TC端末上で作業されたデータの格納については触れられていない。
 本明細書で開示されるのは、クライアント端末でアプリケーションプログラムのデータを出力、編集、保存する場合の情報漏えいを防ぐことにより、セキュリティを担保するとともに、端末が接続されているサーバとの通信路の品質によらない、高い操作性を備えるシンクライアントシステムである。
 例えば、開示されるシンクライアントシステムは、セキュリティを担保しつつ、高い操作性を確保するため、画面転送型のシンクライアントシステムによりアプリケーションプログラムを利用したアプリケーション間連携が必要な作業と、Webクライアントプログラムを利用した作業とをスムーズに切り替える仕組みを備える。
 より具体的には、
 シンクライアントサーバと、Webサーバと、シンクライアント端末と、がネットワークで接続されたシンクライアントシステムであって、
 シンクライアントサーバは、ネットワークを介して接続されたシンクライアント端末から、対象とするファイルを作成または更新するアプリケーションプログラムを起動する操作情報を受信した場合、アプリケーションプログラムを、シンクライアントサーバで実行するか否かを判定し、
 シンクライアントサーバでは実行しないと判定した場合に、シンクライアントサーバは、アプリケーションプログラムの識別子と対象とするファイルの識別子とファイル識別子が示すファイルのデータとを、Webサーバへ送信し、
 Webサーバは、アプリケーションプログラムの識別子と対象とするファイルの識別子と受信したファイルのデータの格納先の識別子とに基づき、アクセス先情報を生成し、
 Webサーバは、シンクライアントサーバへ、生成したアクセス先情報を送信し、
 シンクライアントサーバは、受信したアクセス先情報をシンクライアント端末に送信し、
 シンクライアント端末は、
 シンクライアントサーバから受信したアクセス先情報に基づいて、Webサーバに接続し、
 アプリケーションプログラムを実行し、対象とするファイルの作成または更新を行うことを特徴とするシンクライアントシステムが開示される。
 さらに、上記Webサーバおよび/またはシンクライアントサーバは、作成または更新の対象とするファイルのステータスを管理するテーブルを備え、
 シンクライアントサーバは、アプリケーションプログラムを起動し、対象とするファイルを読み込む前にテーブルを参照し、
 対象とするファイルが変更されている場合は、対象とするファイルを更新するか否かの問い合わせを、シンクライアント端末の画面に表示し、
 シンクライアント端末に入力された更新するか否かの指示にしたがった後に、アプリケーションプログラムを起動してもよい。
 さらに、上記シンクライアントサーバは、
 シンクライアント端末と接続するネットワークの負荷状態を検出し、
 負荷状態と、予め備える起動ポリシーとに基づき、アプリケーションプログラムを、シンクライアントサーバで実行するか否かを判定してもよい。
 さらに上記起動ポリシーは、アプリケーションプログラムの種類、シンクライアントサーバとシンクライアント端末との間のネットワークの状態、シンクライアントサーバの状態、アプリケーションプログラムが読み込むファイルの種類とアプリケーションプログラムを起動する方法との対応関係と、を含むものであってもよい。
 また、上記シンクライアント端末として、
 シンクライアントサーバと接続して、作成または更新の対象とするファイルを指定し、対象とするファイルを作成または更新するアプリケーションプログラムを起動する操作情報を送信し、
 アプリケーションプログラムを、シンクライアントサーバで実行しないことが判定された場合に、シンクライアントサーバからアクセス先情報を受信し、
 受信したアクセス先情報に基づき、Webサーバへ接続し、対象とするファイルを作成または更新することを特徴とする構成が開示される。
 また、上記シンクライアントサーバとして、
 シンクライアント端末から受信したファイル名を伴うアプリケーションプログラムの実行指示に基づき、
 アプリケーションプログラムの起動を、当該シンクライアントサーバにおいて行うか否かを判定し、
 アプリケーションプログラムの起動を当該シンクライアントサーバにおいて行わない場合、実行指示により指定されたファイルをWebサーバに送信し、
 クライアント端末が、Webサーバに送信されたファイルにアクセスする場合に必要な、アクセス先情報とアクセスに必要な認証情報とをWebサーバから受信し、
 WebサーバにアクセスするWebクライアントプログラムの起動指示と、受信した、アクセス先情報と、認証情報と、をシンクライアント端末に送信することを特徴とする構成が開示される。
 さらに、上記シンクライアントサーバは、アプリケーションプログラムの起動判定を、シンクライアント端末とシンクライアントサーバとの間のネットワークの負荷状態と、起動を指定されたアプリケーションプログラムの識別子と、アプリケーションプログラムが利用するファイルの識別子と、当該シンクライアントサーバの負荷状態と、に基づいて行ってもよい。
 また、上記Webサーバとして、
 シンクライアントサーバに対して、作成または更新の対象とするファイルを指定し、対象とするファイルを作成または更新するアプリケーションプログラムを起動する、シンクライアント端末による操作情報に基づき、
 アプリケーションプログラムの識別子と、対象とするファイルと、シンクライアント端末を利用するユーザの識別子とを、シンクライアントサーバから受信し、
 識別子に基づき当該Webサーバで起動されるアプリケーションプログラムを、シンクライアント端末で実行されるWebクライアントプログラムが利用する際に必要なアクセス先情報を生成し、
 生成したアクセス先情報をシンクライアントサーバに送信することを特徴とする構成が開示される。
 さらに、上記Webサーバは、シンクライアント端末で実行されるWebクライアントプログラムから受信する情報が、所定の条件を満足する場合、ファイルとアプリケーションプログラムとを、シンクライアント端末に送信してもよい。
 上記Webサーバにおける所定の条件とは、たとえば、当該アクセス先情報を生成する際に用いたユーザの識別子と、Webクライアントプログラムから送信されたユーザ識別子とをアクセス制御用データに格納されるルールに基づき、アクセスの可否を判定し、アクセス可能であることである。
 さらに、上記Webサーバにおける所定の条件とは、Webサーバより送信されたデータを遠隔で削除できる機能を有していて、遠隔で削除できる機能が動作するように設定されている場合に、機密性の程度が高いファイルを携帯端末に格納できるように、携帯端末をファイルの保存先として指定できることである。
 また、本明細書で開示されるのは、シンクライアントサーバに格納されているファイルをシンクライアント端末の入力装置を用いて指定し、当該ファイルに対応づけられているアプリケーションプログラムを起動する指示を入力した時、当該ファイルをシンクライアント端末上で動作するWebクライアントプログラムを用いて編集するのに必要なモバイルコードと当該ファイルのデータとを前記シンクライアント端末と通信機能で接続した携帯端末に格納することを特徴とするシンクライアントシステムである。
 さらに、上記携帯端末は、上記Webサーバより送信されたファイルとアプリケーションプログラムもしくは、ファイルを格納した後、ファイルが変更されたり削除されたりした場合、自らの端末を識別する識別子とファイルを識別する識別子とファイルの状態(例えば、変更、削除、別名保存)とを関連付けたデータを、シンクライアント端末もしくはWebサーバに送信するように構成しても良い。
 さらに、上記携帯端末が、Webサーバより送信されたデータを遠隔で削除できる機能を有しているかどうか、遠隔で削除できる機能が動作するように設定されているかどうかを示すデータに基づき、ファイルの内容の機密性の程度に応じた格納先に、上記携帯端末が該当するかどうかのデータを、データ書き出し可能媒体リストとして、Webサーバに格納されるアクセス制御データに登録するように構成しても良い。
 さらに、上記シンクライアント端末は、上記Webサーバより送信されたファイルとアプリケーションプログラムもしくは、ファイルの格納先を表示し、利用者からの入力に応じてデータを格納する機能を有しており、ファイルの格納先は、携帯端末がファイルの格納先に該当するリストに含まれるかどうかで判定し、含まれている場合データの先として携帯端末を表示し、含まれていない場合は表示しないように構成しても良い。
 また、開示されるシンクライアントシステムにおいて、リモートデスクトップウィンドウ内に表示されたアイコンをシンクライアント端末の画面の中でリモートデスクトップウィンドウの外にドラッグアンドドロップすることで、シンクライアントサーバに格納されたファイルをWebサーバを介して、シンクライアント端末もしくは、携帯端末の二次記憶装置に格納するように、シンクライアントシステムを構成してもよい。
 上記態様によれば、以下の効果が得られる。
 本明細書の開示によれば、シンクライアントサーバ上のデータを編集可能とするWebアプリケーションプログラムと、そのデータとをWebサーバに格納することによって、シンクライアント上で稼動するWebクライアントプログラムを用いてシンクライアントサーバで編集していたデータを、シンクライアントサーバを介さずに編集することが可能となる。
 さらに、本明細書の開示によれば、WebアプリケーションプログラムとWebアプリケーションプログラムが使用するデータとをあらかじめシンクライアントにダウンロードすれば、シンクライアントがネットワークに接続できない環境においても、Webクライアントプログラムを起動することで、Webアプリケーションプログラムを起動し、データの編集が可能となる。
 このように、本明細書の開示によれば、画面転送型によるシンクライアントサーバ上での作業と、WebサーバへWebブラウザを用いてアクセスする作業と、シンクライアント上でのオフラインによる作業と、を必要に応じて切り替えることが可能である。また、切り替えて作業するために必要なデータの更新処理を実行する機能を提供することで、利用者の切替作業の負担を軽減するとともに、データの更新をし忘れることを防ぐことが可能になる。
 本明細書の開示によれば、起動ポリシーデータに、利用者が操作する計算機端末とその端末とネットワークを介して接続する計算機との間の通信環境に応じて、アプリケーションプログラムが用いるデータへのアクセス方法を切り替えることが可能になるため、通信環境が悪い場合、より操作性の高いアクセス方法を使用することができるとともに、同一のデータに対するアクセス方法を切り替えることによって、利用者が新たにデータを入力しなおす必要がないため、操作性が向上する。
 また、開示によれば、オフライン時の作業に必要なデータをシンクライアントとは別の装置に格納するので、複数の利用者が1台のシンクライアントを共有でき、一方、一人の利用者が、手元の端末に保存したデータを用いて、異なるシンクライアントを利用して、オフライン作業を継続できるシンクライアントシステムが実現可能になる。
 開示によれば、情報漏えいを防ぐとともに、シンクライアントとサーバとの通信路の品質によらない、高い操作性を備えるシンクライアントシステムが実現可能になる。
 本発明の他の目的、特徴及び利点は添付図面に関する以下の本発明の実施例の記載から明らかになるであろう。
開示するシンクライアントシステムのシステム構成を例示する図。 開示するシンクライアントシステムのプログラム構成を例示する図。 開示するシンクライアントシステムの全体の処理フローを例示する図。 開示するシンクライアントシステムを用いて、編集用のアプリケーションプログラム(AP)がシンクライアントサーバ(TCS)で起動するまでのシーケンスを例示する図。 シンクライアント(TC)におけるAP実行のための準備処理に関するシーケンスを例示する図。 TC上で編集されたファイルを保存する処理に関するシーケンスを例示する図。 起動ポリシーテーブルのテーブル構成を例示する図。 TCS20に格納されるアプリケーションプログラム用データのファイル更新状態管理テーブル210のテーブル構成を例示する図。 Webサーバ30に格納されるアプリケーションプログラム用データのファイル更新状態管理テーブル210のテーブル構成を例示する図。 アプリケーションプログラム用データのファイル更新状態管理テーブルとステータスパラメータ管理テーブルのテーブル構成を例示する図。 切替プログラム103の処理を例示するフローチャート。 切替プログラムにおける入力待ち処理の詳細を例示するフローチャート。 アプリケーション監視プログラム203の処理を例示するフローチャート。 切替ブローカプログラム204の処理を例示するフローチャート。 データ管理ブローカプログラム205の処理を例示するフローチャート。 データ管理プログラム302の処理を例示するフローチャート。 Webクライアントプログラム104の処理を例示するフローチャート。 Webサーバプログラム303の処理を例示するフローチャート。 TC10の画面を例示する図。 TC10の画面を例示する図。 TC10の画面を例示する図。 TC10の画面を例示する図。 TC10の画面を例示する図。 TC10の画面を例示する図。 TC10の画面を例示する図。 TC10の画面を例示する図。 TC10の画面を例示する図。 開示するシンクライアントシステムを用いてオフラインで編集用アプリケーションプログラムを利用する際の処理フローを例示する図。 シンクライアント(TC)においてオフラインで編集用アプリケーションプログラムを実行のための準備処理に関するシーケンスを例示する図。 TC10の画面を例示する図。 TC10の画面を例示する図。 TC10の画面を例示する図。 TC10の画面を例示する図。 TC10の画面を例示する図。 TC10の画面を例示する図。 TC10の画面を例示する図。 TC10の画面を例示する図。 図1に開示するシンクライアントシステムに、外部記憶装置として追加する携帯端末50の構成を例示する図。
 第一の実施形態について、図1~図18Eを用いて説明する。第一の実施形態では、シンクライアントシステムを用いて文書ファイルを新規に作成したり、作成済みのファイルを編集したりする場合について示すものである。
 図1は、本実施形態に係るシンクライアントシステム(以下、本システム)の全体構成を示す。本システムは、シンクライアントサーバ機能を有するシンクライアントサーバ計算機とWebアプリケーションサーバ機能を有するWebサーバ計算機と、それらのサーバ計算機と通信するシンクライアント端末とで構成されるシンクライアントシステムである。なお、1台のサーバ装置が、シンクライアントサーバ機能とWebアプリケーションサーバ機能とを備えてもよい。
 Webアプリケーションサーバ機能とは、Webクライアントプログラムからの要求に応じて、データもしくは、Webアプリケーションプログラム(以下Webアプリプログラム)を要求元のプログラムに送信する送信機能および、Webクライアントプログラムで動作するWebアプリプログラムとともに動作することでWebサーバ上のデータを更新する機能を有するデータ管理機能とする。Webアプリプログラムとは、Webクライアントプログラム上で動作するモバイルコードである。
 このシステムは、ネットワーク40を介して接続されたシンクライアント端末10(以下TCと記載する)、シンクライアントサーバ20(以下TCSと称す)、Webサーバ30とを含んで構成される。図では、TCS20とWebサーバ30とは別々の計算機としているが、一つの計算機としてもよい。
 また、TC10、TCS20、Webサーバ30は、図では1台ずつ表示しているがそれぞれ複数台の計算機がネットワークに接続されてもよい。
 さらに、ネットワーク40は、企業内ネットワーク、インターネット、携帯電話の通信網など複数のネットワークから構成されている。例えば、TC10(TC10-1)とTCS20が企業内ネットワークに接続し、企業内ネットワークに接続するTC10とは異なるTC10(TC10-2)とWebサーバ30とがインターネットに接続する場合がある。
 TC10は、利用者のGUI操作のインタフェースを担当する装置として機能し、CPU11と、メモリ12と、二次記憶装置13と、ネットワークインタフェース14と、USB(Universal Serial Bus)などの外部デバイス用のインタフェース15と、利用者からの操作入力を取得するキーボードなどの入力部17とデータを出力する表示部などの出力部18と、これらが互いに接続されるバス等の内部通信線(以下、バスという)16を含んで構成される。
 TCS20は、利用者が利用するアプリケーションプログラムの実行を担当する装置であり、CPU21と、メモリ22 と、二次記憶装置23と、ネットワークインタフェース24と、これらが互いに接続されるバスなどの内部通信線(バスという)25を含んで構成される。
 Webサーバ30は、TCS20から送信されたアプリケーションプログラム用のデータ(以下アプリ用データ)220の管理と、TC10からの要求に基づき、Webアプリケーションプログラム(以下Webアプリプログラム)304およびアプリケーションプログラム用のデータ(以下アプリ用データ)320とをTC10へ送信するための装置であり、CPU31と、メモリ32と、二次記憶装置33 と、ネットワークインタフェース34と、これらが互いに接続されるバスなどの内部通信線(バスという)35を含んで構成される。
 図2は、本システムのプログラム構成を例示する図である。
 利用者は、本システムを用いて、アプリケーションプログラムによってファイルを作成したり、作成したファイルのデータを編集し、保存したりして、ファイル編集処理を実行する。ファイル編集処理は、「リモートのファイル編集処理」「ローカルのファイル編集処理」があり、ローカルのファイル編集処理のうち、TC10がネットワークに接続しない場合の処理をオフライン処理と呼ぶ。
 「リモートのファイル編集処理」とは、TCS20上で起動したアプリケーションプログラムがTCS20に格納されたファイルを編集する処理である。利用者が操作する計算機がアプリケーションプログラムを実行する計算機と異なるので「リモート」と呼ぶ。
 「ローカルのファイル編集処理」とは、Webサーバ30からダウンロードしたWebアプリプログラムをTC10上で起動するWebクライアントプログラム上で動作させて、TC10に一時的に保存したファイルを編集する処理である。利用者が操作する計算機とアプリケーションプログラムにあたるWebアプリプログラムを実行する計算機とが同じであるので「ローカル」と呼ぶ。
 アプリケーションプログラムは、文書作成ソフトウェア、表計算ソフトウェア、プレゼンテーション資料作成ソフトウェアなどがある。以下では、アプリケーションプログラムの一つとして、プレゼンテーション資料作成ソフトウェアを用いる場合を想定する。
 アプリケーションプログラムで作成するデータは、ファイルとして管理される。ファイルは、ファイル名で識別され、格納される記憶媒体の記憶領域名(記憶媒体の識別子とディレクトリ名の組合せなど)とファイル名との組み合わせで一意に識別される。またファイル名は、拡張子を含んでおり、例えば「sample.txt」のファイル名のファイルの場合、「.」の後ろに続く文字列「txt」が拡張子となる。拡張子とアプリケーションプログラムとは対応付けることが可能であり、ファイル名を指定して、ファイルを開く指示をすることによって、ファイル名に対応付けられたアプリケーションプログラムを起動し、ファイル名が示すファイルのデータを読み込む。この仕組みは、当業者の知るところであるため、詳細説明を割愛する。
 まず、TC10に格納されるプログラムおよびデータについて説明する。
 TC10において、オペレーティングシステム(OS)101と、切替プログラム103、リモート描画クライアントプログラム102とWebクライアントプログラム104とは、メモリに適宜ロードされて記憶されている。これらのプログラムは、CPU11で実行されて、以下に説明する所定の機能を実現する。
 OS101は、入出力機能、メモリや二次記憶装置の読み書きの管理機能、通信機能などについて、アプリケーションプログラムで利用される共通の基本的な処理を実行する。
 切替プログラム103は、利用者がTC10で操作可能な操作内容を示すメニューを表示し、利用者からの指示内容に応じてリモート描画クライアントプログラム102もしくは、Webクライアントプログラム104を起動し処理を開始する。さらに切替プログラム103は、TCS20で動作する切替ブローカプログラム204からの割り込み処理に応じた処理を実行する。
 ネットワーク状態テーブル110は、TC10とTCS20との間のネットワークの状態を測定した値(スループットやレイテンシ)やTC10とTCS20との間の接続方式(インターネット、イントラネット、携帯電話網などのネットワークの種類や有線LAN、無線LAN、データ通信カード、電力線などのネットワークに接続する際の通信手段の種類)を示すデータを通信環境のデータとして格納している。なお、ネットワーク状態テーブルは、通信環境のデータとだけでなく、後述するファイル更新状態テーブル330と同様のデータを格納することで、一時保存データ120に格納したファイルの更新状態を格納してもよい。
 一時保存データ120は、後述するオフライン処理で使用するWebアプリプログラムや編集用データであるアプリケーション用データを格納しており、メモリ12上のデータが、適宜、二次記憶装置13や外部記憶媒体19に格納される。
 ユーザ識別子データ130は、利用者を一意に識別するためのデータであり、外部記憶媒体19に格納され、外部デバイスインタフェース15を介して、メモリ12に適宜ロードされて記憶されている。なお、ユーザ識別子データ130は、二次記憶装置13に格納されていてもよい。
 Webクライアントプログラム104が実行された結果得られるデータは、メモリ12もしくは、二次記憶装置13もしくは、外部記憶媒体19に格納される一時保存データ120に保存される。また、Webクライアントプログラム104が後述するWebサーバ30にアクセスし、WebアプリプログラムとそのWebアプリプログラムが使用するアプリ用データとをネットワークインタフェースを介して取得すると、これらのデータはメモリ12上にあるだけでなく、一時保存データ120として格納することもある。
 一時保存データ120への保存は、TC10で動作する切替プログラム103によって表示されるメニューに対するユーザ入力もしくは、TCS20の切替ブローカプログラム204からの指示に基づき切替プログラム103が指示するか、もしくは、リモート描画クライアントプログラム102によって表示されたメニューに対するユーザ入力により実行される。
 次に、TCS20に格納されるプログラムおよびデータについて説明する。
 TCS20において、OS201と、リモート描画サーバプログラム202と、アプリケーション監視プログラム203(以下アプリ監視プログラム)と、アプリケーションプログラム206(以下、AP206)とデータ管理ブローカプログラム205と切替ブローカプログラム204は、二次記憶装置23に記憶され、これらのプログラムは、メモリ22にロードされCPU21で実行されて、以下に説明する機能を実現する。
 また、起動ポリシー230、アプリ用データ220、状態テーブル210は、二次記憶装置23に格納されており、それらのデータを使用するプログラムが起動される際に、メモリにロードされ、更新されたデータは、所定のタイミングで二次記憶装置23に格納される。
 リモート描画サーバプログラム202は、TC10のリモート描画クライアントプログラムからの要求に応じて処理を実行する。アプリ監視プログラム203は、OS201を介して、リモート描画サーバプログラム202が取得したユーザ操作検出データを取得することをきっかけとしてアプリケーションプログラムをTCS20で実行するか、TC10で実行するかを判定する。切替ブローカプログラム204は、アプリ監視プログラム203、データ管理ブローカプログラム205、TC10の切替プログラム103からの入力を待ち、データを渡してきたプログラムに応じて対応する処理を実行する。データ管理ブローカプログラム205は、TCS20に格納されるアプリ用データ220を状況に応じてTCS20もしくはTC10で編集できるようにデータの複製や複製したデータの同期などを管理するプログラムである。
 次に、Webサーバ30に格納されるプログラムおよびデータについて説明する。
 Webサーバ30において、OS301、Webサーバプログラム303と、Webアプリプログラム304と、データ管理プログラム302は、二次記憶装置33に記憶され、これらのプログラムはメモリ32にロードされ、CPU31で実行されて、以下に説明する機能を実現する。
 また、二次記憶装置33にはアプリ用データ320および、このアプリ用データ320に対するアクセス制御用のデータ310、ファイル更新状態管理テーブル330、ステータスパラメータ管理テーブル340のデータが格納されている。
 なお、各プログラムやデータは、予め各装置の二次記憶装置に格納されていても良いし、必要なときに、各装置が利用可能な媒体を介して、他の装置から上記二次記憶装置に導入されてもよい。媒体とは、たとえば、上記外部デバイスインタフェースに着脱可能な記憶媒体、または通信媒体(すなわち、上記ネットワークインタフェースに接続する有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号)を指す。また、アプリ用データ220、320は、NAS(Network Attached Storage)に格納されて、NASが提供するアクセス制御の機能によりユーザからのアクセスを受けてもよい。アプリ用データ320は、アプリ用データ220のうち、利用者に指定された一部もしくはすべてのファイルを複製したものである。ただし、AP206とWebアプリプログラム304とで、扱うデータ形式が異なる場合は、複製の際適宜データを変換しそれぞれのプログラムで扱うことができる形式とする。
 図3を用いて、本システムを用いた第一の実施形態の処理フローを説明する。
 TCS20、Webサーバ30、TC10の電源が投入され、各計算機のOSが起動する。OSの起動後、各計算機は、以下のプログラムも起動する。TC10は、切替プログラム103、TCS20は、アプリ監視プログラム203、切替ブローカプログラム204、データ管理ブローカプログラム205、Webサーバ30は、データ管理プログラム302、Webサーバプログラム303を起動する(F1)。
 次に、システムは、利用者が本システムを使用するためのログイン情報を取得する(F2)。ログイン情報の取得方法には、TC10の画面に、利用者を識別する識別子(ID)とパスワードとを入力させる画面を表示し、利用者がキーボードなどの入力装置を用いてデータを入力したり、利用者の生体情報(指紋、掌紋、指の静脈や虹彩などを撮像した画像など)を取得するデバイスを介して取得したり電子タグなどに格納されたデータを読み取り装置を用いて取得したりする方法がある。
 利用者がTC10の計算機にログインすると、TC10の出力部17には、利用者が次の操作を指定するための選択肢がメニューとして表示される。表示された選択肢を利用者が選択する方法や画面例は、図17A-図17D、図18A-図18Eで後述する。利用者がTC10とTCS20とを接続してTCS20にログインする指示を出すと、TC10とTCS20の接続処理が開始する(F6)。リモート描画クライアントプログラム102とリモート描画サーバプログラム202によって、TC10とTCS20が接続すると、TCS20で動作するアプリケーションプログラムの起動をTC10の入力部18を介して指定することが可能となる。接続後の詳細は、図4で後述する。
 TC10とTCS20が接続している時、利用者がAPを起動する指示を入力するとシステムはAPの起動の指示を取得する(F7)。処理内容の詳細は、図4で後述し、アプリケーションプログラムの起動を利用者が指示する際に表示される画面例は図18Aで後述する。TCS20は、APの起動を検知すると、TC10とTCS20の間のネットワーク40の通信状況や、TCS20における計算機の処理能力の状態に関するデータを取得する(F8)。
 次に、F7で取得した利用者が指示したAPの起動に必要な指示内容と、F8で取得したデータとを後述する起動ポリシー230に基づいて、APを起動する計算機がTC10になるか、TCS20になるかを判定する。TC10とTCS20とを接続するネットワーク40がブロードバンドやLANのように回線状態が良い場合は、F11に進み、ナローバンドのような通信回線の状態が悪い場合や、TCS20の計算機負荷が高い場合などは、F21に進む(F9)。アプリケーションプログラムをTCS20で実行するか、TC10のブラウザ上で実行するかを利用者からの入力に基づき決定する場合、利用者からの入力を受け付ける際に表示される画面例は図18Bで後述する。
 TCS20におけるAP実行のための準備処理(F11)は、TC10とTCS20とを接続するネットワーク40の回線状態が良い場合などに、TCS20に格納されたAP206が起動し、アプリ用データ220として格納されたファイルを読み込む処理である。詳細は、図4で後述する。TCS20でアプリケーションプログラムが起動した際に、表示される画面例は図18Cで後述する。
 TCS上でのファイル編集処理(F12)は、リモートのファイル編集処理である。TCS20でAP206が起動された場合、編集されるデータは、TCS20に格納されるアプリ用データ220であり、データの保存処理は当業者の知るところであるため、ここでは詳細説明を割愛する。
 編集されたファイルの保存処理(F13)は、編集されたファイルを保存する利用者の指示に応じて、編集結果をTCS20に格納されたアプリ用データ220として上書き保存するもしくは、別の名称で保存する処理である。
 保存処理が終了した後、利用者の操作に応じて、AP206を終了し、TCS20をログオフする(F14)。
 一方、通信回線の状態が悪い場合などは、TC10でアプリケーションプログラムを実行するための準備処理として、編集環境の準備やWebクライアントプログラム104の起動を実行する。詳細は図5を用いて後述する(F21)。TC10で起動するWebクライアントプログラム上でWebアプリプログラムが動作する際に表示される画面例は、図18Dと図22A-図22Cで後述する。
 F22は、ローカルのファイル編集処理である。
 ローカルで編集されたファイルは、利用者の指示に応じて保存処理される。この保存処理では、利用者が操作する計算機だけでなく、操作する計算機とは異なる計算機で保存処理が実行されるため、リモートでの保存処理と呼ぶ(F23)。
 起動しているWebクライアントプログラム104は、利用者の操作に応じて終了する(F24)。
 次に、図4を用いて、図3で示したF6からF11までの処理を、TC10に格納されたプログラムとTCS20に格納されたプログラムとが実行する処理のシーケンスに従い説明する。図4の破線で囲んだ四角の中の処理は、図3のF6~F11に対応している。
 なお、シーケンス図やフローチャートにおける各ステップは、ステップ101をS101のようにステップをSと略して記載する。また、同じ番号は、処理内容が同じ場合を示す。さらに、以下に説明する処理は、CPUがそれぞれの機能を実現するプログラムを実行することにより、実現されるものであるが、説明の便宜上、プログラムを実行主体として説明する。
 F6の処理の詳細を説明する。
 利用者がTC10を用いてTCS20へ接続するまでのシーケンスを説明する。利用者が切替プログラム103を用いてTCS20への接続を指定すると、リモート描画クライアントプログラム102が起動して、TCS20への接続処理が開始する(SQ111)。利用者がTC10を用いてTCS20へ接続し利用する場合、以下の技術が、画面転送型のシンクライアントシステムとして知られている。
 リモート描画クライアントプログラム102が利用者からの入力情報(キーボードおよびマウスの操作など)を処理し、リモート描画サーバプログラム202に転送する(SQ113)。リモート描画サーバプログラム202は、リモート描画クライアントプログラム102より受け取った入力情報を、OS201を介してTCS20上で動作するプログラムへ渡し、入力情報に応じた処理結果を利用者への出力情報として、TC10のリモート描画クライアントプログラム102に転送する(SQ115)。リモート描画クライアントプログラム102は、リモート描画サーバプログラム202から受け取った利用者への出力情報(ディスプレイ出力或いはスピーカ出力など)を処理する。このように、画面転送型のシンクライアントシステムでは、リモート描画クライアントプログラムとリモート描画サーバプログラムとのやり取りによりTC10からの入力情報を使って、TCS20上で処理した結果をTC10に出力する。
 F7の処理の詳細を説明する。
 利用者がTC10の入力装置を用いて操作した内容を示す利用者からの入力情報 (ユーザ操作)は、リモート描画クライアントプログラム102からリモート描画サーバプログラム202へ送られる(SQ117)。リモート描画サーバプログラム202は、OS201を介して受信したユーザ操作をアプリ監視プログラム203に渡し(SQ119)、アプリ監視プログラム203は、受け取ったユーザ操作に基づきユーザ操作検出データを生成する(ユーザ操作検出データの詳細は図12のS232で説明する)。
 ユーザ操作とは、TC10の入力装置を利用者が操作することによって入力することであり、キーボードからの文字入力の内容や、TC10の出力装置、たとえば画面に表示されたGUIに対する入力がある。GUIに対する入力は、画面に表示された領域(ボタン)をマウスのようなポインティングデバイスでクリックすることで次に実行する処理内容を指定したり、表示されるファイル名やアイコンを、マウスの右ボタンのクリックにより選択し、その結果表示されるメニューに示された操作内容を指定したり、アイコンと呼ぶファイルを示す部品をドラッグアンドドロップと呼ぶ操作で移動させることで、異なるディレクトリの間でファイルを複製させたり移動させたりする処理がある。操作内容は、表示されたファイル名もしくは、キーボードを用いて入力したファイル名を指定して、ファイル名の拡張子にあらかじめ関連付けられたアプリケーションを起動する指示や、起動中のアプリケーションプログラムが呼び出しているファイルに対する変更及び変更を保存する指示などがある。
 F8では、アプリ監視プログラム203が、後述する状態テーブル210にデータを格納する(詳細は図12のS233で説明する)。F9では、起動ポリシー230に基づき、TCS20でAP206を起動するかどうかを判定する(詳細は図12のS234で説明する)。
 アプリ監視プログラム203の判定の結果が、TCS20である場合、AP206を起動し(SQ121)、TC10から送られてくるユーザ操作は、リモート描画サーバプログラム202とリモート描画クライアントプログラム102を介して、起動されたAP206に引き渡される(SQ123、SQ125)(F11)。
 次に、図5を用いて、図3で示したF21の処理を、TC10に格納されたプログラム、TCS20に格納されたプログラムとWebサーバ30に格納されたプログラムとが実行する処理のシーケンスに従い説明する。F21は、F9において、アプリ監視プログラム203が「ファイル編集処理を実行する計算機がTC10である」と判定した結果実行される処理である。なお、データ保存プログラム502は、本実施例の構成要素には含まれず、第二の実施例で説明する。
 アプリ監視プログラム203は、ユーザ操作検出データを切替ブローカプログラム204へ渡す(この処理は図12 S237で後述)。切替ブローカプログラム204は、ユーザ操作検出データをデータ管理ブローカプログラム205へ渡す(この処理は図13 S243で後述)。データ管理ブローカプログラム205は、ユーザ操作検出データとアプリ用データ220から参照したファイルとユーザ識別子などをデータ管理プログラム302へ渡す(この処理は図14 S253で後述)。
 データ管理プログラム302は、受け取ったデータに基づき、ファイルをアプリ用データ320に格納し(この処理の詳細は図15 S322で後述)、ユーザ識別子とユーザ操作検出データなどに基づき、後述するアクセス先情報と切替パラメータを生成し、状態テーブル330にアクセス先情報を格納する(この処理は図15 S323で後述)。データ管理プログラム302は、生成されたアクセス先情報と切替パラメータをデータ管理ブローカプログラム205に渡す(この処理は図15 S324で後述)。
 データ管理ブローカプログラム205は、受け取ったアクセス先情報を状態テーブル210に格納し、アクセス先情報と切替パラメータとを切替ブローカプログラム204へ渡す(図14 S256で後述)。
 切替ブローカプログラム204は、アクセス先情報と切替パラメータとを、切替プログラム103へ送る(図13 S245で後述)。
 切替プログラム103は、切替ブローカプログラム204からアクセス先情報と切替パラメータとを受け取ると、切替パラメータに基づきTC10で動作するプログラムを切り替えるための切替制御用データを生成し、切替制御用データに基づき、Webクライアントプログラム104を起動させる(図11B S1397で後述)。
 Webクライアントプログラム104は、切替プログラム103が受け取ったアクセス先情報に基づき、Webサーバ30へアクセスする。この時ユーザ識別子をあわせて送信し、Webサーバ30のアクセス制御用データ310を用いれば、Webサーバ30へのシングルサインオンが可能である。
 Webサーバプログラム303は、Webクライアントプログラム104からのリクエスト受信し、リクエストに基づきWebアプリプログラム304を用いてアプリ用データ320のデータを参照する(SQ147、SQ149)。参照したデータおよびWebアプリプログラムをレスポンスとして送信する。
 この結果、Webクライアントプログラム104には、WebアプリプログラムとデータとがTC10にダウンロードされる(SQ151)。このようにして、TC10でWebクライアントプログラム104が起動し、Webサーバプログラム303を介して、Webアプリプログラム304がTC10のWebクライアントプログラム104上とWebサーバ30上で起動している。以上の処理により、TC10におけるAP実行のための準備処理が完了する。
 次に、図6を用いて、図3で示したF23の処理を、TC10に格納されたプログラム、TCS20に格納されたプログラムとWebサーバ30に格納されたプログラムとが実行する処理のシーケンスに従い説明する。
 図5のF21の処理が完了すると、Webクライアントプログラム104上で動作するWebアプリプログラムは、利用者からの入力を取得し、入力に応じたWebサーバプログラム303の処理結果を表示し、利用者が指示するファイルに対する編集処理を実行する。
 ファイルに対する更新の指示が入力されると、Webクライアントプログラム104は、一時保存データ120として格納されたファイルに対する更新データを、Webサーバ30へ送信し(SQ161)、Webサーバプログラム303は更新データを受信し、受信した更新データに基づきアプリ用データ320を更新する。
 データ管理プログラム302は、アプリ用データ320のデータの更新状況を監視しており、アプリ用データ320が更新されることを検知すると更新フラグをONにし、ファイル更新状態管理テーブル330を更新する。データ管理プログラム302は、アプリ用データ320の更新を監視していてもよいし、アプリ用プログラム304からデータの更新要求の通知を受信してもよい。
 次にデータ管理プログラム302は、更新されたアプリ用データと更新日時や更新者などのデータをデータ管理ブローカプログラム205へ送信する(SQ167)。
 データ管理ブローカプログラム205は、受信したデータに基づき、アプリ用データ220と状態テーブル210とを更新し(図14 S257で後述)、更新完了をデータ管理プログラム302に通知する(図14 S258で後述)。データ管理プログラム302は、更新完了の通知を受信すると(図15 S328で後述)、アプリ用プログラム304にデータ更新の完了を通知し(図15 S329で後述)、Webサーバプログラム303、Webクライアントプログラム104を介して利用者にデータの更新完了を知らせる。
 次に、TC10、TCS20、Webサーバ30上で動作する各プログラムの処理フローを図7~図10のテーブル構成図と図11~図16のフローチャートとを用いて説明する。
 まず図7~図10で示したテーブル構成図に格納されるデータの詳細を説明する。
 図7を用いて、TCS20に格納される起動ポリシー230のテーブル構成を説明する。
 起動ポリシー230は、テーブル230に格納されるポリシーを識別するID欄、アプリケーションプログラムを識別するID(以下、アプリID)を格納するアプリID欄231、アプリケーションプログラムを起動する計算機を識別するアプリケーション起動計算機欄233、条件テーブル250のデータを識別する条件IDを格納する条件ID欄232からなる。アプリケーション識別テーブル240は、アプリIDを格納するアプリID欄241と、アプリIDで識別されるアプリケーションプログラムの実行プログラムがTCS20に格納されている領域を示す実行プログラムのTCS上の格納先欄242、242で示すプログラムと同等の機能を有するWebアプリケーションプログラムが格納されている領域を示すWebサーバ上の格納先欄243と、それらのプログラムに対応付けられているファイルの拡張子を格納する拡張子欄244からなる。
 条件テーブル250は、アプリケーションを起動する計算機を判定する際の条件を格納する。条件は、アプリケーションプログラムを起動する際の、TC10、TCS20、TC10とTCS20との間のネットワークの状態などを示すパラメータを一つ以上組み合わせたもので、条件IDで区別する。パラメータには、通信環境に関するデータ、アプリケーションプログラムを起動する際に使用するファイルに関するデータ(ファイルサイズ、ファイルの種類など)、TC10及びTCS20の計算機処理能力の状態(メモリ使用量、メモリ使用率、CPUの使用率、起動しているアプリケーションプログラムの数、実行されているプロセス数、画面に表示しているウィンドウの数、あらかじめ指定したアプリケーションプログラムが起動しているかどうかを示す識別子、表示している画面の解像度や表示させる色のビット数など)がある。
 条件テーブル250のテーブル構成の一例を示す。条件ID欄251は条件IDを格納し、通信環境ID欄252は、通信環境テーブル260に格納する通信環境に関するデータを識別するIDを格納し、ファイル種別欄253は、アプリケーションプログラムが読み込むファイルの種別を格納する。
 通信環境テーブル260は、TC10とTCS20との間の通信環境に関するデータとして、通信手段、通信網の種類、ネットワークの状態を測定した値などを組み合わせて通信環境を区分して、区分した通信環境毎に通信環境IDを付与する。
 図8を用いて、TCS20に格納される状態テーブル210のテーブル構成を説明する。
 状態テーブル210は、アプリ用データ220に格納されるファイルを識別する識別子を格納するインデックス欄211、TCS20でファイルを識別するファイル名欄212、ファイル名欄で示すデータがTCS20のサーバ内に格納されているディレクトリを示すTCSサーバ内ディレクトリ欄213、ファイル名欄212で示すデータを読み込み実行する、アプリケーションプログラムを識別するアプリIDを格納するアプリID欄214、インデックス欄331もしくはファイル名欄332に格納されるデータで識別されるデータをWebサーバ30経由で編集する際にWebクライアントプログラムが指定するアクセスするために必要なアクセス先情報を格納するインターネットアドレス欄215、TCS20に格納されているデータが、Webサーバ30コピーしたデータもしくはTC10に格納されたデータとの同期ができている場合(「済」を示すデータが格納される)と、同期ができていない場合(「未済」を示すデータが格納される)を識別するデータを格納するシンクロ欄216、後述するステータス番号を格納するステータス番号欄217、Webサーバ30のデータと最後に同期した日時を格納する最終更新日時欄218、インデックス欄211もしくはファイル名欄212に格納されるデータで識別されるデータをWebサーバ30を介して編集可能な利用者を識別するユーザIDを格納するUserID欄219を含んで構成される。
 さらに、状態テーブル210は、条件テーブル250に格納されるデータと同じ種類のデータを持つ(図示せず)。
 図9を用いて、Webサーバ30に格納されるファイル更新状態管理テーブル330のテーブル構成を説明する。ファイル更新状態管理テーブル330には、TCS20に格納されているファイルが、Webサーバ30やTC10にコピーされているか、コピー後編集されているか、編集されたデータがTCS20のデータと同期されているか、TC10で新規に作成されたデータが、Webサーバ30やTCS20に格納されているか、などのファイルの複製や改変の状態や同期の状態を管理するためのデータを格納する。
 ファイル更新状態管理テーブル330は、アプリ用データ320に格納されるファイルを識別する識別子を格納するインデックス欄331、TCS20でファイルを識別するファイル名欄332、ファイル名欄で示すデータがTCS20のサーバ内に格納されているディレクトリを示すTCSサーバ内ディレクトリ欄333、ファイル名欄332で示すデータを読み込み実行する、アプリケーションプログラムを識別するアプリIDを格納するアプリID欄334、インデックス欄331もしくはファイル名欄332に格納されるデータで識別されるデータをWebサーバ30経由で編集する際にWebクライアントプログラムが指定するアクセスするために必要なアクセス先情報を格納するインターネットアドレス欄335、Webサーバ30上のデータが、TCS20に格納されているデータもしくはTC10にダウンロードしたデータとの同期ができている場合(「済」を示すデータが格納される)と、同期ができていない場合(「未済」を示すデータが格納される)を識別するデータを格納するシンクロ欄336、後述するステータス番号を格納するステータス番号欄337、アプリ用データ320に格納されるファイルが最後に更新された日時を格納する最終更新日時欄338、インデックス欄331もしくはファイル名欄332に格納されるデータで識別されるデータをWebサーバ30で編集する指示を実行した利用者を識別するユーザIDを格納するUserID欄339を含んで構成される。TCSサーバ内ディレクトリ欄333のデータは、TCS20が複数台ある場合は、それぞれのTCS20を識別するデータを含んだ値とする。アプリ用データ320に格納されたファイルが、格納後に一度も編集されていない場合、すなわちステータスNoが1の場合は、最終更新日時欄338の日時は、アプリ用データ320に複製された日時を示す。
 ファイル更新状態管理テーブル330と後述するステータスパラメータ管理テーブル340は、Webサーバ30に格納されているが、TCS20にも格納され同期をとられてもよく、TCS20とWebサーバ30のいずれからもアクセス可能なネットワークディスクなどに格納されても良い。
 図10を用いて、ステータスパラメータ管理テーブル340のテーブル構成を説明する。
 ステータスパラメータ管理テーブル340は、TCS20に格納されているアプリ用データのファイルの複製がどの計算機もしくは記憶媒体上にあり、ファイルに対するアクセス状況がどのような状態かを説明したStatus説明欄342、複製されたデータが変更されているかどうかのファイルの変更状態を示すファイル状態欄343と、Webサーバ30に格納されているアプリ用データとTC10にダウンロードされて、一時保存データとして格納されたファイルとの間でデータの同期が完了しているかどうかを示すシンクロ状態欄344とを、ステータス番号欄340に格納したステータス番号毎に格納している。
 また、TC10以外の端末にデータがダウンロードされる場合は、どの端末にダウンロードされているかを示すデータを含んでもよい。さらに、ファイルに対するアクセス状態の1つとして、端末にダウンロードしたデータが、端末から削除されたかどうかを示す状態を含んでも良い。
 次にTC10で動作するプログラムが実行する処理を説明する。TC10のOSが起動すると、切替プログラム103が起動する。切替プログラム103は、ポインティングデバイスからの入力に応じて、利用者からの入力をリモート描画クライアントプログラム102もしくは、Webクライアントプログラムもしくは、切替プログラムのいずれかのプログラムに対して切り替えて渡す。また、切替プログラム103は、ポインティングデバイス以外からの入力デバイスからの入力を渡すプログラムを切り替える。リモート描画クライアントプログラム102は、切替プログラム103が起動した後、利用者からの指示があると起動する。Webクライアントプログラムは、切替プログラム103が起動した後、切替プログラム103からの制御もしくは、利用者からの指示があると起動する。
 図11A、図11Bを用いて、切替プログラム103が実行する処理を説明する。
 切替プログラム103は、利用者がTC10の電源を投入することでOSが起動され、ログイン処理が実行されると、起動する。切替プログラム103が起動すると、切替プログラムは、メニューを表示し利用者からの入力を待つ(S131)。利用者が選択したメニューに応じた処理を実行する。終了処理が指示されれば(S132)、切替プログラムを終了するとともに、ログアウトする。
 選択したメニューに応じて、リモート描画クライアントプログラム102を起動し、TCS20に接続する処理か(S136)、Webクライアントプログラム104を起動し、Webサーバ30に接続する処理か(S137)、オフライン処理か(S138)を実行する。これらいずれかの処理を実行した後は、入力部17からのユーザ操作もしくは、ネットワークインタフェース14を介して入力されるTCS20からの割り込み入力を待ち(S139)、入力に応じた処理を実行する。リモート描画クライアントプログラム102でTCS20に接続する場合もしくは、Webクライアントプログラム103でWebサーバ30に接続する場合は、通信手段を設定する(S134)。
 図11Bに、図11Aのステップ139の詳細フローを示す。ユーザ操作もしくは、TCS20からの入力がないかを待ち(S1391)、入力があれば、リモート描画クライアントプログラム102、Webクライアントプログラム104のいずれも終了であるかどうかを判定する(S1392)。終了ならば、図4のS132に戻り、終了でなければ、ユーザ操作による入力かTCSからの入力かによって処理を分岐する(S1393)。入力が、ユーザ操作による入力の場合はS1394 、TCS20からの入力の場合S1397へ進む。
 ステップ1394では、ユーザ操作による入力がリモート描画クライアントプログラム102によって表示された領域(図22Aの1607、図22Bの1703や1705)であるか、Webクライアントプログラム104によって表示された領域(図22Aの1601、図22Bの1704や1706)であるか、切替プログラム104によって表示された領域(図22Aの1608や1609、図22Bの1702や1707)であるかに応じて、対応する処理を実行する。リモート描画クライアントプログラム102によって表示された領域に対する入力である場合は、S1395 に進み、入力データをリモート描画サーバプログラム202へ送信する。Webクライアントプログラム104によって表示された領域に対する入力である場合は、S1396に進み、Webクライアントプログラムに対する入力として処理を実行する。切替プログラム104によって表示された領域に対する入力である場合は、切替プログラムが提供する処理を実行する(S1398)。
 TC10の画面に、これら三つの領域が表示されている場合の画面例を図22に示す。ファイルアイコンのドラッグアンドドロップの操作のように、これらの領域をまたがる操作の場合は、ドラッグアンドドロップするファイルアイコンが表示されていた領域に対する処理とみなし、ドロップ先の領域からはファイルのコピー先のディレクトリ名を検出する。例えば、領域1703に表示されたファイルのアイコンを領域1702にドラッグアンドドロップする操作で、アイコンの示すファイルをオフライン準備処理する操作とみなしたり、領域1702に表示されたアイコンが示すファイルを領域1703にドラッグアンドドロップする操作で、アイコンの示すファイルをTCS20へアップロードする操作と見なしたりする。
 ステップ1397では、TCS20の切替ブローカプログラム204から送信されたアクセス先情報と切替パラメータとを受信する。受信した切替パラメータに基づき、切替制御用データを生成する。
 例えば、切替パラメータが「Open」の場合、Webクライアントプログラム104を起動し、アクセス先情報に基づきWebサーバ30にアクセスさせるためのコマンドを切替制御用データとして生成し、そのコマンドを実行する。一方、切替パラメータが「Copy」の場合、アクセス先情報に基づきWebサーバ30にアクセスし、オフライン処理で必要なWebアプリプログラムのデータと編集対象のデータとをWebサーバ30より取得し、一時保存データ120に格納するためのコマンドを切替制御用データとして生成し、そのコマンドを実行する。アクセス先情報は、一時保存データ120に格納してもよい。
 切替プログラム103と切替ブローカプログラム204とは、リモート描画クライアント102とリモート描画サーバ202とが接続を確立した際に、それとあわせて接続を確立する。
 このようにして本実施例では、利用者が、TC10の入力装置を用いて、アプリケーションプログラムを起動するための操作に関する指示をした場合、切替プログラム103は、TCS20で動作するAP206がアプリ用のデータを操作するか、Webサーバ30で動作するWebアプリプログラム304がデータを操作するかを判定し、前者なら、リモート描画クライアントプログラム102によって、リモート描画サーバプログラム202から送られてくる画面データを表示するように、後者なら、TC10に搭載されたWebクライアントプログラム104を起動するように、制御を切り替える。リモート描画サーバプログラムから送られてくる画面データの内容は、TCS20でAP206が起動したことを表わす画面データである。
 次にTCS20で動作するプログラムが実行する処理を説明する。
 図12を用いて、アプリ監視プログラム203が実行する処理を説明する。
 アプリ監視プログラム203は、リモート描画サーバプログラム202、データ管理ブローカプログラム205、切替ブローカプログラム204とともに、OSが起動された後起動される。
 アプリ監視プログラム203は、OS201を介して、リモート描画クライアントプログラム102から送られたユーザ操作を監視する(S231)。
 ユーザ操作があるとその内容に基づき「ユーザ操作検出データ」を生成し、そのデータに応じて操作内容を判定する(S232)。
 ユーザ操作検出データは、「ファイル名」「ファイルの格納先(フルパスのディレクトリ名やメモリ上のアドレス)」「ファイル名に基づくアプリID」「操作内容」及び、「ファイルのコピーや移動の操作の場合は、ファイルをコピーする格納先」からなる。操作内容は、(1)アプリケーションプログラムの起動を伴う処理と(2)ファイルのコピーを伴う処理と(3)それ以外とに分けられ、(1)の場合は、S233に進み、(2)の場合はS237へ進む(3)場合は、S231に戻る。
 S233では、TCS20の負荷状態やTC10とTCS20とを接続するネットワーク40の負荷状態を検出する。ステップ233で検出するデータは、条件テーブル250で示すようなネットワーク40の状態やTCS20の負荷状態を示すデータであり、状態テーブル210に格納される。ネットワークの負荷状態は、後述するS247でネットワーク状態テーブル110に格納されているものを参照してもよい。
 ステップ234では、起動ポリシー230、ユーザ操作検出データの内容、TCS20とネットワーク40の負荷状態とに基づき、アプリケーションプログラムを起動する計算機がどの計算機になるかを判定し、S235で判定の結果に基づき処理を分岐する。
 起動ポリシーに基づき、アプリケーションプログラムを起動する計算機を判定する具体例を示す。
 利用者が「bbb.ppt」という名称のファイルを編集するため、画面に表示されたファイルのアイコンをダブルクリックした場合を例にとる。
 ユーザ操作検出データは、アイコンが示すファイル名に基づき、ファイル名「bbb.ppt」を取得し、アイコンが表示されている場所に基づき、ファイルの格納先「c:\Doc\home\dir1」を取得し、ファイルの拡張子「ppt」とテーブル240に基づき、ファイルに対応づけられたアプリケーションプログラムを特定し、そのアプリID「A1」を取得し、操作内容は、ダブルクリックの操作に基づき、アプリケーションプログラムを起動してファイルを開く「Open」の処理であることを取得する。
 TCS20とネットワーク40の負荷状態の一例として、通信環境IDに「ブロードバンド」か「非ブロードバンド」を取得し、TCS20の負荷を示す指標として、アプリケーションプログラムが開くファイルの種別として「描画ソフト」か「動画ファイル」を取得する。
 「ブロードバンド」で「描画ソフト」ならば、テーブル250に基づき、条件IDはC1となり、「非ブロードバンド」で「描画ソフト」ならば条件IDはC2, 「ブロードバンド」で「動画ファイル」ならば条件IDはC3となる。
 このようにして取得したアプリIDと条件IDを起動ポリシー230に基づき、判定すると、アプリIDがA1、条件IDがC1の場合は、アプリケーションプログラムは、TCSで起動し、アプリIDがA1、条件IDがC2の場合は、アプリケーションプログラムは、TCで起動するという判定結果となる。
 ステップ235では、このようにして得た判定の結果、TCS20でアプリケーションを起動する場合はS236に進みAP206を起動し、TC20でアプリケーションプログラムを起動しないすなわち、TC10で起動する場合はS237に進み、切替ブローカプログラム204にユーザ操作検出データの内容を渡す。
 なお、アプリ監視プログラム203は、図18Bで示す画面を表示し、利用者が1402を選択した場合にはS237、1403を選択した場合にはS236に進んでもよい。
 図13を用いて、切替ブローカプログラム204が実行する処理を説明する。
 切替ブローカプログラム204は、ほかのプログラムからの割り込み処理を待ち(S241)、割り込みしてきたプログラムに応じて処理を実行する。アプリ監視プログラム203からの割り込みがある場合は(S242)、データ管理ブローカプログラム205にユーザ操作検出データを渡し(S243)、データ管理ブローカプログラム205から割り込みがある場合は(S244)、切替プログラム103に切替パラメータとアクセス先情報とを送信し(S245)、切替プログラム103から割り込みがある場合は(S246)、ネットワークの状態に関するデータを受け取り、ネットワーク状態テーブル110に書き込む(S247)。
 図14を用いて、データ管理ブローカプログラム205が実行する処理を説明する。
 データ管理ブローカプログラム205は、ほかのプログラムからの割り込み処理を待ち(S251)、割り込みしてきたプログラムに応じて処理を実行する。切替ブローカプログラム204からの割り込みがある場合は(S252)、ユーザ操作検出データに基づいて、アプリ用データ220から読み出したデータとユーザ操作検出データとを、データ管理プログラム302に渡すとともにファイルの更新状況を状態テーブル210に格納する(S253)。状態テーブル210は、アプリケーション用データ220に格納されるファイルの更新状態とTC10とTCS20との間のネットワークの接続状況の状態とに関するデータを格納している。
 状態テーブル210に格納されるデータについて図8を用いて説明する。
 インデックス211に格納される値は、ユニークな値となるようにデータ管理ブローカプログラム205が生成してもよいし、TC10でファイルを編集したり、新規に作成したりして生成されたファイルがWebサーバ30を介してアップロードされて、アプリ用データ220に格納されるタイミングで、Webサーバ30のデータ管理プログラム302が採番したデータをもちいてもよい。データ管理ブローカプログラム205が採番した値とデータ管理プログラム302が採番した番号とは、番号の採番規則によって区別できるようにすると、オリジナルのデータがTCS20のデータなのか、TC10で編集、作成したデータなのかを区別することができる。
 ファイル名212、TCサーバ内ディレクトリ213、アプリID214は、ユーザ操作検出データに基づき生成する。
 シンクロ欄216には、ファイルをWebサーバ30に送信した時点では、「済」を示す値が格納され、Webサーバ30からTC10にデータがダウンロードされると、Webサーバ30からの通知に基づき「済」から「未済」を示す値に変更される。
 StatusNo欄217には、アプリ用データ220に格納されたデータに対する利用者からのアクセス状況を示す「ステータスナンバー」を設定する。ステータスナンバーは、テーブル340に示す内容に応じた値である。テーブル340は、Webサーバ30だけでなくTCS20にも格納されている。最終更新218は、アプリ用データ220に格納されたファイルに対して更新された最終の日時である。ユーザID219は、TCS20にログインする利用者を識別するユーザ識別子である。1台のTCS20に対して、複数の利用者がアクセスする場合、格納したファイルに対するアクセス制御を行うため、アクセス可能な利用者の識別子を格納する。
 図14の説明に戻る。
 データ管理プログラム302からの割り込みがある場合は(S254)、図15で後述する更新フラグを判定する(S255)。更新フラグが「OFF」ならばS256に進み、更新フラグが「ON」ならば、S257に進む。ステップ256では、切替ブローカプログラム204にアクセス先情報と切替パラメータとを送信し、アクセス先情報を状態テーブル210にに保存する。一方、ステップ257では、ファイルの更新結果をアプリ用データ220に格納し、ファイルの更新状況を状態テーブル210に格納する。ステップ258では、データ管理プログラム302に更新結果を送信する。
 次にTCS20で動作するプログラムが実行する処理を説明する。
 Webサーバ30のOSが起動するとWebサーバプログラム303とデータ管理プログラム302は、起動する。Webアプリプログラム304は、Webクライアントプログラム104からのリクエストに応じてWebサーバプログラム303がレスポンスする際に呼び出されてコンテンツの一部としてWebクライアントプログラム104へ送信され、TC10上で実行される。これらのWebアプリプログラムを用いた動作については、当業者の知るところであるため詳細には述べない。Webアプリプログラム304には、動画再生プログラム、ワープロソフト、表計算ソフトや描画ソフトなどがあり、通常のアプリケーションプログラムと類似の機能を有するものもある。
 図15を用いて、データ管理プログラム302が実行する処理を説明する。
 データ管理プログラム302は、Webアプリプログラムにおけるデータの更新を監視しており(S320)、更新がある場合は、更新フラグを「ON」にしてS325へ進み、更新がない場合はS321 へ進む。
 更新フラグとは、アプリ用データ320に対する更新状況を示すフラグである。更新された場合「ON」に設定し、更新結果がアプリ用データ220と同期をとると「OFF」に設定する。
 S321では、データ管理プログラム302は、データ管理ブローカプログラム205からの割り込みを待ち(S321)、割り込みがあれば、アプリ用データとユーザ識別子とを受信し、アプリ用データは、アプリ用データ320に格納し、ユーザ識別子とユーザ操作検出データに基づきファイル更新状態管理テーブル330にデータを格納する。
 ファイル更新状態管理テーブル330に格納されるデータについて説明する。インデックス331に格納される値は、ユニークな値となるようにデータ管理プログラム302が生成してもよいし、TCS20からアプリ用データであるファイルを受信する時にファイルの管理データとしてTCS20から受信した値を用いてもよい。TCS20から受信した値とWebサーバ30で採番した番号とは番号の採番規則で区別できるようにすると、オリジナルのデータがTCS20のデータなのか、TC10で編集、作成したデータなのかを区別することができる。ファイル名332、TCサーバ内ディレクトリ333、アプリID334は、前述したファイルの管理データとしてTC20から受信した値を用いる。シンクロ336には、ファイルをTCS20からコピーした時点では、「済」が格納され、ファイルのデータが変更されると、「済」から「未済」の値に変更される。StatusNo欄337には、アプリ用データ320に格納されたデータに対する利用者からのアクセス状況を示す「ステータスナンバー」を設定する。ステータスナンバーは、テーブル340に示す内容に応じた値である。最終更新338は、アプリ用データ320に格納されたファイルに対して更新された最終の日時である。ユーザID339は、TCS20からファイルが送信された時にあわせて送られてきたユーザ識別子である。Webサーバ30には複数の利用者がアクセスする場合、格納したファイルに対するアクセス制御を行うため、アクセス可能な利用者の識別子を格納する。
 図15の説明に戻る。
 S323においてデータ管理プログラム302は、使用するアプリケーションの種類を特定するアプリケーションの識別子、アプリケーションプログラムがアクセスするファイル名などを示すオペランド、ユーザの識別子に基づき、アクセス先情報を生成し、ファイル更新状態管理テーブル330のインターネットアドレス欄355に格納する。アクセス先情報はURLの形式で記述されており、Webアプリプログラムの種類、送信されたアプリ用のデータの格納先、当該データへアクセス可能なユーザの識別子が、直接もしくは間接的に表現されている。また、ユーザ操作検出データに基づき、切替パラメータを生成する。切替パラメータとは、TC10でアクセス先情報に基づきWebクライアントプログラム104を起動するのか、オフライン処理で使用するデータをTC10にダウンロードさせるのかを区別するためのデータである。例えば、ユーザ操作検出データの操作内容が「ファイルを開く」ならば、切替パラメータは、「Open」とし、ユーザ操作検出データの操作内容が「ファイルをコピー」ならば、切替パラメータは、「Copy」とする。
 S324において、データ管理プログラム302は、S323で生成したアクセス先情報と、切替パラメータとをデータ管理ブローカ205へ送信する。
 一方、利用者がWebアプリケーションプログラムを用いた操作の結果、データの更新を保存する場合、および、S320で監視した結果、データの更新を検知した場合について説明する。
 S325において、データ管理プログラム302は、ファイル更新状態管理テーブル330を参照し、TCS20に格納されているアプリ用データ220の格納先をTCSサーバ内ディレクトリ欄333を参照して取得する。
 S326において、更新条件を取得する。
 更新条件とは、アプリ用データ220と、アプリ用データ320や一時保存データ120に格納されたアプリ用データとのデータの間で同期をとるかどうかを決定する条件である。テーブル210やテーブル330のシンクロ欄216や336が「未済」である場合や図18Eに示される画面で利用者から指定される場合(1406が指定される場合同期をとる)に条件を満たすものとする。
 データ管理プログラム302は、S325で取得したTCS20上での格納先のファイルと同期させるため、更新結果をデータ管理ブローカプログラム205に更新されたファイル(もしくは変更部分の差分データ)を送り(S327)、更新完了の通知をデータ管理ブローカプログラム205から受信すると、状態テーブル330を更新し、一時保存ファイルを削除し、更新フラグをOFFにして(S328)、更新完了をWebアプリプログラム304に通知する(S329 )。Webアプリプログラムは、Webサーバプログラム303、Webクライアントプログラム104を介して利用者に、更新完了を出力する。
 以上の処理によって、TCS20に格納されたアプリ用データ220をTC10で動作するWebクライアントプログラム104とWebサーバ30より取得するWebアプリプログラム304とを用いて編集することが可能となる。
 図16を用いてTC10で動作する、Webクライアントプログラム104の処理内容とWebクライアントプログラム104に対応して動作するWebサーバプログラム303の処理内容を説明する。
 Webクライアントプログラム104は起動すると、切替ブローカプログラム204から切替プログラム103を介してアクセス先情報を取得する(S141)。切替プログラムによって一時保存データを呼び出す場合は、Webクライアントプログラム104の起動時に切替プログラム103が一時保存データを指し示すアクセス先情報を指定する。
 次にユーザ識別情報を取得する(S142)。ユーザ識別情報は、ユーザ識別子データ130に格納されており、外部デバイスインタフェース15を介してTC10へ利用者がログインする際に取得したものをメモリ上に格納していてもよい。S143では、アクセス先情報とユーザ識別子データとを用いてWebサーバもしくはTC10の一時保存データであるローカルデータへアクセスする(S143)。ローカルデータへアクセスする処理をオフライン処理と呼ぶ。Webサーバへアクセスする場合はセッションを確立し、アクセス先情報に基づいた画面を表示し(S144)、ユーザ入力に応じた以下のステップと図16Bの各ステップを実行する。なお、Webサーバ30と通信せずに、TC10の二次記憶装置に格納されているデータへアクセスする場合は、Webサーバ30とのセッションは確立しない。
 S145では、S144で表示された画面に対するユーザ入力を待ち、入力があればS146に進み、なければ入力を待つ。S146では、入力されたユーザ入力が終了に関する入力でなければ、S147にすすみ、終了に関する入力ならば、Webクライアントプログラム104を終了する。終了前に、編集中のデータが保存されていなければ保存の要否を確認し、保存が必要であれば保存処理を実行する。
 S147では、入力されたユーザ入力がWebサーバへのアクセスに関する入力ならば、ユーザ入力に応じたデータをWebサーバ303へ送信し、Webクライアントプログラム104上で動作するWebアプリプログラムに対する入力ならば、入力に対する処理を実行する。
 S148では、S147において、Webサーバへデータを送信していた場合には、Webサーバからのレスポンスデータを受信し表示する。S147でWebアプリプログラムに対する入力に応じた処理を実行していた場合は、処理結果を表示する。
 S148の処理が完了すれば、S145へ戻る。
 Webサーバプログラム303は、Webクライアントプログラム104からのユーザ入力に応じたデータを受信し(S332)、アクセス制御用データ320を用いてユーザ認証を実施し(S333)、Webクライアントプログラム104から受信したデータに応じた処理を実行し(S334)、S334の処理結果に応じたデータをWebクライアントに送信する。
 次に、図17A-図17Dと図18A-図18Eを用いてTC10に表示される画面例を説明する。
 図17A-図17Dは、切替プログラムが表示するメニューの画面を例示した図である。
 利用者は、図17A-図17Dに示すようなGUI(グラフィカルユーザインタフェース)などを用いて、次に実行する処理を指定する。GUIを用いて指定する方法としては、たとえば図17Aの領域1301に画面で位置を指定する記号(ポインター)をあわせて、ポインティングデバイスのボタンを押下することで領域1301が示すメニューを選択したものとみなす方法がある。
 TC10に利用者がログインした後、利用者は希望する作業に応じたメニューを図17A-図17Dに示す画面例を用いて指定する。利用者が選択可能な作業は、「TCS20に接続する」「Webサーバ30へ接続する」「ネットワークに接続せず、TC10でオフライン作業をする」「TC10をログアウトする」の4種類となる。メニュー画面の表示方法は、図17Aを表示し、1301が選択された場合、図17Aを非表示と図17Bを表示し、いずれかの通信手段のメニューが選択された後、図17Bを非表示にし、図17Cを表示する方法がある。
 図17Aで例示したメニューを態様を変えて、画面上に表示し、非表示としなければ、オンライン処理とオフライン処理とを容易に切替可能である。
 図17Aの1301が選択された場合、図11AのS133の判定がYesの処理が実行され、1302が選択された場合、図11AのS133の判定がNoの処理が実行される。図11AのS134では、図17Bのメニューで通信手段が指定され、図17Bが非表示となった後、図17Cが表示され、1304が選択された場合、図11AのS136の処理が実行され、1305が選択された場合、S137が実行される。
 また、接続先の指定画面と通信手段の指定画面の順序の組み合わせを適宜変更し、図17Dを表示し、1306もしくは1307が選択された場合に、図17Dを非表示とし、図17Bを表示する方法もある。
 図18A-図18Eは、リモート描画クライアントプログラム102によって、シンクライアントサーバ20へログインした後にTC10に表示される画面例である。
 図18Aは、TCS20に格納されるアプリ用データのファイル名を表示し、表示したファイル名をポインターで指定した際の画面を表示した例である。利用者がアプリケーションプログラムを用いて開くファイル名は、1401で示すようなほかのファイル名と異なる態様で表示する。
 図18Bは、TCS20でAP206を起動するかどうかを利用者が指定する画面の画面例である。図5のS234の判定結果でS235の分岐処理を実行する前にBの画面をTC10に表示する。表示されたメニューに対して利用者が1402を指定した場合S237に進み、1403を指定した場合S236に進み、1404を指定した場合は、S231に戻る。
 図18Cは、図18Aで指定されたファイルが、AP206によって開かれてTCS20においてAP206が起動した場合に表示される画面例である。TC10の出力部には、図18Aと図18Cが出力される。
 図18Dは、図18Aで指定されたファイルに対応するデータが、Webクライアントプログラム104によってTC10で表示された場合の画面例である。
 図18Eは、TCS20のアプリ用データ220が、Webサーバ30のアプリ用データ320やTC10の一時保存データに複製されている場合、TCS20のデータがそれ以外に複製されたデータと異なる場合もしくは、TCS20以外に複製されたデータがTCS20のデータと異なる場合に、変更されたデータを保存するファイル名をもとのファイル名とするか異なるファイル名とするかを指定する画面例である。たとえば、図6のSQ165で、データ管理プログラム302が、アプリケーションプログラムの変更を検知した際、TCS20のアプリ用データ220のデータを更新する前に、図18Eを表示し、1406が選択された場合は、アプリ用データ320に対する変更内容をアプリ用データ220に反映させ、1407が選択された場合は、アプリ用データ220に格納されたデータに対するファイル名とは別のファイル名を指定する処理を実行する。1408が選択された場合、アプリ用データ220に対する保存処理をキャンセルする。
 次に、オフライン処理について、図19~図23を用いて説明する。
 画面転送型のシンクライアントシステムでは、TC10とTCS20の間のネットワークがオフラインの場合、TC10の画面にTCS20の処理結果が表示されない。そこで、予めWebサーバ30からWebアプリプログラム304とアプリ用データ320とをTC10の一時保存データ120に格納しておき、TC10がネットワーク接続していないオフライン状態であっても、TC10に格納されているWebクライアントプログラム104を起動し、一時保存データ120に格納したプログラムとデータとを用いることによって、データの編集を可能にする。この処理をオフライン処理と呼ぶ。
 また、オフライン処理を実行するためには、オフライン処理を実行する前に予め、プログラムとデータとをWebサーバ30からTC10にダウンロードして、一時保存データ120に格納する必要がある。一時保存データ120にWebアプリプログラムとそのWebアプリプログラムで使用するデータとをダウンロードし格納する処理をオフライン準備処理と呼ぶ。
 図19を用いて、オフライン処理とオフライン準備処理が実行される場合のシンクライアントシステムの処理の流れを説明する。
 本システムは、各計算機の電源が投入され、OSや各種プログラムが起動し、利用者のログイン情報を取得する。F1、F2の処理は前述の通りであるため、詳細を割愛する。
 利用者のログイン処理が完了すると、TC10の出力部17に、利用者が次の操作を指定するための選択肢がメニューとして表示される。例えば、図17の1301を選択した場合、オンライン処理を利用者が指定したものとし、F4に進み、1302を選択した場合、オフライン処理を利用者が指定したものとし、F41に進む。
 ここでまず、ネットワークを接続してシステムを利用する「オンライン処理」の場合について、F4以降の処理を説明する。F4では、TC10もしくは、外部記憶媒体19に保存されている一時保存データ120の更新状況が確認される。更新状況の確認は、例えば、一時保存データに格納したファイルをWebサーバ30からダウンロードしたダウンロード日時、Webサーバ30へアップロードしたアップロード日時、TC10で編集し保存した保存日時を管理データとして記憶しておき、ダウンロード日時より保存日時が新しいか、保存日時がアップロードより新しい場合は、F5に進み、それ以外の場合は、通信手段を選択し、F6に進み、TCS20へログインする。変更がある場合は、一時保存データをアップロードし、TCS20やWebサーバに保存されているアプリ用データと同期させ(F5)、F6に進み、TCS20にログインする。
 TCS20にログインが完了すれば、TC10におけるオフライン処理のための準備処理(オフライン準備処理)を実行することが可能になる。オフライン準備処理の詳細は、図20を用いて詳細に後述する。オフライン準備処理が完了すれば、利用者はTCS20をログオフし処理を終了する。もちろん、TCS20をログオフせずに、オフライン準備処理以外の処理を実行したり、TCS20をログオフ後、TC10のWebクライアントプログラム104を用いた処理を実行したりしてもよい。
 次に、「オフライン処理」の場合について、F41以降の処理を説明する。オフライン処理では、Webクライアントプログラム104が起動する(F41)。Webクライアントプログラム104は、一時保存データ120を読み込む。一時保存データとして格納されるデータは、Webアプリプログラムで編集するデータ、WebサーバへアクセスするためのURL、操作履歴がある。
 読み込まれたデータを用いて、TC上でオフラインにおけるファイル編集処理が実行され(F43)、利用者からの入力やシステムの自動保存機能により、TC10におけるオフライン機能で編集されたデータがTC10もしくは、外部記憶媒体19に保存される(F44)。
 保存が終了すれば、利用者の操作に応じてWebクライアントプログラムを終了し、全体処理を終了する。
 図20を用いて図19のF31で示したオフライン準備処理の詳細を説明する。
 オフライン準備処理とは、指定したファイル名とファイル名の拡張子に関連づけられたアプリケーションプログラムを起動することなく、ファイル名が示すデータと、ファイル名の拡張子に関連づけられたアプリケーションプログラムに対応するWebアプリプログラムのデータとをWebサーバ30からTC10にダウンロードする処理である。
 ファイル名に対するGUIを用いて準備処理を起動できるので、TCS20で編集していたファイルをTC10でオフライン処理するために必要なデータとして、オフライン処理しようとするファイルをTCS20上のアプリケーションを起動しなくてもTC10に格納することが可能である。そのため、ネットワーク接続した事務所の環境で編集していたデータをネットワーク接続ができない環境において作業で編集するための手続きが簡略化できる。また、AP206を起動し、起動時間を待つことなくオフライン環境で作業する準備ができるので、たとえば出張前に、出かける直前まで作業していたデータを簡単に持ち出してオフライン環境で作業するための準備が可能となる。
 また、オフライン準備処理を実行するためのGUIを備えたプログラムを用いて、オフライン準備処理のプログラムを起動後、オフライン処理するファイルを指定してもよい。
 画面に表示されたファイルのアイコンをある領域から別な領域へ移動させること(ドラッグアンドドロップと呼ぶ)によって、アイコンでしめされたファイルをコピーする操作を指定する方法がある。
 TCS20に格納されたアプリ用データ220のファイルをTC10の一時保存データ120として保存する場合、オフライン準備処理を実行する。オフライン準備処理を開始する利用者によるユーザ操作として、ファイルを示すアイコンをドラッグアンドドロップする操作がある。
 以下、図を用いて説明する。利用者は、リモート描画クライアントプログラム102が表示する画面で、TCS20に格納されているファイルのファイル名を確認できる。利用者が、入力部18を用いて、TC10を用いてオフライン処理で編集したいファイルを指定し、オフライン準備処理を実行することを指示する操作を行うと、アプリ監視プログラム203は、ユーザ操作検出データを取得する(SQ201)。このユーザ操作検出データは、切替ブローカ204、データ管理ブローカプログラム205を介して、Webサーバ30のデータ管理プログラム302に渡される(SQ202)。
 データ管理プログラム302は、受信したユーザ操作検出データと利用者に指定されたファイルのデータと受信して、ファイルのデータをアプリ用データ320に格納し、格納したファイルに関する管理データをテーブル330に格納し、
 アクセス先情報と切替パラメータを生成し、状態テーブル330にアクセス先情報とのデータを格納し、アクセス先情報と切替パラメータをデータ管理ブローカプログラム205に送信する。
 データ管理ブローカプログラム205は、アクセス先情報と切替パラメータを受信し、状態テーブル210にそれを格納し、受信したアクセス先情報と切替パラメータを切替ブローカブログラム204に渡し、切替ブローカプログラム204は、切替パラメータに基づき切替制御用データを生成し、アクセス先情報と切替制御用データとを、TC10の切替プログラム103に送信する。
 切替プログラム103は、アクセス先情報と切替制御用データを受信し、「切替制御用データ」に基づき、Webクライアントプログラムを起動してアクセス先情報に基づく画面を表示する。表示した画面に対する利用者の入力に応じて、Webサーバ30より、アプリ用データとWebアプリプログラムとを取得し、一時保存データ120として格納する。
 次に、TC10に表示される画面例を図21A~図23を用いて説明する。
 図21Aがその画面例である。領域1501は、TC10の一時保存データ120に格納されたデータを表示していることを示す領域である。「名前」の部分は、一時保存データ120に格納されているファイルのファイル名を示している。「サーバアドレスの部分」は、ファイル名が示すデータが、TCS20に格納されたどのデータの複製であるかを示している。「更新」の部分は、TCS20に格納されたデータを複製した後の変更の有無を示しており、日時が表示されている場合は、変更がありその日時が最終更新日時を示し、「-」が表示されている場合は、複製後の変更がないことを示している(図では時刻のみ表示)。
 そして「ダウンロード」の部分は、オフライン準備処理においてWebサーバ30からWebアプリプログラムとアプリ用データとをダウンロードする処理が、完了しているのか、Webサーバ30におけるオフライン準備処理が完了し、TC10にダウンロードが可能な状態か、Webサーバ30におけるオフライン準備処理が完了せず、ダウンロードがまだ不可能な状態なのかを示している。
 図21Bは、オフライン処理で一時保存データ120に格納されたデータを編集した後、利用者がデータを保存する指示を出した際に表示される画面である。1502のメニューが選択されると、一時保存データ120に格納されるアプリ用のデータが更新され、そのデータが更新された状態であることがファイルの更新状態として、一時保存データ120として保存される。
 1504のメニューが選択されると、データは更新されず、編集中のデータは破棄される。図21Cの1506は、オフライン準備処理を開始するメニューの一例である。このメニューは、オフライン準備処理を行うファイルを少なくともひとつ選択した後、ポインティングデバイスを用いた特定の入力(たとえば右クリック)が入力された場合表示される。
 図21Dは、1506のメニューが表示された後に表示される確認用の画面である。1507が選択されるとオフライン準備処理が実行され、1508が選択されると(c)の画面で選択されたファイルが解除され、オフライン準備処理も実行されない。
 TC10に表示された際の画面構成を図22に示す。1601、1704、1706はWebクライアントプログラム104への指示を受け付ける領域である。1602は、リモート描画クライアントプログラム102への指示を受け付ける領域の一部であり、TCS20に格納されるデータのファイル名を表示させるプログラムの出力結果である。1607、1703、1705は、リモート描画クライアントプログラム102の出力結果の領域であり、1608、1702、1707は、切替プログラムへの指示を受け付ける領域である。Webクライアントプログラム104への指示を受け付ける領域は、複数あってもよい。
 図23は、TC10にログインした後、たとえば図17Cの1305Dの1307のメニューが選択されて、Webクライアントプログラム104が起動した場合の画面例である。この時、Webサーバへアクセスするためのアクセス先情報は、TC10のメモリや一時保存ファイルや外部記憶媒体19に格納したURLとし、ユーザ毎に異なるデータとしてもよい。
 第二の実施形態について、図24、図5、6、20を用いて説明する。
 第二の実施形態は、第一の実施例のシステム構成に、遠隔操作によりデータを消去できるデータ格納装置としての携帯端末を追加した構成のシンクライアントシステムである。
 本実施例における携帯端末50は、図24に示すように、少なくとも通信部54もしくは、外部デバイスインタフェース55を有し、また、メモリ52もしくは、二次記憶装置53を有しており、中央処理装置51がメモリ52上に格納されるプログラム(501~504)の処理を実行する情報処理装置である。
 通信部54は、TC10との通信もしくは、ネットワーク40-1との通信を行う。外部デバイスインタフェース55は、携帯端末50が通信部54を持たない場合、通信機能を持つ他の端末と接続するためのインタフェースである。ネットワーク40は、例えばインターネットのようなオープンなネットワークであり、ネットワーク40-1は、インターネットへ接続するためのネットワークで、携帯電話網などの予め登録された端末が接続できるネットワークである。もちろん、ネットワーク40-1が公衆無線LANや構内LANのようにネットワーク接続の許可を予め必要としないネットワークであってもよい。また、外部デバイスインタフェース55は、外部記憶媒体59などのデバイスとのデータの入出力や、TC10と通信する装置(図示せず)とデータを送受信したり、ネットワーク40と通信する装置(図示せず)とデータを送受信したりする。また、携帯端末50は、携帯端末を操作する利用者の入力を受け付けるキーボード、タッチパネルなどの入力部58と、携帯端末における処理結果や状態を出力する表示部やスピーカーなどの出力部57とを備えており、これらがバスなどの内部通信線56で互いに接続される。
 メモリ52に格納されるプログラムと二次記憶装置53に格納される一時保存データとを説明する。
 OS501は、入出力機能、メモリや二次記憶装置の読み書きの管理機能、通信機能などについて、アプリケーションプログラムで利用される共通の基本的な処理を実行する。
 データ保存プログラム502は、TC10もしくは、Webサーバ30から取得したデータを一時保存データ520として二次記憶装置に保存する。一時保存データ520は、メモリ52に格納されてもよい。通信制御プログラムは、通信部もしくは、外部デバイスインタフェースを介して接続する通信装置によって、TC10もしくはWebサーバ30と通信する際の通信処理を制御するプログラムである。ログイン情報生成プログラム504は、外部記憶媒体59もしくは、二次記憶装置53もしくはメモリ52に格納されるユーザ識別子データと入力部を介して利用者から入力されるデータに基づき、TC10にログインする際に必要となるログイン情報を生成するプログラムである。
 なお、TC10、TCS20、携帯端末50は、図では1台ずつ表示しているがそれぞれ複数台の計算機がネットワークに接続されてもよい。
 次に、携帯端末50とTC10との間に通信路を確保する方法について説明する。携帯端末の通信部54とTC10のネットワークインタフェースとの間で通信路を確立する場合には、接続要求に対してログイン情報生成プログラム504などで生成した認証情報を用いる。通信路の確保に関する手順には、たとえば、特許文献2(段落0055)に開示されている方法がある。
 本実施例における携帯端末50は、遠隔操作によりデータを消去することにより、情報漏えいを防止する機能を備える。
 切替プログラム103は、外部記憶媒体や携帯端末がTC10に外部記憶装置として接続しているかどうかを検知し、外部記憶媒体の種類や携帯端末の種類や携帯端末の固体識別番号(例えばMACアドレスやuidとよばれる端末のIDなど)とに基づき、携帯端末50が当該機能(遠隔でデータを削除できる機能)を備えるか、を調べる。さらに、携帯端末が当該機能を備えていても有効に設定されているかについて、TC10が調べた結果を取得し、外部記憶媒体に指定できるかどうかを判定し、指定可能な外部記憶媒体の一覧データ(データ書き出し可能媒体リスト)として、Webサーバ30のアクセス制御データ310に登録する。
 リストには、携帯端末を識別する識別子と設定内容と、機密性の程度毎に外部記憶装置として認識可能かどうかを示すフラグとの組み合わせで格納されてよい。
 TC10と携帯端末50との間に通信路が確保された場合、または、TC10の外部デバイスインタフェース15を介して携帯端末50とが接続された場合、携帯端末50は、TC10の外部記憶装置として認識するかどうかを判定する。判定の際には、前述の、アクセス制御データ310に登録されたデータ書き出し可能媒体リストに携帯端末50が含まれるかどうかを、携帯端末50の固体識別番号をキーとして判定し、含まれる場合は、外部記憶装置として認識し、含まれない場合は外部記憶装置として認識しない。
 もし、確認できない場合は、携帯端末50は外部記憶装置として認識されないよう、切替プログラム103もしくは、TC10にダウンロードした、Webクライアントプログラム104上で動作する、Webアプリプログラム304が設定する。
 次に図5、6、20を用いてWebサーバ30から、データを取得した際に携帯端末50にデータを格納する際の処理について説明する。
 図5で示すように、TC10のWebクライアントプログラム104が、Webサーバ30からWebアプリプログラムと、Webアプリプログラムで編集するデータとを受信すると、通信部を介して、携帯端末50にそれらのデータを受信し、データ保存プログラム502が一時保存データとして保存する。
 TCS20に格納されるアプリ用データ220のファイルは、予め分類されており、予め指定されたファイルをアプリ用データ320に格納しようとする時、前記分類結果に応じて、ファイルの格納先を指定するデータを生成し、ファイルの格納先を示すデータに基づき、TC10で動作する切替プログラム103もしくは、Webクライアントプログラム104がファイルをTC10の二次記憶装置もしくは、外部記憶媒体19もしくは、携帯端末50に格納する。
 TCS20には、ファイルの分類区分と、各々の区分に対応してファイルを格納できる格納先の対応関係を示すデータが保管されている。例えば、機密性の程度が低いファイルの格納先は、携帯端末50でも外部記憶媒体19のいずれにも格納できるが、分類区分がファイルの機密性の程度に基づく区分である場合、機密性の程度が高いファイルの格納先として外部記憶媒体は指定できないよう、切替プログラム103もしくは、TC10にダウンロードした、Webクライアントプログラム104上で動作する、Webアプリプログラム304が制御する。
 また、携帯端末に、メール送信機能があれば、TC10から通信機能を介してデータを受信し、データ保存プログラム502によって一時保存データとして受信したデータを保存した際、受信したデータのファイル名とTC10に格納されているユーザ識別子データで示される利用者名と、受信日時とを、予め登録してある宛先に知らせるメールを送信することが可能である。メール送信機能は、ネットワーク40-1を介して送信する。
 また、携帯端末50の二次記憶装置53は、携帯端末50とは別の携帯端末や計算機からの遠隔操作により、一時保存データとして保存したデータを消去する。この消去動作により、情報漏えいを防ぐことが可能になる。
 第二の実施例では、図6で示すTC10のWebクライアントプログラムを起動してデータを更新する際、一時保存ファイル120からではなく、携帯端末50の一時保存データ520が用いられる。データ保存プログラム502は、ログイン情報生成プログラム504と通信制御プログラム503によって確立された、TC10と携帯端末50との間の通信路を介して、データをTC10に送る。
 第二の実施例では、図19のオンライン処理におけるF4の処理では、一時保存データはTC10もしくは、外部記憶媒体19だけでなく、携帯端末50に格納されている一時保存データの更新状況も確認する。変更がある場合、携帯端末50に格納されているデータは、通信部54でTC10と接続し、TC10を介してWebサーバ30にデータをアップロードしてもよいし、ネットワーク40-1を介してWebサーバ30に接続し、アップロードしてもよい。
 第二の実施例では、図20のオフライン準備処理において、Webアプリプログラムとアプリ用データをWebサーバから取得する際、Webサーバへアクセスする際に必要なアクセス先情報は、TC10を介して携帯端末50に格納するが、アクセス先情報を取得した後、携帯端末50で動作するWebクライアントプログラム(図示せず)を用いて、ネットワーク40-1を介してWebサーバ30からWebアプリプログラムとアプリ用データとを取得する。
 上記記載は実施例についてなされたが、本発明はそれに限らず、本発明の精神と添付の請求の範囲の範囲内で種々の変更および修正をすることができることは当業者に明らかである。
 

Claims (13)

  1.  シンクライアントサーバと、Webサーバと、シンクライアント端末と、がネットワークで接続されたシンクライアントシステムであって、
     前記シンクライアントサーバは、前記ネットワークを介して接続された前記シンクライアント端末から、対象とするファイルを作成または更新するアプリケーションプログラムを起動する操作情報を受信した場合、前記アプリケーションプログラムを、前記シンクライアントサーバで実行するか否かを判定し、
     前記シンクライアントサーバでは実行しないと判定した場合に、前記シンクライアントサーバは、前記アプリケーションプログラムの識別子と前記対象とするファイルの識別子と前記ファイル識別子が示すファイルのデータとを、前記Webサーバへ送信し、
     前記Webサーバは、前記アプリケーションプログラムの識別子と前記対象とするファイルの識別子と受信したファイルのデータの格納先の識別子とに基づき、アクセス先情報を生成し、
     前記Webサーバは、前記シンクライアントサーバへ、生成した前記アクセス先情報を送信し、
     前記シンクライアントサーバは、受信した前記アクセス先情報を前記シンクライアント端末に送信し、
     前記シンクライアント端末は、
     前記シンクライアントサーバから受信した前記アクセス先情報に基づいて、前記Webサーバに接続し、
     前記アプリケーションプログラムを実行し、前記対象とするファイルの作成または更新を行う
    ことを特徴とするシンクライアントシステム。
  2.  請求項1に記載のシンクライアントシステムにおいて、
     前記Webサーバおよび/または前記シンクライアントサーバは、作成または更新の対象とするファイルのステータスを管理するテーブルを備え、
     前記シンクライアントサーバは、前記アプリケーションプログラムを起動し、前記対象とするファイルを読み込む前に前記テーブルを参照し、
     前記対象とするファイルが変更されている場合は、前記対象とするファイルを更新するか否かの問い合わせを、前記シンクライアント端末の画面に表示し、
     前記シンクライアント端末に入力された前記更新するか否かの指示にしたがった後に、前記アプリケーションプログラムを起動する
    ことを特徴とするシンクライアントシステム。
  3.  請求項1に記載のシンクライアントシステムにおいて、
     前記シンクライアントサーバは、
     前記シンクライアント端末と接続する前記ネットワークの負荷状態を検出し、
     前記負荷状態と、予め備える起動ポリシーとに基づき、前記アプリケーションプログラムを、前記シンクライアントサーバで実行するか否かを判定する
    ことを特徴とするシンクライアントシステム。
  4.  請求項3に記載のシンクライアントシステムにおいて、
     前記起動ポリシーは、前記アプリケーションプログラムの種類、前記シンクライアントサーバと前記シンクライアント端末との間のネットワークの状態、前記シンクライアントサーバの状態、前記アプリケーションプログラムが読み込むファイルの種類と前記アプリケーションプログラムを起動する方法との対応関係と、を含む
    ことを特徴とするシンクライアントシステム。
  5.  シンクライアントサーバと、Webサーバと、シンクライアント端末と、がネットワークで接続されたシンクライアントシステムに用いるシンクライアント端末であって、
     前記シンクライアントサーバと接続して、作成または更新の対象とするファイルを指定し、前記対象とするファイルを作成または更新するアプリケーションプログラムを起動する操作情報を送信し、
     前記アプリケーションプログラムを、前記シンクライアントサーバで実行しないことが判定された場合に、前記シンクライアントサーバからアクセス先情報を受信し、
     受信した前記アクセス先情報に基づき、前記Webサーバへ接続し、前記対象とするファイルを作成または更新する
    ことを特徴とするシンクライアント端末。
  6.  シンクライアントサーバと、Webサーバと、シンクライアント端末とがネットワークで接続されたシンクライアントシステムに用いるシンクライアントサーバであって、
     前記シンクライアント端末から受信したファイル名を伴うアプリケーションプログラムの実行指示に基づき、
     前記アプリケーションプログラムの起動を、当該シンクライアントサーバにおいて行うか否かを判定し、
     前記アプリケーションプログラムの起動を当該シンクライアントサーバにおいて行わない場合、前記実行指示により指定されたファイルを前記Webサーバに送信し、
     前記クライアント端末が、前記Webサーバに送信された前記ファイルにアクセスする場合に必要な、アクセス先情報と前記アクセスに必要な認証情報とをWebサーバから受信し、
     前記WebサーバにアクセスするWebクライアントプログラムの起動指示と、受信した、前記アクセス先情報と、前記認証情報と、を前記シンクライアント端末に送信する
    ことを特徴とするシンクライアントサーバ。
  7.  請求項6に記載のシンクライアントサーバにおいて、
     前記アプリケーションプログラムの起動判定を、前記シンクライアント端末と前記シンクライアントサーバとの間のネットワークの負荷状態と、起動を指定された前記アプリケーションプログラムの識別子と、前記アプリケーションプログラムが利用する前記ファイルの識別子と、当該シンクライアントサーバの負荷状態と、に基づいて行う
    ことを特徴とするシンクライアントサーバ。
  8.  シンクライアントサーバと、Webサーバと、シンクライアント端末とがネットワークで接続されたシンクライアントシステムに用いるWebサーバであって、
     前記シンクライアントサーバに対して、作成または更新の対象とするファイルを指定し、前記対象とするファイルを作成または更新するアプリケーションプログラムを起動する、前記シンクライアント端末による操作情報に基づき、
     前記アプリケーションプログラムの識別子と、前記対象とするファイルと、前記シンクライアント端末を利用するユーザの識別子とを、前記シンクライアントサーバから受信し、
     前記識別子に基づき当該Webサーバで起動されるアプリケーションプログラムを、前記シンクライアント端末で実行されるWebクライアントプログラムが利用する際に必要なアクセス先情報を生成し、
     生成した前記アクセス先情報を前記シンクライアントサーバに送信する
    ことを特徴とするWebサーバ。
  9.  請求項8に記載のWebサーバにおいて、
     前記シンクライアント端末で実行される前記Webクライアントプログラムから受信する情報が、所定の条件を満足する場合、前記ファイルと前記アプリケーションプログラムとを、前記シンクライアント端末に送信する
    ことを特徴とするWebサーバ。
  10.  請求項9に記載のWebサーバにおいて、
     前記所定の条件とは、当該アクセス先情報を生成する際に用いたユーザの識別子と、Webクライアントプログラムから送信されたユーザ識別子とをアクセス制御用データに格納されるルールに基づき、アクセスの可否を判定し、アクセス可能である
    ことを特徴とするWebサーバ。
  11.  請求項1に記載のシンクライアントシステムにおいて、
     前記シンクライアント端末は、前記シンクライアントサーバに格納されているファイルを指定し、当該ファイルに対応づけられているアプリケーションプログラムを起動する指示を入力した時、当該ファイルを、当該シンクライアント端末上で動作するWebクライアントプログラムを用いて編集するのに必要なモバイルコードと当該ファイルのデータとを、外部記憶媒体として、前記シンクライアント端末へ通信機能で接続した携帯端末に格納する
    ことを特徴とするシンクライアントシステム。
  12.  請求項11のシンクライアントシステムにおいて、
     当該ファイルの機密性の程度に応じて、前記携帯端末を、前記外部記憶媒体として指定できるか否かを制御する
    ことを特徴とするシンクライアントシステム。
  13.  シンクライアント端末と通信機能で接続可能な、メール送信機能を有する携帯端末であり、
     前記シンクライアント端末から前記通信機能を介してファイルを受信すると、前記メール送信機能により、予め登録した宛先に、受信した前記ファイル名と前記ファイルを受信した利用者名と受信した日時とを示すメールを送信する
    ことを特徴とする携帯端末。
PCT/JP2011/073089 2010-10-08 2011-10-06 シンクライアントシステム WO2012046800A1 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010-228074 2010-10-08
JP2010228074 2010-10-08
JP2011155339A JP2012099091A (ja) 2010-10-08 2011-07-14 シンクライアントシステム
JP2011-155339 2011-07-14

Publications (1)

Publication Number Publication Date
WO2012046800A1 true WO2012046800A1 (ja) 2012-04-12

Family

ID=45927794

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/073089 WO2012046800A1 (ja) 2010-10-08 2011-10-06 シンクライアントシステム

Country Status (2)

Country Link
JP (1) JP2012099091A (ja)
WO (1) WO2012046800A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5975113B2 (ja) * 2012-12-17 2016-08-23 富士通株式会社 情報処理装置、作業環境連携方法、及び作業環境連携プログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5811987B2 (ja) 2012-10-19 2015-11-11 株式会社デンソー 情報処理端末
JP6007795B2 (ja) 2013-01-07 2016-10-12 富士通株式会社 通信装置および通信制御方法
JP2016057690A (ja) * 2014-09-05 2016-04-21 東芝テック株式会社 クライアント装置、サーバ装置、及びプログラム
JP6519273B2 (ja) * 2015-03-30 2019-05-29 日本電気株式会社 仮想マシン及びリモートデスクトップシステム
JP2017010504A (ja) * 2015-06-25 2017-01-12 株式会社エネサイバー 情報の漏洩改竄防止装置
JP7371834B2 (ja) * 2016-09-27 2023-10-31 株式会社オプロ クラウドサービス用の同期方法
JP7147417B2 (ja) * 2018-09-26 2022-10-05 株式会社リコー データ管理システム、データ管理方法およびプログラム
JP7265661B2 (ja) * 2020-04-20 2023-04-26 ソフトバンク株式会社 端末装置、情報通信方法、及び情報通信プログラム
JP2022156799A (ja) * 2021-03-31 2022-10-14 ソフトマックス株式会社 情報処理装置、情報処理方法及びそのプログラム
CN115278376B (zh) * 2022-05-25 2024-03-22 西安万像电子科技有限公司 一种音视频数据传输方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186322A (ja) * 2007-01-31 2008-08-14 Hitachi Ltd アプリケーションとデータの管理方法、管理システム、それに用いられるシンクライアント端末、管理サーバ、および、リモート計算機
WO2009122526A1 (ja) * 2008-03-31 2009-10-08 富士通株式会社 シンクライアントの実現方法、そのためのクライアント端末およびサーバ
JP2010108301A (ja) * 2008-10-30 2010-05-13 Hitachi Ltd 回線性能データ収集システム、回線性能データ収集方法、シンクライアント端末、およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186322A (ja) * 2007-01-31 2008-08-14 Hitachi Ltd アプリケーションとデータの管理方法、管理システム、それに用いられるシンクライアント端末、管理サーバ、および、リモート計算機
WO2009122526A1 (ja) * 2008-03-31 2009-10-08 富士通株式会社 シンクライアントの実現方法、そのためのクライアント端末およびサーバ
JP2010108301A (ja) * 2008-10-30 2010-05-13 Hitachi Ltd 回線性能データ収集システム、回線性能データ収集方法、シンクライアント端末、およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5975113B2 (ja) * 2012-12-17 2016-08-23 富士通株式会社 情報処理装置、作業環境連携方法、及び作業環境連携プログラム
US9807180B2 (en) 2012-12-17 2017-10-31 Fujitsu Limited Information processing apparatus, work environment linking method and work environment linking program

Also Published As

Publication number Publication date
JP2012099091A (ja) 2012-05-24

Similar Documents

Publication Publication Date Title
WO2012046800A1 (ja) シンクライアントシステム
JP6674532B2 (ja) 複数構内でのデジタルコンテンツアイテムのホスティングにおけるコンテンツアイテムブロック複製プロトコル
EP3278539B1 (en) Shared workspaces with selective content item synchronization
KR101138491B1 (ko) 동기화 방법 및 시스템
US7831959B1 (en) Method and apparatus to manage configuration for multiple file server appliances
JP5483116B2 (ja) メンテナンスシステム、メンテナンス方法、及びメンテナンス用プログラム
KR101212858B1 (ko) 동기화 방법 및 시스템
BRPI0613131A2 (pt) única visualização de dados em um sistema de computadores em rede com meio de armazenagem distribuido
US9311306B2 (en) Information processing apparatus, information processing method and storage medium in which program thereof is recorded
CN108306966B (zh) 文档处理方法、装置、系统、终端及服务器
WO2019047976A1 (zh) 网络文件管理方法、终端及计算机可读存储介质
JP2002288125A (ja) 作業状態再現システム、作業状態再現方法
JP4495508B2 (ja) 計算機システムの構成管理方法および構成管理装置
JP2007310481A (ja) 文書管理方法、そのプログラム及び記録媒体、並びに文書共有サーバ及び文書共有システム
US20230101774A1 (en) Techniques for performing clipboard-to-file paste operations
JP4722519B2 (ja) 計算機システム及びストレージサーバ、検索サーバ、端末装置並びに検索方法
JP4476108B2 (ja) ストレージシステム、コンピュータシステム及びストレージの情報取得方法
JP6131648B2 (ja) データ管理システム、情報システム、データ管理方法及び情報システムの制御方法、並びに、それら方法のプログラム及びそのプログラムを記録した記録媒体
JP7456176B2 (ja) ファイル管理装置およびファイル管理プログラム
JP4858879B2 (ja) ファイル処理装置ファイル処理方法、及びファイル処理プログラム
JP2012018519A (ja) 文書管理システム
JP2011150423A (ja) Webブラウズシステム及びデータ更新方法
JP2006185150A (ja) ファイル管理システム、ファイル管理方法およびファイル管理プログラム
JP2016057806A (ja) ファイル共有を利用したアクセス制御システム、アクセス制御方法、アクセス制御プログラム、及び記録媒体
JP2017097579A (ja) 文書管理システムと文書管理、編集アプリケーションの連携方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11830732

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11830732

Country of ref document: EP

Kind code of ref document: A1