Information processing system, information processing method, and program

The information processing system separates application functions into processes, user interfaces, rules, and data access to facilitate easier creation and modification of application programs, enhancing efficiency and addressing data silos and compliance.

WO2026070190A1PCT designated stage Publication Date: 2026-04-023STARS INC
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-08-28
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

The increasing complexity and load of creating and modifying application programs due to the diversification of IT technology and DX have made it difficult to efficiently facilitate their creation and modification.

Method used

An information processing system that separates and executes functions into distinct components: process, user interface, rules, and data access, allowing for modular development and easier modification by localizing changes to specific components.

Benefits of technology

This separation enables easier creation and modification of application programs, enhances business efficiency, improves performance, and addresses issues like data silos and compliance with business rules, while supporting cloud-based deployment and security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025030269_02042026_PF_FP_ABST
    Figure JP2025030269_02042026_PF_FP_ABST
Patent Text Reader

Abstract

The present technology involves an information processing system, an information processing method, and a program that make it possible to easily create and change an application program. An application 11 comprises: a user interface group 22G that has the function of being a contact point for a user and executing the input / output of data; a rule group 23G that has the function of executing data processing based on predetermined rules; a data access group 24G that has the function of executing the storing, changing, deleting, and acquiring of data; and a process 21 that has the function of controlling the execution of the user interface group 22G, the rule group 23G, and the data access group 24G. The present technology can be applied to, for example, a server-side application.
Need to check novelty before this filing date? Find Prior Art

Description

Information Processing System, Information Processing Method, and Program

[0001] The present technology relates to an information processing system, an information processing method, and a program, and particularly relates to an information processing system, an information processing method, and a program that facilitate the creation and modification of application programs.

[0002] Conventionally, technologies have been proposed that enable effective utilization of information on existing application programs and improve the productivity of building application programs (see, for example, Patent Document 1).

[0003] Japanese Unexamined Patent Application Publication No. 2012-14633

[0004] Due to the development of IT (Information Technology) technology and the promotion of DX (Digital Transformation) in recent years, the application programs used by users have diversified, and the load required for creating and modifying application programs has further increased. Therefore, it is desired to make it easier to create and modify application programs.

[0005] The present technology has been made in view of such a situation and facilitates the creation and modification of application programs.

[0006] The information processing system according to the first aspect of the present technology selects and combines for execution, in response to a user's request, a user interface that is a function for making contact with the user and executing input / output of data, a rule that is a function for executing data processing based on a predetermined rule, a data access that is a function for executing storage, modification, deletion, and acquisition of data, and a process that is a function for controlling the execution of the user interface, the rule, and the data access.

[0007] The first aspect of this technology is an information processing method in which an information processing system selects and combines, according to the user's request, a user interface which is a point of contact with the user and performs data input and output, rules which are a function that performs data processing based on predetermined rules, data access which is a function that performs data storage, modification, deletion, and retrieval, and a process which is a function that controls the execution of the user interface, the rules, and the data access.

[0008] The second aspect of this technology is the program which enables the computer to implement a user interface, which is a point of contact with the user and performs data input and output; rules, which are a function that performs data processing based on predetermined rules; data access, which is a function that performs data saving, modification, deletion, and retrieval; and processes, which are a function that controls the execution of the user interface, the rules, and the data access.

[0009] In the first aspect of this technology, a user interface, which is a point of contact with the user and performs data input and output, rules, which are functions that perform data processing based on predetermined rules, data access, which is a function that performs data saving, modification, deletion, and retrieval, and a process, which is a function that controls the execution of the user interface, the rules, and the data access, are selected and executed in combination.

[0010] In the second aspect of this technology, a user interface is realized, which is the point of contact with the user and performs data input and output; rules are the function that performs data processing based on predetermined rules; data access is the function that performs data saving, modification, deletion, and retrieval; and processes are the function that controls the execution of the user interface, the rules, and the data access.

[0011] According to the first or second aspect of this technology, the creation and modification of application programs becomes easier.

[0012] This is a block diagram showing an example of the structure of an application program to which this technology is applied. This is a block diagram showing an example of the configuration of an information processing system to which this technology is applied. This is a block diagram showing an example of the configuration of the process space in Figure 2. This is a diagram showing a specific example of an information processing system to which this technology is applied. This is a diagram showing an example of the configuration of a computer.

[0013] The following describes the embodiments for implementing this technology. The explanation will proceed in the following order: 1. Definition of terms 2. Embodiments 3. Modifications 4. Others

[0014] <<1. Definitions of Terms>> First, we will explain the definitions of terms used in this specification.

[0015] <Application Programs> An application program (hereinafter simply referred to as an application) is a computer program that has the functionality to fulfill the user's requests.

[0016] <Components> A component is a software part that constitutes part of an application and is capable of performing a specific function. Components are not used alone, but in combination with other software parts.

[0017] <Modules> A module is a software component that constitutes part of an application and can perform specific functions. Modules can be used independently or in combination with other software components.

[0018] <Users> Users include not only humans, but also, for example, all devices and software that use the application.

[0019] <Server Computers> Server computers are characterized by their ability to divide and control the memory space under the operating system into multiple process spaces in order to execute many processes simultaneously. Server computers receive numerous diverse processing requests from many edge computers, middle computers, and other server computers via a network, and need to perform large amounts of data input / output and data processing. Therefore, they require large computing power and an operating system that can efficiently control numerous process spaces and various input / output devices connected to the computer.

[0020] <Server-Side Applications> Server-side applications are applications that run on a server computer. Server-side applications are equipped with functions to handle diverse requests and data that are simultaneously input from numerous edge computers, middle computers, other server computers, or input / output devices connected to the server computer.

[0021] <Cyberspace> Cyberspace is a virtual space in which software operates on one or more computers connected by a network.

