1. Field of the Invention
The present invention relates to a non-contact readable recording medium, a portable terminal, a portable terminal control method, a computer-executable program for causing a portable terminal to perform the control method, and an information processing system.
2. Description of the Related Art
With advances in computer technology, the performance of portable terminals has improved dramatically in recent years. On the other hand, approaches to accessing computers and other electric appliances, referred to as ubiquitous approaches, have been proposed. As the performance of portable terminals increase, a shift to ubiquitous living environments is becoming a real possibility.
In the above ubiquitous environment, portable terminals will more frequently communicate with electric products such as electric appliances, communication equipment, and information processing devices via non-contact type data media such as QR codes or IC tags. As non-contact media, non-contact reading type recording media (hereinafter referred to as non-contact media) such as QR codes and IC tags have been proposed. However, for data recorded on non-contact media, various data forms and access protocols have been used and are not united. Accordingly, data for non-contact media are individually defined so as to be compatible with individual applications. Thus disadvantageously, such data cannot be commonly used. To solve this problem, it has recently been proposed that an architecture, such as Tron, be used with an operating system so as to operate non-contact media under a single software umbrella.
However, even in this case, since the data form and a method of accessing a recording medium vary with applications, it is difficult to develop common applications, as well as information and services provided by the applications. Furthermore, since various data forms and access methods have been defined, it is difficult develop platforms for developing applications from a united viewpoint.
As described above, data in different formats suitable for different applications have been stored on non-contact media. Accordingly, application providers have had to provide applications compatible with individual formats. Therefore, application providers have a problem in that they are unable to efficiently develop applications and information cannot be shared among applications. These problems have prevented efficient development of integrated applications and restricted the usability of non-contact media.
Furthermore, a need exists for enabling integrated development and provision of applications and services that use data recorded on non-contact media and are less dependent on the hardware of portable terminals in order to improve the usability of the portable terminals and convenience to the users, because a higher commonality can be provided to applications and services.
Moreover, it would further improve the usability of portable terminals and eventually improve the availability of information to users if communication protocols used by a portable terminal can be flexibly changed, because by doing so they could be used for controlling devices on demand. The present invention can control devices included in portable terminals and their device drivers as well as devices capable of communicating with the portable terminals over a wired network, a wireless network, and an infrared network.
The present invention has been made in view of the prior art described above, and an object of the present invention is to provide a non-contact medium that can improve the usability of non-contact media and portable terminals.
Another object of the present invention is to provide a portable terminal capable of providing a given application to a user by reading data from the above-mentioned non-contact medium and performing a process.
Yet another object of the present invention is to provide a method for controlling the above-mentioned portable terminal to perform processes desired by a user and a computer-executable program for causing a computer to perform the method.
The present invention is provided under the assumption that a non-contact medium and a portable terminal can be significantly efficiently utilized provided that in particular the portable terminal can be provided with a wide range of functions by allowing data containing a data declaration, a user interface function, a user event determining process function, and a communication protocol specifying function to be recorded on the non-contact medium instead of using the non-contact medium simply as a data recording medium.
According to the present invention, recorded on a non-contact medium are a data declaration required in an application, a graphical user interface function for inputting the data into the application, a code for performing a determination process according to a user's choice, and a code for specifying a communication protocol. Stored on a portable terminal, on the other hand, is an application program including a minimum of functionality required for reading data from the non-contact medium, converting the data into a code file, and selectively performing activation or deletion of a code file. The application program is provided to the user as a minimum set of modules, including an application programming interface (API) and a structured language program executing section.
The application program decodes data read from the non-contact medium into a code file in a structured language format such as HTML, XHTML, XML, SGML, and Java® and stores it in a memory device with an identifier. Java is a trademark of Sun Microsystems, Inc. Furthermore, the application program can execute or delete a stored code file in response to a user request. The code file contains required variable declarations, a graphical user interface (GUI) function, a determining function, and a communication protocol specifying function. The application program can present the GUI on the display screen of the portable terminal to the user and cause a process desired by the user to be executed simply by reading the code file and causing it to be executed. The non-contact medium according to the present invention may be a printed or screen-displayed two-dimensional code. The non-contact medium according to the present invention may be a QR code or an IC tag.
According to the present invention, there is provided a device-readable recording medium read by a sensor in a non-contact manner, the recording medium retaining data that provides a device with: a data declaring section that specifies input data and contents of the data; a determining function section that causes a process to be executed in response to a user event; and a communication protocol specifying section.
The recording medium in the present invention may be a two-dimensional code or an IC tag. After being read by a device, the recording medium according to the present invention provides a code file in a structured language and including the data declaring section, the determining function section, and the communication protocol specifying section. The structured language in the present invention is HTML, XHTML, XML, SGML, or Java.
According to the present invention, there is provided a portable terminal connected at least to a network, the portable terminal including a data acquiring section, a processing section, and a display function section, the processing section including: a data decoding section that loads coded data containing a data declaration, a determining function, and a communication protocol specifying function, from a recording medium read by the data acquiring section in a non-contact manner, decodes the coded data, and provides a code file described in a structured language; and an execution environment providing section that provide an environment for executing the code file, wherein the portable terminal establishes communication with an external device in accordance with a communication protocol specified by the code file.
The portable terminal in the present invention further includes an external-communication processing section for communicating with an external device in response to a user event. The data acquiring section in the present invention includes a CCD, a photosensor, or a magnetic sensor.
The data decoding section of the present invention generates a structured language code file from acquired two-dimensional code data or magnetically recorded data. In the present invention, the acquired data is converted into a structured language format in response to a user instruction or, after being read, without a user instruction. The portable terminal according to the present invention generates a graphical user interface in a structured language selected from the group consisting of HTML, XHTML, XML, SGML, and Java, and communicates with an external device. The portable terminal according to the present invention is a mobile phone, a PDA, or PHS and controls an external device through infrared communication. The portable terminal according to the present invention is a mobile phone, a PDA, or a PHS and communicates with a server over a network by packet communication.
According to the present invention, there is provided a portable terminal connected at least to a network and including an input device with a CCD or photosensor or a magnetic sensor, a CPU, and an external communication device, the input device loading coded data containing a data declaration and a determining function from a recording medium read by the data acquiring section in a non-contact manner, the CPU decoding the loaded data, generating a code file described in a structured language, storing the code file in a memory device, reading a selected code file in response to a user event for execution, and communicating with an external device through the external communication device using a protocol specified by the selected code file.
The CPU in the present invention causes the portable terminal to implement: a data decoding section for providing a code file in a structured language; and an execution environment providing section for providing an execution environment for the code file; and allows the portable terminal to establish communication with an external device in accordance with a communication protocol specified in the code file.
The portable terminal includes a display device, wherein a graphical user interface is generated by using the code file and the user interface is displayed on the display device. The data acquiring section includes a CCD or a magnetic sensor. The CPU generates a structured language code file from acquired two-dimensional code data or magnetically recorded data; the acquired data is converted into a structured language to provide a data declaring code, a graphical user interface code, and a code for determining the presence of a user event; and the structured language is selected from the group consisting HTML, XHTML, XML, SGML, and Java.
According to the present invention, there is provided a control method allowing a portable terminal connected to at least a network and including a CPU to communicate with an external device, the portable terminal including a data acquiring section, a processing section, and an external-communication processing section, the control method causing the portable terminal to perform the steps of: reading, by the data acquiring section, data from a recording medium located externally to decode it, providing code files in a structured language, and storing the code files; reading specified one of the code files in response to a user event, executing the code file, and driving the external-communication processing section to communicate with an external device in accordance with a communication protocol specified by the code file in response to the user event.
In the present invention, the reading by the data acquiring section data from a recording medium located externally includes the step of using a CCD, a photosensor, or a magnetic sensor to read the data contactlessly. The read data in the present invention is a two-dimensional code data or magnetically recorded data from which a structured language code file is generated. The data reading step reads, from the data recording medium, data providing a data declaring code, a graphical user interface code, and a code for determining whether there is a user event, and a communication protocol specifying code. The decoding step includes the step of providing, from the read data, a code file in a structured language selected from the group consisting of HTML, XHTML, XML, SGML, and Java. The step of causing communication with the external device includes the step of communicating with the external device through a wired network, a wireless network or an infrared network.
According to the present invention, there is provided a device-executable program for causing a portable terminal to perform the control method described above.
According to the present invention, there is provided an information processing system that processes information on demand, including: a recording medium containing coded data including a data declaration, a determining function, and specification of a communication protocol; and a terminal which reads data from the recording medium, decodes said data into a code file in a structured language including a data declaring function, a determining function and a communication protocol specifying function, stores a plurality of the code files, reads a code file selected by a user event, and communicates with an external device by using a specified communication protocol.
The recording medium of the present invention is a printed two-dimensional code or a two-dimensional code or an IC tag displayed on a display screen. The terminal in the present invention includes: an input device including a CCD, a magnetic sensor, or a photosensor; a CPU which decodes the data to convert into a code file in a structured language and stores the code file in a memory device; and an external-communication device which establishes communication with an external device in accordance with a communication protocol specified by the code file. The terminal in the present invention changes the communication protocol according to data read from the recording medium.
According to the present invention, there is provided a non-contact, device-readable recording medium on which data is recorded, the data specifying a communication protocol to be used in communication with an external device after being read by the device.
According to the present invention, there is provided a portable terminal connected to at least a network, including a processing section and a display function section, wherein the processing section reads coded data including a data declaration and a determining function from a non-contact readable recording medium in response to a user event, generates a code file, provides a code file in a structured language, and controls the display function section to execute or delete the code file in response to a user event.
The present invention will be described with respect to specific embodiments shown in the accompanying drawings. However, the present invention should not be construed as being limited to the embodiments described below.
The television set 16 may be one that can receive digital broadcast signals. In that case, a set-top box 16a may be provided separately from the television set 16. A remote controller 26 can be used to turn on/off or control sound volume of the television set 16. A personal computer 18, a refrigerator 20, a video unit 22, and an audio unit 24 are also provided at the user's home and provide their functions to the user. The television set 16, video unit 22, set-top box 16a can be controlled by instructions from their remote controllers to provide functions to the user.
Connected to the network 12 is a provider 28 that provides contents and utilities to the user. The provider 28 provides services to the user through a server. Providers herein include not only those that provide contents but also manufacture providing and servicing products and server computers hosted by them. The provider 28 can receive access from the user through the portable terminal 14. The network 12 herein may include any combination of networks that establish a communication through a communication infrastructure such as a public phone network, an ISDN network, a fiber-optic, wireless, infrared, or a satellite communication and using TCP/IP or UDP or an infrared communication protocol.
In the network system 10 shown in
There may be various methods to convert the QR code data into a code file that can be executed by the application program. In one method, after obtaining the QR code 39 as a GIF file, the user can activate an input button 34 on the portable terminal 14 to initiate decoding of the image data of the QR code 30. This decoding converts the two-dimensional pattern temporarily stored in the portable terminal 14 into a code file that can be executed by the application program. In another embodiment of the present invention, the decoding can be started automatically on completion of reading of data without requiring any user instruction.
The CPU 44 reads the application program of the present invention from a memory device 46 in response to a user instruction and performs processing. It provides an appropriate user interface to the user and controls an external-communication device 48 to transmit and receive requests/response to and from an external device. The external-communication device 48 may be an infrared transceiver, a wireless transceiver, or a wired transceiver, but not limited to these in the present invention. The external-communication device 48 provides intercommunication between the portable terminal 14 and an external device. These devices are interconnected through an internal bus line for communicating data.
The processing section 54 in the present invention includes a data decoding section 62 and an execution environment providing section 64. The data decoding section 62 decodes data in response to a user instruction or automatically on the completion of writing to the memory device 46 to generate a code file, for example, in a device-executable format. It is assumed in the following description that the code file is written in XML. The decoded code file is stored in the memory device 46 shown in
The execution environment providing section 64, which is implemented as a parser 64a (DOM) in the specific embodiment shown in
A code file selected by the user is received from the memory device 46, and the elements of the code file are sequentially interpreted and provided to the browser processing section 64b. The browser processing section 64b receives the code file, activates the display function section to cause it generate GUI displays according to the code file. The browser processing section 66 responses a user event by causing the external-communication processing section 56 to initiate communication using a communication protocol suitable for a service desired by the user.
An example in which the executing software 74 is a structured language program executing section will be detailed with respect to user input data. When a user enters data as the user is prompted through a GUI, the structured language program executing section responds to it by providing the user instruction to the API 70. In response to the user instruction, the API 70 activates a sensor driver or indicates the code file 72 selected by the user to the structured language program executing section and causes it process the code file. These software are stored as software module in the portable terminal 14. If no code file is loaded in the present invention or all code files installed are deleted, only the API 70 and the executing software are on the portable terminal.
Referring to
(1) For Running a Structured Language Program Execution Section:
First, a non-contact medium, which may be a QR code or IC tag, is scanned by using the application program of the present invention. Then, the scanned data is decoded into text. For this purpose, any of known scanners and APIs for scanning may be used with the present invention. The resulting text is then parsed into XML. As the resulting XML code is interpreted by an interpreter (browser processing section) included in the execution environment providing section, an execution environment is provided. Then, an API is called as needed and the execution environment providing section 64 performs a process according to the program described in the XML code.
(2) For Running a Java Program Executing Section:
The Java code executed in the embodiment must have an extended base class specified by the execution environment providing section 64. It is also required that a program required for the Java code to operate as a desired application be written in the Java code by using an appropriate API provided by the execution environment providing section 64.
In practice, the non-contact medium is scanned as describe above and the scanned data is decoded into a Java byte code. The resulting Java byte code is then read by a Java class loader (included as a function of the Java program executing section) into the execution environment providing section 64 as a Java class. The Java program executing section in the execution environment providing section 64 is implemented as a program module written in a Java code in such a manner that a class which is read and meets a prerequisite can be directly executed as a program which controls the portable terminal. Accordingly, the execution environment providing section 64 calls an appropriate method as needed and executes the read class to implement operations of the desired application.
If it is determined at step S202 that the user instruction indicates a read, then the API 70 activates a sensor driver such as a CCD or a magnetic sensor to read data from the non-contact medium and stores it in the memory device at step S204. At step 206, the data is readout, decoded into a code file, which is added to a code list together with its identifier. At this point, the new code file is stored in the portable terminal.
On the other hand, if the user instruction is an activation instruction, then the API 70 refers to the code list and lists code files (or their identifiers) on the GUI at step S208. The API 70 prompts the user to select a code file on the GUI at step S210 and searches the memory device for the selected code file at step S212 and provides it to the executing software. If the user issues an instruction to delete a registered code file, the API 70 refers to the code list and lists code files (their identifiers) on the GUI at step S214. At step S216, it prompts the user to select a code file. Then, it deletes the selected code file from both the memory device and the code list in response to a user event at step S218 and the process returns to at step S214, where the result is presented to the user.
If the executing software is the Java program execution section, that is, if it is a JVM including a Java class loader as a function, a Java code in compiled format is held on a recording medium as shown in
The pseudo code shown in
The code shown in block C in the pseudo code in
In block C, a process is caused to executed in which service conditions are set and, if the service conditions are met, the portable terminal is allowed to access the predetermined URI address; otherwise an XML file is displayed for indicating an out-of-service state.
In the pseudo code shown above, if the user selects the “Read/Activate,” then “readstart” is indicated to the API. When receiving the indication, the API finds an appropriate sensor driver to activate it and executes a read from the non-contact medium for the user. If the user selects “Save stored program” or “Delete stored program,” the API activates a save process (SaveCommand event) or a delete process (DeleteCommand event) for the user to update the memory device and the code list through the structured language program executing section.
According to the pseudo code shown above, “3. Quote of ThinkPad” is presented to the user and, when the user selects it, text data in “evalTPD” is provided to the API 70. When receiving the “evalTPD” code, the API 70 finds the code file provided in the pseudo codes shown in FIGS. 15 to 17 from the memory device, provides it to the structured language program executing section to execute it, thereby performing the process.
The following is an embodiment of a pseudo code that can be used for providing the GUI shown in
A commands for controlling an electronic appliance and an infrared communication protocol, for example, for communication with the electronic appliance can be describe in a code file of the present invention. In the embodiment shown in
General users of personal computers 88 often have been having difficulty in describing problems with the personal computers 88 or experiencing inconvenience of not reaching the service center by phone or not finding the contact address when trying to access the service center. In the embodiment in
In yet another embodiment of the present invention, an order form can be embedded in an advertisement in order to encourage a reader to do online shopping. In this embodiment, the order form is created and distributed by defining and printing it. Embedded in the form are entry fields for entering information required for an order, such as a quantity, address, and payment method, and the SKU of the advertised commodity. A process to be performed after completion of filling in the form is also described so as to transmit the data to the electronic commerce site hosted by the advertiser. When a reader (user) of the advertisement uses a portable terminal such as a mobile phone on which the application program of the present invention is installed to scan a two-dimensional code affixed to the advertisement, the order form written as the two-dimensional code is interpreted and a GUI is displayed on the portable terminal. Then, the user can enter required information by following instructions on the scanned order form through the GUI displayed on the display to order the commodity.
According to the present invention, a code for controlling a GUI can be embedded in anything in the case where interactions are required for user input. In another embodiment of the information processing system of the present invention, a terminal device can be provided that can be installed on an assembly line in a factory and adapted to unattended operation of the assembly line. In particular, non-contact media (QR codes or IC tags) are affixed to parts flowing on the assembly line. Industrial robots equipped with terminal devices of the present invention can perform the following operations on the flowing parts:
The following QR codes are affixed to parts for the use by the industrial robots described above.
Part A Sample: QR Code (IC Tag)
(Data Declaring Section)
According to the present invention, the entire data required for control can be read from a non-contact medium attached to a part, the efficiency of the control can be improved. In particular, (1) there is no need for implementing control involving complicated conditional determination in general assembly line devices; (2) simply by providing a program written onto non-contact media (QR codes or IC tags), new parts can be handled with flexibility and without modification to a program for the devices; (3) functions of the devices, such as screwing and cleaning, can be selectively executed; (4) a program can be obtained from non-contact media such as QR codes without writing any program for the devices, if not necessary; and (5) supply lines for supplying required components (such as screws) can be dynamically changed according to instructions in the QR codes.
In another embodiment of the present invention, the system can be placed on a round service route and record evidences and send reports. In this embodiment, instructions relating to operations to be done in particular service locations, items to be reported after the operations, and the addresses to which the reports should be sent are contained in two-dimensional codes in forms and placed at the service locations for the use by building or railroad maintenance workers who make rounds. Thus, reports about routine services can be provided efficiently.
While the present invention has been described with respect to specific embodiments shown in the drawings, the present invention is not limited to the specific embodiments shown in the drawings. For example, the present invention can be applied to emergency call forms for vehicle, financial service forms, train/airline booking forms, entrance/exit service forms, security forms, inventory forms, and any other applications.
While the program of the present invention has been described in large part as a program encoded using XML, the present invention is not limited to XML. Any software programs that are compatible with a structured language program executing section, such as those written in HTML, XHTML, SGML, Java, Java Applet, and Java Script.
Number | Date | Country | Kind |
---|---|---|---|
2003-426956 | Dec 2003 | JP | national |