Information processing system, information processing apparatus, and information processing method for providing application information

An information processing apparatus connectable to a device includes: an acquiring unit to acquire, from the device, a display request including destination information indicating a country or an area where the device is used and indicating information for requesting an application list screen for providing an application; a specifying unit to specify, based on application compatibility information in which application identification information identifying an application available for the device is associated with the destination information, the application identification information associated with the destination information included in the display request; and a first transmitting unit to transmit, to the device, the application list screen for providing the application identified by the application identification information. The device includes: a second transmitting unit to transmit the display request to the apparatus; a receiving unit to receive the application list screen from the apparatus; and a display controller to display the application list screen.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority to and incorporates by reference the entire contents of Japanese Patent Application No. 2014-249140 filed in Japan on Dec. 9, 2014 and Japanese Patent Application No. 2015-229678 filed in Japan on Nov. 25, 2015.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing system, an information processing apparatus, and an information processing method.

2. Description of the Related Art

Recently, the spread of various kinds of communication devices represented by mobile phones and information mobile terminals has promoted the development of applications available on the communication devices. For example, Japanese Laid-open Patent Publication No. 2010-182309 discloses a technique for providing applications on a server and downloading any provided application by selecting the application with a communication device (computing device).

However, the technique disclosed in Japanese Laid-open Patent Publication No. 2010-182309 does not determine whether the selected application is available for the computing device in consideration of countries or areas (destination places) where the computing device is used. In some destination places of computing devices, the problem that a downloaded and installed application is found to be unavailable due to function restrictions by countries or areas may occur. Thus, it has not been possible to provide applications according to function restrictions by countries or areas.

SUMMARY OF THE INVENTION

According to an embodiment, an information processing system includes one or more devices and an information processing apparatus connectable to the device through a network. The information processing apparatus includes an acquiring unit, a specifying unit, and a first transmitting unit. The acquiring unit acquires, from the device, a display request that includes destination information indicating a country or an area where the device is used, and indicates information for requesting an application list screen for providing an application. The specifying unit specifies, based on application compatibility information in which application identification information for identifying an application available for the device is associated with each piece of the destination information, the application identification information that is associated with the destination information included in the display request acquired by the acquiring unit. The first transmitting unit transmits, to the device, the application list screen for providing the application that is identified by the application identification information specified by the specifying unit as a response to the display request acquired by the acquiring unit. The device includes a second transmitting unit, a receiving unit, and a display controller. The second transmitting unit transmits the display request to the information processing apparatus. The receiving unit receives the application list screen from the information processing apparatus as a response to the display request. The display controller performs control of displaying the application list screen received by the receiving unit.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

An embodiment of an information processing system, an information processing apparatus, an information processing method, and a computer program according to the present invention will be described below in detail with reference to the accompanying drawings. The following describes a multifunction peripheral (MFP) that is an embodiment of an image forming apparatus as an example of a device according to the present invention, but this is not limiting. The MFP is an apparatus having a plurality of different functions such as a copy function, a scanner function, a printer function, and a facsimile function.

FIG. 1is a diagram illustrating an example of a schematic configuration of an information processing system100according to the present embodiment. As illustrated inFIG. 1, the information processing system100includes an MFP1and a server4, and the MFP1and the server4are connected to one another through a network8.

The server4is an example of the “information processing apparatus”, and has a function (first transmitting unit) of transmitting (providing), for each application available for the MFP1, a Web page that presents terms of use of the application and is used for downloading the application, in other words, a Web page (hereinafter referred to as an “application list screen6”) for providing an application available for the MFP1to the MFP1. More specific contents will be described later. In this example, an application for acquiring the application list screen6from the server4and displaying the acquired application list screen6on the MFP1(hereinafter may be referred to as an “application market application3”) is preinstalled on the MFP1. In this example, functions of the application market application3are implemented by use of an application (hereinafter may be referred to as a “browser application2b”) for providing a Web browser function. In this example, the browser application2bis also preinstalled on the MFP1. Specific contents of the MFP1will be described later.