[0022] <Services> A service represents the functionality of software components (e.g., modules or components) located in cyberspace. Services include external services and internal services.

[0023] External services are functions provided by software components outside the process space that are accessible, for example, via APIs (Application Programming Interfaces) provided by standard infrastructure within the process space. Among external services, those accessed using the Internet Protocol are called Web services, and are exemplified by the microservices architecture, which distinguishes addresses using URLs (Uniform Resource Locators). Services executed on external devices such as input / output devices or other computers are classified as external services because the devices exist outside the process space.

[0024] Internal services are functions provided by software components that can only be directly accessed within the same process space, for example, via an API.

[0025] <Ecosystem> An ecosystem represents a state of cyberspace where diverse applications with various functions can be created and provided to users using a variety of services located within cyberspace. The term ecosystem originates from "ecosystem," which represents biodiversity, and applies the state in which the biological world has built highly diverse symbiotic relationships through long-term evolution and natural selection to adapt to environmental changes to computer systems. In other words, an ecosystem appears in cyberspace as the result of an attempt to create and provide multi-functional and high-quality applications with minimal effort by selecting and combining appropriate services from a group of services that have clear functions, have been used for a certain period, and whose quality has been confirmed, in order to meet the diverse needs of users.

[0026] For example, an ecosystem refers to a state of cyberspace where various services with different functions exist, and authorized users can access and utilize those functions.

[0027] <Runtime Reference Address Determination Function> The runtime reference address determination function is a function in which, when deployed to the execution environment, the reference address of the called software component (e.g., module or component) is not determined, and the calling software component (e.g., module) holds a temporary address. At runtime, the temporary address is replaced with the actual reference address, and the called module is executed. This allows the calling software component to select and execute one software component from among multiple software components using a single temporary address, enabling the execution of various processes at runtime. This function is usually implemented using the reflection function of the Java® language or the polymorphism of object-oriented languages.

[0028] <<2. Embodiments>> Next, embodiments of the present technology will be described with reference to Figures 1 to 4.

[0029] In Figures 1 to 4, the arrows indicate the flow of data. The dotted arrows indicate that the reference address is resolved at runtime, enabling data input and output.

[0030] <Example of Application 11 Structure> Figure 1 shows an example of the structure of application 11 to which this technology is applied.

[0031] In traditional applications, four functions—processes, user interfaces, rules, and data access—were integrated and operated together. For example, the functions provided by each software component that makes up an application were not clearly separated into processes, user interfaces, rules, and data access.

[0032] In contrast, application 11 separates the four functions of process, user interface, rules, and data access. That is, the functions provided by each software component that makes up application 11 are clearly separated into process, user interface, rules, and data access.

[0033] Application 11 implements the functions of process 21, user interface group 22G, rule group 23G, and data access group 24G.

[0034] In the following, a group of elements consisting of elements of the same type will be represented by the element name + "group" + element symbol + "G". Furthermore, a group of elements may contain only one element.

[0035] For example, the user interface group 22G is a set that includes one or more user interfaces 22. Alternatively, the user interface group 22G may contain only one user interface 22.

[0036] Process 21, user interface 22, rule 23, and data access 24 can each operate on, for example, a cloud-based microservices architecture, thereby building an ecosystem.

[0037] Process 21 has a function to control the execution of user interface 22, rule 23, and data access 24.

[0038] For example, process 21 executes data processing among user interface 22, rule 23, and data access 24.

[0039] For example, process 21 receives a call from user interface 22 and outputs the processed data.

[0040] For example, process 21 receives requests, requests processing, and executes data input / output with other process groups 31G including other processes.

[0041] User interface 22 serves as a contact point with the user and has a function to execute data input / output.

[0042] For example, user interface 22 includes functions of a browser on a network, an application on an information processing terminal (e.g., a smartphone, etc.), an IoT (Internet of Things) device, an interface AI (Artificial Intelligence) - equipped device, and other systems (e.g., an EC (Electronic Commerce) site where services can be called, a store POS (Point of Sale) system, etc.).

[0043] For example, user interface 22 provides external data for a service call from process 21. Also, user interface 22 calls process 21 and inputs the processed data.

[0044] Rule 23 has a function to execute data processing such as data processing based on a pre - determined rule (by executing the pre - determined rule).

[0045] For example, rule 23 returns response data according to the corresponding rule for a call (inquiry) from process 21. Note that the result of process 21 varies depending on which rule is used to execute the tasks included in process 21.

[0046] The rules applied to Rule 23 are, for example, rules for operating the functions realized by an application normally. For example, input / output rules for an application to output correct results for inputs, business rules for an application to perform business correctly, etc. are assumed. Specifically, business rules include, for example, not only regulations on job performance such as laws, regulations, policies, and internal company regulations, but also those that rule out empirical rules at the site leading to increased profits, customer experiences, etc. Also, for example, prediction models, optimization models, generation models, etc. by AI are included.

[0047] Data access 24 has a function of accessing data and performing data storage, modification, deletion, and acquisition (reading). The data accessed by data access 24 includes, for example, big data stored in a storage device on a network, data such as real-time inventory, etc. Also, the data accessed by data access 24 may be stored dispersedly on the network.

[0048] For example, upon a call (inquiry) from process 21, data access 24 accesses the corresponding data, performs data storage, modification, deletion, or acquisition, and returns the processed data to process 21 as necessary.

[0049] For example, data access 24 performs security processing, authentication processing, etc. necessary for data access.

[0050] Then, when process 21, user interface group 22G, rule group 23G, and data access group 24G are arranged in the cyber space, the above-described ecosystem is realized.

