Information processing apparatus, information processing system, information processing method, and program

The information processing apparatus controls service linkages by activating and deactivating them based on user permissions, addressing the issue of unauthorized access in service linkage, ensuring authorized access to linked services.

JP7711810B2Active Publication Date: 2025-07-23RICOH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024095609
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-06-13
Publication Date
2025-07-23
Estimated Expiration
2040-08-03

AI Technical Summary

Technical Problem

Existing systems fail to appropriately control the linkage function between services that a logged-in user can access, even if the user only has rights to one of the linked services.

Method used

An information processing apparatus with a linkage function activation unit and a per-user linkage function control unit that manages the activation and deactivation of service linkages based on user permissions, ensuring only authorized users can access linked services.

Benefits of technology

Enables controlled use of linkage functions between services, ensuring that users can only access linked services for which they have rights, thereby maintaining service integrity and user authorization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007711810000001
    Figure 0007711810000001
  • Figure 0007711810000002
    Figure 0007711810000002
  • Figure 0007711810000003
    Figure 0007711810000003
Patent Text Reader

Abstract

To properly control use of a cooperative function to another service by a user who has logged in to use one service when the user wants to use a service and there is another service cooperative with the service that the user is going to use.SOLUTION: The information processor includes: a cooperative function validation unit for validating a cooperative function from a service of a cooperation source to a service of a cooperation destination when a contract user can use both the services; and a user-specific cooperative function control unit for disabling use of a cooperative function by a user who has logged in when the user managed by the contract user is not authorized to use the service of the cooperation destination.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus, an information processing system, an information processing method, and a program.

Background Art

[0002] Patent Document 1 below discloses a technique related to a service providing system that provides a plurality of services. By logging in to the service providing system using login information including an organization ID, a user can be allowed to use services that are contractually available and associated with the organization ID.

Summary of the Invention

Problems to be Solved by the Invention

[0003] However, in the prior art, even if services that are contractually available can be presented, there is a problem that when a logged-in user has the right to use only one of two services that can be linked to each other, the service linkage cannot be appropriately controlled.

[0004] In order to solve the above-described problems of the prior art, the present invention aims to appropriately control the use of a linkage function to another service by a logged-in user when there is another service that can be linked to the service being used by the logged-in user.

Means for Solving the Problems

[0005] In order to solve the above-described problems, an information processing apparatus according to an embodiment includes a linkage function activation unit that activates a linkage function from a source service to a destination service when a contract user can use both the source service and the destination service, and a per-user linkage function control unit that invalidates the use of the linkage function by a logged-in user when the logged-in user managed by the contract user does not have the right to use the destination service.

Effects of the Invention

[0006] According to one embodiment, when a logged-in user uses a service, if there is another service that can be linked to the service, the use of the linking function to the other service by the logged-in user can be appropriately controlled.

Brief Description of the Drawings

[0007]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22

Figure 23

Figure 24

Figure 25

Figure 26

MODE FOR CARRYING OUT THE INVENTION

[0008] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

[0009] (Overview of Integrated Service Provision System 20) First, referring to FIG. 1, an overview of an integrated service providing system 20 according to an embodiment of the present invention will be described. FIG. 1 is a diagram showing an overview of the integrated service providing system 20 according to an embodiment of the present invention.

[0010] The integrated service providing system 20 shown in FIG. 1 enables the integrated management of all things related to an office (for example, users, devices, documents, conference rooms, etc.) using a plurality of services 200.

[0011] As shown in FIG. 1, the integrated service providing system 20 includes, as an example of a plurality of services 200, a resource management service 200A, a report service 200B, a wireless management service 200C, a document management service 200D, a print service 200E, and a workflow service 200F.

[0012] The integrated service providing system 20 also includes a management server 300. The management server 300 is the same as that described hereinafter with reference to FIG. 2 and functions as a platform for integrally managing a plurality of services 200A to 200F. For example, as shown in FIG. 1, the management server 300 has a user management function, a device management function, a print service function, an activity log function, and the like. The print service function is, for example, a function that provides a printing function for performing printing by a company-owned printing device 31 (MFP, printer, etc.) managed by the management server 300 to an end user 19 (an example of a "contract user"). The activity log function is, for example, a function for acquiring logs of the number of printed sheets and scanned sheets by a device, or acquiring logs of the number of contracts of a dealer 18 (sales agency). The customer user 17 and the dealer 18 can access the management server 300 by an arbitrary terminal device (for example, the smartphone 34, PC 35, etc. shown in FIG. 1) and use the management functions permitted to themselves among the plurality of management functions provided by the management server 300.

[0013] The resource management service 200A provides a resource management function for managing office resources (e.g., electronic blackboards, conference rooms, etc.). For example, the end user 19 can perform reservation management of the conference room and the like by using the resource management service 200A.

[0014] The report service 200B provides a report creation function and an output function. The wireless management service 200C provides a wireless device management function for managing various wireless devices.

[0015] The document management service 200D provides a document management function for managing a plurality of documents for the end user 19. The print service 200E provides a print function for the end user 19 to perform printing by a printing device 32 (MFP, printer, etc.) manufactured by another company connected to the print service 200E.

[0016] The workflow service 200F provides a workflow creation function and an execution function for the end user 19. For example, by using the workflow provided by the workflow service 200F, character recognition can be performed on an image formed by the scanner function of an image reading device 33 (e.g., MFP, etc.) by performing OCR processing, and the recognition result can be saved in a predetermined folder. Also, for example, by using the workflow provided by the workflow service 200F, an arbitrary in-company document review and approval process and the like can be performed.

[0017] Among these multiple services 200A to 200F, some have functions to cooperate with other services 200 (for example, the cooperation function with the print service 200E in the workflow service 200F). Also, the end user 19 can contract and use only the necessary services 200 among these multiple services 200A to 200F. For this reason, as will be specifically described after FIG. 2, the management server 300 has a function (hereinafter referred to as "activation / inactivation function") that can activate and inactivate the cooperation function of each service 200 according to the contract status of the service 200 by the end user 19.

[0018] Examples 1 to 8 of the application of the activation / deactivation function in the integrated service provision system 20 shown in FIG. 1 are described below.

[0019] (Example 1) The activation / deactivation function is applied to the cooperation between the resource management service 200A and the report service 200B. For example, the usage status of the conference rooms (e.g., occupancy rate, number of users, etc.) managed by the resource management service 200A may be output as a report. In this case, on the setting screen of the report service 200B, each conference room managed by the resource management service 200A is displayed (activated) or hidden (deactivated) as an option for the acquisition destination of the report output target data (an example of a "GUI component") according to the presence or absence of a contract and usage authority of the resource management service 200A.

[0020] (Example 2) The activation / deactivation function is applied to the cooperation between the wireless management service 200C and the report service 200B. For example, the concentration status of access in a specific wireless LAN device may be output as a report. In this case, on the setting screen of the report service 200B, each wireless device managed by the wireless management service 200C is displayed (activated) or hidden (deactivated) as an option for the acquisition destination of the report output target data (an example of a "GUI component") according to the presence or absence of a contract and usage authority of the wireless management service 200C.

[0021] (Example 3) Apply the activation / deactivation function to the cooperation between the document management service 200D and the printing service 200E. For example, when periodically printing the documents managed by the document management service 200D, etc., there may be a case where a print request is periodically sent from the document management service 200D to the printing service 200E. In this case, on the setting screen of the document management service 200D, as an option for the output destination of the print request (an example of a "GUI component"), the printing service 200E is displayed (activated) or hidden (deactivated) according to the presence or absence of a contract and the usage permission of the printing service 200E.

[0022] (Application Example 4) Apply the activation / deactivation function to the cooperation between the printing service 200E and the report service 200B. For example, there may be a case where the number of printed sheets managed by the printing service 200E is periodically totaled and a report is output. In this case, on the setting screen of the report service 200B, as an option for the acquisition destination of the report output target data (an example of a "GUI component"), the printing service 200E is displayed (activated) or hidden (deactivated) according to the presence or absence of a contract and the usage permission of the printing service 200E.

[0023] (Application Example 5) Apply the activation / deactivation function to the cooperation between the workflow service 200F and the report service 200B. For example, there may be a case where the execution count, success, and failure results of the workflow managed by the workflow service 200F are totaled and a report is output. In this case, on the setting screen of the report service 200B, as an option for the acquisition destination of the report output target data (an example of a "GUI component"), the workflow service 200F is displayed (activated) or hidden (deactivated) according to the presence or absence of a contract and the usage permission of the workflow service 200F.

[0024] (Application Example 6) Apply the activation / deactivation function to the cooperation between the workflow service 200F and the document management service 200D. For example, as a result of the execution of the workflow service 200F, PDF or Form information may be saved to the document management service 200D. In this case, on the setting screen of the workflow service 200F, as an option for the storage destination of the data to be stored (an example of a "GUI component"), the document management service 200D is displayed (activated) or hidden (deactivated) according to the existence of a contract for the document management service 200D and the existence of usage rights.