FIG. 1exemplifies only one MFP1as the device included in the information processing system100for convenience of explanation, but this is not limiting. The number of and kinds of devices included in the information processing system100are arbitrary.

The following describes a hardware configuration of the MFP1with reference toFIG. 2. As illustrated inFIG. 2, the MFP1includes a main body10that can implement various kinds of functions such as a copy function, a scanner function, a facsimile function, and a printer function, and an operating unit20that receives operations made by a user. The concept of receiving operations made by a user includes receiving information (including a signal indicating a coordinate value of a screen, and the like) that is input in response to operations made by a user. The main body10and the operating unit20are communicably connected to one another through a dedicated communication path30. For example, a communication path conforming to a universal serial bus (USB) standard can be used as the communication path30, but, regardless wired or wireless, a communication path conforming to any standard may be used.

The main body10can operate correspondingly to operations received by the operating unit20. In addition, the main body10can communicate with external apparatuses such as a client personal computer (PC), and can operate correspondingly to an instruction received from the external apparatuses.

The following describes a hardware configuration of the main body10. As illustrated inFIG. 2, the main body10includes a central processing unit (CPU)11, a read only memory (ROM)12, a random access memory (RAM)13, a hard disk drive (HDD)14, a communication interface (I/F)15, a connection I/F16, and an engine17, and these are connected to one another through a system bus18.

The CPU11integrally controls the operation of the main body10. The CPU11executes a computer program stored in the ROM12, the HDD14, or the like using the RAM13as a work area (task area) so as to control the operation of the whole main body10and implement various kinds of functions such as the copy function, the scanner function, the facsimile function, and the printer function.

The communication I/F15is an interface for connecting to the network8. The connection I/F16is an interface for communicating with the operating unit20through the communication path30.

The engine17is hardware that performs general-purpose information processing and processing other than communication for implementing the copy function, the scanner function, the facsimile function, and the printer function. The engine17includes, for example, a scanner (image reading unit) that scans and reads an image of a document, a plotter (image forming unit) that performs printing on a sheet member such as sheets of paper, and a facsimile that performs facsimile communication. The engine17can also include specific options such as a finisher that sorts a printed sheet member and an auto document feeder (ADF) that automatically feeds a document.

The following describes a hardware configuration of the operating unit20. As illustrated inFIG. 2, the operating unit20includes a CPU21, a ROM22, a RAM23, a flash memory24, a communication I/F25, a connection I/F26, and an operation panel27, and these are connected to one another through a system bus28.

The CPU21integrally controls the operation of the operating unit20. The CPU21executes a computer program stored in the ROM22, the flash memory24, or the like using the RAM23as a work area (task area) so as to control the operation of the whole operating unit20and implement various kinds of functions, which will be described later, such as display of information (image) corresponding to input received from a user.

The communication I/F25is an interface for connecting to the network8. The connection I/F26is an interface for communicating with the main body10through the communication path30.

The operation panel27receives various kinds of input corresponding to operations made by a user, and displays various kinds of information (for example, information corresponding to received operations, information indicating an operation situation of the MFP1, and information indicating a setting state). In this example, the operation panel27is formed of a liquid crystal display (LCD) apparatus with a touch panel function, but this is not limiting. The operation panel27may be formed of, for example, an organic electroluminescence (EL) display apparatus with a touch panel function. The operation panel27may be provided with an operating unit such as hardware keys and a display unit such as a lamp in addition to or in place of the LCD apparatus.

The following describes a software configuration of the MFP1.FIG. 3is a schematic diagram illustrating an example of a software configuration of the MFP1. As illustrated inFIG. 3, the main body10includes an application layer101, a service layer102, and an operating system (OS) layer103. Entities of the application layer101, the service layer102, and the OS layer103are various kinds of software stored in the ROM12, the HDD14, and the like. The CPU11executes the software so as to provide various kinds of functions.

Software of the application layer101is application software (hereinafter may be simply referred to as an “application”) for operating a hardware resource and providing a certain function. Examples of the application include a copy application for providing a copy function, a scanner application for providing a scanner function, a facsimile application for providing a facsimile function, and a printer application for providing a printer function.