[0051] For example, the functions of application 11 are separated into process 21, user interface group 22G, rule group 23G, and data access group 24G, and each can operate as a service in the cyber space. Thereby, for example, multiple users can use (share) one service, or the common part of multiple services can be cut out and developed and shared only once.

[0052] Furthermore, by separating the user interface 22 from other functions, changes to aspects other than the data structure handled by the application 11, such as design and screen transitions, are localized to changes only in the user interface 22, making them easier to implement.

[0053] Furthermore, by separating rule 23 from process 21, changes to the rules executed in application 11 are localized and made easier.

[0054] Furthermore, by separating Rule 23, it becomes possible to modify Rule 23 in accordance with changes in the execution environment of Process 21, such as changes in corporate strategy. This makes it possible to achieve the original aim of DX, such as introducing IT (Information Technology) systems that not only improve business efficiency but also enhance performance.

[0055] Furthermore, Rule 23 includes, for example, inter-organizational and intra-organizational contracts and rules within a company, and business management aims to ensure compliance with them. Therefore, automating Rule 23 makes it possible to solve important labor productivity problems, such as improving the productivity of white-collar workers.

[0056] Furthermore, by separating data access 24 from process 21 and making it a service, commands for accessing data that is centrally managed across the entire organization are defined, resolving security and authentication issues.

[0057] Furthermore, by making Rule 23 and Data Access 24 accessible to multiple organizations, it becomes possible to break down the siloed structure of organizations. In addition, challenges faced by Japanese organizations, such as breaking away from data silos and preventing the implementation of business rules from becoming dependent on individuals, will be resolved.

[0058] Process 21 is implemented in a process space, as will be described later with reference to Figure 2. The process space may be deployed on a public cloud. In this case, security, authentication, and operational management functions provided by the public cloud become available. For the standard platform that serves as the execution base for Process 21, a platform suitable for a cloud-based architecture is selected, for example.

[0059] <Example Configuration of Information Processing System 101> Figure 2 shows an example configuration of information processing system 101 that applies the structure of application 11 in Figure 1.

[0060] The information processing system 101 comprises a process space 111 and an external service provider 112. The external service provider 112 may be directly connected to the process space 111, or it may be connected via a network such as the Internet or a cloud.

[0061] The process space 111 is a space controlled by an information processing device such as a server computer, and the standard infrastructure 121 and the application 122 are executed within the process space 111.

[0062] The standard board 121 includes a standard board (external service connection function) 121A and a standard board (process space control function) 121B.

[0063] The standard infrastructure (external service connection function) 121A has the function of connecting the application 122 with external services provided by the external service provider 112.

[0064] The standard infrastructure (process space connection function) 121B operates on the OS (Operating System), for example, and has the function of controlling the execution of the application 122 within the process space 111.

[0065] Application 122 corresponds, for example, to process 21, which is part of application 11 in Figure 1. Application 122 is implemented using a three-layer structure consisting of an external connection unit 131 (layer 1), an internal connection unit 132 (layer 2), and an execution unit 133 (layer 3), as well as a common layer including a group of service components 134G.

[0066] The external connection unit 131, the internal connection unit 132, and the execution unit 133 are deployed within the process space 111 (execution environment) and each has a different function. By making the coupling between each layer as loose as possible, it becomes possible to develop and modify each layer independently. Note that this three-layer structure is the structure at the time of deployment and differs from the structure at the time of execution.

[0067] For example, the external connection unit 131 can connect to external services provided by an external service provider 112 using the standard infrastructure (external service connection function) 121A. For example, the internal connection unit 132 can connect the external connection unit 131 and the execution unit 133. For example, the execution unit 133 can execute processing using internal components, etc., which will be described later.

[0068] Further details of each part of application 122, including the three-layer structure, will be described later with reference to Figure 3.

[0069] The external service provider 112 provides external services to the application 122. The external service provider 112 comprises a user interface group 151G, an external storage device group 152G, an external process group 153G, and a web service 154.

[0070] The user interface group 151G corresponds to the user interface group 22G in Figure 1. The external storage device group 152G corresponds to the data access group 24G in Figure 1. The external process group 153G corresponds to the other process group 31G in Figure 1.

[0071] The Web service 154 comprises a process service group 161G, a user interface group 162G, a rule service group 163G, and a data access service group 164G.

[0072] Process service group 161G corresponds to other process group 31G in Figure 1. User interface group 162G corresponds to user interface group 22G in Figure 1. Rule service group 163G corresponds to rule group 23G in Figure 1. Data access service group 164G corresponds to data access group 24G in Figure 1.

[0073] <Example of Process Space 111 Configuration> Figure 3 shows a detailed example of the configuration of the process space 111 in Figure 2, in particular the three-layer structure.

[0074] Note that the standard base (process space control function) 121B is not shown in Figure 3.

[0075] Standard infrastructure 121 (external service connection function) A includes a group of external service connection components 201G.

[0076] The external service connection component 201 has the function of connecting the external connection server module 221 and the external connection client module 222 of the external connection unit 131 with the external services provided by the external service provider 112.

[0077] The external connection unit 131 includes a controller module group 211G, an external connection module group 212G, and an execution rule module group 213G. The external connection module group 212G includes an external connection server module group 221G and an external connection client module group 222G.

[0078] The controller module 211 executes various processes using the execution rule module 213 as needed.

[0079] For example, the controller module 211 obtains request information and input data indicating the user's request from an external service via the external connection server module 221.

[0080] For example, the controller module 211, using the execution rule module 213, selects an external connection client module 222 to connect to an external service to be used for processing, based on the request information and input data. The controller module 211 maintains the reference address of each external connection client module 222 and retrieves the reference address of the selected external connection client module 222.