[0025] (Application Example 7) Apply the activation / deactivation function to the cooperation between the resource management service 200A and the print service 200E that performs printing. For example, by selecting the cooperation button with the print service 200E displayed on the electronic blackboard managed by the resource service, the data displayed on the electronic blackboard may be printed by a print device available from the print service 200E. In this case, on the electronic blackboard, according to the existence of a contract for the print service 200E and the existence of usage rights, the cooperation button with the print service 200E is displayed (activated) or hidden (deactivated) by the control from the resource service.

[0026] (Application Example 8) Apply the activation / deactivation function to the cooperation between the resource management service 200A and the workflow service 200F. For example, by selecting the cooperation button with the workflow service 200F displayed on the electronic blackboard managed by the resource service, the data displayed on the electronic blackboard may be input into the workflow (workflow for review / approval) of the workflow service 200F. In this case, on the electronic blackboard, according to the existence of a contract for the workflow service 200F and the existence of usage rights, the cooperation button with the workflow service 200F (for example, the "review request" button illustrated in FIG. 25) is displayed (activated) or hidden (deactivated) by the control from the resource service.

[0027] Hereinafter, with reference to FIGS. 2 to 26, an information processing system 10 capable of realizing the integrated service providing system 20 shown in FIG. 1 will be specifically described.

[0028] (Configuration of Information Processing System 10) FIG. 2 is a diagram showing the configuration of an information processing system 10 according to an embodiment of the present invention. As shown in FIG. 2, the information processing system 10 of this embodiment includes an electronic blackboard 100, an MFP 900, a plurality of services 200, a management server 300, and a management terminal 500. These plurality of devices can communicate with each other via a communication network 12.

[0029] The plurality of services 200 are provided in the cloud system 14. The plurality of services 200 are provided to a plurality of terminal devices including the electronic blackboard 100 and the MFP 900 via the communication network 12, and thus can be used by the plurality of terminal devices including the electronic blackboard 100 and the MFP 900. Examples of the service 200 include various services such as a print service, a document management service, a workflow service, and a contract management service. The plurality of services 200 can include not only the services 200 provided by the company itself (i.e., the company that is the management entity of the plurality of services 200) that provides the management server 300, but also the services 200 provided by other companies.

[0030] The electronic blackboard 100 is a device used by meeting participants and the like in a conference room or the like within an office. For example, the electronic blackboard 100 can display images and write on the images. Further, the electronic blackboard 100 can utilize a plurality of services 200 (for example, a print service, a document management service, a workflow service, etc.) provided from the cloud system 14 via the communication network 12. For example, the electronic blackboard 100 can use the print service to print an image displayed on the display 180 (see FIG. 3) by a printing device connected to the print service. Also, for example, the electronic blackboard 100 can use the document management service to save an image file representing the image displayed on the display 180 to a file server or the like. Also, for example, the electronic blackboard 100 can execute a workflow using an image file representing the image displayed on the display 180 by using the workflow service.

[0031] The MFP 900 is a device used by employees and the like within an office or the like. For example, the MFP 900 has a scanner function, a printer function, a copy function, a document box function, a facsimile function, and the like. Further, the MFP 900 can utilize a plurality of services 200 (for example, a print service, a document management service, a workflow service, etc.) provided from the cloud system 14 via the communication network 12. For example, the MFP 900 can use the print service to print an image read by the scanner function by a printing device connected to the print service. Also, for example, the MFP 900 can use the document management service to save an image file formed by reading an image by the scanner function to a file server or the like. Also, for example, the MFP 900 can execute a workflow using an image file formed by reading an image by the scanner function by using the workflow service.

[0032] In the present embodiment, an electronic blackboard 100 and an MFP 900 are used as examples of "terminal devices" that can use a plurality of services 200. However, the present invention is not limited to this, and as the "terminal device" that can use a plurality of services 200, a PC, a tablet terminal, a smartphone, a video conferencing terminal, a camera, a scanner, a projector, a handy printer, etc. can be used.

[0033] The management server 300 is an example of an "information processing device". The management server 300 is provided in the cloud system 14. The management server 300 functions as a platform for integrally managing a plurality of services 200. For example, the management server 300 can perform various management related to the service 200, such as management of contract users of the service 200, management of the service 200, and contract management of the service 200. For example, the management server 300 manages login information, contract information, etc. for each contract user of the service 200. Thereby, the contract user can log in to the cloud system 14 using his / her own login information from the electronic blackboard 100, MFP 900, or other terminal devices, and use the service 200 that he / she has contracted among the plurality of services 200 provided by the cloud system 14.

[0034] In this system, the "contract user" means a user to whom the authority (new contract or contract cancellation) as a user who has contracted for a service is given. Also, the "contract user" is not limited to an individual unit, and may be a group unit to which a plurality of individuals belong, such as an organizational unit or a corporate unit. Also, when the "contract user" is an individual unit, the user may be an administrator. On the other hand, the "login user" means a user who can use the service by logging in to the service provided by this system using a user ID and a password. In this system, for each service contracted by a "contract user", the administrator of the service grants and manages the use authority to one or a plurality of "login users".

[0035] The management terminal 500 is a terminal device used by a contract administrator 16 (an example of a "person related to the contract user", for example, the dealer 18 shown in FIG. 1) who manages contracts. In the present embodiment, a PC is used as the management terminal 500, but other terminal devices may also be used. For example, the management terminal 500 is used by the contract administrator 16 when making a new contract, an additional contract, and a contract cancellation for a specific contract user with respect to the service 200. For example, the contract administrator 16 can log in from the management terminal 500 to the management server 300 to make a new contract (i.e., activation of the service 200), an additional contract (i.e., activation of the service 200), and a contract cancellation (i.e., deactivation of the service 200) for a specific contract user with respect to a specific service 200.

[0036] (Hardware Configuration of the Electronic Blackboard 100) FIG. 3 is a hardware configuration diagram of the electronic blackboard 100. As shown in FIG. 3, the electronic blackboard 100 includes a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, an SSD (Solid State Drive) 104, a network I / F 105, and an external device connection I / F (Interface) 106.

[0037] Among these, the CPU 101 controls the operation of the entire electronic blackboard 100. The ROM 102 stores programs used for driving the CPU 101 such as the CPU 101 and the IPL (Initial Program Loader). The RAM 103 is used as a work area for the CPU 101. The SSD 104 stores various data such as programs for the electronic blackboard 100. The network I / F 105 controls communication with the communication network 12. The external device connection I / F 106 is an interface for connecting various external devices. The external devices in this case are, for example, a USB (Universal Serial Bus) memory 130 and external devices (a microphone 140, a speaker 150, a camera 160).

[0038] Further, the electronic blackboard 100 includes a capture device 111, a GPU (Graphics Processing Unit) 112, a display controller 113, a touch sensor 114, a sensor controller 115, an electronic pen controller 116, a short-distance communication circuit 119, an antenna 119a of the short-distance communication circuit 119, a power switch 122, and selection switches 123.

[0039] Among these, the capture device 111 displays video information as a still image or a moving image on the display of an external PC (Personal Computer) 170. The GPU 112 is a semiconductor chip specialized in handling graphics. The display controller 113 controls and manages screen display to output the output image from the GPU 112 to the display 180 or the like. The touch sensor 114 detects that an electronic pen 190, the user's hand H, etc. have touched the display 180. The sensor controller 115 controls the processing of the touch sensor 114. The touch sensor 114 performs coordinate input and coordinate detection by an infrared blocking method. The method of this coordinate input and coordinate detection is that two light emitting and receiving devices installed at both upper ends of the display 180 emit a plurality of infrared rays parallel to the display 180, and the light is reflected by a reflecting member provided around the display 180 and returns on the same optical path as the optical path of the light emitted by the light receiving element, and the light receiving element receives the light. The touch sensor 114 outputs the IDs of the infrared rays emitted by the two light emitting and receiving devices blocked by an object to the sensor controller 115, and the sensor controller 115 specifies the coordinate position which is the contact position of the object. The electronic pen controller 116 determines the presence or absence of pen tip touch and pen butt touch on the display 180 by communicating with the electronic pen 190. The short-distance communication circuit 119 is a communication circuit such as NFC (Near Field Communication) or Bluetooth (registered trademark). The power switch 122 is a switch for switching the ON / OFF of the power of the electronic blackboard 100. The selection switches 123 are, for example, a group of switches for adjusting the brightness, color tone, etc. of the display of the display 180.

[0040] Furthermore, the electronic blackboard 100 includes a bus line 110. The bus line 110 is an address bus, a data bus, etc. for electrically connecting each component such as the CPU 101 shown in FIG. 3.

