1. Field
Methods and apparatuses consistent with exemplary embodiments relate to a method and apparatus for remotely controlling a device via a mobile communication network.
2. Description of the Related Art
Machine to Machine (M2M) technology provides measurement, monitoring, controlling, and tracking of remote devices, and various technologies using the M2M technology are under study.
In particular, being a basis, from which new profits may be created, for mobile network operators (MNOs), various services that use communication networks and information technology (IT) systems are being researched. Currently, research is actively conducted on remotely controlling devices via mobile communication networks.
One of the simplest methods is controlling devices using a short messaging service (SMS) protocol. However, there are many constraints when SMS protocols are used. In general, a SMS message has a size of 140 Octets, and a user data field on which contents input by the user is written is 134 Octets out of the total size at the most, and thus a length (size) of strings for controlling a remote device is limited. Accordingly, a command for controlling a device should be short and simple, and thus it is difficult to control a remote device as desired by a user with a single user input.
Exemplary embodiments provide a method and apparatus for easily controlling various functions of a remote device via a messaging service message.
According to an aspect of an exemplary embodiment, there is provided a method of controlling a remote device by using a messaging service, the method comprising: dividing a text for controlling the remote device, into a plurality of text portions; generating a plurality of messaging service messages, each of the plurality of messaging service messages comprising one of the text portions as independent data; and transmitting the plurality of messaging service messages to the remote device, wherein each of the plurality of messaging service messages comprises information necessary for the remote device to restore the text from the plurality of messaging service messages. The messaging service may include a short messaging service (SMS).
The information may indicate a total number of the plurality of messaging service messages and an order of a text portion of a corresponding messaging service message among the total text portions.
The text may comprise at least one from among an index number to execute one of commands stored in the remote device and a uniform resource locator (URL) which is used to download metadata describing a predetermined command from a server.
The text may comprise information indicating in which format, among the index number and the URL, the command is included in the text.
In the dividing the text, the text may be divided such that a size of a text portion does not exceed a size of a message field allowed in a mobile communication network that provides the messaging service.
When the text includes a uniform resource locator (URL) with which to download metadata describing a predetermined command from a server, the dividing the text may comprise converting the URL using a URL shortening method.
According to another aspect of an exemplary embodiment, there is provided a computer readable recording medium having embodied thereon a computer program for executing the method described above.
According to another aspect of an exemplary embodiment, there is provided a method of processing a messaging service message, the method comprising: extracting a text portion from each data field of a plurality of messaging service messages; restoring the entire text by combining the extracted text portions; determining a command by using the restored, entire text; and executing the determined command, wherein each of the plurality of messaging service messages comprises information necessary to restore the entire text from the plurality of messaging service messages.
The information may indicate a total number of the plurality of messaging service messages and an order of a text portion of a corresponding messaging service message among the total text portions.
The determining the command may comprise selecting a command from command lists by one from among using an index number included in the entire text and accessing a uniform resource locator (URL) included in the entire text to download metadata describing the command.
The determining the command may comprise determining in which format, among the index number and the URL, the command is included in the text by referring to a position of the entire text.
According to another aspect of an exemplary embodiment, there is provided a computer readable recording medium having embodied thereon a computer program for executing the method described above.
According to another aspect of an exemplary embodiment, there is provided a remote control device, comprising: a memory in which at least one program is stored; and a processor configured to execute the at least one program, wherein the at least one program comprises instructions for executing a method comprising: dividing a text for controlling the remote device, into a plurality of text portions; generating a plurality of messaging service messages, each of the plurality of messaging service messages comprising one of the text portions as independent data; and transmitting the plurality of messaging service messages to the remote device, wherein each of the plurality of messaging service messages comprises information necessary for the remote device to restore the text from the plurality of messaging service messages.
The information may indicate a total number of the plurality of messaging service messages and an order of a text portion of a corresponding messaging service message among the total text portions.
The text may comprise at least one from among an index number to execute a command stored in the remote device and a uniform resource locator (URL) which is used to download metadata describing a predetermined command from a server.
The text may comprise information indicating in which format, among the index number and the URL, the command is included in the text by referring to a position of the entire text.
In the dividing the text, the text may be divided such that a size of a text portion does not exceed a size of a message field allowed in a mobile communication network that provides the messaging service.
When the text includes a uniform resource locator (URL) with which to download metadata describing a predetermined command from a server, the dividing the text may comprise converting the URL using a URL shortening method.
According to another aspect of an exemplary embodiment, there is provided a messaging service processor, comprising: a memory in which at least one program is stored; and a processor configured to execute the at least one program, wherein the at least one program comprises instructions for executing a method comprising: extracting a text portion from each data field of a plurality of messaging service messages; restoring the entire text by combining the extracted text portions; determining a command by using the restore, entire text; and executing the determined command, wherein each of the plurality of messaging service messages comprises information necessary to restore the entire text from the plurality of messaging service messages.
The information may indicate a total number of the plurality of messaging service messages and an order of a text portion of a corresponding messaging service message among the total text portions.
The determining the command may comprise selecting a command from command lists by one from among using the index number included in the entire text and accessing the uniform resource locator (URL) included in the entire text to download metadata describing the command.
The determining a command may comprise determining in which format, among an index number and a URL, the command is included in the text by referring to a position of the entire text.
According to the exemplary embodiments, even when a length of a text for controlling a remote device is long, the text is divided into a plurality of short messaging service (SMS) messages to be transmitted, and thus various commands may be written without being limited by a user data size of the SMS messages. In addition, commands including complicated or long contents may be stored in an external server in advance, and a user may just transmit a universal resource locator (URL) thereof via a SMS message, and thus a complicated operation of the remote device may be easily controlled.
Exemplary embodiments will now be described more fully with reference to the accompanying drawings.
In operation 101, a control device divides a text for controlling a remote device, into a plurality of text portions.
Here, a text refers to a string for controlling a remote device, and refers to data that is written to a Short message field among a user data field of a SMS message. That is, a text described below refers to a string which may be read from a SMS message, and the exemplary embodiments provide a mechanism with which a remote device may be controlled by using the string.
Since one text portion, i.e. a part of the text, needs to be included in a single SMS message, the one text portion is divided not to exceed a previously set value.
According to the current exemplary embodiment, a command for controlling a remote device is directly included in a text, or a uniform resource locator (URL) for accessing and downloading metadata describing commands is included in the text. Metadata describes various information related to a corresponding command for controlling remote devices and is stored in an external server in advance.
When a URL is included in a text, the URL may preferably be shortened by using a URL shortening method before dividing the text. The URL shortening method is well-known in the art, and thus description thereof will be omitted.
In operation 102, the control device generates each of the text portions into a single SMS message. That is, each text portion is an independent piece of user data that constitutes a SMS message, and thus SMS messages corresponding to the number of text portions are generated. The SMS messages include information necessary for a reception part, that is, a remote device, to restore the original text. For example, each SMS message includes information indicating the number of entire SMS messages constituting the contents of an original text and the order, i.e. the sequence number of the text portion of the SMS message among the divided text portions.
In operation 103, the control device transmits the SMS messages generated in operation 102 to a remote device.
As described above, according to an exemplary embodiment, even if a length of a text for controlling a remote device is long, the text is divided into a plurality of SMS messages and transmitted, and thus commands may be written in various manners without being limited by user data sizes of the SMS messages. Also, commands including complicated or long contents may be stored in an external server as metadata in advance and the user needs to transmit only a URL thereof via a SMS message, and thus complicated operations of a remote device may be controlled easily.
In operation 201, a user inputs a command for controlling a remote device via a control device. The command refers to a user-friendly command, that is, a command that is interpretable by the user. A command may be input via a web page of a user interface provided by an external server or by using an application installed in the control device.
In operation 202, the command input by the user is converted to a text. The conversion also may be conducted via an external server that provides a user interface web page or an application installed in the control device.
In operation 203, the control device checks whether a URL is included in the text.
In operation 204, if a URL is included in the text, and if it is long, the URL is shortened by using a URL shortening method.
In operation 205 a size of the text is compared with a previously set critical value. The critical value refers to a size of a Short message field that is allowed between mobile communication networks, since the text according to the present exemplary embodiment refers to a string that is written to a Short message field among a user data field of a SMS message. Sizes of user data of SMS messages may vary according to mobile communication operators, and thus, the critical value may preferably be a smallest value among sizes of Short message fields that are allowed in the mobile communication networks. For example, the critical value may be 80 bytes.
In operation 206, if the size of the text is greater than the critical value, the text is divided into various text portions. Here, obviously, a size of each text portion should be smaller than the critical value.
In operation 207, a SMS message is generated by using the text. When the text is divided, one text portion is generated into one SMS message, and thus, as a result, the text is divided into a plurality of SMS messages.
In operation 208, the generated SMS messages are transmitted to a remote device.
In operation 301, a remote device extracts a text portion from each of the plurality of SMS messages. In detail, a text portion is extracted from a Short message field of a user data field of each of the SMS messages.
In operation 302, the extracted text portions are combined to restore the entire text, that is, the original text. As described above, since the SMS messages include information about the number of the entire SMS messages that are necessary to restore the original text and the order, i.e. the sequence number, of the SMS messages, the original text may be restored regardless of the order in which the SMS messages are received.
In operation 303, a command is determined by using the restored text. If a command itself is included in the text, the command may be obtained right away. However, for example, if an index number indicating a command is included in the text and command lists corresponding to the index number are stored in the remote device in advance, the remote device may determine a command by reflecting to the index number.
Alternatively, if a URL is included in the text, the remote device may download metadata via the URL and parse the metadata to determine a command.
In order that the remote device is able to determine which method to use to obtain a command, information indicating in which format, among an index number and a URL, a command is included in a text may be included in the text.
In operation 401, the remote device receives a SMS message. According to the current exemplary embodiment, it is assumed that a SMS message is a SMS message for controlling the remote device.
In operation 402, the remote device determines whether the received SMS message is the last one. The determination may be made by referring to information indicating the total number of the entire SMS messages and the sequence number of each of the SMS messages. If the received SMS message is not the last SMS message, reception of a next SMS message is waited, and if the received SMS message is the last SMS message, the method proceeds to operation 403.
In operation 403, the received SMS messages are combined to restore a text.
In operation 404, whether a URL is included in the text is determined.
In operation 405, if a URL is included in the text, metadata is downloaded from an external server via the URL.
In operation 406, a command is determined. If a URL is not included in the text as a result of determination in operation 404, a command is included in the text, and thus the text is parsed to determine a command. For example, as described above, a command may be determined by using a command list that is stored in advance in the remote device and index information included in the text. Alternatively, if a URL is included in the text as a result of the determination in operation 404, metadata is parsed and analyzed to determine a command.
In operation 407, the remote device executes the determined command
According to the current exemplary embodiment, it is assumed that a command is not transmitted via a URL but is directly inserted into a text. As illustrated in
In detail, the format illustrated in
A Service Indicator field indicates whether a SMS message is a message for controlling a remote device or not.
A Message ID field is where an identifier for distinguishing messages is written. Even when a single text is formed of a plurality of SMS messages, a value of the Message ID field increases sequentially.
A Total Message Number field indicates the total number of SMS messages of a text.
A Message Position field indicates a position of a text portion included in a corresponding SMS message among the entire text, that is, the sequence number of the text portion among the original text.
A Control Message Length field indicates a length of remaining portions of a user data field except the Service Indicator field, the Message ID field, the Total Message Number field, the Message Position field, and the Control Message Length field.
A Metadata Version field indicates a version of metadata. The metadata version may be referred, for example, in a metadata server, a control device, a remote device, and a gateway between the control device and the remote device. A text for controlling a remote device may be regarded as valid only when versions of metadata of the nodes are identical.
A Command Group field appoints a format of contents related to commands included in user data, that is, a format of a portion written as Command group specific. That is, contents of user data may be a text including commands or a text including a URL or information indicating a result of executing requested commands or the like. Values written to the Command Group field vary according to each case.
A command for a remote device or a gateway is input to a Command field. In this field, an index number with which to search for a predetermined command in a command table stored in the remote device may be written, or a PIN number set up may be requested to the remote device or the gateway, or advertisement of services for SMS messages may be requested.
A Device Category field indicates a category of a remote device.
An Entity ID Length field denotes an ID length of a remote device, and an Entity ID denotes an identifier of a remote device.
Hereinafter, a portion of a SMS message whose format varies according to each case, that is, the portion marked as Command Group Specific in
According to the current exemplary embodiment, it is assumed that a URL is not included in a text. Description of the fields described above with reference to
An Argument Count field indicates the number of arguments that are necessary to execute a control command designated by a text. For example, a command for turning on or off TV requires just calling a method related to power control, and thus no argument is needed. However, a command for changing to a particular a channel requires an argument indicating a corresponding channel when calling a method for changing channels, and here a value of the Argument Count field is 1.
An Argument Length field indicates a length of an argument.
An Argument Value field indicates an argument value.
According to the current exemplary embodiment, it is assumed that a URL is not included in a text. Accordingly, as illustrated in
A URL Length field indicates a length of a URL.
A URL with which metadata may be accessed is written to a URL field. A control device may access the URL and download metadata and then parse the metadata to check a command.
According to the current exemplary embodiment, when it is checked that a Service Indicator field value denotes a CPNS, a remote device perceives that a SMS message in this exemplary embodiment is a message for remote control, and when it is checked that a Command Group field value is 2, the remote device perceives that a URL is to be extracted from the text. The remote device accesses a URL written to a URL field and downloads metadata, and then parses the metadata to identify a command, and executes the command.
According to the current exemplary embodiment, a user data field indicates that a SMS message is a response message to a control request. A Result field indicates a response to a control request, and for example, a value indicating OK or ERROR may be written to the Result field. A Description Length field indicates a length of a Description field, and description of the response is written to the Description field.
As illustrated in
The processor 1205 controls the I/O controller 1204 to receive a control text from a user via the user interface 1201. Also, the processor 1205 executes predetermined programs stored in the memory 1206 to transmit a SMS message to a remote device via the RF module 1203 and the antenna 1202.
In the memory 1206, various programs such as operating systems, applications, or graphic processing modules are stored. The predetermined programs include instructions for executing the procedures described with reference to
As illustrated in
The exemplary embodiments can be written as computer programs and can be implemented in general-use digital computers that execute the programs using a computer readable recording medium.
Examples of the computer readable recording medium include magnetic storage media (e.g., ROM, floppy disks, hard disks, etc.), optical recording media (e.g., CD-ROMs, or DVDs), and storage media such as carrier waves (e.g., transmission through the Internet).
While this invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. The exemplary embodiments should be considered in descriptive sense only and not for purposes of limitation. Therefore, the scope of the invention is defined not by the detailed description of the invention but by the appended claims, and all differences within the scope will be construed as being included in the present invention.
This is a National Phase Application of International Patent Application No. PCT/KR2011/008406, filed Nov. 7, 2011. This application claims priority from U.S. Provisional Patent Application Nos. 61/410,496, filed Nov. 5, 2010, and 61/412,550, filed Nov. 11, 2010. The disclosures of the prior applications are hereby incorporated in their entireties by reference.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/KR2011/008406 | 11/7/2011 | WO | 00 | 5/6/2013 |
Number | Date | Country | |
---|---|---|---|
61410496 | Nov 2010 | US | |
61412550 | Nov 2010 | US |