[0081] For example, the controller module 211 inputs the request information, input data, and the reference address of the selected external client module 222 to the controller module 231 of the internal connection unit 322 and requests processing. As a result, the reference address of the selected external client module 222 is notified to the controller module 231. The controller module 211 obtains the result of the requested processing from the controller module 231 of the internal connection unit 322 and returns it to the requesting external service via the external server module 221.

[0082] For example, the controller module 211, via the external connection client module 222, requests processing from external services and performs data input and output.

[0083] For example, the controller module 211 performs pre-processing and post-processing for the execution unit 133, such as processing login / logout to external services and batch data update processing to the data access service 164.

[0084] The external connection server module 221 performs various processes using the execution rule module 213 as needed. For example, the external connection server module 221 connects to an external service using the external service connection component 201, receives requests for various processes from the external service, and performs data input and output to the external service.

[0085] The external connection client module 222 performs various processes using the execution rule module 213 as needed. For example, in response to a request from the controller module 211 or the internal connection module 232, the external connection client module 222 connects to an external service using the external service connection component 201 and performs data input / output.

[0086] The execution rule module 213 executes various execution rules necessary for the processing of the controller module 211, the external connection server module 221, and the external connection client module 222. Execution rules are, for example, rules for effectively (e.g., smoothly and efficiently) executing each software component. The execution rules executed by the execution rule module 213 include, for example, external connection client module selection rules used for selecting the external connection client module 222, data conversion rules used for data conversion, and processing result conversion rules used for converting the requested processing results.

[0087] Furthermore, the controller module 211, the external connection server module 221, and the external connection client module 222 may perform various processes using the execution rule module 233 of the internal connection section 132 in the layer below.

[0088] The internal connection section 132 includes a controller module group 231G, an internal connection module group 232G, and an execution rule module group 233G.

[0089] The controller module 231 executes various processes based on processing requests from the controller module 211 of the external connection unit 131, using the execution rule module 233 as needed.

[0090] For example, the controller module 231 selects the internal connection module 232 necessary for processing by the execution module 242 of the execution unit 133 based on the request information, input data, and reference address of the external connection client module 222 input from the external connection unit 131. The internal connection module 232 necessary for processing by the execution module 242 is, for example, the internal connection module 232 used to connect to the external service or service component 134 that the execution module 242 requests processing from. The controller module 231 holds the reference address of each internal connection module 232 and obtains the reference address of the selected internal connection module 232.

[0091] For example, the controller module 231 inputs the request information, input data, and the reference address of the selected internal connection module 232 to the controller module 241 of the execution unit 133 and requests processing. As a result, the reference address of the selected internal connection client module 232 is notified to the controller module 241. The controller module 231 obtains the result of the requested processing from the controller module 241 of the execution unit 133 and returns it to the controller module 211 of the requesting external connection unit 131.

[0092] For example, the controller module 231 sets the reference address of the external connection client module 222, which is input from the external connection unit 131, to the internal connection module 232 that uses the external connection client module 222. This resolves the address of the external connection client module 222 that the internal connection module 232 references at runtime. The internal connection module 232 then becomes able to select and execute one module from among multiple external connection client modules 222 using a single temporary address.

[0093] For example, the controller module 231, via the internal connection module 232, requests processing from the service component 134 and performs data input and output.

[0094] For example, the controller module 231, via the internal connection module 232, requests processing from the internal components 244 of the execution unit 133, and performs data input and output.

[0095] For example, the controller module 231 requests processing from an external service and input / output of data from an external connection client module 222, which corresponds to a reference address input from the external connection unit 131, via the internal connection module 232.

[0096] For example, the controller module 211 performs pre-processing and post-processing for the execution unit 133, such as processing login / logout for the service component 134.

[0097] The internal connection module 232 responds to processing requests from the controller module 231 or the execution module 242 of the execution unit 133, and executes various processes using the execution rule module 233 as needed.

[0098] For example, the internal connection module 232 connects to the service component 134 and performs data input and output.

[0099] For example, the internal connection module 232 connects to the internal component 244 of the execution unit 133 and performs data input and output.

[0100] For example, the internal connection module 232 connects to the external connection client module 222 based on the reference address set by the controller module 231, and performs processing requests to external services and data input / output.

[0101] The execution rule module 233 executes various execution rules necessary for the processing of the controller module 231 and the internal connection module 232. The execution rules executed by the execution rule module 233 include, for example, internal connection client module selection rules used to select the internal connection module 232, data conversion rules used for data conversion, and processing result conversion rules used for converting the requested processing results.

[0102] The controller module 231 and the internal connection module 232 may also perform various processes using the execution rule module 243 of the execution unit 133, which is one layer lower.

[0103] The service component 134 is a software component that can be used by applications other than application 122 (outside the process space 111). For example, the service component 134 may be a component that can be used commonly within an organization such as a company, or a commercially available component.

[0104] The execution unit 133 includes a controller module group 241G, an execution module group 242G, an execution rule module group 243G, and an internal component group 244G.

[0105] The controller module 241 responds to processing requests from the controller module 231 in the internal connection unit 132 and executes various processes, using the execution rule module 243 as needed.

[0106] For example, the controller module 241 sets the reference address of the internal connection module 232, which is input from the controller module 231 of the internal connection unit 132, to the execution module 242 that uses the internal connection module 232. This resolves the address of the internal connection module 232 that the execution module 242 references at runtime. The execution module 242 can then select and execute one module from among multiple internal connection modules 232 using a single temporary address.

[0107] The controller module 241 inputs the request information and input data received from the internal connection unit 132 to the execution module 242 and requests processing. The controller module 241 retrieves the processing result from the execution module 242 and returns it to the controller module 231 of the requesting internal connection unit 132.

[0108] The execution module 242 performs various processes, using the execution rule module 243 as needed.