Software of the service layer102is interposed between the application layer101and the OS layer103, and is software for providing an interface for using hardware resources included in the main body10to the application. More specifically, the software of the service layer102is software for providing functions of receiving operation requests issued to the hardware resources and arbitrating the operation requests. Examples of the operation requests received by the service layer102may include requests for scanner reading, plotter printing, and the like.

An interface function of the service layer102is provided to an application layer201of the operating unit20as well as the application layer101of the main body10. In other words, the application layer201(application) of the operating unit20can also implement a function obtained by using the hardware resources (for example, the engine17) of the main body10through the interface function of the service layer102.

Software of the OS layer103is basic software (operating system (OS)) for providing basic functions of controlling hardware included in the main body10. The software of the service layer102converts use requests of hardware resources from various kinds of applications to commands that can be interpreted by the OS layer103, and transfers the commands to the OS layer103. The software of the OS layer103executes the commands, and the hardware resources operate based on the requests from applications.

Similarly, the operating unit20includes the application layer201, a service layer202, and an OS layer203. A hierarchical structure of the application layer201, the service layer202, and the OS layer203included in the operating unit20is the same as that on the main body10side. However, functions provided by applications of the application layer201and kinds of operation requests that can be received by the service layer202are different from those on the main body10side. Applications of the application layer201may be software for causing hardware resources included in the operating unit20to operate and providing a certain function, but the applications of the application layer201are software for mainly providing user interface (UI) functions for performing operation and display related to functions (the copy function, the scanner function, the facsimile function, and the printer function) that the main body10has. Applications of the application layer201include the browser application2band the application market application3.

In the present embodiment, the software of the OS layer103on the main body10side is different from the software of the OS layer203on the operating unit20side in order to maintain independency of functions. In other words, the main body10and the operating unit20operate independently of one another on different OSes. For example, Linux (registered trademark) can be used as the software of the OS layer103on the main body10side, and Android (registered trademark) can be used as the software of the OS layer203on the operating unit20side.

Because the main body10and the operating unit20in the MFP1according to the present embodiment operate on different OSes as described above, communication between the main body10and the operating unit20is performed as not interprocess communication in a common apparatus but communication between different apparatuses. Examples of this communication include operation (command communication) that the operating unit20transmits received information (instruction contents from a user) to the main body10and operation that the main body10notifies the operating unit20of events. The operating unit20performs command communication to the main body10so as to use functions of the main body10. Examples of the events notified from the main body10to the operating unit20include an execution situation of operation in the main body10and contents defined by the main body10side.

In the present embodiment, power is supplied from the main body10to the operating unit20through the communication path30, and power supply control of the operating unit20can be performed separately from (independently of) power supply control of the main body10.

The following describes a function configuration of the MFP1.FIG. 4is a block diagram illustrating an example of the function configuration of the MFP1. As illustrated inFIG. 4, the MFP1includes a display controller111, a second transmitting unit112, a receiving unit113, and a controller114.FIG. 4mainly exemplifies functions according to the present invention for convenience of explanation, but the functions that the MFP1has are not limited to them.

The display controller111performs control of displaying various kinds of screens on the operation panel27(display unit). The display controller111according to the present embodiment performs control of displaying on the operation panel27an operation screen for performing various kinds of operation.FIG. 5is a diagram illustrating an example of the operation screen, and an icon2afor starting the application market application3is displayed on the operation screen. The display controller111according to the present embodiment also performs control of displaying the application list screen6on the operation panel27.

When a user taps the icon2a, the application market application3starts and the application market application3(second transmitting unit112) requests the application list screen6from the server4. The second transmitting unit112transmits, to the server4, a display request that includes destination information indicating countries or areas (destination places) where the MFP1is used, and that indicates information requesting the application list screen6for providing applications. Specific contents of the information included in the display request will be described later.

