Specification
Description
Title of Invention
INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING
5 METHOD, AND COMPUTER PROGRAM
Technical Field
[OOOl]
The present disclosure relates to an information processing device, an
10 information processing method, and a computer progrann.
Background Art
[0002]
In procedural programming languages such as LISP, Ruby, and Python,
15 variables and function definition infornlation is loaded at program runtime, and the
program is executed on the basis of the loaded fi~nction definitions and variable
values. Software that interprets and executes such a procedural programming
language (a sequential executioll data processing module) loads an application
program stated in a procedural programming language every time the software is
20 activated, and thereafter processes input data and outputs a processing result
according to the loaded application program.
[0003]
A characteristic of software that interprets and executes a procedural
programlning language is that if a defined variable name is input, the content of that
25 variable may be read out. Likewise, if a function that reads out a defined fi~nction
is input, that function code may be output.
[0004]
In the past, conlputer system architecture involved breaking down the
requested specifications into function modules for individual tasks, defining the
30 module control instructions and com~nunicationm eans fiom the start, and using a
colnpiler to realize the construction. In function nlodule developlnent, the behavior
of a module is defined fro~nth e start using programming code in the function module
or by using a predefined code, wvl~iclu~n dergoes a sequence of compiling, linking,
and debugging before being incorporated into the system.
Citation List
Patent Literature
[OOOS]
Patent Literature 1 : JP2011-513824T
10 Patent Literature 2: WO 20051121976
Sumnary of Invention
Technical Problem
[0006]
15 A sequential execution data processing module of the related art is
configured to operate via a keyboard commnunication channel and a file system
read/wsite channel, loading and executing a script program while switching the
channel according to instructions from co~nmands, and if necessary, opening a new
co~nmunication channel and using a script program fsom that conlnlunication
20 channel.
[0007]
The present disclosure provides a new and improved information processing
device, information processiag method, aqd computer program realizing a sequential
execution data processi~lg module that opens a colllnlunication channel with an
25 external unit, executes a processing request from the external unit, and returns a
result for each communication channel.
Solution to Problem
[OOOS]
30 According to an e~llbodi~neo~f ltth e present disclosure, there is provided an
information processing device including a program execution unit that loads,
interprets, and executes a computer program code created by a first procedural
language. The program execution unit opens a co~mnunicationc hannel in response
to a co~nn~unicatiocno nnection request from an external unit, and returns to each
coinmunication cha~ulela result for a processing request sent from an external unit
5 on the opened communication charulel.
[0009]
According to another embodinlent of the present disclosure, there is
provided an infornlation processing method including loading, interpreting, and
executing a computer program code created by a first procedural language. The
10 executing opens a co~nnmnication channel in response to a communication
connection request from an external unit, and returns to each coinmunication channel
a result for a processing request sent from an external unit on the opened
com~nunicationc hannel.
[OOl 01
15 According to another enlbodin~ent of the present disclosure, there is
provided a computer program that causes a computer to load, interpret, and execute a
computer program code created by a first procedural language. The executing
opens a co~nnlunicationc hannel in response to a comnlunication connection request
from an external unit, and returns to each com~nunication channel a result for a
20 processing request sent from an external unit on the opened communication cl~annel.
Advantageous Effects of Invention
[OOll]
According to the present disclosure as described above, it is possible to
25 provide a new and improved information processing device, information processing
neth hod, and computer program realizing a sequential execution data processing
module that opens a comn~unication chamel with an external unit, executes a
processing request fro111 the external unit, and returns a result for each
conununication channel.
30
Brief Description of Drawings
[0012]
[FIG. 11 FIG. 1 is an explanatory diagram illustrating a functional configuration of an
information processing system 10 according to an enlbodiment of the present
disclosure.
5 [FIG. 21 FIG. 2 is an explanatory diagram illustrating an exemplary structure of a
computer program executed by an information processing device 100 according to an
embodiment of the present invention.
[FIG. 31 FIG. 3 is an explanatory diagram illustrating an exemplary structure of a
computer progranl executed by an infor~nationpr ocessing device 100 according to an
10 embodiment of the present invention.
[FIG. 41 FIG. 4 is an explanatory diagram illustrating an exemplary structure of a
conlputer program executed by an information processing device 100 according to an
e~nbodinlenot f the present invention.
[FIG. 51 FIG. 5 is an explanatory diagram illustrating an exemplary structure of a
15 computer program executed by an information processing device 100 according to an
ernbodinlent of the present invention.
[FIG. 61 FIG. 6 is an explanatory diagram illustrating col~espoadencer elationships
among tile symbols illustsated in FIG 2, the cons cells illustrated in FIG. 3, the name
storage table illustrated in FIG. 4, and the authentication key table illustrated in FIG.
20 5.
[FIG. 71 FIG. 7 is an explanatory diagram illustrating an overview of a computer
prograln executed by an information processing device 100 or 200 according to an
embodiment of the present disclosure.
[FIG. 81 FIG. 8 is a flowchart illustrating operations of an information processing
25 device 100 and 200 according to an enlbodinlent of the present disclosure.
[FIG 91 FIG. 9 is an explanatory diagram illustrating a process by a sequential
execution data processing niodule for creating a comniunication channel according to
a rnutual linkage announce~nent and a connection request process from an external
unit.
30 [FIG. 101 FIG. 10 is an explanatory diagram illt~stratinga n exenlplary modification of
the internal state of a sequential execution data processing module using multiple
REPLoops.
[FIG. 111 FIG. 11 is an explanatory diagram illustrating an exemplary structure of
mutual linkage in a sequential execution data processing module.
[FIG. 121 FIG. 12 is an explanatory diagram illustrati~~ag c onceptual overview of a
5 distribution process by a sequential execution data processing module according to
the present embodiment.
Description of Embodiments
[0013]
10 Hereinafter, preferred embodiments of the present invention will be
described in detail with reference to the appended drawings. Note that, in this
specification and the drawings, elements that have st~bstantially the same fullction
and structure are denoted with the same reference signs, and repeated explanation is
omitted.
15 [0014]
Hereinafter, the description will proceed in the following order.
4. Related art and problems thereoD
12. Embodiment of present disclosure>
[Functional configuration of information processing system]
[Program structure examples]
[Use case examnples]
<3. Conclusion>
[0015]
In the case of using a fi~nctiono r variable built into a sequential execution
data processing module as a processing request from another communication channel,
there exists a method that first closes the channel in advance, and then newly
reconfigures the communication channel. However, with this method, if a
15 processing request comes from another communication channel, it becomes
necessary to close the open channel and re-open a channel, and the process becomes
con~plicated. Moreover, with such a structure, it has not been possible to
dynamically realize a request that responds to a processing request from a given
comtnunication channel, and while defining fi~nctionsa nd variables or executing a
20 function, changes the value of a variable used by that processing program, or changes
some of the filnctions to be used, from another coniniunication chamlel.
[0120]
Also, with sucll a structure, it has not been possible to realize, without a
specialized script program, a configuration enabling modules to construct a network
25 wit11 each other, such as one in which a main sequential execution data processing
nlodule answering different requests from multiple similar modules while also
sending out a request to another similar module.
[0121]
Meanwliile, a data processing n~oduleth at receives a script expression via a
30 colinnunicatioli cha~nleol tlier than keyboard input, and returns the processing result
via the receiving co~iunnnicationc hannel has also been conceived. However, in the
case of multiply connecting such data processing modules via a communication
channel, all modules enter a standby state until the last module finishes the process
and returns a response, and independent processing was not possible.
[O 1221
5 Additionally, sequential execution data processing modules of the related art
are respectively defined in specialized script languages. Directly communicating by
using anotlier script language and script input communication channel was
impossible, requiring internlediary specialized script translation software. Also, a
sequential.execution data processing module having a security function was required
10 to re-authenticate a required object every time the channel is switclied, being unable
to respond to a new request from another lnodule while maintaining one channel as a
secure and encrypted communication session. Because of such restrictions, there
were inconveniences, such as the inability to sinlultaneously establish a session for
executing payment through another channel while maintaining a session that charges
15 electronic money with an electronic money server or the like, for example.
[0123]
In contrast, a sequential execution data processing module according to the
present embodiment is configured to expand the functionality of a sequential
execution data processing module of the related art, and be able to not only load and
20 execute scripts from a keyboard or file via a single channel, but also open multiple
network channels, and process successive requests while maintaining the channels.
[0124]
An information processing device equipped with a sequential execution data
processing module according to the present embodiment, by having such a
25 colfiguration, becolnes able to dynamically modify functions that process requests
from a given channel and internally held variables, according to a processing request
from another channel. By having such a configuration, it becomes possible to
process work with different rights via separate channels, such as for the charge and
paynie~ito f electronic money, writing and deleting log data, managing energy supply
30 and consunlption quantities in a smart grid metel; car rental time and elapsed time, or
service ticket purchase and usage, for example.
[Ol 251
Additionally, if a security function is built into a sequential execution data
processing module according to the present e~nbodin~euitt, becomes possible to
extend a secure session on each chaunel, and successively receive scripts while still
5 maintaining a secure session. For this reason, it becomes possible to securely
process payment requests aud charge requests wit11 respect to the same variable
holding electronic money from a large number of devices, such as an electronic
money server.
[0 1261
10 Also, with the input of a script expression via a communication link, the
processing request destination is kept waiting uutil a processing result of the input
expression is computed and the result is tra~lsmitted via the requesting
conlmunication cha~ulel. However, since the message transmitting function of a
sequential execution data processing module according to the present enlbodime~lt is
15 switched to the next process after confirming that a message has been sent to the
other side, it becomes possible to inunediately switch to the next process.
Additionally, it becomes possible to subsequently receive a new message from a peer
via another communication channel, and equal message communication that is not in
a command-response forruat becomes possible.
20 [O127]
Also, a seque~ltial execution data processing module according to the
present embodiment has ~nultiple statement analysis fi~nctions and statement
recoufiguration fu~ictions that interpret' and recoustruct multiple languages, it is
possible to treat the internal expression of fiulction aud variable definitions as one
25 optimal method, in which one channel loads in a given script language A while
another channel loads and processes in a different script language B, enabling
communication with multiple differing script languages. Also, trarlslation
operations, such as transr~littinga script according to an instruction in script language
A to another module in script language B, become possible.
30 [0128]
Usage of a variable or function defined and set with security in a sequential
execution data processing module according to the present embodi~nent always
requires an autllentication operation. At this point, since authentication operations
fsom multiple channels are managed with an authentication list for each channel,
variables and fi~nctions may be used safely, without an autlienticated variable or
5 function being incorrectly used on another channel.
[0 1291
Also, even if a processing request is able to use a variable or function of a
sequential execution data processing nlodule according to the present embodiment
via one communication challuel according to external authentication via an external
10 communication chamlel, since the processing request is linked to the communication
channel that issued the request, the variable or function is protected fsom a request
via a communication channel with no rights, and may be safely used.
[0130]
Obviously, exemplary applications of a sequential execution data processing
15 module executed by an information processing device 100 according to an
embodiment of the present disclosure are not limited to those indicated above. In
addition, ratl~er than just linkage between equipment, similar operation may be
realized by installing respective sequential execution data processing modules in
separate areas (such as separate directories or separate folders) inside the same
20 equipment. It is also possible to realize a storage nledium storing a sequential
execution data processing lnodule executed by an information processing device 100
according to an embodiment of the present disclosure.
[0131]
The foregoing thus describes preferred embodiments of the present
25 disclosure in detail and with reference to the attached drawings. However, the
present disclosure is not li~llitedto such examples. It is clear to persons ordinarily
skilled in the teclmical field to which the present disclosure belongs that various
modifications or alterations may occur insofar as they are withill the scope of the
teclnlical ideas stated in the claims, and it is to be understood that such modifications
30 or alterations obviously belong to the technical scope of the present disclosure.
[0132]
Additionally, the present teclinology may also be configured as below.
( 1 )
An information processing device including:
a program execution unit that loads, interprets, and executes a computer
5 program code created by a first procedural language,
wherein the program execution unit
opens a commullication channel in response to a communication connection
request fro111 an external unit, and returns to each communication clia~ineal result for
a processing request sent from an external unit on the opened comnlunication
10 channel.
(2)
The infor~nationpr ocessing device according to ( I ) , wherein
the program execution unit treats a sharable variable and function as
modifiable by a processing request sent from an external unit on each
15 comtnunication channel, and also causes a result of modifying the variable and tl~e
fi~nction to also be reflected in a processing request by another co~llmunication
channel that uses the same variable and function.
(3)
The information processing device according to ( 1 ) or (2), wherein
20 the prograin execution unit loads, interprets, and executes a computer
program code created by a second procedural language different fiom the first
procedural language.
(4)
The information processing device according to (3), wherein
25 the program execution unit interprets a code input on the opened
communication clia~mel, and reconfigures and transmits the code in the second
procedural language.
(5)
The illformation processing device according to any one of ( 1 ) to (4),
30 wherein
the program execution unit receives a code via the opened communication
channel, and without waiting for a processing result, returns a reply fiom the
commuaication channel meaning that the code was received.
(6)
The information processing device according to (5), wherein
5 the program execution unit generates a new sequence to process the
received code and holds a processing result of the code, and returns the processi~lg
result when a result request conies from the conlnlunication channel that received the
code.
(7)
10 The infornlation processing device according to any one of (1) to (G),
wherein
the program execution unit reshicts reference to a variable and execution of
a fitnction used by the code until after autheatication, and authenticates by referring
to an authentication list provided for each communication channel opened in
15 response to a communication co~ulectionre quest from an external unit.
(8)
The information processing device according to any one of (1) to (7),
wherein
the program execution unit includes a communication unit that
20 comtnunicates with another program execution unit, and
the program execution unit issues a connection request from the
comtnunication unit to the other program execution unit to cause a communication
channel to be opened, and stores a successful authentication between an
authentication key that authenticates a variable and execution of a function of the
25 code, and an authentication key that authenticates a variable and execution of a
function of the code held by the other program execution unit.
(9)
The inforn~ation processing device according to ally one of (1) to (8),
wherein
30 the program execution unit, by linking to the com~llu~licatiocnh annel
opened in response to the conun~~nicatiocno nnection request from an external unit
and interpreting code context, conducts a conversion between a symbol name used in
the infornlation processing device itself and a symbol name used in an external unit.
(10)
An information processing method including:
5 loading, interpreting, and executing a computer program code created by a
first procedural language,
wherein the executing
opens a communication channel in response to a comnunication connection
request from an external unit, and returns to each con~municationc hannel a result for
10 a processing request sent from an external unit on the opened connnunicatio~l
channel.
(11)
A conlputer program that causes a computer to:
load, inte~pret, and execute a computer program code created by a first
15 procedural language,
wherein the executing
opens a communication chantiel in response to a communicatio~cl onnection
request fronl an external unit, and returns to each communication channel a result for
a processing request sent from an external uuit on the opened com~nu~iication
20 cha~mel.
(12)
A storage mediuln storing a computer program that causes a con~puterto :
load, interpret, and execute a cotnputer program code created by a first
procedural language,
25 wherein the executing
opens a co~il~nutiicatiocnh annel in response to a conmunication connection
request from an exter~~uanli t, and returns to each communication channel a result for
a processing request sent frotom an exter~ial unit on the opened comnlunication
chatuiel.
30
Reference Signs List
[0133]
100,200information processing device
110 CPU
120 encryptio~lldecryptionu nit
5 130 ROM
140 RAM
150 NVRAM
160 input unit
170 display unit
10
CLAIMS
Claim 1
An information processing device comprising:
a program execution unit that loads, interprets, and executes a computer
5 program code created by a first procedural language,
wherein the progt.atn execution unit
opens a communication channel in response to a co~imunicationc onnection
request from an external unit, and returns to each co~nmunication channel a result for
a processing request sent from an external unit on the opened comnlunicatiotl
10 channel.
Claim 2
The information processitlg device according to claim 1, wherein
the progranl execution unit treats a sharable variable and function as
15 ~nodifiable by a processing request sent from an external unit on each
communication channel, and also causes a result of modifying the variable and the
function to also be reflected ill a processing request by another comn~unication
cha~uletlh at uses the same variable and function.
20 Claim 3
The information processing device according to claim 1, wherein
the program execution unit loads, interprets, and exec~rtes a conlputer
program code created by a second procedural language different from the first
procedural language.
25
Claim 4
The infor~nationp rocessilig device according to claim 3, wherein
the program execution unit interprets a code input on the opened
connmnnication channel, and reconfigures and transmits the code in the second
30 procedural language.
Claim 5
Tlie information processing device according to claim 1, wherein
the program execution unit receives a code via the opened communicatio~l
channel, and without waiting for a processing result, returns a reply fiom the
5 com~nunicationc hannel meaning that the code was received.
Claim 6
Tlie infornlation processing device according to claim 5, wherein
the program execution unit generates a new sequence to process the
10 received code and holds a processing result of the code, and returns tlie processing
result when a result request comes froni the com~nunicationc hannel that received the
code.
Claim 7
15 The infonnation processing device according to claim 1, wherein
the program execution unit restricts reference to a variable and execution of
a function used by the code until after authentication, and authenticates by referring
to an authentication list provided for each con~munication challnel opened in
response to a communication connection request from an external unit.
20
Claim 8
The itlfornlation processing device according to claim 1, wherein
the program execution unit includes a comnlunication unit that
con~municatesw ith another program execution unit, and
25 the program execution unit issues a co~u~ectionre quest from the
conmiunication unit to the other program execution unit to cause a co~innunication
channel to be opened, and stores a successful autlientication between an
authentication key that authenticates a variable and execution of a function of the
code, and an authentication key that authenticates a variable and execution of a
30 function of tlie code held by the other program execution unit.
Claim 9
The inforniation processing device according to claim 1, wherein
the program execution unit, by linking to the communication channel
opened in response to tlie commnunication connection request from an external unit
5 and interpreting code context, conducts a conversion between a symbol name used in
the information processing device itself and a symbol name used in an external unit.
Claim 10
An information processing method comprising:
10 loading, interpreting, and executing a colnputer program code created by a
first procedural language,
wherein the executing
opens a co~nmunicationc hannel in response to a communication connection
request from an external unit, and returns to each communication channel a result for
15 a processing request sent from an external unit on tlie opened coriunnnication
channel.
Clai~n1 1
A computer program that causes a conlputer to:
20 load, interpret, and execute a computer program code created by a first
procedural language,
wherein the executing
opens a communication channel in response to a comm~~nicatioconm nection
request fronl an external unit, and returns to each cotnlnunication chatmel a result for
25 a processing request sent from an external unit on the opened comtnunication
channel.
Claim 12
A storage medium storing a computer program that causes a computer to:
30 load, interpret, and execute a computer program code created by a first
procedural language,
wherein tl~ex ecuting
opens a conmlun~catioc~hl annel it1 response to a conununicatioa connection
request fio~nan external unit, and returns to each cornnunicatioi~c hannel a result for
a processing request sent fioman external unit on the opened communication
channel.