[0109] For example, the execution module 242, in response to a processing request from the controller module 241, requests processing from the internal component 244 and performs data input / output. The execution module 242 obtains the processing result from the internal component 244 and returns it to the requesting controller module 241.

[0110] For example, the execution module 242, in response to a processing request from the controller module 241, requests processing from the internal connection module 232 corresponding to the configured reference address, and performs data input / output. The execution module 242 obtains the processing result from the internal connection module 232 and returns it to the requesting controller module 241.

[0111] The execution rule module 243 executes various execution rules necessary for the processing of the controller module 241 and the execution module 242. The execution rules executed by the execution rule module 243 include, for example, execution module control rules related to the control of the execution module 242, and internal component usage rules related to the use of internal components 244.

[0112] The internal component 244 is a software component usable only within the process space 111, particularly within the three-layer structure. For example, the internal component 244 provides specialized services with a limited scope of application, services requiring confidentiality, etc.

[0113] As described above, the execution module 242 of the execution unit 323 can execute processing using the internal component 244. The execution module 242 can execute processing using the service component 134 via the internal connection module 232. The execution module 242 can execute processing using external services via the internal connection module 232 and the external connection client module 222.

[0114] Furthermore, the controller module 231 of the internal connection unit 132 can execute processing using the service component 134 and the internal component 244 via the internal connection module 232. The controller module 231 can also execute processing using external services via the internal connection module 232 and the external connection client module 222.

[0115] Furthermore, the controller module 211 of the external connection unit 131 can execute processing using external services via the external connection client module 222.

[0116] Furthermore, by introducing service component 134 and internal component 244 in addition to external services, the weaknesses of external services, such as the need for prior preparation like logging in and the time it takes to call them, are compensated for.

[0117] <Example Configuration of Information Processing System 301> Next, with reference to Figure 4, a specific application example of this technology will be described.

[0118] Figure 4 shows an example configuration of an information processing system 301, which is a specific example of the information processing system 101 shown in Figures 2 and 3.

[0119] The information processing system 301 realizes an ecosystem consisting of a retail store's cash register (hereinafter referred to as "cash register") that supports various payment methods and price determination methods (e.g., discount processing), a server at the retail store's headquarters, and a server that executes payment services.

[0120] The information processing system 301 includes an application 311 and an external service provider 312. Application 311 corresponds to application 122 in Figure 2 and is, for example, a server-side application that runs on a server computer or middle computer. External service provider 312 corresponds to external service provider 112 in Figure 2.

[0121] Application 311 includes an external connection unit 321, an internal connection unit 322, an execution unit 323, a service component (for calculating sales amount) 324, and a service component (for calculating consumption tax amount) 25. The external connection unit 321, the internal connection unit 322, and the execution unit 323 correspond to the external connection unit 131, the internal connection unit 132, and the execution unit 133 in Figure 2, respectively. The service component (for calculating sales amount) 324 and the service component (for calculating consumption tax amount) 325 correspond to the service component group 134G in Figure 2.

[0122] The external connection unit 321 includes an external connection server module (dedicated to POS registers) 331, a controller module (dedicated to POS registers) 332, an execution rule module (for payment module selection) 333, an external connection client module (for payment service A) 334A, an external connection client module (for payment service B) 334B, an external connection client module (for payment service C) 334C, and an external connection client module (for sales / payment data access) 335.

[0123] The external connection server module (dedicated to POS registers) 331 corresponds to the external connection server module group 221G in Figure 3. The controller module (dedicated to POS registers) 332 corresponds to the controller module group 211G in Figure 3. The execution rule module (for payment module selection) 333 corresponds to the execution rule module group 213G in Figure 3. The external connection client module (for payment service A) 334A, the external connection client module (for payment service B) 334B, the external connection client module (for payment service C) 334C, and the external connection client module (sales / payment data access) 335 correspond to the external connection client module group 222G in Figure 3.

[0124] Payment services A through C support different payment services, such as credit card payments, smartphone payments, and prepaid card payments.

[0125] Hereinafter, when it is not necessary to distinguish between the external connection client modules (for payment service A) 334 to the external connection client modules (for payment service C) 334C, they will simply be referred to as the external connection client module (for payment service) 334.

[0126] The internal connection unit 322 includes a controller module (for both POS registers and self-checkout registers) 341, an internal connection module (for calculating sales amount) 342, an execution rule module (for data conversion processing for calculating consumption tax amount) 343, and an internal connection module (for payment) 344.

[0127] The controller module (for both POS registers and self-checkout registers) 341 corresponds to the controller module group 231G in Figure 3. The internal connection module (for sales amount calculation) 342 and the internal connection module (for payment) 344 correspond to the internal connection module group 232G in Figure 3. The execution rule module (data conversion processing for consumption tax amount calculation) 343 corresponds to the execution rule module group 233G in Figure 3.

[0128] The execution unit 323 includes a controller module (dedicated to company sales / settlement processing) 351, an execution module (for calculating sales amount) 352, an internal component (for calculating discount amount) 353, an execution module (for calculating total amount) 354, an internal component (for calculating total amount) 355, and an execution module (for settlement) 356.

[0129] The controller module (dedicated to company sales / settlement processing) 351 corresponds to the controller module group 241G in Figure 3. The execution module (for sales amount calculation) 352 and the execution module (for settlement) 356 correspond to the execution module group 242G in Figure 3. The internal component (for discount amount calculation) 353 and the internal component (for total amount calculation) 355 correspond to the internal component group 244G in Figure 3.

[0130] The user interface (POS register) 401 includes a POS screen 411 and a payment terminal 412. The user interface (POS register) 401 corresponds to the user interface group 151G in Figure 2.

[0131] The Web service 402 includes external services (payment service A) 421A, external services (payment service B) 421B, and external services (payment service C) 421C.