[0041] Note that the contact sensor 114 is not limited to the infrared interruption method, and various detection means such as a capacitance type touch panel that identifies the contact position by detecting a change in capacitance, a resistive film type touch panel that identifies the contact position by a voltage change between two opposed resistive films, and an electromagnetic induction type touch panel that identifies the contact position by detecting electromagnetic induction generated when a contact object contacts the display unit may be used. Also, the electronic pen controller 116 may be configured to determine the presence or absence of touch not only at the tip and the butt of the electronic pen 190 but also at the portion held by the user of the electronic pen 190 and other portions of the electronic pen.

[0042] (Hardware Configuration of MFP900) FIG. 4 is a hardware configuration diagram of the MFP900. As shown in FIG. 4, the MFP (Multifunction Peripheral / Product / Printer) 900 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.

[0043] Among these, the controller 910 has a CPU 901, which is the main part of a 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 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.

[0044] Among these, the CPU 901 is a control unit that performs overall control of the MFP 900. The NB 903 is a bridge for connecting the CPU 901 to the MEM-P 902, SB 904, and the AGP bus 921, and has a memory controller that controls reading and writing to the MEM-P 902, and a PCI (Peripheral Component Interconnect) master and an AGP target.

[0045] The MEM-P 902 consists of a ROM 902a, which is a memory for storing programs and data for realizing the functions of the controller 910, and a RAM 902b, which is used as a memory for expanding programs and data and for drawing during memory printing. Note that the programs stored in the RAM 902b may be provided by recording them in an installable or executable file format on a computer-readable recording medium such as a CD-ROM, CD-R, or DVD.

[0046] The SB 904 is a bridge for connecting the NB 903 to PCI devices and peripheral devices. The ASIC 906 is an IC (Integrated Circuit) for image processing applications that has hardware elements for image processing, and serves as a bridge for connecting the AGP bus 921, PCI bus 922, HDD controller 908, and MEM-C 907, respectively. This ASIC 906 includes a PCI target and an AGP master, an arbiter (ARB) that forms the core of the ASIC 906, a memory controller that controls the MEM-C 907, a plurality of DMACs (Direct Memory Access Controllers) that perform operations such as rotation of image data by means of hardware logic, etc., and a PCI unit that performs data transfer between the scanner unit 931 and the printer unit 932 via the PCI bus 922. Note that interfaces for USB (Universal Serial Bus) and IEEE 1394 (Institute of Electrical and Electronics Engineers 1394) may be connected to the ASIC 906.

[0047] MEM-C907 is local memory used as an image buffer for copying and a code buffer. HD909 is storage for accumulating image data, font data used during printing, and forms. HD909 controls the reading or writing of data to HD909 according to the control of CPU901. The AGP bus 921 is a bus interface for a graphics accelerator card proposed to speed up graphic processing. By directly accessing MEM-P902 with high throughput, the graphics accelerator card can be made faster.

[0048] Also, the short-range communication circuit 920 is provided with an antenna 920a. The short-range communication circuit 920 is a communication circuit such as NFC or Bluetooth.

[0049] Furthermore, the engine control unit 930 is composed of a scanner unit 931 and a printer unit 932. Also, the operation panel 940 includes a panel display unit 940a such as a touch panel that displays current setting values, selection screens, etc. and receives inputs from the operator, and an operation panel 940b consisting of a numeric keypad that receives setting values for conditions related to image formation such as density setting conditions and a start key that receives a copy start instruction. The controller 910 controls the entire MFP900, for example, controls drawing, communication, inputs from the operation panel 940, etc. The scanner unit 931 or the printer unit 932 includes an image processing part such as error diffusion or gamma conversion.

[0050] Note that the MFP900 can sequentially switch and select the document box function, copy function, printer function, and facsimile function by using the application switching key on the operation panel 940. When the document box function is selected, it becomes the document box mode, when the copy function is selected, it becomes the copy mode, when the printer function is selected, it becomes the printer mode, and when the facsimile mode is selected, it becomes the facsimile mode.

[0051] The network I / F 950 is an interface for data communication using the communication network 12. The short-range communication circuit 920 and the network I / F 950 are electrically connected to the ASIC 906 via the PCI bus 922.

[0052] (Hardware Configuration of the Management Server 300) FIG. 5 is a hardware configuration diagram of the management server 300. As shown in FIG. 5, the management server 300 is constructed by a computer and includes, as shown in FIG. 5, a CPU 301, a ROM 302, a RAM 303, an HD 304, an HDD (Hard Disk Drive) controller 305, a display 306, an external device connection I / F (Interface) 308, a network I / F 309, a bus line 310, a keyboard 311, a pointing device 312, a DVD-RW (Digital Versatile Disk Rewritable) drive 314, and a media I / F 316.

[0053] Among these, the CPU 301 controls the overall operation of the management server 300. The ROM 302 stores programs used for driving the CPU 301 such as IPL. The RAM 303 is used as a work area for the CPU 301. The HD 304 stores various data such as programs. The HDD controller 305 controls the reading or writing of various data to / from the HD 304 according to the control of the CPU 301. The display 306 displays various information such as a cursor, a menu, a window, characters, or images. The external device connection I / F 308 is an interface for connecting various external devices. The external devices in this case are, for example, a USB (Universal Serial Bus) memory, a printer, etc. The network I / F 309 is an interface for data communication using the communication network 12. The bus line 310 is an address bus, a data bus, etc. for electrically connecting the components such as the CPU 301 shown in FIG. 5.

[0054] Also, the keyboard 311 is a type of input means having a plurality of keys for inputting characters, numerical values, various instructions, etc. The pointing device 312 is a type of input means for selecting and executing various instructions, selecting a processing target, moving a cursor, etc. The DVD-RW drive 314 controls reading or writing of various data with respect to the DVD-RW 313 as an example of a removable recording medium. Note that it is not limited to DVD-RW, and it may be DVD-R or the like. The media I / F 316 controls reading or writing (storage) of data with respect to the recording medium 315 such as a flash memory.

[0055] (Hardware Configuration of the Management Terminal 500) FIG. 6 is a hardware configuration diagram of the management terminal 500. As shown in FIG. 6, the management terminal 500 is constructed by a computer, and as shown in FIG. 6, it includes a CPU 501, a ROM 502, a RAM 503, an 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.

[0056] Among these, the CPU 501 controls the operation of the entire management terminal 500. The ROM 502 stores programs used for driving the CPU 501 such as 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 or writing of various data to and from the HD 504 according to the control of the CPU 501. The display 506 displays various information such as a cursor, menu, window, characters, or images. The external device connection I / F 508 is an interface for connecting various external devices. The external devices in this case are, for example, a USB (Universal Serial Bus) memory, a printer, and the like. The network I / F 509 is an interface for performing data communication using the communication network 12. The bus line 510 is an address bus, a data bus, etc. for electrically connecting each component such as the CPU 501 shown in FIG. 6.

[0057] Also, the keyboard 511 is a kind of input means having a plurality of keys for input such as characters, numerical values, and various instructions. The pointing device 512 is a kind of input means for selecting and executing various instructions, selecting a processing target, moving a cursor, and the like. The DVD-RW drive 514 controls the reading or writing of various data to and from the DVD-RW 513 as an example of a removable recording medium. Note that it is not limited to DVD-RW, and it may be DVD-R or the like. The media I / F 516 controls the reading or writing (storage) of data to and from the recording medium 515 such as a flash memory.

[0058] (Functional Configuration of the Management Server 300) FIG. 7 is a diagram showing the functional configuration of the management server 300 according to an embodiment of the present invention. As shown in FIG. 7, the management server 300 includes a storage unit 320, a contract information reception unit 331, a service activation unit 332, a cooperation service identification unit 333, a cooperation function activation unit 334, a contract user notification unit 335, a contract user confirmation unit 336, a user authentication unit 340, and a per-user cooperation function control unit 341.

[0059] The storage unit 320 stores various databases. Specifically, the storage unit 320 stores a contract information DB 321, a linkage definition information DB 322, a linkage usage information DB 323, a user information DB 324, and a user authority information DB 325. The contract information DB 321 stores contract information indicating which services each contract user has contracted for (i.e., which services are available for use). The linkage definition information DB 322 stores linkage definition information indicating which services each service is linked to. The linkage usage information DB 323 stores linkage usage information indicating which service linkages each contract user is actually using. The user information DB 324 stores user information for each logged-in user. The user information includes at least a user ID and a password necessary for user authentication processing. The user authority information DB 325 stores information regarding the usage authority of each service for each logged-in user (for example, whether the user has user authority, whether the user has administrator authority). Specific examples of the contract information DB 321, the linkage definition information DB 322, the linkage usage information DB 323, and the user authority information DB 325 will be described later with reference to FIGS. 8 to 12.

[0060] The contract information receiving unit 331 receives the contract information of the service transmitted from the management terminal 500. For example, the contract information receiving unit 331 receives the contract information of a new contract, the contract information of an additional contract, or the contract information of a contract cancellation.