The receiving unit113receives the application list screen6as a response to a display request from the server4. The display controller111(browser application2b) performs control of displaying the application list screen6received by the receiving unit113on the operation panel27. The controller114performs control for using, out of the applications displayed on the application list screen6, an application selected by a user on the MFP1(including control for installing an application). A specific operation example of the MFP1will be described later.

The following describes a configuration of the server4.FIG. 6is a diagram illustrating an example of a hardware configuration of the server4. As illustrated inFIG. 6, the server4includes a CPU411, a ROM412, a RAM413, a communication I/F414, an input unit415, and a display unit416.FIG. 6exemplifies a minimum configuration in the present embodiment, but the hardware configuration of the server4is not limited to this configuration. The CPU411integrally controls the operation of the server4. The ROM412is a non-volatile memory that stores therein various kinds of data such as a computer program. The RAM413is a volatile memory that functions as a task area (work area) for various kinds of processing executed by the CPU411. The communication I/F414is an interface for communicating with the network8. The input unit415is a device used for operation input by a user, and includes, for example, a mouse and a keyboard. The display unit416is a device that displays various kinds of information, and includes, for example, an LCD apparatus.

FIG. 7is a diagram illustrating an example of functions that the server4has. As illustrated inFIG. 7, the server4includes an acquiring unit311, a storage controller312, a storage unit313, a specifying unit314, and a first transmitting unit315.FIG. 7mainly exemplifies functions according to the present invention for convenience of explanation, but the functions that the server4has are not limited to them.

The acquiring unit311acquires a display request from the MFP1. Because the display request includes at least destination information in this example as described above, the acquiring unit311acquires the display request so as to acquire the destination information included in the acquired display request.

The storage controller312controls writing or reading of data to or from the storage unit313. The storage unit313stores therein application compatibility information in which each piece of the destination information is associated with application identification information for identifying applications available for devices such as the MFP1.FIG. 8is a diagram illustrating an example of the application compatibility information. In this example, the application compatibility information is information in which each combination of device specifying information and the destination information is associated with the application identification information for identifying applications available for the combination. In the present embodiment, the application compatibility information is information in which each combination of the device specifying information, the destination information, and language information indicating languages displayed on the device specified by the device specifying information is associated with the application identification information for identifying applications available for the combination (which means that the applications do not receive use restrictions due to function restrictions in a destination place that is indicated by the destination information included in the combination). Hereinafter, the combination of the device specifying information, the destination information, and the language information is referred to as “device information”. A display request includes the device information. As illustrated inFIG. 8, the application compatibility information according to the present embodiment includes each combination, which is the combination of the device specifying information, the destination information, and the language information (in other words, each piece of device information), associated with the application identification information for identifying applications available for the combination, an application name indicating the name of the application, content description information indicating contents of the application, and information on terms of use that indicates information related to use of the application, but this is not limiting.

Referring back toFIG. 7, the description will be continued. The specifying unit314specifies the application identification information that is associated with the destination information included in a display request acquired by the acquiring unit311based on the application compatibility information. In the present embodiment, when the acquiring unit311acquires (receives) a display request from the MFP1, the specifying unit314specifies the application identification information that is associated with the combination of the device specifying information and the destination information included in the acquired display request based on the application compatibility information. More specifically, the specifying unit314specifies the application identification information that is associated with the combination (device information) of the device specifying information, the destination information, and the language information included in the display request acquired by the acquiring unit311based on the application compatibility information.

For example, it is assumed that the application compatibility information illustrated inFIG. 8is preliminary stored in the storage unit313, and the device information included in a display request from the MFP1is formed of the device specifying information indicating “IJKL”, the destination information indicating “JP”, and the language information indicating “JP”. In this case, the specifying unit314can specify the application identification information indicating “001” and the application identification information indicating “003” as the application identification information that is associated with the device information included in a display request from the MFP1acquired by the acquiring unit311(seeFIG. 8).