[0132] Web service 402 corresponds to Web service 154 in Figure 2. External services (payment service A) 421A to external services (payment service C) 421C correspond to the process service group 161G in Figure 2.

[0133] Hereinafter, when it is not necessary to distinguish between external services (payment service A) 421A to external services (payment service C) 421C individually, they will simply be referred to as external service (payment service) 421.

[0134] <Example of processing by information processing system 301> Next, an example of processing by information processing system 301 will be explained. Specifically, an example of the process in which information processing system 301 executes payment for goods purchased by a customer will be explained.

[0135] For example, this process begins when a user (e.g., a store staff member) views information about the customer's purchased items via the POS screen 411 of the user interface (POS register) 401, and inputs instructions for cashless payment processing into the payment terminal 412.

[0136] The payment terminal 412 of the user interface (POS register) 401 inputs request information and input data requesting cashless payment to the external connection server module (dedicated to the POS register) 331. The input data includes, for example, product code x quantity pairs for each product (hereinafter referred to as product unit purchase information), and payment method (any of payment services A to C).

[0137] The external connection server module (dedicated to POS registers) 331 inputs request information and input data to the controller module (dedicated to POS registers) 332 and requests processing.

[0138] The controller module (dedicated to POS registers) 332 performs data conversion of request information and input data as needed. The controller module (dedicated to POS registers) 332 inputs the input data into the execution rule module (for payment module selection) 333 and queries the external connection client module (for payment service) 334 to be used for processing.

[0139] The execution rule module (for payment module selection) 333 selects an external service (payment service) 421 to be used for processing from among external services (payment service A) 421A to external services (payment service C) 421C based on the payment method included in the input data. The execution rule module (for payment module selection) 333 returns information to the controller module (dedicated to POS register) 332 indicating an external connection client module (for payment service) 334 for connecting to the selected external service (payment service) 421.

[0140] The controller module (dedicated to POS registers) 332 obtains the reference address of the external client module (for payment services) 334 selected by the execution rule module (for payment module selection) 333 from among the reference addresses of each external client module it holds. The controller module (dedicated to POS registers) 332 inputs the Layer 2 input information, including the request information, input data, and the reference address of the selected external client module (for payment services) 334, to the controller module (for both POS registers and self-checkout registers) 341 and requests processing.

[0141] The controller module (POS register / self-checkout combined) 341 selects the internal connection module (for sales amount calculation) 342 and the internal connection module (for payment) 344 as internal connection modules to be used for processing, based on the Layer 2 input information. The controller module (POS register / self-checkout combined) 341 obtains the reference addresses of the internal connection module (for sales amount calculation) 342 and the internal connection module (for payment) 344 from the reference addresses of each internal connection module it holds.

[0142] The controller module (for both POS and self-checkout) 341 sets the reference address of the external connection client module (for payment services) 334 included in the Layer 2 input information to the internal connection module (for payment) 344.

[0143] The controller module (POS register / self-checkout combined) 341 inputs Layer 3 input information, including request information, input data, and reference addresses of the selected internal connection module (for payment) 344 and internal connection module (for sales amount calculation), to the controller module (company sales / payment processing combined) 351 and requests processing.

[0144] Next, the following process is repeatedly executed for each product unit purchase information included in the input data.

[0145] The controller module (combined for company sales / settlement processing) 351 sets the reference address of the internal connection module (for sales amount calculation) 342 to the execution module (for sales amount calculation) 352. The controller module (combined for company sales / settlement processing) 351 inputs the product unit purchase information to the execution module (for sales amount calculation) 352 and requests processing.

[0146] The execution module (for calculating sales amount) 352 connects to the internal connection module (for calculating sales amount) 342 based on the reference address of the internal connection module (for calculating sales amount) 342, inputs product unit purchase information, and requests processing.

[0147] The internal connection module (for calculating sales amount) 342 inputs the product unit purchase information to the service component (for calculating sales amount) 324 and requests processing.

[0148] The service component (for calculating sales amount) 324 calculates the sales amount per product (hereinafter referred to as the sales amount per product) based on the purchase information per product and returns it to the internal connection module (for calculating sales amount) 342.

[0149] The internal connection module (for calculating sales amount) 342 inputs the sales amount per product to the internal component (for calculating discount amount) 353 and requests processing.

[0150] The internal component (for calculating discounts) 353 calculates the discount amount per product (hereinafter referred to as the "discount amount per product") based on the sales amount per product and returns it to the internal connection module (for calculating sales amount) 342.

[0151] The internal connection module (for calculating sales amount) 342 inputs the sales amount per unit of product and the discount amount per unit of product into the execution rule module (data conversion processing for calculating consumption tax amount) 343 and requests processing.

[0152] The execution rule module (data conversion processing for consumption tax calculation) 343 calculates the discounted sales amount per product (hereinafter referred to as the discounted amount per product) based on the sales amount per product and the discount amount per product, and returns it to the internal connection module (for sales amount calculation) 342.

[0153] The internal connection module (for calculating sales amount) 342 inputs the sales amount after discounting the unit price of the product into the service component (for calculating consumption tax amount) 325 and requests processing.

[0154] The service component (for calculating consumption tax) 325 calculates the consumption tax amount per item (hereinafter referred to as the "item-specific consumption tax amount") based on the price after discounts per item, and returns it to the internal connection module (for calculating sales amount) 342.

[0155] The internal connection module (for calculating sales amount) 342 returns the sales amount per unit of product, the discount amount per unit of product, the price after discount per unit of product, and the consumption tax amount per unit of product to the execution module (for calculating sales amount) 352.

[0156] The execution module (for calculating sales amount) 352 returns the sales amount per unit of product, the discount amount per unit of product, the price after discount per unit of product, and the consumption tax amount per unit of product to the controller module (for company sales / settlement processing) 351.