[0061] The contract information of a new contract is transmitted from the management terminal 500 when the contract administrator 16 makes a new contract for service 200 for a specific contract user from the management terminal 500, and includes at least the contract user ID of the contract user making the new contract and the service ID of service 200 for which the new contract is made.

[0062] The contract information for an additional contract is transmitted from the management terminal 500 when the contract administrator 16 makes an additional contract for the service 200 for a specific contract user from the management terminal 500, and includes at least the contract user ID of the contract user who makes the additional contract and the service ID of the service 200 for which the additional contract is made.

[0063] The contract information for contract cancellation is transmitted from the management terminal 500 when the contract administrator 16 cancels the contract for the service 200 for a specific contract user from the management terminal 500, and includes at least the contract user ID of the contract user who cancels the contract and the service ID of the service 200 for which the contract cancellation is made.

[0064] The service activation unit 332 activates or deactivates the service 200 based on the contract information received by the contract information reception unit 331.

[0065] For example, when the contract information reception unit 331 receives the contract information for a new contract, the service activation unit 332 sets "valid" in the contract information DB 321 for the combination of the contract user ID of the contract user who makes the new contract and the service ID of the service 200 for which the new contract is made shown in the contract information. Thereby, the service 200 for which the new contract is made is activated.

[0066] Also, for example, when the contract information reception unit 331 receives the contract information for an additional contract, the service activation unit 332 sets "valid" in the contract information DB 321 for the combination of the contract user ID of the contract user who makes the additional contract and the service ID of the service 200 for which the additional contract is made shown in the contract information. Thereby, the service 200 for which the additional contract is made is activated.

[0067] Also, for example, when the contract information receiving unit 331 receives contract cancellation contract information, the service activation unit 332 sets "invalid" in the contract information DB 321 for the combination of the contract user ID of the contract user who cancels the contract and the service ID of the service 200 for which the contract cancellation is made, as indicated in the contract information. As a result, the service 200 for which the contract cancellation is made is deactivated.

[0068] When the service activation unit 332 activates or deactivates the service 200, the linked service specifying unit 333 specifies other services 200 linked to the service 200 based on the linked definition information DB 322.

[0069] When the linked service specifying unit 333 specifies other services 200 linked to the activated service 200, the linked function activation unit 334 notifies the service 200 that is the source of the link to activate the linked function with the service 200 that is the destination of the link, among the activated service 200 and the other services 200 specified by the linked service specifying unit 333. For example, in response to this notification, the service 200 that is the source of the link activates the GUI component (e.g., selection button) of the linked function with the service 200 that is the destination of the link.

[0070] Also, when the linked service specifying unit 333 specifies other services 200 linked to the deactivated service 200, the linked function activation unit 334 notifies the other services 200 to deactivate the linked function with the deactivated service 200. For example, in response to this notification, the other services 200 deactivate the GUI component (e.g., selection button) of the linked function with the deactivated service 200.

[0071] When a certain service 200 is additionally contracted by a contract user, and as a result, the added service 200 (the service 200 to be linked to) can be used in cooperation with another service 200 (the service 200 serving as the cooperation source), the contract user notification unit 335 notifies the contract user who has made the additional contract that the service 200 to be linked to can be used in cooperation with the service 200 serving as the cooperation source. For example, this notification is realized by sending a message to the terminal device used by the contract user who has made the additional contract.

[0072] When a certain service 200 is canceled by a contract user, and as a result, the canceled service 200 (the service 200 serving as the cooperation destination) can no longer be used in cooperation with another service 200 (the service 200 serving as the cooperation source), the contract user confirmation unit 336 confirms with the contract user whether the canceled service 200 may be invalidated. For example, this confirmation is realized by sending a message to the terminal device used by the contract user who has canceled the contract.

[0073] The user authentication unit 340 acquires the login information transmitted from various terminal devices used by the logged-in user, and performs authentication processing for the logged-in user based on the login information. Specifically, when the combination of the user ID and password included in the login information transmitted from various terminal devices matches the combination of the user ID and password stored in advance in the user information DB 324, the user authentication unit 340 determines "success" as the result of the authentication processing for the logged-in user. In this case, for example, the user authentication unit 340 notifies the service 200 in which the contract user to which the logged-in user who has performed the login process belongs is contracting, together with the user ID, of the user authentication processing result indicating that the authentication processing for the logged-in user has been successful. In addition, the user authentication unit 340 also notifies the logged-in user who has performed the login process of the user authentication processing result indicating that the authentication processing for the logged-in user has been successful. As a result, the logged-in user who has performed the login process can use the service 200 in which the contract user to which the user belongs is contracting from various terminal devices. On the other hand, when the combination of the user ID and password included in the login information transmitted from various terminal devices does not match the combination of the user ID and password stored in advance in the user information database, the user authentication unit 340 determines "failure" as the result of the authentication processing for the logged-in user. In this case, for example, the user authentication unit 340 notifies the logged-in user who has performed the login process that the login process has failed.

[0074] Note that each function of the embodiment described above can be realized by one or a plurality of processing circuits. Here, the "processing circuit" in this specification refers to a processor programmed to execute each function by software, such as a processor implemented by an electronic circuit, an ASIC (Application Specific Integrated Circuit) designed to execute each function described above, a DSP (digital signal processor), an FPGA (field programmable gate array), or a device such as a conventional circuit module.

[0075] The per-user cooperation function control unit 341 controls the activation and deactivation of the cooperation function of the service for each logged-in user. Specifically, when the logged-in user uses the source service 200 for cooperation, the per-user cooperation function control unit 341 determines whether the logged-in user has the right to use the destination service 200 based on the user authority information DB 325. Then, when the per-user cooperation function control unit 341 determines that the logged-in user does not have the right to use the destination service 200, it deactivates the cooperation function (for example, the GUI component) of the source service 200 for the destination service 200 that the source service 200 has.

[0076] (Specific example of the contract information DB 321) FIG. 8 is a diagram showing a specific example of the contract information DB321 according to an embodiment of the present invention. As shown in FIG. 8, for each contract user ID for identifying a contract user of the service 200, information indicating whether each of a plurality of services ("ServiceA", "ServiceB", "ServiceC") provided from the cloud system 14 is valid or invalid ("valid" or "invalid") is associated. For example, in the example shown in FIG. 8, for the contract user ID "Company1", "valid" is associated with each of the service IDs "ServiceA", "ServiceB", "ServiceC". This indicates that the contract user having the contract user ID "Company1" can use each of the three services "ServiceA", "ServiceB", "ServiceC". Also, for example, in the example shown in FIG. 8, for the contract user ID "Company2", "valid" is associated with each of the service IDs "ServiceA", "ServiceB", but for the service ID "ServiceC", "invalid" is associated. This indicates that the contract user having the contract user ID "Company2" can use each of the services "ServiceA", "ServiceB" (i.e., the contract has been completed), and the service "ServiceC" cannot be used (i.e., the contract has not been completed). For example, the contract user ID is set for each organization within a company called a tenant. However, it is not limited to this, and the contract user ID may be set for other units (for example, for each individual within a company). Also, in the contract information DB321 shown in FIG. 8, valid and invalid are shown for each tenant and each service, but it is not limited to this. For example, valid and invalid may be shown for each user belonging to a tenant and each service. Also, the contract information DB321 may store only combinations of activated contract user IDs and service IDs.

[0077] (Specific example of the cooperation definition information DB322) FIG. 9 is a diagram showing a specific example of the cooperation definition information DB322 according to an embodiment of the present invention. As shown in FIG. 9, the cooperation definition information DB322 stores a cooperation definition information ID for identifying the cooperation of the service 200, a service ID for identifying the source service 200, and a service ID for identifying the destination service 200 that can cooperate with the service 200, in an associated manner. For example, in the example shown in FIG. 9, the service IDs "ServiceB" and "ServiceC" of the destination service 200 are associated with the service ID "ServiceA" of the source service 200. This indicates that two services 200 having the service IDs "ServiceB" and "ServiceC" can be used in cooperation with the service 200 having the service ID "ServiceA".

[0078] Note that in the cooperation definition information DB322, it is possible to define one-way cooperation use and two-way cooperation use for a combination of two services 200.

[0079] For example, in the example shown in FIG. 9, the cooperation definition information DB322 stores cooperation definition information (cooperation definition information ID "1") with "ServiceA" as the source and "ServiceB" as the destination for the combination of "ServiceA" and "ServiceB", and cooperation definition information (cooperation definition information ID "3") with "ServiceB" as the source and "ServiceA" as the destination. That is, it is shown that two-way cooperation use is possible between "ServiceA" and "ServiceB".

[0080] On the other hand, in the example shown in FIG. 9, the cooperation definition information DB322 stores only cooperation definition information (cooperation definition information ID "2") with "ServiceA" as the source and "ServiceC" as the destination for the combination of "ServiceA" and "ServiceC". That is, it is shown that one-way cooperation use is possible between "ServiceA" and "ServiceC".