The description ofFIG. 7will be continued. The first transmitting unit315transmits, to the device, the application list screen6for providing applications that are identified by the application identification information specified by the specifying unit314as a response to a display request acquired by the acquiring unit311. More specifically, the first transmitting unit315transmits the application list screen6for providing applications that are identified by the application identification information specified by the specifying unit314to the device that is specified by the device specifying information included in a display request acquired by the acquiring unit311. In the present embodiment, at the time of generating the application list screen6, the first transmitting unit315generates the application list screen6so that an application different from the application specified by the specifying unit314will not be included in the application list screen6. In other words, the applications included in the application list screen6are only applications specified by the specifying unit314.

For example, as described above, it is assumed that the specifying unit314specifies the application identification information indicating “001” and the application identification information indicating “003” as the application identification information that is associated with the device information (in this example, the combination of the device specifying information indicating “IJKL”, the destination information indicating “JP”, and the language information indicating “JP”) included in a display request from the MFP1acquired by the acquiring unit311. In this case, the first transmitting unit315generates the application list screen6for providing an “application1” that is identified by the application identification information indicating “001” and an “application3” that is identified by the application identification information indicating “003” as illustrated inFIG. 9. In this example, the application list screen6includes, for each application, description information that describes contents of the application, and a button for instructing the use of the application (in this example, buttons5, which may be hereinafter referred to as “install buttons5”, for instructing the installation of applications).

Subsequently, the first transmitting unit315transmits the generated application list screen6to the MFP1that is specified by the device specifying information (in this example, the device specifying information indicating “IJKL”) included in the device information included in the display request. The MFP1(display controller111) performs control of displaying the application list screen6received from the server4on the operation panel27. In the present embodiment, applications displayed on the application list screen6are only applications available for the MFP1, and even when a user taps the install button5of any application displayed on the application list screen6, the request thereof is never rejected. In addition, the problem that a downloaded and installed application is found to be unavailable due to function restrictions by countries or areas never occurs. In this manner, user's convenience can be improved more than before.

The MFP1(controller114) controls, out of the applications displayed on the application list screen6, an application selected by a user to use the application on the MFP1. As an example, it is assumed that the application list screen6illustrated inFIG. 9is displayed on the operation panel27of the MFP1, and a user selects the “application1” (in this example, a user taps the install button5illustrated inFIG. 9). In this case, the controller114downloads the “application1” from an application server that stores therein (manages) a plurality of applications including the “application1”, and performs control of installing the “application1” on the MFP1. The server4may also function as the application server.

For example, an application displayed on the application list screen6may be a Web application indicating an application that is used through a network. For example, when the “application1” selected by a user as described above is a Web application, the controller114may execute processing (for example, processing for registering user information that uniquely identifies a user) for using the “application1”, which is a Web application, with the application server without downloading the “application1” from the application server. The CPU411executes a computer program stored in the ROM412and the like so as to implement each function of the acquiring unit311, the storage controller312, the specifying unit314, and the first transmitting unit315described above, but this is not limiting. For example, at least a part of the functions of the acquiring unit311, the storage controller312, the specifying unit314, and the first transmitting unit315may be implemented by a dedicated hardware circuit (such as a semiconductor integrated circuit). The storage unit313according to the present embodiment may be implemented by, for example, the HDD14and the like on the main body10side or the flash memory24and the like on the operating unit20side.

For example, functions of each unit in the server4may be distributed and installed on a plurality of servers. In short, the information processing system100to which the present invention is applied only needs to have at least the function of the acquiring unit311, the function of the specifying unit314, and the function of the first transmitting unit315.

FIG. 10is a sequence diagram illustrating an example of an operation procedure of the information processing system100according to the present embodiment. When a user taps the icon2a(seeFIG. 5) on the operation screen (Step S1), an OS of the operating unit20starts the application market application3(Step S2). Subsequently, the started application market application3requests the device information from the OS of the operating unit20(Step S3), and receives the device information from the OS of the operating unit20as a response (Step S4). Subsequently, the application market application3requests the OS of the operating unit20to start the browser application2bthat is preliminarily installed on the MFP1(Step S5). The device information and a uniform resource locator (URL) of the server4have been added to this request, and the OS of the operating unit20having received this request starts the browser application2b. The OS of the operating unit20passes the device information and the URL of the server4to the browser application2b, and instructs the browser application2bto transmit the display request to the server4(Step S6).