[0157] The above process is repeated for each individual product purchase information included in the input data. After the above process has been performed for all individual product purchase information included in the input data, the following process is executed.

[0158] The controller module (for company sales and settlement processing) 351 inputs the discounted price per unit and the consumption tax amount per unit for each product into the execution module (for total amount calculation) and requests processing.

[0159] The execution module (for calculating the total amount) inputs the discounted price per unit and the consumption tax amount per unit for each product into the internal component (for calculating the total amount) 353 and requests processing.

[0160] The internal component (for calculating total amount) 353 calculates the total amount based on the discounted price per unit and the consumption tax amount per unit for each product, and returns it to the execution module (for calculating total amount).

[0161] The execution module (for calculating the total amount) returns the total amount to the controller module (for company sales / settlement processing) 351.

[0162] The controller module (combined for company sales and settlement processing) 351 sets the reference address of the internal connection module (for settlement) 344 to the execution module (for settlement) 356. The controller module (combined for company sales and settlement processing) 351 inputs the total amount to the execution module (for settlement) 356 and requests processing.

[0163] The execution module (for payment) 356 connects to the internal connection module (for payment) 344 based on the reference address of the internal connection module (for payment) 344, inputs the total amount, and requests processing.

[0164] The internal connection module (for payment) 344 accesses the selected external connection client module (for payment service) 334 based on the reference address of the external connection client module (for payment service) 334 set by the controller module (dedicated to POS register) 322, enters the total amount, and requests processing.

[0165] The external client module (payment service) 334 inputs the total amount to the corresponding external service (payment service) 421 and requests processing.

[0166] The external service (payment service) 421 determines whether the payment is valid or not based on the total amount, and returns the payment determination result to the corresponding external connection client module (payment service) 334.

[0167] The external connection client module (payment service X) 334 returns the payment determination result to the internal connection module (for payment) 344.

[0168] The internal connection module (for payment) 344 returns the payment determination result to the execution module (for payment) 356.

[0169] The execution module (for payment) 356 returns the payment determination result to the controller module (combined for company sales / payment processing) 351.

[0170] The controller module (combined for company sales / payment processing) 351 returns output data to the controller module (combined for POS register / self-checkout register) 341. The output data includes necessary data such as the sales amount per item, the discount amount per item, the price after discount per item, the consumption tax amount per item, the total amount, and the payment determination result.

[0171] The controller module (for both POS registers and self-checkout registers) 341 returns the output data to the controller module (dedicated to POS registers) 332.

[0172] The controller module (dedicated to POS registers) 332 inputs the output data to the external client module (sales / settlement data access) 335 and requests processing.

[0173] The external client module (sales / payment data access) 335 records the necessary data from the output data into the sales / payment database. The external client module (sales / payment data access) 335 notifies the controller module (dedicated to POS registers) 332 when recording is complete.

[0174] The controller module (dedicated to POS registers) 332 returns the output data to the external connection server module (dedicated to POS registers) 331.

[0175] The external connection server module (dedicated to POS registers) 331 returns the output data to the user interface (POS register) 401.

[0176] The POS screen 411 and payment terminal 412 of the user interface (POS register) 401 execute predetermined processing (for example, printing a receipt) based on the output data.

[0177] In this way, the flexibility of the application can be improved, and the creation and modification of the application becomes easier.

[0178] For example, application functionality is separated into processes, user interfaces, rules, and data access, and software components are created or modified for each function and deployed in cyberspace. Then, for example, in response to user requests, functions (software components) deployed in cyberspace are selected and combined to create and modify applications that realize various functions. In other words, an ecosystem is realized. This reduces the burden and cost required for creating and modifying applications (e.g., adding and modifying functions).

[0179] Furthermore, the application process is implemented using a layered structure, and the reference addresses for using the functions (services) of higher layers from lower layers are determined at runtime. This allows the application to be flexibly modified at runtime in response to user requests. In addition, software components can be created and modified for each layer, reducing the burden and cost required for creating and modifying software components.

[0180] Furthermore, by modularizing (componentizing) functions such as data transformation, processing result transformation, security, and authentication, it becomes easier to use different services (software components) with different data structures, security policies, and authentication methods. This makes it possible, for example, to easily add each software component that makes up an application to the ecosystem.

[0181] <<3. Modified Examples>> Below, modified examples of the embodiments of the present technology described above will be explained.

[0182] Referring to Figure 4, the above-described application example of this technology is just one example, and the types of applications and services to which this technology can be applied are not particularly limited.

[0183] <<4. Others>> <Example of Computer Configuration> The series of processes described above can be executed by hardware or by software. When the series of processes are executed by software, the programs that make up that software are installed on the computer. Here, the computer includes server computers and general-purpose personal computers, for example, which can perform various functions by installing various programs.

[0184] Figure 5 is a block diagram showing an example of the hardware configuration of a computer that executes the series of processes described above using a program.

[0185] In computer 1000, the CPU (Central Processing Unit) 1001, ROM (Read-Only Memory) 1002, and RAM (Random Access Memory) 1003 are interconnected by a bus 1004.

[0186] An input / output interface 1005 is further connected to the bus 1004. An input unit 1006, an output unit 1007, a storage unit 1008, a communication unit 1009, and a drive 1010 are connected to the input / output interface 1005.

[0187] The input unit 1006 consists of input switches, buttons, a microphone, an image sensor, etc. The output unit 1007 consists of a display, a speaker, etc. The storage unit 1008 consists of a hard disk or non-volatile memory, etc. The communication unit 1009 consists of a network interface, etc. The drive 1010 drives removable media 1011 such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory.