[0081] (Specific Example of User Authority Information DB 325) FIG. 10 is a diagram showing a specific example of the user authority information DB 325 according to an embodiment of the present invention. As shown in FIG. 10, for each of a plurality of login users who can use the service 200, the user authority information DB 325 stores, in association, a user ID for identifying the login user, a contract user ID of a contract user (e.g., company, department, etc.) to which the login user belongs, and the presence or absence of administrator authority and user authority for each service 200.

[0082] In FIG. 10, "True" indicates having authority. Also, "False" indicates not having authority. Further, "Null" indicates not having a contract for that service 200.

[0083] For example, in the example shown in FIG. 10, for a login user having the user ID "User1" in the user authority information DB 325, it belongs to a contract user having the contract user ID "Company1", and it is shown that for each of "ServiceA", "ServiceB", and "ServiceC", it has both administrator authority and user authority.

[0084] Also, in the example shown in FIG. 10, for a login user having the user ID "User2" in the user authority information DB 325, it belongs to a contract user having the contract user ID "Company1", and it is shown that for each of "ServiceA", "ServiceB", and "ServiceC", it does not have administrator authority but has user authority.

[0085] Also, in the example shown in FIG. 10, for a login user having the user ID "User3" in the user authority information DB 325, it belongs to a contract user having the contract user ID "Company1", and it is shown that for each of "ServiceA" and "ServiceC", it does not have administrator authority but has user authority, and for "ServiceB", it does not have both administrator authority and user authority.

[0086] Also, in the example shown in FIG. 10, the user authority information DB325 belongs to a contract user having a contract user ID “Company2” for a logged-in user having a user ID “User4”, and it is shown that the user has administrator authority and user authority for each of “ServiceA” and “ServiceB”, and it is shown that there is no contract for “ServiceC” (see FIG. 8).

[0087] Note that the contract administrator 16 can appropriately perform various setting changes (for example, addition of a logged-in user, deletion of a logged-in user, change of authority of a logged-in user) on the user authority information DB325 from the management terminal 500.

[0088] (Specific example of the linked usage information DB323) FIG. 11 is a diagram showing a specific example of the linked usage information DB323 according to an embodiment of the present invention. As shown in FIG. 11, the linked usage information DB323 stores a contract user ID for identifying a contract user of the service 200 and a linked definition information ID for identifying the link of the service 200 actually used by the contract user in association with each other. The linked definition information ID set in the linked usage information DB323 corresponds to the linked definition information ID set in the linked definition information DB322 shown in FIG. 9. For example, in the example shown in FIG. 11, the linked definition information IDs “1” and “3” are associated with the contract user ID “Company1”. This indicates that the contract user having the contract user ID “Company1” is actually using the link of the service 200 having the linked definition information ID “1” shown in FIG. 9 (link source = “ServiceA”, link destination = “ServiceB”) and the link of the service 200 having the linked definition information ID “3” shown in FIG. 9 (link source = “ServiceB”, link destination = “ServiceA”). Note that the registration of information in the linked usage information DB323 (that is, whether or not the linked function of the service 200 is being used) may be set manually by the contract administrator 16 from the management terminal 500, or may be set automatically by the management server 300 according to the usage status of the linked function of the service 200.

[0089] (Procedure for New Contract Processing) FIG. 12 is a flowchart showing the procedure for new contract processing by the management server 300 according to an embodiment of the present invention.

[0090] First, the contract information receiving unit 331 receives the contract information of the new contract transmitted from the management terminal 500 via the communication network 12 (step S1001). The contract information of the new contract includes at least a contract user ID for identifying the contract user and a service ID for identifying the service 200 for which the new contract is made. When a new contract is made for a plurality of services 200, the contract information of the new contract includes the service IDs of each of the plurality of services 200.

[0091] Next, the service activation unit 332 activates the service 200 for which the new contract is made for the contract user who has made the new contract based on the contract information of the new contract received in step S1001 (step S1002). Specifically, the service activation unit 332 sets "valid" in the contract information DB 321 for the combination of the contract user ID of the contract user who has made the new contract and the service ID of the service 200 for which the new contract is made.

[0092] Next, the associated service specifying unit 333 specifies the service 200 that is associated with the service 200 for which the new contract is made (step S1003). Specifically, the associated service specifying unit 333 refers to the association definition information DB 322 to specify the service IDs of other services 200 that are associated with the service ID of the service 200 for which the new contract is made as the services 200 that are associated with the service 200 for which the new contract is made. For example, when the service 200 for which the new contract is made is "ServiceA", the associated service specifying unit 333 specifies "ServiceB" and "ServiceC" as the services 200 to be associated based on the association definition information DB 322 shown in FIG. 9.

[0093] Next, the cooperation function activation unit 334 determines whether a service 200 to cooperate with the newly contracted service 200 is specified in step S1003 (step S1004).

[0094] If it is determined in step S1004 that the service 200 to cooperate is not specified (step S1004: No), the management server 300 ends the series of processes shown in FIG. 12.

[0095] On the other hand, if it is determined in step S1004 that the service 200 to cooperate is specified (step S1004: Yes), the cooperation function activation unit 334 notifies the source service 200 among the newly contracted service 200 and the service 200 to cooperate that the destination service 200 can be used (step S1005). Then, the management server 300 ends the series of processes shown in FIG. 12.

[0096] For example, in step S1005, when the newly contracted service 200 "ServiceA" is the source service for cooperation and the services 200 "ServiceB" and "ServiceC" to cooperate are the destination services, the cooperation function activation unit 334 notifies "ServiceA" so that the contracting user who has made the new contract can use "ServiceB" and "ServiceC" in cooperation from "ServiceA". When "ServiceA" receives this notification, for example, it activates the functions for using "ServiceB" and "ServiceC" in cooperation in the GUI of "ServiceA" provided to the contracting user who has made the new contract. As a result, the contracting user who has made the new contract can use "ServiceB" and "ServiceC" in cooperation from the GUI of "ServiceA" using a terminal device such as the IWB100.

[0097] Also, for example, in step S1005, when the service "ServiceA" for which a new contract has been made is the linked service and the service "ServiceB" to be linked is the source service, the cooperation function activation unit 334 notifies "ServiceB" so that the contract user who made the new contract can use "ServiceA" in cooperation with "ServiceB". When "ServiceB" receives this notification, for example, it activates the function for using "ServiceA" in the GUI of "ServiceB" provided to the contract user who made the new contract. As a result, the contract user who made the new contract can use "ServiceA" in cooperation with "ServiceB" from the GUI of "ServiceB" using a terminal device such as the IWB100.

[0098] (Procedure for additional contract processing) FIG. 13 is a flowchart showing the procedure for additional contract processing by the management server 300 according to an embodiment of the present invention.

[0099] First, the contract information receiving unit 331 receives the contract information of the additional contract transmitted from the management terminal 500 via the communication network 12 (step S1101). The contract information of the additional contract includes at least a contract user ID for identifying the contract user and a service ID for identifying the service 200 for which the additional contract has been made. When additional contracts for a plurality of services 200 have been made, the contract information of the additional contract includes the service ID of each of the plurality of services 200.

[0100] Next, the service activation unit 332 activates the service 200 for which the additional contract has been made for the contract user who made the additional contract based on the contract information of the additional contract received in step S1101 (step S1102). Specifically, the service activation unit 332 sets "valid" in the contract information DB321 for the combination of the contract user ID of the contract user who made the additional contract and the service ID of the service 200 for which the additional contract has been made.

[0101] Next, the cooperation service identification unit 333 identifies the service 200 that cooperates with the service 200 for which the additional contract has been made (step S1103). Specifically, the cooperation service identification unit 333 refers to the cooperation definition information DB322 to identify the service ID of another service 200 associated with the service ID of the service 200 for which the additional contract has been made as the service 200 that cooperates with the service 200 for which the additional contract has been made. For example, when the service 200 for which the additional contract has been made is "ServiceC", the cooperation service identification unit 333 identifies "ServiceA" as the service 200 to cooperate with based on the cooperation definition information DB322 shown in FIG. 9.

[0102] Next, the cooperation function activation unit 334 determines whether the service 200 that cooperates with the service 200 for which the additional contract has been made has been identified in step S1103 (step S1104).

[0103] If it is determined in step S1104 that the service 200 to cooperate with has not been identified (step S1104: No), the management server 300 ends the series of processes shown in FIG. 13.

[0104] On the other hand, if it is determined in step S1104 that the service 200 to cooperate with has been identified (step S1104: Yes), the cooperation function activation unit 334 notifies the source service 200 among the service 200 for which the additional contract has been made and the service 200 to cooperate with that the destination service 200 is available for use (step S1105).