The started browser application2baccesses the URL of the server4, and transmits the display request (Step S7). The server4having received the display request from the MFP1specifies the device information included in the display request. The server4refers to the application compatibility information stored in the storage unit313, and specifies the application identification information that is associated with the device information (Step S8). The server4generates the application list screen6for providing an application that is identified by the application identification information specified at Step S8(Step S9). Subsequently, the server4transmits the generated application list screen6as a response to the display request at Step S7(Step S10). The browser application2bin the MFP1as a request source of the display request performs control of displaying on the operation panel27the application list screen6received from the server4as a response to the display request (Step S11).

As described above, according to the present embodiment, applications that are displayed on the application list screen6provided from the server4to the MFP1are only applications that do not receive use restrictions due to function restrictions in destination places where the MFP1is used. Even when a user taps the install button5of any application displayed on the application list screen6, the request thereof is never rejected. In addition, the problem that a downloaded and installed application is found to be unavailable due to function restrictions in a destination place where the MFP1is used never occurs. In other words, an application can be provided according to function restrictions in a destination place where the MFP1is used so as to improve user's convenience.

First Modification of Embodiment

For example, as illustrated inFIG. 11, the application compatibility information may be formed of first compatibility information in which each piece of group identification information for identifying a group to which one or more devices belong is associated with the device specifying information for specifying a device belonging to a group identified by the group identification information, and second compatibility information in which each combination of the group identification information and the destination information is associated with the application identification information for identifying applications available for the combination.

FIG. 12is a diagram illustrating an example of the first compatibility information. In the example ofFIG. 12, the first compatibility information includes each piece of group identification information, which is information for identifying a group to which one or more devices (in this example, the MFP) belong, associated with the device specifying information for specifying an device belonging to a group identified by the group identification information and type information indicating a type of the group identified by the group identification information, but this is not limiting.

FIG. 13is a diagram illustrating an example of the second compatibility information. In the example ofFIG. 12, the second compatibility information includes each combination, which is the combination of the group identification information, the destination information, and the language information, associated with the application identification information for identifying applications available for the combination, an application name indicating the name of the application, the content description information indicating contents of the application, and the information on terms of use that indicates information related to use of the application, but this is not limiting.

In this example, the specifying unit314specifies the group identification information that is associated with the device specifying information included in a display request acquired by the acquiring unit311based on the first compatibility information. The specifying unit314specifies the application identification information that is associated with the combination of the specified group identification information and the destination information included in the display request acquired by the acquiring unit311based on the second compatibility information. The first transmitting unit315transmits the application list screen6for providing an application that is identified by the application identification information specified by the specifying unit314to the device that is specified by the device specifying information included in the display request acquired by the acquiring unit311.

For example, it is assumed that the first compatibility information illustrated inFIG. 12and the second compatibility information illustrated inFIG. 13are preliminarily stored in the storage unit313, and that the device information corresponding to the MFP1is formed of the device specifying information indicating “IJKL”, the destination information indicating “JP”, and the language information indicating “JP”. In this case, the specifying unit314specifies the device specifying information (in this example, the device specifying information indicating “IJKL”) included in a display request from the MFP1acquired by the acquiring unit311, and acquires the first compatibility information stored in the storage unit313through the storage controller312. The specifying unit314refers to the acquired first compatibility information, and specifies the group identification information indicating “MP low” and the group identification information indicating “MP03” as the group identification information that is associated with the device specifying information indicating “IJKL”.

The specifying unit314acquires the second compatibility information stored in the storage unit313through the storage controller312, and refers to the acquired second compatibility information so as to specify the application identification information indicating “001” as the application identification information that is associated with the combination of the specified group identification information indicating “MP low”, and the destination information and the language information (in this example, the destination information indicating “JP” and the language information indicating “JP”) included in a display request from the MFP1. In addition, the specifying unit314refers to the second compatibility information so as to specify the application identification information indicating “003” as the application identification information that is associated with the combination of the specified group identification information indicating “MP03”, and the destination information and the language information (in this example, the destination information indicating “JP” and the language information indicating “JP”) included in the display request from the MFP1. In this example, the first compatibility information and the second compatibility information are stored in a common storage apparatus (in this example, the storage unit313), but this is not limiting. For example, a storage apparatus storing therein the first compatibility information and a storage apparatus storing therein the second compatibility information may be provided separately.

