This application is based on and claims the benefit of priority from Japanese Patent Application No. 2011-059509, filed on 17 Mar. 2011, the content of which is incorporated herein by reference.
TECHNICAL FIELDThe present invention relates to a remote operation system and a remote operation method that remotely operate a user's terminal connected through a public line network.
BACKGROUND ARTIn recent years, various services have been provided for users by connecting portable terminals connected with a web server and the like through a public line network. In particular, advanced services, which have been provided for personal computers conventionally, has become possible to provide for mobile phones by the appearance of smart phones (highly functional mobile phones).
Then, in order to maximize the use of such advanced web services and the high functionality of smart phones, users need to know the operation of configuration and the function of a smart phone. In addition, if users who are not used to the operation configure their own terminals for the first time, configuration information that should not be deleted may actually deleted, or inappropriate configuration may be set to cause an error.
For approaching such problems, there has been a known method of remotely operating a user's terminal from a system to remotely configure the user's terminal and remotely guide the user of the terminal. For example, thepatent documents 1 and 2 disclose that a server acquires the screen information of each client to be supported and displays this screen information to achieve remote operation.
CITATION LIST PATENT LITERATURE- Patent document 1: Japanese Unexamined Patent Application 2011-018333
- Patent document 2: Japanese Unexamined Patent Application 2010-268497
On the other hand, it is not limited to an objective for guiding how to configure and use a user terminal. There is a demand for remotely operating a user terminal. For example, a smart phone typically stores private information such as contact information, a bank account number, and a pin code. Then, there is a problem that others can view such private information when a smart phone is lost. In this case, it is preferred that private information stored in a smart phone be remotely deleted. However, thepatent documents 1 and 2 do not disclose any solution for problems that happened, for example, when a smart phone is lost because users should be able to operate their own user terminals, i.e. smart phones.
To solve such problems, for example, it is considered that in predetermined remote operation of a smart phone, a predetermined program is preliminarily stored in a smart phone, and this predetermined program is started by conducting some remote trigger operation to execute a function achieved by this predetermined program. However, in this case, the function of only a predetermined program preliminarily stored can be executed, thereby causing limited remote operation and less convenience.
SUMMARY OF INVENTIONAn object of the present invention is to provide a remote system and a remote operation method that enable a user terminal to execute a program other than those preliminarily stored in the user terminal through remote operation of the user terminal even if a user who receives remote operation cannot operate the user terminal.
According to a first aspect of the present invention, the user terminal includes:
an access module receiving a remote message through a public line network and accessing a destination remote server written in the remote message, regardless of operation input from a user; and
a program execution module executing a program read out from the accessed remote server, regardless of operation input from a user.
According to the first aspect of the present invention, the user terminal receives a remote message through a public line network and accesses a destination remote server written in the remote message, regardless of operation input from a user. Then, the user terminal executes a program read out from the accessed remote server, regardless of operation input from a user.
Therefore, the user terminal can execute a program other than those preliminarily stored in the user terminal (i.e. a program read out from a remote server) through remote operation of the user terminal even if a user who receives remote operation cannot operate the user terminal.
In categories of the invention, not only a system but also a method has functions and effects similar to those according to the first aspect of the present invention.
According to a second aspect of the present invention, the remote system includes an user terminal and a remote server, in which
the user terminal includes:
an access module receiving a remote message through a public line network, accessing a destination remote server written in the remote message, and sending a terminal ID that identifies the user terminal, regardless of operation input from a user; and
a program execution module receiving and executing a program that has been enabled to be sent from the accessed remote server, regardless of operation input from a user, and
the remote server includes:
a program selection module receiving the terminal ID sent from the user terminal, identifying at least one of the communication common carrier and the terminal model of the user terminal based on the terminal ID, selecting a program based on the identification result, and enabling the program to be sent to the user terminal.
Therefore, the user terminal can execute a program other than those preliminarily stored in the user terminal (i.e. a program read out from a remote server) through remote operation of the user terminal even if a user who receives remote operation cannot operate the user terminal.
In categories of the invention, not only a system but also a method has functions and effects similar to those according to the second aspect of the present invention.
According to a third aspect of the present invention, the remote system includes an user terminal, a remote server, and an instruction server, in which
the instruction server includes:
a command generation module accepting input of a command to be executed on the user terminal from an instructor and generating a remote message including the command; and
a remote message sending module sending the remote message to the user terminal, and
the user terminal includes:
an access module receiving the remote message through a public line network, accessing a destination remote server written in the remote message, and sending the command to the remote server, regardless of operation input from a user; and
a program execution module executing a predetermined program based on the command, regardless of operation input from a user.
Therefore, the user terminal can execute a program other than those preliminarily stored in the user terminal (i.e. a program read out from a remote server) through remote operation of the user terminal even if a user who receives remote operation cannot operate the user terminal.
In categories of the invention, not only a system but also a method has functions and effects similar to those according to the third aspect of the present invention.
The present invention can provide a remote system and a remote operation method that enable a user terminal to execute a program other than those preliminarily stored in the user terminal through remote operation of the user terminal even if a user who receives remote operation cannot operate the user terminal.
BRIEF DESCRIPTION OF DRAWINGSFIG. 1 is a schematic diagram of aremote system1;
FIG. 2 is a functional block diagram of auser terminal10, aremote server100, and aninstruction server20;
FIG. 3 is a flow chart diagram illustrating a remote operation process that theuser terminal10, theremote server100, and theinstruction server20 execute;
FIG. 4 illustrates a terminal ID correspondence table;
FIG. 5 illustrates a program scenario configuration;
FIG. 6 illustrates a scenario selection table;
FIG. 7 illustrates an instruction command correspondence table;
FIG. 8 is a screen image (lock screen) displayed on theuser terminal10; and
FIG. 9 is a screen image (Wi-Fi® setup screen) displayed on theuser terminal10.
DESCRIPTION OF EMBODIMENTSHereinafter, a best mode of the present invention will be described with reference to attached drawings. However, this is illustrative only, and the scope of the present invention is not limited thereto.
Remote System ConfigurationFIG. 1 is a system configuration diagram of theremote system1 that is a preferred embodiment of the present invention. Theremote system1 includesuser terminals10aand10b(hereinafter simply put “a user terminal10), aremote server100, a public line network3 (the Internet, the third and the fourth generation communication network, and the like), andinstruction servers20aand20b(hereinafter simply put “aninstruction server20”).
Theuser terminal10 is communicatably connected with theremote server100 through thepublic line network3. Theremote server100 and theinstruction server20 may be connected through a local area network (hereinafter referred to as “LAN”) or through thepublic line network3. The communication in theremote system1 may not be wireless communication nor wire communication. Theuser terminal10 may be communicatably connected with thepublic line network3 through a network device such as a router.
Theuser terminal10 may be a general information terminal, which is an information device or an electrical appliance with functions described hereinafter. For example, auser terminal10 may be an information appliance such as asmart phone10a, amobile phone10b, a compact multimedia terminal, a net book terminal, a slate terminal, an electronic book terminal, or an electronic dictionary terminal.
It is preferred that theuser terminal10 be a terminal capable of sending and receiving remote messages such as an email message, a short message, a multimedia message, and the like. In particular, initialization has to enable the user terminal to receive remote messages regardless of user operation.
Theinstruction server20 is a general information terminal used by a remote operator to remotely operate auser terminal10.
FunctionsFIG. 2 illustrates the relationship among the respective functions of aninstruction terminal20, aremote server100, and auser terminal10.
Theuser terminal10 and theinstruction terminal20 include a control unit including a central processing unit (hereinafter referred to as “CPU”), a random access memory (hereinafter referred to as “RAM”), and a read only memory (hereinafter referred to as “ROM”), and the like; and a communication unit including Wireless Fidelity® or WiFi® enabled device complying with, for example, IEEE802.11, a wireless device complying with the IMT-2000 standard such as the third generation mobile communication system, or the like. The communication unit may include a wired device for LAN connection.
Theuser terminal10 and theinstruction terminal20 also include a display unit outputting and displaying data and images controlled by the control unit as an output unit; and a touch panel, a keyboard, a mouse, and the like that receive input from a user and a remote operator as an input unit. Theuser terminal10 and theinstruction server20 also include a data storage unit as a memory unit such as a hard disk or a semiconductor memory.
In theuser terminal10, the control unit reads a predetermined program and cooperates with the communication unit, the output unit, the input unit, and the memory unit to achieve an agent module11, anSMS receiver14, and a terminalID memory unit15. The agent module11 includes anaccess module12 and aprogram execution module13. The specific function of each module will be described with reference toFIG. 3.
In theinstruction terminal20, the control unit reads a predetermined program and cooperates with the communication unit, the output unit, the input unit, and the memory unit to achieve an instruction command generation module21 and a remotemessage sending module22. The specific function of each module will be described with reference toFIG. 3.
Theremote server100 includes a control unit composed of a CPU, a RAM, a ROM, and the like; and a communication unit, for example, a LAN enabled device complying with IEEE802.11. Theremote server100 also includes a data storage unit as a memory unit such as a hard disk or a semiconductor memory.
The control unit of theremote server100 reads a predetermined program and cooperates with the communication unit and the memory unit to achieve a program selection module101, aterminal ID database102, and acommand database103. The function of each of these modules will be described with reference toFIG. 3.
Remote Operation ProcessFIG. 3 is a flow chart illustrating a remote operation process that theinstruction server20, theuser terminal10, and theremote server100 execute.
First, the remotemessage sending module22 of theinstruction server20 generates a remote message based on operation from a remote operator (Step S01). The remote message is generated by operable editing software on theinstruction server20.
The remote message includes address information (a URL or an IP address) for accessing theremote server100 or address reference information regardless of input of a remote operator. The remote message also includes an instruction ID and an instruction command indicating the operation of a remote operator as described hereinafter.
Then, the remotemessage sending module22 of theinstruction server20 sends the generated remote message and a terminal ID to theuser terminal10 based on operation from a remote operator (Step S02). The remote message may be sent from theinstruction server20 to theuser terminal10 through a predetermined mail server.
The terminal ID is a unique identifier for specifying theuser terminal10, which may be a phone number, a hardware serial number, a mail address, an international mobile subscriber identity (hereinafter referred to as “IMSI”) of a subscriber identity module (hereinafter referred to as “SIM”), or cookie information of theuser terminal10. Alternatively, the terminal ID may be a terminal model or a manufacture name for specifying the hardware specification of theuser terminal10.
TheSMS receiver14 of theuser terminal10 receives the remote message (Step S03). Then, theaccess module12 of the agent module11 reads out a terminal ID included in the remote message (Step S04). Theaccess module12 also reads out the address information or the address reference information of theremote server100 to identify theremote server100 to be accessed based on the read address information and then performs a URL access process (or an IP address access process) (Step S05.) In this access process, theaccess module12 sends the terminal ID to theremote server100.
The address reference information may be a predetermined ID. When the agent module11 of theuser terminal10 receives this ID, with reference to a table preliminarily associating the ID with address information, the address information is read out to identify theremote server100.
The program selection module101 of theremote server100 receives the terminal ID sent from theuser terminal10, refers to theterminal ID database102 based on this terminal ID (Step S06), and selects a program scenario (Step S07). In theterminal ID database102, the terminal ID correspondence table shown inFIG. 4 is stored. The terminal ID correspondence table associates a terminal ID, a carrier (communication common carrier), and a program scenario. The associated carrier may be a terminal model or a manufacture name.
The program scenario is data that determines the type and the execution order of one or more programs to be executed on theuser terminal10. As shown inFIG. 5, for example, the program scenario A is composed of theprogram01 and theprogram02 and executes them in this order.
For example, when thisuser terminal10 receives the terminal ID “AAA”, theuser terminal10 determines “Company N” as the carrier and selects the program scenario A as the scenario. As shown inFIG. 5, the program scenario A is composed of theprogram01 and theprogram02 and should executes them in this order.
Then, the program selection module101 enables programs selected by this program scenario and this scenario indicating the execution order of the selected programs to be read out to theuser terminal10. In response to access from the above-mentionedaccess module12, the program selection module101 sends the selected programs and the scenario indicating the execution order to the user terminal10 (Step S08).
Theprogram execution module13 of theuser terminal10 receives programs and a program scenario that are sent from theremote server100 and executes each program based on the program scenario (Step S09).
Instead of receiving any programs to be executed from theremote server100, programs that are preliminarily installed in theuser terminal10 and indicated in a program scenario may be activated.
One example of the program to be executed may be a program to disable (lock) key operation of theuser terminal10 as shown inFIG. 8. In the case where theuser terminal10 is lost, key operation of theuser terminal10 from a stranger can be disabled by sending a remote message to theuser terminal10.
Another example of the program may be a program to back up predetermined data stored in theuser terminal10 to a backup server communicatably connected through thepublic line network3. In the case where theuser terminal10 is lost, predetermined data can be backed up by sending a remote message to theuser terminal10.
In theuser terminal10 with a global positioning system (hereinafter referred to as “GPS”), one example of the program may be a program to send the present location (latitude and longitude) information of theuser terminal10 to other terminals or servers that are communicatably connected through thepublic line network3. In the case where theuser terminal10 is lost, the present location information of theuser terminal10 can be acquired by sending a remote message to theuser terminal10.
Another example of the program may be a key logger program to send log data on key operations, which were input from theuser terminal10 in the past, to other terminals or servers that are communicatably connected through thepublic line network3. In the case where theuser terminal10 is lost, information on key operations input to theuser terminal10 can be acquired by sending a remote message to theuser terminal10.
Another example of the program may be a program for installation of a predetermined application. In other words, the program for installation of a predetermined program (especially application program) is sent to theuser terminal10 by sending a remote message to theuser terminal10.
Another example of the program may be a program to execute virus scan and virus check programs on theuser terminal10. In other words, data stored in theuser terminal10 can be checked for viruses by sending a remote message to theuser terminal10.
Another example of the program may be a program to display a predetermined message on theuser terminal10. In other words, the program to display a predetermined message is sent to the display unit of theuser terminal10 by sending a remote message to theuser terminal10. In the case where theuser terminal10 is lost, for example, a program to display the private information and the contact information of the owner of the user terminal may be sent.
Scenario Selection TableOne example where a program to be executed on theuser terminal10 is called from theinstruction server20 will be described with reference toFIG. 6. The scenario selection table shown inFIG. 6 is preliminarily stored in theremote server100. When the remotemessage sending module22 of theinstruction server20 generates a remote message, the remotemessage sending module22 accepts an instruction ID input from a remote operator and sends the instruction ID to theuser terminal10.
Then theuser terminal10 receives the instruction ID and sends the instruction ID along with the terminal ID to theremote server100. In theremote server100, a program selection process (Step S07) refers to the scenario selection table and determine the program scenario, based on the instruction ID received from theuser terminal10. In the example shown inFIG. 6, when theinstruction server20 calls for instruction whose instruction ID is1, the program scenario A1 is determined.
A remote operator can call a program to be executed using the instruction ID so as to select a program scenario to be executed on theuser terminal10. For example, a remote operator calls a scenario which allows theuser terminal10 to execute the above-mentioned backup program first, and then the key logger program or a scenario allows the user terminal to execute the virus scan program first and then send the location information acquired from a GPS to a server.
Instruction Command Correspondence TableThe instruction command input from theinstruction server20 will be described with reference toFIG. 7. It is preferred that data traffic among theinstruction server20, theuser terminal10, and theremote server100 be as little as possible. Thus, theinstruction terminal20 sends a predetermined instruction command, and then theprogram execution module13 executes a program corresponding to this instruction command with reference to the instruction command correspondence table.
The instruction command correspondence table shown inFIG. 7 is preliminarily stored in thecommand database103 of theremote server100. When the remotemessage sending module22 of theinstruction server20 generates a remote message, the instruction command generation module21 accepts an input of an instruction command from a remote operator, generates an instruction command, and sends the instruction command to theuser terminal10.
In the case where a predetermined program is executed on theuser terminal10, an input interface of the program to be executed accepts input from a user and then transits. The instruction command serves a function for specifying the transition. Specifically, the instruction command is a predetermined character, sign, and numerical value. In the example ofFIG. 7, when the instruction command “311” is called, a configuration program stored in theuser terminal10 performs “3: OPEN CONFIGURATION SETTINGS”, “1: OPEN WI-FI SETTING”, and “1: CHECK DEACTIVATION OF WI-FI SETTING” in this order.
Then, theuser terminal10 receives the instruction command and sends the instruction command along with the terminal ID to theremote server100. Theremote server100 sends the instruction command that has been received from theuser terminal10 to theuser terminal10. Then, theprogram execution module13 of theuser terminal10 executes a program based on the instruction command. In the above-mentioned example where the input interface transits, the configuration program selects “3: OPEN CONFIGURATION SETTINGS”, “1: OPEN WI-FI SETTING”, and “1: CHECK DEACTIVATION OF WI-FI SETTING” in this order and then performs thereof accordingly (seeFIG. 9).
Therefore, according to the present embodiment, even if users who receive remote operation for theuser terminal10 lose theirown user terminals10, or even if they cannot operate their own terminals for certain reasons, programs other than programs preliminarily stored in theuser terminal10, which are programs read out from theremote server100, can be executed on theuser terminal10 through software as a service (hereinafter referred to as “SaaS”.)
The above-mentioned case is described as the example where a program (e.g. configuration program) executing an instruction command is preliminarily stored in theuser terminal10. However, it may not be a program preliminarily stored in theuser terminal10. Specifically, when the program selection module101 of theremote server100 receives an instruction command, the program selection module101 may select a program related to this instruction command and send this program to theuser terminal10.
The above-mentioned case is described as the example where the instruction command correspondence table is stored in theremote server100. However, the instruction command correspondence table may not be stored in theremote server100 but theuser terminal10. In this case, the system is composed of theuser terminal10 and theinstruction server20. Theinstruction server20 accepts input of a command to be executed on theuser terminal10 from an instructor, generates a remote message including the command, and sends the remote message to theuser terminal10. In response to this event, theuser terminal10 may receive the remote message through thepublic line network3, refer to the instruction command correspondence table stored in theuser terminal10 based on the command, and execute a predetermined program, regardless of operation input from a user.
To achieve the means and functions as described above, a computer (including a CPU, an information processor, and various terminals) reads and executes a predetermined program. For example, a program is provided in forms recorded in a computer-readable record medium such as a flexible disk, a CD (CD-ROM etc.), and a DVD (a DVD-ROM and a DVD-RAM, etc.). In this case, a computer reads a program from a record medium, forwards the program to internal or external storage to store the program therein, and executes the program. For example, the program may be preliminarily recorded in a memory device (a record media) such as a magnetic disk, an optical disk, and a magnetic optical disk, and then provided from the memory device to a computer through a communication line.
While preferred embodiments of the present invention have been described and illustrated above, it is to be understood that they are exemplary of the invention and are not to be considered to be limiting. Additions, omissions, substitutions, and other modifications can be made thereto without departing from the spirit or scope of the present invention. Accordingly, the invention is not to be considered to be limited by the foregoing description and is only limited by the scope of the appended claims.
REFERENCE SIGNS LIST- 1 Remote System
- 3 Public Line Network
- 10 User Terminal
- 20 Instruction Server
- 100 Remote Server