[0105] For example, in step S1105, when the service 200 "ServiceC" with the cooperation function enabled is the service to be linked and the service 200 "ServiceA" to be linked is the source service for the additional contract, the cooperation function enabling unit 334 notifies "ServiceA" so that the contract user who made the additional contract can use "ServiceC" in cooperation with "ServiceA". When "ServiceA" receives this notification, for example, it enables the function for using "ServiceC" in cooperation in the GUI of "ServiceA" provided to the contract user who made the additional contract. As a result, the contract user who made the additional contract can use "ServiceC" in cooperation from the GUI of "ServiceA" using a terminal device such as the IWB100.

[0106] After that, the contract user notification unit 335 notifies the contract user that the service to be linked can be used from the source service (step S1106). Then, the management server 300 ends the series of processes shown in FIG. 13.

[0107] For example, in step S1106, when "ServiceC" has been additionally contracted and thus can be used in cooperation with "ServiceA", the contract user notification unit 335 sends a message such as "Thank you for contracting ServiceC. The cooperation settings with this service are also available in the settings screen of ServiceA." to the terminal device used by the contract user who made the additional contract, thereby displaying the message on the display of the terminal device used by the contract user who made the additional contract. However, it is not limited to this, and other notification methods such as sending the message to a predetermined email address may be used.

[0108] (Procedure for processing at the time of contract cancellation) FIG. 14 is a flowchart showing the procedure for processing at the time of contract cancellation by the management server 300 according to an embodiment of the present invention.

[0109] First, the contract information receiving unit 331 receives the contract cancellation contract information transmitted from the management terminal 500 via the communication network 12 (step S1201). The contract cancellation contract information includes at least a contract user ID for identifying the contract user and a service ID for identifying the service 200 for which the contract has been cancelled. When the contracts of a plurality of services 200 are cancelled, the contract cancellation contract information includes the service IDs of each of the plurality of services 200.

[0110] Next, the associated service specifying unit 333 specifies the service 200 associated with the service 200 for which the contract has been cancelled (step S1202). Specifically, the associated service specifying unit 333 refers to the association definition information DB322 to specify the service ID of another service 200 associated with the service ID of the service 200 for which the contract has been cancelled as the service 200 associated with the service 200 for which the contract has been cancelled. For example, when the service 200 for which the contract has been cancelled is "ServiceB", the associated service specifying unit 333 specifies "ServiceA" as the service 200 to be associated based on the association definition information DB322 shown in FIG. 9.

[0111] Next, the associated function enabling unit 334 determines whether the service 200 associated with the service 200 for which the contract has been cancelled has been specified in step S1202 (step S1203).

[0112] If it is determined in step S1203 that the associated service 200 has not been specified (step S1203: No), the service enabling unit 332 invalidates the service 200 for which the contract has been cancelled for the contract user who has cancelled the contract based on the contract cancellation contract information received in step S1201 (step S1208). Specifically, the service enabling unit 332 sets "invalid" in the contract information DB321 for the combination of the contract user ID of the contract user who has cancelled the contract and the service ID of the service 200 for which the contract has been cancelled. Thereafter, the management server 300 ends the series of processes shown in FIG. 14.

[0113] On the other hand, in step S1203, when it is determined that the service 200 to be coordinated is specified (step S1203: Yes), the service activation unit 332 refers to the cooperation usage information DB323 to determine whether the cooperation between the service 200 for which the contract has been canceled and the service 200 to be coordinated is actually used by the contract user who has canceled the contract (step S1204).

[0114] In step S1204, when it is determined that the cooperation between the service 200 for which the contract has been canceled and the service 200 to be coordinated is actually used by the contract user who has canceled the contract (step S1204: Yes), the contract user confirmation unit 336 confirms with the contract user whether the service 200 for which the contract has been canceled can be invalidated (step S1205). For example, when the cooperation usage of "ServiceB" from "ServiceA" becomes unavailable due to the cancellation of the contract for "ServiceB", the contract user confirmation unit 336 sends a message such as "The function to cooperate with ServiceB on ServiceA will also become unavailable. Do you really want to cancel?" to the terminal device used by the contract user, and displays the message on the display of the terminal device used by the contract user.

[0115] Then, based on the result of confirmation with the contract user by the contract user confirmation unit 336 in step S1205, it is determined whether to invalidate the service 200 for which the contract has been canceled (step S1206).

[0116] In step S1204, when it is determined that the cooperation between the service 200 for which the contract has been canceled and the service 200 with which it cooperates is not used by the contract user who actually canceled the contract (step S1204: No), or in step S1206, when it is determined to invalidate the service 200 for which the contract has been canceled (step S1206: Yes), the cooperation enabling unit 334 notifies the service 200 that cooperates with the service 200 for which the contract has been canceled to invalidate the cooperation with the service 200 for which the contract has been canceled (step S1207). Then, the service enabling unit 332 invalidates the service 200 for which the contract has been canceled for the contract user who canceled the contract (step S1208). Specifically, the service enabling unit 332 deletes the association between the contract user ID of the contract user who canceled the contract and the service ID of the service 200 for which the contract has been canceled from the contract information DB321. After that, the management server 300 ends the series of processes shown in FIG. 14.

[0117] On the other hand, in step S1206, when it is determined not to invalidate the service 200 for which the contract has been canceled (step S1206: No), the management server 300 ends the series of processes shown in FIG. 14. In this case, since the contract user does not wish to invalidate the cooperation of the service 200, the cancellation of the service 200 contract is canceled or postponed.

[0118] (An example of the display screen when adding a contract for service 200) FIGS. 15 to 17 are diagrams showing an example of a display screen when adding a contract for service 200, which is displayed on the management terminal 500 according to an embodiment of the present invention.

[0119] The display screen 1300 shown in FIGS. 15 to 17 is a display screen that is displayed on the display of the management terminal 500. This display screen 1300 is a display screen of an application for managing the contract of service 200 of a certain contract user A. This display screen 1300 becomes available from the management terminal 500 when the contract administrator 16 who performs contract management logs in from the management terminal 500 to the management server 300. The contract administrator 16 can, from this display screen 1300, check the services 200 under contract for contract user A, check the services 200 not under contract, add a contract for service 200, cancel the contract for service 200, and so on. As shown in FIG. 15, the display screen 1300 includes a checkbox 1301 and a checkbox 1302.

[0120] The checkbox 1301 is shown with the text "Deployed" attached. When the checkbox 1301 is selected by the contract administrator 16, a list of the services 200 that contract user A is under contract for among the multiple services 200 provided by the cloud system 14 is displayed on the display screen 1300 based on the contract information of contract user A set in the contract information DB321 of the management server 300.

[0121] The checkbox 1302 is shown with the text "Not Deployed" attached. When the checkbox 1302 is selected by the contract administrator 16, a list of the services 200 that contract user A is not under contract for among the multiple services 200 provided by the cloud system 14 is displayed on the display screen 1300 based on the contract information of contract user A set in the contract information DB321 of the management server 300.

[0122] The contract manager 16 can perform an additional contract for the service 200 from this display screen 1300. For example, in the examples shown in FIGS. 15 and 16, on the display screen 1300, three services 200 "ServiceB", "ServiceD", and "ServiceE" for which the contract user A has not contracted are displayed. On the display screen 1300, each service 200 is provided with an installation button 1303 indicated as "Install". Note that the two services 200 "ServiceA" and "ServiceC" not displayed on the display screen 1300 are services 200 that the contract user A is contracting. For example, as shown in FIG. 16, the contract manager 16 can perform an additional contract for "ServiceB" by pressing the installation button 1303 of "ServiceB".

[0123] At this time, contract information related to the additional contract for "ServiceB" is transmitted to the management server 300. When the management server 300 receives this contract information, it performs the processing at the time of additional contract already described, and by adding "ServiceB" to the contract user ID of the contract user A in the contract information DB 321, it enables the use of "ServiceB" by the contract user A. As a result, the contract user A can use the three services 200 "ServiceA", "ServiceB", and "ServiceC".

[0124] And as already described, "ServiceB" can be used in cooperation with "ServiceA". Therefore, the management server 300 transmits a message such as "Thank you for contracting ServiceB. The cooperation setting with ServiceB is also available on the setting screen of ServiceA. Please make good use of it" to the management terminal 500. As shown in FIG. 17, the management terminal 500 can notify the contract manager 16 of the message by displaying the message on the pop-up screen 1310.

[0125] (An example of a display screen when canceling a contract for the service 200) Figures 18 to 21 are diagrams showing an example of a display screen when canceling the contract of service 200, which is displayed on the management terminal 500 according to an embodiment of the present invention.

[0126] In the example shown in FIG. 18, in the display screen 1300 similar to FIGS. 15 to 17, the checkbox 1301 is selected by the contract administrator 16. As a result, in the display screen 1300, the three services 200 "ServiceA", "ServiceB", and "ServiceC" that the contract user A is contracting are listed. In the display screen 1300 shown in FIG. 18, instead of the installation button 1303 shown in FIGS. 15 to 17, an invalid button 1304 marked "Installed", indicating that it is already under contract, is displayed for each service 200.