[0188] In the computer 1000 configured as described above, the CPU 1001 loads, for example, a program stored in the memory unit 1008 into the RAM 1003 via the input / output interface 1005 and the bus 1004, and executes it, thereby performing the series of processes described above.

[0189] The program executed by the computer 1000 (CPU 1001) can be provided by recording it on a removable medium 1011, such as a package medium. The program can also be provided via wired or wireless transmission media, such as a local area network, the internet, or digital satellite broadcasting.

[0190] In computer 1000, programs can be installed in the storage unit 1008 via the input / output interface 1005 by inserting the removable media 1011 into the drive 1010. Alternatively, programs can be received by the communication unit 1009 via a wired or wireless transmission medium and installed in the storage unit 1008. Furthermore, programs can be pre-installed in the ROM 1002 or the storage unit 1008.

[0191] In this specification, a system refers to a collection of multiple components (devices, modules (parts), etc.), regardless of whether all components are located in the same enclosure. Therefore, multiple devices housed in separate enclosures and connected via a network, and a single device containing multiple modules within a single enclosure, are both considered systems.

[0192] Furthermore, the embodiments of this technology are not limited to those described above, and various modifications are possible without departing from the spirit of this technology.

[0193] For example, this technology can be configured as cloud computing, where a single function is shared and processed collaboratively by multiple devices via a network.

[0194] Furthermore, the effects described herein are merely illustrative and not limiting; other effects may also occur.

[0195] 11 Application Program, 12G Other Process Group, 21 Process, 22G User Interface Group, 23G Rule Group, 24G Data Access Group, 111 Process Space, 112 External Service Provider, 131 External Connection Unit, 132 Internal Connection Unit, 133 Execution Unit, 134G Service Component Group, 151 User Interface Group, 152G External Storage Unit, 153G External Process Group, 154 Web Service, 161G Process Service Group, 162G User Interface Group, 163G Rule Service Group, 164G Data Access Service Group, 201G External Service Connection Component Group, 211G Controller Module Group, 212G External Connection Module Group, 213G Execution Rule Module Group, 221G External Connection Server Module Group, 222G External Connection Client Module Group, 231G Controller module group, 232G Internal connection module group, 233G Execution rule module group, 241G Controller module group, 242G Execution module group, 243G Execution rule module group, 244G Internal component group, 301 Information processing system, 311 Application program, 312 External service provider, 321 External connection unit, 322 Internal connection unit, 323 Execution unit

Claims

1. An information processing system that selects and combines, according to the user's request, a user interface which is a point of contact with the user and performs data input and output; rules which are a function that performs data processing based on predetermined rules; data access which is a function that performs data saving, modification, deletion, and retrieval; and a process which is a function that controls the execution of the user interface, the rules, and the data access.

2. The information processing system according to claim 1, which is implemented using a three-layer structure comprising: an external connection unit that can connect to an external service which is a service outside the process space in which the process is executed; an execution unit that executes processing using an internal component which is a software part usable only within the process space; and an internal connection unit that connects the external connection unit and the execution unit.

3. The information processing system according to claim 2, wherein the external connection unit selects an external connection module, which is a software component for connecting to the external service, based on a user's request, notifies the internal connection unit of the reference address of the selected external connection module, and the internal connection unit connects to the external connection module based on the reference address of the external connection module.

4. The information processing system according to claim 3, wherein the internal connection unit selects an internal connection module, which is a software component for connecting to the external connection module, notifies the execution unit of the reference address of the selected internal connection module, and the execution unit connects to the internal connection module based on the reference address of the internal connection module.

5. The information processing system according to claim 4, wherein the execution unit performs processing using the external service via the internal connection module and the external connection module.

6. The information processing system according to claim 3, wherein the internal connection unit selects an internal connection module, which is a software component for connecting to a service component, which is a software component usable outside the process space, based on a user's request, notifies the execution unit of the reference address of the selected internal connection module, and the execution unit connects to the internal connection module based on the reference address of the internal connection module.

7. The information processing system according to claim 6, wherein the execution unit performs processing using the service component via the internal connection module.

8. The information processing system according to any one of claims 4 to 7, wherein the internal connection unit comprises the internal connection module, a controller module which is a software component that performs the selection of the internal connection module, and an execution rule module which is a software component that performs the execution rules necessary for processing the internal connection module and the controller module.

9. The information processing system according to claim 3, wherein the external connection unit comprises the external connection module, a controller module which is a software component that performs the selection of the external connection module, and an execution rule module which is a software component that performs the execution rules necessary for processing the external connection module and the controller module.

10. The information processing system according to claim 2, wherein the execution unit comprises the internal component, an execution module which is a software component that executes processing using the internal component, a controller module which is a software component that controls the execution module, and an execution rule module which is a software component that executes execution rules necessary for processing by the execution module and the controller module.

11. An information processing method in which an information processing system selects and combines, according to the user's request, a user interface which is a function that serves as a point of contact with the user and performs data input and output; rules which are a function that performs data processing based on predetermined rules; data access which is a function that performs data storage, modification, deletion, and retrieval; and a process which is a function that controls the execution of the user interface, the rules, and the data access.

12. A program for a computer to implement a user interface, which is a point of contact with the user and performs data input and output; rules, which are a function that performs data processing based on predetermined rules; data access, which is a function that performs data saving, modification, deletion, and retrieval; and processes, which are a function that controls the execution of the user interface, the rules, and the data access.

13. The program according to claim 12, which causes the computer to select and combine the user interface, the rules, the data access, and the process in response to a user's request and execute processing.

Citation Information

Patent Citations

  • Information processor, program and method for introducing operation application

    JP2007265358A

  • Information processor and program

    JP2008165497A

  • System and method of representing data entities of standard device applications as built-in components

    US20060251047A1