Equipment, information processing equipment, communication systems
The device automates application installation and uninstallation based on contract periods and library compatibility, addressing the manual operation challenge in conventional systems by integrating a communication and processing unit to manage applications efficiently.
Patent Information
- Application Number
- JP2021170412
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-10-18
- Publication Date
- 2025-12-23
- Estimated Expiration
- 2041-10-18
AI Technical Summary
Conventional technologies do not control the installation or uninstallation of applications on devices, requiring end users or customer engineers to manually operate these processes.
A device equipped with a communication unit to request and receive application installation/uninstallation information, an installation processing unit to install applications, and an uninstallation processing unit to manage applications based on contract periods and library compatibility, automating the installation and uninstallation process.
Enables automated control of application installation and uninstallation on devices, ensuring compliance with tenant contracts and library compatibility, thereby streamlining the management of applications.
Smart Images

Figure 0007790081000001 
Figure 0007790081000002 
Figure 0007790081000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a device, an information processing device, and a communication system. [Background technology]
[0002] Cloud services that provide services to devices from information processing devices on a network are known. For example, when a device of a company under a tenant contract connects to the information processing device, the information processing device provides the device with desired processing within the scope of the company's license.
[0003] A technology has been devised that makes it easy to provide such cloud services (see, for example, Patent Document 1). Patent Document 1 discloses a technology that associates cloud services with devices. Summary of the Invention [Problem to be solved by the invention]
[0004] However, the conventional technology has a problem in that it does not control the installation or uninstallation of applications on devices, which means that end users or customer engineers may need to operate the devices to install or uninstall applications.
[0005] In view of the above-mentioned problems, an object of the present invention is to provide a communication system that can control the installation or uninstallation of an application on a device. [Means for solving the problem]
[0006] In view of the above-described problems, a device capable of communicating with one or more information processing devices that provide applications to the device via a network includes a communication unit that requests information on applications that can be installed in the device or applications that should be uninstalled from the information processing device, and a communication unit that receives information on applications that can be installed in the device from the information processing device. N Depending on the information, the application may be installed on the device. Rui Install process Department and an uninstallation processing unit that uninstalls the application to be uninstalled in accordance with information about the application to be uninstalled received from the information processing device; and The device belongs to a tenant, the device stores the installation source of an application installed on the device, and the uninstallation processing unit determines, for each application, whether or not an application that is included in the information about the application to be uninstalled and is an application for which a contract period with the tenant has expired and that has been installed from a predetermined installation source has incorporated a predetermined library based on meta information about the application, and uninstalls the application that has not incorporated the predetermined library and does not uninstall the application that has incorporated the predetermined library. It is characterized by: [Effects of the Invention]
[0007] It is possible to provide a device that can control the installation or uninstallation of applications. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 10 is a schematic diagram illustrating an example of a procedure for a device to uninstall an application. [Figure 2] FIG. 1 is a diagram illustrating an example of a schematic configuration of a communication system. [Figure 3] FIG. 1 is a diagram illustrating an example of a hardware configuration of a computer. [Figure 4] 1 is a diagram illustrating an example of a hardware configuration of an MFP, which is an example of a device. [Figure 5] FIG. 1 illustrates an example of a functional configuration of a communication system. [Figure 6] FIG. 4 is a diagram illustrating an example of installation information stored in an installation information storage unit. [Figure 7] FIG. 4 is a diagram illustrating an example of application information stored in an application information storage unit. [Figure 8] 10 is a sequence diagram illustrating an example of a procedure in which a device controls installation and uninstallation of an application. [Figure 9] 10A and 10B are diagrams illustrating an example of information transmitted from a device to a second information processing system; [Figure 10] FIG. 10 is a diagram illustrating an example of application information returned by the second information processing system. DETAILED DESCRIPTION OF THE INVENTION
[0009] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A communication system and an application management method performed by the communication system will be described below as an example of an embodiment of the present invention with reference to the accompanying drawings.
[0010] <Processing Overview> FIG. 1 is a schematic diagram illustrating the procedure for the device 10 to uninstall an application.
[0011] (1) The user operates the management application running on the device 10 to install an application managed by the first information processing system 40 or the second information processing system 50 .
[0012] (2) The management application requests the application's executable file from the file management server 60.
[0013] (3) The file management server 60 sends the executable file to the device 10.
[0014] (4) When installing an application (executable file) on the device 10, the management app stores information on whether the application is managed by the first information processing system 40 or the second information processing system 50.
[0015] (5) At a fixed time, such as once a day, the device 10 inquires of the second information processing system 50 about applications that the device 10 can install and applications that should be uninstalled. These applications are determined by the tenant contract.
[0016] (6) The second information processing system 50 transmits to the device 10 applications that can be installed on the device 10 and applications that should be uninstalled, based on the contract of the tenant to which the device 10 belongs.
[0017] (7) The management application 13 also acquires a list of library-compatible applications from the metadata of applications stored in the management application 13. Library-compatible applications are described in detail below, but a library-compatible application is an application that has imported a library.
[0018] (8) Then, the device 10 uninstalls the application that is not a library-compatible application, that should be uninstalled (the contract period has expired), and that has been installed from the first information processing system 40.
[0019] Furthermore, if there is an application that can be installed, the device 10 downloads it from the file management server 60 and installs it on the device 10 .
[0020] In this way, the device 10 of the present embodiment can control the uninstallation of an application installed on the device 10 based on the contract period of the application contracted by the tenant, etc. Furthermore, the device 10 can automatically install an application.
[0021] <About the function> A tenant is an organization such as a company or local government that has entered into a contract to receive a service from a service provider (in this embodiment, the distributor of the application). As an example, a user or device belongs to a tenant, but an individual user may also subscribe to a service.
[0022] An application is software developed and used for a specific function or purpose, and is not intended for computer operation itself. Applications are divided into native apps and web apps.
[0023] The contract status is the content of the contract when a tenant is granted the right to use an application by contract. The contract status may include the contract period, free use period, number of users, limited functions, etc. The right to use an application under a contract may be referred to as having a license.
[0024] Installation refers to introducing a program or application into a computer system and setting it up for use, while uninstallation refers to removing a program or application from a system or rendering it unusable.
[0025] <System configuration example> 2 shows a schematic configuration diagram of the communication system 100. The communication system 100 includes an application publishing device 30, a first information processing system 40, a second information processing system 50, a file management server 60, and a device 10, which are capable of communicating with each other via a network.
[0026] The application publishing device 30 has one or more information processing devices. The application publishing device 30 is a website that publishes applications registered in the file management server 60. A customer engineer, a sales representative, or a design engineer can connect to the application publishing device 30 from the device 10 and view a list of applications.
[0027] The first information processing system 40 has one or more information processing devices. The first information processing system 40 manages customers who use devices 10 as tenants. A customer is a company or the like that has signed a contract to receive services as a tenant. The first information processing system 40 accepts customer registration as a tenant, accepts application packages that the customer has signed up for, and makes the packages available on the customer's tenant. A package is a combination of multiple applications that have been compiled with ease of use and other factors in mind. The tenant assigned to the customer is associated with the device 10, and the device 10 installs the package that the customer has signed up for as a tenant on itself.
[0028] The second information processing system 50 has one or more information processing devices. To explain the second information processing system 50, a management app will be described. An application that accepts from the user a selection of applications to be installed on the device 10 from various applications is called a management app. The device 10 executes the management app. The second information processing system 50 has information on the web pages that this management app displays in a web browser. The management app is a function of the web browser provided by the OS, and displays screens obtained from the second information processing system 50. The management app connects to the second information processing system 50, and the second information processing system 50 obtains information on applications to be displayed in the management app from the application publishing device 30, and displays the applications that can be installed (published) on the device 10. The management app 13 also has a role of initiating nighttime contract confirmation, etc.
[0029] The file management server 60 is an information processing device that stores application executable files (binary files). The file management server 60 is located on-premise. The file management server 60 may also be located in the cloud.
[0030] The device 10 is, for example, an MFP (Multifunction Peripheral). The MFP provides multiple functions such as copying, scanning, faxing, and printing. The MFP may also be called a multifunction peripheral, an image forming device, a printing device, or a printer. The device 10 is an example of various electronic devices used by users, and may be, for example, a projector, an electronic whiteboard, a video conference terminal, a digital camera, or the like. Alternatively, the device 10 may run an application and have a web browser or equivalent functionality.
[0031] 2 shows the application publishing device 30, the first information processing system 40, the second information processing system 50, and the file management server 60 separately, the application publishing device 30, the first information processing system 40, the second information processing system 50, and the file management server 60 may be integrated into one or more information processing devices. Conversely, the functions of one or more of the application publishing device 30, the first information processing system 40, the second information processing system 50, and the file management server 60 may be distributed among multiple information processing devices.
[0032] <Hardware configuration example> The hardware configurations of the application publishing device 30, the first information processing system 40, the second information processing system 50, the file management server 60, and the device 10 will be described with reference to FIGS.
[0033] <<Application publishing device, first information processing system, second information processing system, and file management server>> Fig. 3 is a diagram showing an example of a hardware configuration of a computer 500 according to this embodiment. As shown in Fig. 3, the application publishing device 30, the first information processing system 40, the second information processing system 50, and the file management server 60 are configured by the computer 500. The computer 500 includes a CPU 501, a ROM 502, a RAM 503, a hard disk (HD) 504, an HDD (hard disk drive) controller 505, a display 506, an external device connection I / F (interface) 508, a network I / F 509, a bus line 510, a keyboard 511, a pointing device 512, a DVD-RW (digital versatile disk rewritable) drive 514, and a media I / F 516.
[0034] Of these, the CPU 501 controls the overall operation of the computer 500. The ROM 502 stores programs used to drive the CPU 501, such as the IPL. The RAM 503 is used as a work area for the CPU 501. The HD 504 stores various data, such as programs. The HDD controller 505 controls the reading and writing of various data from and to the HD 504 under the control of the CPU 501. The display 506 displays various information, such as a cursor, menus, windows, characters, or images. The external device connection I / F 508 is an interface for connecting various external devices. In this case, external devices include, for example, USB (Universal Serial Bus) memory and printers. The network I / F 509 is an interface for data communication using the network N. The bus line 510 is an address bus, a data bus, or the like, for electrically connecting the components, such as the CPU 501, shown in FIG. 3.
[0035] The keyboard 511 is a type of input means having multiple keys used to input characters, numbers, various instructions, etc. The pointing device 512 is a type of input means for selecting and executing various instructions, selecting a processing target, moving a cursor, etc. The optical drive 514 controls reading and writing of various data from an optical storage medium 513, which is an example of a removable storage medium. The optical storage medium is a CD, a DVD, Blu-Ray (registered trademark), etc. The media I / F 516 controls reading and writing (storing) of data from a storage medium 515, such as a flash memory.
[0036] <<Equipment>> 4 is a hardware configuration diagram of an MFP, which is an example of device 10. As shown in FIG. 4, the MFP includes a controller 910, a short-range communication circuit 920, an engine control unit 930, an operation panel 940, and a network I / F 950.
[0037] Of these, the controller 910 has a CPU 901, which is the main part of the computer, a system memory (MEM-P) 902, a north bridge (NB) 903, a south bridge (SB) 904, an ASIC (Application Specific Integrated Circuit) 906, a local memory (MEM-C) 907, which is a storage unit, an HDD controller 908, and an HD 909, which is also a storage unit, and is configured such that the NB 903 and the ASIC 906 are connected by an AGP (Accelerated Graphics Port) bus 921.
[0038] Of these, the CPU 901 is a control unit that performs overall control of the MFP. The NB 903 is a bridge that connects the CPU 901 with the MEM-P 902, SB 904, and AGP bus 921, and includes a memory controller that controls reading and writing to the MEM-P 902, a PCI (Peripheral Component Interconnect) master, and an AGP target.
[0039] The MEM-P 902 comprises a ROM 902a, which is memory for storing programs and data that realize the functions of the controller 910, and a RAM 902b, which is used for expanding the programs and data and as a drawing memory during memory printing. The programs stored in the RAM 902b may be provided by being recorded in an installable or executable file format on a computer-readable recording medium such as a CD-ROM, CD-R, or DVD.
[0040] The SB 904 is a bridge connecting the NB 903 with PCI devices and peripheral devices. The ASIC 906 is an integrated circuit (IC) for image processing applications that has hardware elements for image processing and acts as a bridge connecting the AGP bus 921, PCI bus 922, HDD controller 908, and MEM-C 907. The ASIC 906 includes a PCI target and AGP master, an arbiter (ARB) that forms the core of the ASIC 906, a memory controller that controls the MEM-C 907, multiple direct memory access controllers (DMACs) that perform image data rotation using hardware logic, and a PCI unit that transfers data between the scanner unit 931, printer unit 932, and facsimile unit via the PCI bus 922. The ASIC 906 may also have a universal serial bus (USB) interface or an IEEE 1394 (Institute of Electrical and Electronics Engineers) interface.
[0041] The MEM-C907 is a local memory used as an image buffer for copying and a code buffer. The HD909 is a storage for storing image data, font data used during printing, and forms. The HD909 controls the reading and writing of data from and to the HD909 under the control of the CPU901. The AGP bus 921 is a bus interface for a graphics accelerator card proposed to speed up graphics processing, and direct high-throughput access to the MEM-P902 enables the graphics accelerator card to operate at high speed.
[0042] Further, a short-range communication circuit antenna 920a is provided in the short-range communication circuit 920. The short-range communication circuit 920 is a communication circuit such as NFC or Bluetooth (registered trademark).
[0043] Furthermore, the engine control unit 930 has a scanner unit 931, a printer unit 932, and a facsimile unit 933. The operation panel 940 has a panel display unit 940a such as a touch panel that displays current setting values and selection screens and receives input from the operator, and hard keys 940b including a numeric keypad that receives setting values for image formation conditions such as density setting conditions and a start key that receives a copy start command. The controller 910 controls the entire MFP, and controls, for example, drawing, communication, and input from the operation panel 940. The scanner unit 931 or the printer unit 932 includes an image processing unit such as error diffusion and gamma conversion.
[0044] The MFP can be used to sequentially switch between the document box function, copy function, printer function, and facsimile function using the application switching key on the operation panel 940. When the user selects the document box function, the MFP enters document box mode, when the copy function is selected, the MFP enters copy mode, when the printer function is selected, the MFP enters printer mode, and when the facsimile mode is selected, the MFP enters facsimile mode.
[0045] The network I / F 950 is an interface for performing data communication using the network N. The short-range communication circuit 920 and the network I / F 950 are electrically connected to the ASIC 906 via a PCI bus 922.
[0046] <About the function> Next, the functional configuration of the communication system 100 according to this embodiment will be described with reference to Fig. 5. Fig. 5 is a diagram showing the functional configuration of an example of the communication system 100 according to this embodiment.
[0047] <<Equipment>> The device 10 has a communication unit 11, an installation control unit 12, a management application 13, and a main body control unit 18. The installation control unit 12 has an installation processing unit 14 and an uninstallation processing unit 15, and the management application 13 has an operation reception unit 17 and a display control unit 16. The communication unit 11 is a function or means realized by the CPU 901 shown in FIG. 4 executing instructions contained in a program installed in the device 10. The installation processing unit 14 and the uninstallation processing unit 15 are functions or means realized by the CPU 901 shown in FIG. 4 executing instructions contained in the installation control unit 12 (program) installed in the device 10. The display control unit 16 and the operation reception unit 17 are functions or means realized by the CPU 901 shown in FIG. 4 executing instructions contained in the management application 13 installed in the device 10.
[0048] The communication unit 11 transmits and receives various types of information to and from the application publishing device 30, the first information processing system 40, and the second information processing system 50.
[0049] The installation processing unit 14 installs applications into the device 10 and stores information about the installed applications in the installation information storage unit 19. The uninstallation processing unit 15 uninstalls applications installed in the device 10. If necessary, the installation processing unit 14 also updates firmware.
[0050] The display control unit 16 uses the functionality of a web browser provided by the OS to display web pages provided by the application publishing device 30, the first information processing system 40, and the second information processing system 50. The management application 13 realizes web applications by working together with the application publishing device 30, the first information processing system 40, and the second information processing system 50. A web application is software or a mechanism executed on a web browser that operates through cooperation between a program written in a programming language that runs on the web browser and a program on the web server side. The web application can dynamically change web pages.
[0051] The operation reception unit 17 receives various operations from the user on various screens displayed on the panel display unit 940a.
[0052] The main body control unit 18 controls the engine of the device 10, such as copying, and controls the original functions of the device 10.
[0053] The device 10 also has an installation information storage unit 19 constructed in the HD 909 or the like shown in FIG.
[0054] FIG. 6 shows the installation information stored in the installation information storage unit 19. The installation information is information about applications installed in the device 10. The installation information is stored for each application. Below, a description of the installation information that is relevant to this embodiment will be explained.
[0055] <APP_INFO PRODUCT_ID="1711276273" PARENT="true"> 101 APP_INFO PRODUCT_ID is the product ID (identification information) of the application, and is associated with the executable file held by the file management server 60 by the product ID.
[0056] <version> 1.0< / version> 102 VERSION is the version of the application.
[0057] <PACKAGE_NAME> jp.co.sample.xxx.xxxxxxx< / PACKAGE_NAME> 103 PACKAGE_NAME is the package name of the application.
[0058] <tool> other(WIM or SD) or server_A or server_B< / tool> 104 This information indicates where the application was installed from. WIM indicates that it was installed from an installation package, and SD (registered trademark) indicates that it was installed from a memory card. Server_A indicates that it was installed from the first information processing system 40. Server_B indicates that it was installed from the second information processing system 50.
[0059] <IS_server_A_specific_APP> false< / IS_server_A_specific_APP> 105 This information indicates whether the application is a library-compatible application. A library-compatible application is an application that incorporates a specific library. The specific library can be any library, for example, a library for authentication. Library-compatible applications cannot be uninstalled because the specific library controls the application startup.
[0060] <<Application Publishing Device>> Returning to Fig. 5, the application publishing device 30 has a communication unit 31 and a screen generation unit 32. These functions of the application publishing device 30 are functions or means realized by the CPU 501 shown in Fig. 3 executing instructions included in a program installed in the application publishing device 30.
[0061] The communication unit 31 communicates with the device 10, the first information processing system 40, the second information processing system 50, the file management server 60, etc. The screen generation unit 32 generates various types of screen information to be displayed by the device 10. Note that the screen information is a program written in HTML, XML, a scripting language, CSS (Cascading Style Sheet), etc., with the structure of a web page being primarily defined by HTML, the behavior of the web page being defined by the scripting language, and the style of the web page being defined by CSS.
[0062] <<Second Information Processing System>> The second information processing system 50 has a communication unit 51 and a screen generation unit 52. These functions of the second information processing system 50 are functions or means realized by the CPU 501 shown in FIG. 3 executing instructions included in a program installed in the second information processing system 50.
[0063] The communication unit 51 communicates with the device 10, the application publishing apparatus 30, the first information processing system 40, the file management server 60, etc. The screen generation unit 52 generates various types of screen information to be displayed by the device 10.
[0064] The second information processing system 50 also has an application information storage unit 53 built in the HD 504 or RAM 503 shown in FIG.
[0065] 7 is an example of application information stored in the application information storage unit 53. The application information storage unit 53 stores information about applications for which a tenant has made a contract.
[0066] The tenant ID is the identification information of the tenant to which the user (customer employee) or device belongs.
[0067] The product ID is the identification information for the application that the tenant has subscribed to.
[0068] The contract period is the period during which the device 10 can use the application.
[0069] The URL of the web browser to be installed is the distribution destination of the application to be installed on the device 10 of the tenant.
[0070] The ACT update right indicates whether the device 10 is authorized to use the latest published functions.
[0071] <<First Information Processing System>> The first information processing system 40 has a communication unit 41 and a screen generation unit 42. These functions of the first information processing system 40 are functions or means that are realized by the CPU 501 shown in FIG. 3 executing instructions included in a program installed in the first information processing system 40.
[0072] The communication unit 41 communicates with the device 10, the application publishing apparatus 30, the second information processing system 50, the file management server 60, etc. The screen generation unit 42 generates various types of screen information to be displayed by the device 10.
[0073] <<File management server>> The file management server 60 has a communication unit 61. These functions of the file management server 60 are functions or means that are realized when the CPU 501 shown in FIG. 3 executes instructions included in a program installed on the file management server 60.
[0074] The communication unit 61 communicates with the device 10, the application publishing device 30, the first information processing system 40, and the second information processing system 50. The file management server 60 stores executable files of applications in the executable file storage unit 62, and the communication unit 61 transmits the executable files to the device 10 etc. in response to a request.
[0075] <Communication system operation procedure> FIG. 8 is an example of a sequence diagram illustrating a procedure in which the device 10 of the present embodiment controls the installation and uninstallation of an application.
[0076] The management application 13 is already running on the device 10. Steps S1 to S6 describe the process of manually installing an application.
[0077] S1: When the user installs an application from the second information processing system 50, the user displays a list of applications acquired by the management application 13 connecting to the second information processing system 50. The user selects a desired application.
[0078] S2: The operation reception unit 17 receives the selection of an application, and the management application 13 transmits to the installation control unit 12 a request to install the selected application.
[0079] S3: The installation processing unit 14 of the installation control unit 12 requests the file management server 60 to install the application.
[0080] S4: The communication unit 61 of the file management server 60 transmits to the device 10 the execution file of the application to be requested to be installed.
[0081] S5: The communication unit 11 of the device 10 receives the executable file, and the installation processing unit 14 installs the executable file in the device 10.
[0082] S6: The installation processing unit 14 saves the installation information of the application in the installation information storage unit 19. At this time, server_B is saved in the TOOL tag. Also, in the IS_server_A_specific_APP item in the installation information storage unit 19, true or false is set depending on whether the executable file includes a Specific Library.
[0083] When the user installs an application from the first information processing system 40, the user installs the application using an installation app (hereinafter referred to as a "browser app") that is different from the management app 13. In this case as well, the browser app connects to the first information processing system 40 and displays a list of apps. When the user selects a desired application, the browser app sends an installation request to the installation control unit 12 via the management app 13. In this way, the installation is performed by the management app 13.
[0084] When storing information on whether the management application 13 (corresponding to the second information processing system 50) or the browser application (corresponding to the first information processing system 40) was used for installation, the installation control unit 12 can store information on whether the installation was used for the second information processing system 50 or the first information processing system 40 in the installation information storage unit 19 in step S6 based on information obtained from the "management application 13."
[0085] Specifically, when the management application 13 requests installation from the installation control unit 12, the management application 13 transmits an action name to the installation control unit 12. The installation control unit 12 stores in the installation information storage unit 19, depending on the action name, whether the application was installed in the second information processing system 50 or the first information processing system 40. The action name differs depending on whether the application installation operation was accepted by the management application 13 or accepted by the management application 13 via a browser application.
[0086] S6-2: The installation processing unit 14 transmits the installation result (success or failure) to the management application 13. The installation result may be the name of the installed application and whether it was successful or failed.
[0087] Next, steps S7 to S16 will be described as a process for confirming a contract regarding an application.
[0088] S7: At a preset time, the main body control unit 18 transmits a periodic recovery notification to the management application 13. The periodic recovery notification is a notification that the device 10 has recovered from the energy saving state in order to diagnose the device 10, manage logs, etc., when the device 10 is not in use, such as at night.
[0089] S8: In response to the periodic return notification, the management application 13 requests the installation control unit 12 to send a list of installed applications.
[0090] S9: The installation control unit 12 acquires the installation information of each application from the installation information storage unit 19 and returns it to the management application 13.
[0091] S10: Next, the management application 13 requests the installation control unit 12 to send a list of library-compatible applications.
[0092] S11, S12: The installation control unit 12 acquires metadata from the application. Note that in FIG. 8, the installation control unit 12 requests metadata from the application, but the metadata may be managed by the OS. If the OS is Android (registered trademark), the OS stores the metadata in an application database called a manifest. The manifest is in XML format, and the installation control unit 12 can determine whether the application is a library-compatible application based on whether the application tag contains a description "Specific (or Specific Library)," for example.
[0093] S13: The installation control unit 12 refers to the metadata and determines whether each application is a library-compatible application.
[0094] S14: The installation control unit 12 returns the list of library-compatible applications to the management application 13.
[0095] S15: Next, the management application 13 requests application information from the second information processing system 50 to identify applications that can be installed and applications that should be uninstalled. To obtain the application information, the management application 13 transmits the information shown in FIG. 9 to the second information processing system 50.
[0096] 9 shows information transmitted from the device 10 to the second information processing system 50. Item names and descriptions are shown in Fig. 9. When the device 10 transmits this information to the second information processing system 50, applications that can be installed by the device 10 and applications that should be uninstalled are identified. The device authentication ticket is information that proves that the device 20 is a device under a tenant contract. The device authentication ticket is attached to, for example, a request header. The second information processing system 50 can identify the tenant by the device authentication ticket. The applications and the like under contract by this tenant are also made clear. Region is a global information that indicates the region of the world (North America, EU, Asia, etc.), i.e., the region where the application is used.
[0097] The dealer is the identification information of the dealer who sells the device 10 on which the application is to be installed.
[0098] Product_id is the product ID of the application, and is identification information that uniquely identifies the installed application.
[0099] ·count is the number of services displayed per page of search results.
[0100] ·page indicates whether or not to display the page number of the search results.
[0101] · updated_only indicates whether to return only applications with updates or all applications.
[0102] ·country is the country code.
[0103] Destination refers to the endpoint where the application is distributed. For example, if there are servers in the EU and in Japan, the URLs of the servers will be different. Since the URL of the server changes depending on the location of the customer (device 10), the server is specified in destination.
[0104] packaged_application is set to whether or not to include packaged applications in the response.
[0105] In this embodiment, the management application 13 acquires the application information from the second information processing system 50, but may also acquire the application information from the first information processing system 40.
[0106] S16: Returning to Fig. 8, the communication unit 51 of the second information processing system 50 receives the request for application information, and the communication unit 51 transmits the application information of the requested application to the device 10. The application information returned by the second information processing system 50 is shown in Fig. 10.
[0107] FIG. 10 shows the application information returned by the second information processing system 50. Product ID and product key for the application (contracted application) to be installed This is identification information for applications that can be installed and key information for installing them. Product ID of the application to be uninstalled (no contract, expired contract) This is the key information for the application to be uninstalled. Latest version of the application This is the latest version of each application. The URL of the web app to be installed This is the URL where each application can be retrieved. ACT update rights (valid, invalid) When the ACT update right is enabled, automatic installation of the latest features is enabled. When the latest features are released, the management application 13 can automatically install the features on the device 10. This means that the user can always use the latest features without having to do anything. Latest version This is the latest version of the application.
[0108] S17: Returning to Fig. 8, the management application 13 compares the version information included in the application information acquired in step S16 with the version information of the installed application, and if there is an application that is not the latest version (if the version of the application installed in the device 10 is older than the latest version), the management application 13 requests the installation control unit 12 to upgrade the version.
[0109] S18: The installation processing unit 14 of the installation control unit 12 requests the file management server 60 for the executable file of the application to be upgraded.
[0110] S19: The communication unit 61 of the file management server 60 transmits to the device 10 the executable file of the application to be upgraded as requested.
[0111] S20: The communication unit 11 of the device 10 receives the executable file, and the installation processing unit 14 installs the latest executable file in the device 10.
[0112] S21: Then, the management application 13 adds to the uninstall list any application that is not a library-compatible application, whose contract period has expired, and that was installed from the first information processing system 40. The library-compatible application is not uninstalled because the library controls the library-compatible application so that it cannot be used. When an application is launched, the library receives information linking the library-compatible application to the first information processing system 40 (the client ID of the library-compatible application, and destination information of the first information processing system 40) from the library-compatible application. The library queries the first information processing system 40 based on this linking information, and launches the library-compatible application if it is available for use, or does not launch it if it is not available. The library-compatible application also displays a message prompting the user to renew their contract.
[0113] The reason why an application installed from the first information processing system 40 is uninstalled is as follows. The contract for the application is basically renewed monthly / yearly. When the tenant terminates the contract or the contract period ends without renewal, the application must be made unavailable. The fact that the application was installed from the first information processing system 40 is recorded in the installation information. <tool> other(WIM or SD) or server_A or server_B< / tool> Whether the application contract period has expired can be determined by whether the application is designated as an application to be uninstalled, as shown in Figure 10.
[0114] S22: The management application 13 requests the installation control unit 12 to uninstall the application by specifying the uninstall list.
[0115] S23: The uninstallation processing unit 15 of the installation control unit 12 uninstalls the applications specified in the uninstallation list.
[0116] S24: The uninstallation processing unit 15 updates the installation information of the uninstalled application. The uninstallation processing unit 15 may, for example, delete the installation information or register the installation information as having been deleted.
[0117] S25: The installation control unit 12 transmits the result of the uninstallation to the management application 13. The result of the uninstallation may be the name of the uninstalled application and whether the uninstallation was successful or failed.
[0118] S26: Next, if there is an application that can be installed based on the application information acquired in step S16, the management application 13 requests the installation control unit 12 to install it. An application that can be installed is an application that is included as an application to be installed in the application information in FIG. 10 but is not installed in the device 10.
[0119] The processing in steps S27 to S31 may be the same as that in steps S3 to S6-2.
[0120] <Major Effects> As described above, the device 10 of the present embodiment can uninstall an application installed on the device 10 depending on whether the application is a library-compatible application, whether a contract exists, and the source of installation. Furthermore, the device 10 can automatically install applications that are not installed on the device 10 for which a contract exists.
[0121] <Other application examples> The best mode for carrying out the present invention has been described above using examples, but the present invention is not limited to these examples in any way, and various modifications and substitutions can be made within the scope that does not deviate from the gist of the present invention.
[0122] For example, in the present embodiment, the installation / uninstallation of an application on an MFP as the device 10 has been described, but the device 10 may be any information processing device on which an application runs.
[0123] In addition, in this embodiment, the device 10 determines which application to install or uninstall, but this determination may be made on the server side.
[0124] 5 is an example, and multiple blocks may be realized as a single block, one block may be divided into multiple blocks, and / or some functions may be moved to another block.Furthermore, the functions of multiple blocks having similar functions may be processed in parallel or in time-sharing by a single piece of hardware or software.
[0125] Additionally, the devices described in the examples are merely illustrative of one of several computing environments for implementing the embodiments disclosed herein. In one embodiment, first information processing system 40 and second information processing system 50 include multiple computing devices, such as a server cluster. The multiple computing devices are configured to communicate with each other via any type of communication link, including a network, shared memory, etc., and to perform the processes disclosed herein.
[0126] Furthermore, the first information processing system 40 and the second information processing system 50 can be configured to share the processing steps disclosed in this embodiment, for example, FIG. 8, in various combinations. For example, a process executed by a predetermined unit can be executed by multiple information processing devices included in the first information processing system 40 and the second information processing system 50. Furthermore, the first information processing system 40 and the second information processing system 50 may be integrated into a single server device or may be separated into multiple devices.
[0127] Furthermore, each function of the above-described embodiments can be realized by one or more processing circuits. Here, the term "processing circuit" in this specification includes a processor programmed to perform each function by software, such as a processor implemented by an electronic circuit, as well as devices such as an ASIC (Application Specific Integrated Circuit), a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), and conventional circuit modules designed to perform each of the above-described functions. [Explanation of symbols]
[0128] 10 equipment 30 Application Publishing Device 40 First Information Processing System 50 Second Information Processing System 60 File Management Servers [Prior art documents] [Patent documents]
[0129] [Patent Document 1] Japanese Patent Application Laid-Open No. 2012-203430
Claims
1. A device capable of communicating with one or more information processing devices that provide applications to the device via a network, a communication unit that requests information about applications that can be installed on the device or applications that should be uninstalled from the information processing device; an installation processing unit that installs an application on the device in accordance with information on the application that can be installed on the device, received from the information processing device; an uninstallation processing unit that uninstalls the application to be uninstalled in accordance with information regarding the application to be uninstalled received from the information processing device, The device belongs to a tenant, The device stores the installation source of the application installed on the device, The uninstallation processing unit is configured to determine whether an application included in the information about the application to be uninstalled is an application for which the contract period for the application with the tenant has expired and which has been installed from a predetermined installation source, determining for each application whether a predetermined library has been imported based on meta information of the application; An apparatus characterized in that the application that does not incorporate a predetermined library is uninstalled, and the application that incorporates the predetermined library is not uninstalled.
2. The applications that can be installed are applications that are within the contract period for the applications by the tenant, The device according to claim 1 , wherein the installation processing unit installs the installable application.
3. the communication unit receives from the information processing device the latest version of the application that can be installed on the device; The device described in claim 2, characterized in that if the version of the application installed on the device is older than the latest version, the installation processing unit requests the information processing device to upgrade the installed application and installs the latest version of the application received from the information processing device.
4. A communication unit that requests information about applications that can be installed on a device or applications that should be uninstalled from an information processing device; an installation processing unit that installs an application on the device in accordance with information on the application that can be installed on the device, received from the information processing device; an uninstallation processing unit that uninstalls the application to be uninstalled in accordance with information regarding the application to be uninstalled received from the information processing device, The device belongs to a tenant, The device stores the installation source of the application installed on the device, The uninstallation processing unit is configured to determine whether an application included in the information about the application to be uninstalled is an application for which the contract period for the application with the tenant has expired and which has been installed from a predetermined installation source, determining for each application whether a predetermined library has been imported based on meta information of the application; 1. An information processing apparatus that provides an application to a device, the information processing apparatus uninstalling the application that does not incorporate a predetermined library and not uninstalling the application that incorporates the predetermined library, a communication unit that receives, from the device, a request for information regarding applications that can be installed on the device or that should be uninstalled on the device; The information processing apparatus is characterized in that the communication unit transmits to the device information regarding applications that can be installed in the device or applications that should be uninstalled.
5. A communication system in which a device and one or more information processing devices that provide applications to the device can communicate with each other via a network, The device comprises: a communication unit that requests information about applications that can be installed on the device or applications that should be uninstalled from the information processing device; an installation processing unit that installs an application on the device in accordance with information on the application that can be installed on the device, received from the information processing device; an uninstallation processing unit that uninstalls the application to be uninstalled in accordance with information regarding the application to be uninstalled received from the information processing device, The device belongs to a tenant, The device stores the installation source of the application installed on the device, The uninstallation processing unit is configured to determine whether an application included in the information about the application to be uninstalled is an application for which the contract period for the application with the tenant has expired and which has been installed from a predetermined installation source, determining for each application whether a predetermined library has been imported based on meta information of the application; a communication system comprising: an application that does not incorporate a predetermined library; an application that does incorporate the predetermined library; and an application that does not incorporate the predetermined library;
Citation Information
Patent Citations
Application management system
JP2012053836A
Remote management device, remote management system, and remote management program
JP2012203430A
Management device, method, and program
JP2021129279A
System and method for detecting malicious of application, recording medium for performing the method
KR1020180054390A