[0127] Also, in the display screen 1300 shown in FIG. 18, a drop-down button 1305 is displayed for each service 200. The contract administrator 16 can display the drop-down list 1306 by selecting the drop-down button 1305 of any service 200 in the display screen 1300 and select any action from the drop-down list 1306.

[0128] For example, in the example shown in FIG. 19, in the display screen 1300, since the drop-down button 1305 of "ServiceB" is selected by the contract administrator 16, the drop-down list 1306 of "ServiceB" is displayed. And in this drop-down list 1306, the action marked "Go to application" is selected by the contract administrator 16. As a result, as shown in FIG. 20, a service details screen 1800 representing the detailed content of "ServiceB" is displayed on the display of the management terminal 500.

[0129] The contract administrator 16 can cancel the contract for "ServiceB" from this service details screen 1800. Specifically, as shown in FIG. 20, the service details screen 1800 displays a link 1801 labeled "uninstall". By pressing this link 1801, the contract administrator 16 can cancel the contract for "ServiceB". At this time, contract information related to the cancellation of the "ServiceB" contract is sent to the management server 300.

[0130] And as already explained, "ServiceB" can be used in cooperation with "ServiceA". Therefore, the management server 300 sends a message such as "The functions that can be used in cooperation between ServiceB and ServiceA will no longer be available on ServiceA. Do you really want to cancel?" to the management terminal 500. As shown in FIG. 21, the management terminal 500 can notify the contract administrator 16 of the message by displaying the message on the pop-up screen 1810.

[0131] As shown in FIG. 21, the pop-up screen 1810 displays a cancel button 1811 and an OK button 1812. The contract administrator 16 can cancel the cancellation of the "ServiceB" contract by selecting the cancel button 1811. On the other hand, the contract administrator 16 can confirm the cancellation of the "ServiceB" contract by selecting the OK button 1812. Then, the cancellation or confirmation of the cancellation of the "ServiceB" contract is notified from the management terminal 500 to the management server 300.

[0132] When the management server 300 receives a notification of the cancellation of the "ServiceB" contract, it performs the contract cancellation processing described above, and deletes "ServiceB" associated with the contract user ID of contract user A from the contract information DB 321, thereby invalidating the use of "ServiceB" by contract user A. As a result, contract user A can use the remaining two services 200, "ServiceA" and "ServiceC".

[0133] (First Specific Example of the Linking Function of Service 200) FIG. 22 and FIG. 23 are diagrams showing a first specific example of the linking function of Service 200 provided to a contract user. The display screen 2000 shown in FIGS. 22 and 23 is a display screen displayed on the display of a terminal device (e.g., a PC, a tablet terminal, a smartphone, etc.) used by a certain contract user A. This display screen 2000 is a workflow creation screen provided by a workflow service (an example of the above-mentioned "ServiceA"). The contract user A can create a workflow, etc. from this display screen 2000.

[0134] FIG. 22 shows the display screen 2000 before the contract user A contracts with "ServiceB" and "ServiceC". On the other hand, FIG. 23 shows the display screen 2000 after the contract user A contracts with "ServiceB" and "ServiceC".

[0135] In the display screen 2000 shown in FIG. 23, due to the activation of the linking function with "ServiceB" and "ServiceC", the distribution buttons 2002 and 2004 for using the linking function with "ServiceB" and "ServiceC" are displayed.

[0136] For example, the contract user A can distribute the workflow created on the display screen 2000 to "ServiceB" by selecting the distribution button 2002. Also, for example, the contract user A can distribute the workflow created on the display screen 2000 to "ServiceC" by selecting the distribution button 2004.

[0137] Note that in FIG. 23, an example is shown in which user authority information DB 325 grants user authorities to the login users managed by contract user A for each of "ServiceB" and "ServiceC". For example, even if contract user A can use "ServiceB" and "ServiceC" (i.e., the contract has been completed), if user authorities are not granted to the login users managed by contract user A for either "ServiceB" or "ServiceC", one of the distribution buttons 2002 and 2004 will not be displayed on the display screen 2000 used by the login user.

[0138] (Second specific example of the cooperation function of service 200) FIGS. 24 and 25 are diagrams showing a second specific example of the cooperation function of service 200 provided to contract users. FIGS. 24 and 25 show an example of the display on the display 180 of the electronic blackboard 100 when a certain contract user A is using a certain service (an example of the above-mentioned "ServiceA") from the electronic blackboard 100. Contract user A can write arbitrary content on this display 180.

[0139] FIG. 24 shows an example of the display before the contract between contract user A and "ServiceB" and "ServiceC". On the other hand, FIG. 25 shows an example of the display after the contract between contract user A and "ServiceB" and "ServiceC". Here, "ServiceB" is a printing service that can be cooperatively used from "ServiceA", and "ServiceC" is a workflow service that can be cooperatively used from "ServiceA".

[0140] In the display 180 shown in FIG. 25, due to the activation of the cooperation functions with "ServiceB" (printing service) and "ServiceC" (workflow service), a print button 2302 and a review request button 2304 for using the cooperation functions with "ServiceB" and "ServiceC" are displayed.

[0141] For example, by selecting the print button 2302, the contract user A can distribute the display content of the display 180 to "ServiceB" (print service) and print it. Also, for example, by selecting the review request button 2304, the contract user A can distribute the display content of the display 180 to "ServiceC" (workflow service) and request a review.

[0142] Note that in FIG. 25, in the user authority information DB325, a case is exemplified where user authorities are granted to the logged-in user managed by the contract user A for each of "ServiceB" and "ServiceC". For example, even if the contract user A can use "ServiceB" and "ServiceC" (i.e., has a contract), if user authority is not granted to the logged-in user managed by the contract user A for either "ServiceB" or "ServiceC", either the print button 2302 or the review request button 2304 is not displayed on the display screen 2000 used by that logged-in user.

[0143] (Procedure of user authentication processing by the information processing system 10) FIG. 26 is a sequence diagram showing the procedure of user authentication processing by the information processing system 10 according to an embodiment of the present invention.

[0144] First, in terminal devices such as the IWB 100 and the MFP 900, input of login information from the logged-in user managed by the contract user is received (step S2401). For example, the login information includes a user ID and a password. The terminal device transmits the input login information to the management server 300 via the communication network 12 (step S2402).

[0145] In the management server 300, the user authentication unit 340 acquires the login information transmitted from the terminal device (step S2403), and performs authentication processing for the logged-in user based on the login information and the user information DB 324 provided in the management server 300 (step S2404).

[0146] Here, when the authentication processing for the logged-in user is successful, the user authentication unit 340 transmits a user authentication processing result indicating the success of the authentication processing for the logged-in user to the terminal device (step S2405). When the terminal device receives the authentication processing result for the logged-in user (step S2406), it notifies the logged-in user of the successful login (step S2407). In this case, the management server 300 proceeds to step S2408.

[0147] On the other hand, although not shown in the figure, in step S2404, when the authentication processing for the logged-in user fails, the user authentication unit 340 transmits a user authentication processing result indicating the failure of the authentication processing for the logged-in user to the terminal device (step S2405). When the terminal device receives the authentication processing result for the logged-in user (step S2406), it notifies the logged-in user of the failed login (step S2407). In this case, the management server 300 does not proceed to step S2408 and ends the series of processes.

[0148] In step S2408, the per-user cooperation function control unit 341 of the management server 300 refers to the contract information DB 321 to identify the services 200 available to the contract users to which the logged-in user who has successfully logged in belongs (that is, the services 200 under contract).

[0149] Then, the per-user cooperation function control unit 341 refers to the user authority information DB 325 to confirm the usage authority of the service 200 identified in step S2408 by the logged-in user who has successfully logged in (step S2409).

[0150] Here, when the contract user to which the logged-in user belongs is contracting for a plurality of services 200, the user authentication unit 340 of the management server 300 checks the usage authority of the logged-in user for each of the plurality of services 200 under contract. For example, if the user ID of the logged-in user who has successfully logged in is "User1", the contract user ID of the contract user to which the logged-in user belongs is "Company1". Therefore, the user authentication unit 340 refers to the user authority information DB 325 for each of the services "ServiceA", "ServiceB", and "ServiceC" under contract by "Company1" to check the presence or absence of usage authority. For example, according to the user authority information DB 325 illustrated in FIG. 10, the logged-in user having the user ID "User1" has usage authority for all of the services "ServiceA", "ServiceB", and "ServiceC".

[0151] Then, the user authentication unit 340 of the management server 300 transmits the user authentication processing result indicating that the authentication processing of the logged-in user has been successful and the confirmation result of the usage authority of the service 200 to the service 200 under contract by the contract user to which the logged-in user belongs, together with the user ID of the logged-in user (step S2410). Here, when the contract user to which the logged-in user belongs is contracting for a plurality of services 200, the user authentication unit 340 transmits the user authentication processing result and the confirmation result of the usage authority of the service to each of the plurality of services 200. For example, if the user ID of the logged-in user is "User1", the user authentication unit 340 transmits the user authentication processing result and the confirmation result of the usage authority of the service to each of the services "ServiceA", "ServiceB", and "ServiceC".