Subsequently, the first transmitting unit315generates the application list screen6for providing the “application1” that is identified by the application identification information indicating “001” and the “application3” that is identified by the application identification information indicating “003”, and transmits the generated application list screen6to the MFP1that is specified by the device specifying information (in this example, the device specifying information indicating “IJKL”) included in the display request. The MFP1(the display controller111) performs control of displaying the application list screen6received from the server4on the operation panel27.

In the first modification, application compatibility information is formed of the first compatibility information and the second compatibility information so as to separate management of devices that belong to each group from management of applications available for the combination of the groups and the destination information. However, the application compatibility information is not limited to the example. The application compatibility information only needs to be information in which each combination of the device specifying information and the destination information is associated with the application identification information for identifying applications available for the combination, and any change can be made on the data configuration thereof.

The CPU (11or21) executes a computer program stored in a storage apparatus (for example, the ROM12, the HDD14, the ROM22, and the flash memory24) so as to implement functions of each unit (the display controller111, the second transmitting unit112, the receiving unit113, and the controller114) in the MFP1described in the embodiment, but this is not limiting. For example, at least a part of the functions of the units in the MFP1may be implemented by a dedicated hardware circuit (such as a semiconductor integrated circuit).

Second Modification of Embodiment

In the embodiment, the main body10and the operating unit20operate independently of one another on different OSes, but this is not limiting. For example, the main body10and the operating unit20may operate on the same OS. In other words, the main body10and the operating unit20may be integrated.

FIG. 14is a diagram illustrating an example of a hardware configuration of an MFP1000according to the second modification. The MFP1000according to the second modification includes the CPU11, the ROM12, the RAM13, the HDD14, the communication I/F15, the engine17, and the operating unit20, and these are connected to one another through the system bus18.

The operating unit20according to the present embodiment is, for example, an LCD apparatus with a touch panel function, and has a touch panel function of receiving touch input. In the MFP1according to the present embodiment, the HDD14may be provided with the storage unit313. In the MFP1000according to the second modification, the CPU11executes various kinds of computer programs stored in non-volatile recording media such as the ROM so as to implement functions of the display controller111, the second transmitting unit112, the receiving unit113, and the controller114described with reference to the embodiment above.

FIG. 15is a schematic diagram illustrating an example of a software configuration of the MFP1000according to the second modification. The MFP1000according to the second modification includes an application layer1001, a service layer1002, and an OS layer1003. Entities of the application layer1001, the service layer1002, and the OS layer1003are various kinds of software stored in the ROM12, the HDD14, and the like. The CPU11executes the software so as to provide various kinds of functions.

The application layer1001according to the second modification also includes software for causing the operating unit20to operate and providing a certain function. More specifically, the application layer1001includes software for providing UI functions for performing operations and display related to functions (a copy function, a scanner function, a facsimile function, and a printer function). In other words, the application layer1001according to the second modification includes the browser application2b, the application market application3, and the like.

The MFP1000according to the second modification has the above configuration so as to implement the same functions as those of the embodiment even when the main body10and the operating unit20are not independently provided unlike the embodiment.

The computer program executed by the information processing system100(the MFP1and the server4) according to the embodiment is a file in an installable format or in an executable format, and may be recorded and provided in computer-readable recording media such as a compact disc read only memory (CD-ROM), a flexible disk (FD), a compact disc recordable (CD-R), a digital versatile disc (DVD), a universal serial bus (USB), and the like. The computer program may be provided or distributed through a network such as the Internet. Various kinds of computer programs may be preliminarily incorporated in a ROM and the like so as to be provided.

The present invention can provide applications according to function restrictions by countries or areas.