[0152] When service 200 receives the user authentication processing result and the confirmation result of the service usage right (step S2411), if the received confirmation result of the service usage right indicates that it has the usage right of its own service 200, it enables the usage of its own service 200 for the user ID included in the received user authentication processing result (that is, the logged-in user who has successfully logged in) (step S2412).

[0153] Furthermore, when the received confirmation result of the service usage right indicates that it does not have the usage right of the linked service 200, service 200 disables the usage of the linking function to the linked service 200 for the user ID included in the received user authentication processing result (that is, the user who has successfully logged in) (step S2413).

[0154] For example, when the user ID of the logged-in user is "User3", its own service 200 is "ServiceA", and the linked services are "ServiceB" and "ServiceC", the user with the user ID "User3" has the usage right of "ServiceC" but does not have the usage right of "ServiceB" (see Figure 10). Therefore, its own service 200 ("ServiceA") disables the usage of the linking function from its own service 200 ("ServiceA") to "ServiceB" by the logged-in user ("User3").

[0155] After that, when the terminal device sends a usage request to service 200 in response to an operation from the logged-in user (step S2414), service 200 determines whether it is possible to use its own service 200 based on the user ID included in the usage request in response to the usage request sent from the terminal device. If it is determined that it is possible to use its own service 200, it provides its own service 200 to the terminal device (step S2415). As a result, the logged-in user can use service 200 from the terminal device (step S2416).

[0156] For example, Service 200 may determine whether a logged-in user can use the self-service 200 by making an inquiry to the management server 300. Alternatively, Service 200 may hold synchronization information synchronized with the contract information DB321 and determine whether a logged-in user can use the self-service 200 based on the synchronization information.

[0157] Note that in FIG. 26, the case where Service 200 determines that "a logged-in user can use the self-service 200" is shown. However, when Service 200 determines that "a logged-in user cannot use the self-service 200", it does not provide the self-service 200 to the terminal device and notifies the terminal device that the self-service 200 cannot be used.

[0158] Note that the user authentication process may be performed by Service 200 when a contract user uses Service 200 from a terminal device. In this case, Service 200 may hold synchronization information synchronized with the user information DB324 and perform the user authentication process based on the synchronization information.

[0159] In addition, Service 200 may hold synchronization information synchronized with the user authority information DB325 and enable or disable the service cooperation function for each logged-in user based on the synchronization information.

[0160] As described above, the management server 300 according to an embodiment of the present invention includes a cooperation function enabling unit 334 that enables the cooperation function from the cooperation source service 200 to the cooperation destination service 200 when a contract user can use both the cooperation source service 200 and the cooperation destination service 200, and a per-user cooperation function control unit 341 that disables the use of the cooperation function by a logged-in user when the logged-in user managed by the contract user does not have the right to use the cooperation destination service 200.

[0161] As a result, even if a contractually bound contract user can use both the source service 200 and the destination service 200, the management server 300 according to one embodiment can invalidate the linking function from the source service 200 to the destination service 200 when the contract user does not have the right to use the destination service 200. For this reason, the management server 300 according to one embodiment can suppress the occurrence of problems such as an error being displayed when a logged-in user attempts to use a destination service 200 for which the user does not have the right to use. Therefore, according to the management server 300 according to one embodiment, when a logged-in user uses a service, if there is another service that can be linked to that service, the use of the linking function to the other service by the logged-in user can be appropriately controlled.

[0162] As described above, the preferred embodiments of the present invention have been described in detail. However, the present invention is not limited to these embodiments, and various modifications or changes are possible within the scope of the gist of the present invention described in the claims.

[0163] The device groups described in the examples merely show one of a plurality of computing environments for implementing the embodiments disclosed in this specification. In one embodiment, the management server 300 includes a plurality of computing devices such as a server cluster. The plurality of computing devices are configured to communicate with each other via any type of communication link including a network or a shared memory, and implement the processes disclosed in this specification.

[0164] Note that the "information processing apparatus" is not limited to a server as long as it has the functions of each of the embodiments described above. The "information processing apparatus" may be, for example, an output device such as a PJ (Projector), an IWB (Interactive White Board: an electronic whiteboard with an electronic blackboard function enabling mutual communication), a digital signage, a HUD (Head Up Display) device, an industrial machine, an imaging device, a sound collection device, a medical device, a network home appliance, an automobile (Connected Car), a notebook PC (Personal Computer), a mobile phone, a smartphone, a tablet terminal, a game machine, a PDA (Personal Digital Assistant), a digital camera, a wearable PC, or a desktop PC, etc.

[0165] In addition, in the above embodiment, the "information processing system" is constructed using a cloud system, but it is not limited to this, and the "information processing system" may be constructed using other systems built on a communication network. For example, the "information processing system" may be constructed using an on-premises system.

Explanation of Signs

[0166] 10 Information processing system 12 Communication network 14 Cloud system 16 Contract administrator 20 Integrated service provision system 100 Electronic blackboard 200 Service 200A Resource management service 200B Report service 200C Wireless management service 200D Document management service 200E Print service 200F Workflow service 300 Management server (information processing apparatus) 320 Storage unit 321 Contract information DB 322 Link definition information DB 323 Linked Usage Information DB 324 User Information DB 325 User Authority Information DB 331 Contract Information Receiving Section 332 Service Activation Section 333 Linked Service Identification Section 334 Linked Function Activation Section 335 Contract User Notification Section 336 Contract User Confirmation Section 340 User Authentication Section 341 Linked Function Control Section by User 400 Smartphone 500 Management Terminal 700 Video Conference Terminal 900 MFP

Prior Art Documents

Patent Documents

[0167]

Patent Document 1

Claims

1. An information processing apparatus for managing a first service and a second service, wherein when a login user who is a user belonging to the tenant has the right to use the first service and the second service that the tenant has contracted for, a GUI component for using a cooperation function with the second service is displayed on a display screen of the first service used by the login user. The information processing apparatus includes a cooperation function activation unit, wherein when the login user has the right to use the first service that the tenant has contracted for and the login user does not have the right to use the second service that the tenant has contracted for, the cooperation function activation unit does not display the GUI component on the display screen, and includes a user-specific cooperation function control unit that identifies services available to the contract user to which the login user belongs and confirms the usage rights of the login user in the identified services. An information processing apparatus characterized by the above.

2. The first service and the second service can be used by the contract user by making a contract with the contract user. The information processing apparatus according to claim 1, characterized by the above.

3. The information processing apparatus according to claim 1 or 2, characterized by including a user authentication unit that performs authentication processing based on login information.

4. An information processing system including a terminal device and an information processing apparatus for managing a first service and a second service, wherein the information processing apparatus when a login user who is a user belonging to the tenant has the right to use the first service and the second service that the tenant has contracted for, a GUI component for using a cooperation function with the second service is displayed on a display screen of the first service used by the login user. The information processing apparatus includes a cooperation function activation unit, wherein when the login user has the right to use the first service that the tenant has contracted for and the login user does not have the right to use the second service that the tenant has contracted for, the cooperation function activation unit does not display the GUI component on the display screen, and includes a user-specific cooperation function control unit that identifies services available to the contract user to which the login user belongs and confirms the usage rights of the login user in the identified services. ​ An information processing system characterized by the following.

5. A program that causes a computer to function as a cooperation function activation unit that displays GUI components for using a cooperation function with a second service on a display screen of a first service used by a login user who is a user belonging to the tenant and has usage rights for the first service and the second service to which the tenant has subscribed, wherein the cooperation function activation unit does not display the GUI components on the display screen when the login user has the usage right for the first service to which the tenant has subscribed but does not have the usage right for the second service to which the tenant has subscribed, and causes the computer to further function as a user-specific cooperation function control unit that identifies services available to a contract user to which the login user belongs and confirms the usage rights of the login user for the identified services. A program characterized by the above.

6. A cooperation function activation step of displaying GUI components for using a cooperation function with a second service on a display screen of a first service used by a login user who is a user belonging to the tenant and has usage rights for the first service and the second service to which the tenant has subscribed, including wherein the cooperation function activation step does not display the GUI components on the display screen when the login user has the usage right for the first service to which the tenant has subscribed but does not have the usage right for the second service to which the tenant has subscribed, and includes a user-specific cooperation function control step of identifying services available to a contract user to which the login user belongs and confirming the usage rights of the login user for the identified services. An information processing method characterized by the above.

Citation Information

Patent Citations

  • Digital hue adjustment system

    JP1989005188A

  • Information presenting device, information presenting method and information presenting program

    JP2004288052A

  • Information processing system, information processing method, and management server

    JP2013045368A

  • Information processing apparatus, system, and program

    JP2018092670A

  • Information processing unit and information processing program

    JP2018142122A