Information processor, information processing system, and data provision program

The information processing apparatus optimizes data transmission to multiple servers by using a unified data distribution program, reducing processing load and management work, thereby enhancing business efficiency.

JP2025106651AActive Publication Date: 2025-07-16FUJITSU CLIENT COMPUTING LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024000028
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-04
Publication Date
2025-07-16
Estimated Expiration
2044-01-04

AI Technical Summary

Technical Problem

The increase in processing load and management work due to multiple services being provided to an information processing device, leading to decreased business efficiency, is addressed by efficiently managing data transmission to multiple servers using a unified data distribution program.

Method used

An information processing apparatus with a processing unit that detects transmission timings based on service information, acquires and transmits data within the valid period, and uses a cache area to reduce redundant data acquisition processes.

Benefits of technology

This approach reduces the processing load and management burden, enhancing business efficiency by minimizing data acquisition frequency and simplifying service management operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025106651000001_ABST
    Figure 2025106651000001_ABST
Patent Text Reader

Abstract

To mitigate reduction in job efficiency caused by providing a plurality of services.SOLUTION: In service information 4, a plurality of servers 1 to 3 for providing any of a plurality of services to be applied to an information processor 10, data inside the information processor 10 to be used for service provision by each of the plurality of servers, a valid period of the data, and timing of transmission of the data to each of the plurality of servers 1 to 3 are indicated. At timing of transmission of data to any of the plurality of servers; on the basis of the service information 4, the information processor 10 acquires, out of data to be used for service provision by a first server at transmission timing, second data other than first data already acquired and in the valid period from the acquisition. Then, a processing unit 12 transmits the first data and the second data to the first server.SELECTED DRAWING: Figure 1
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, and a data providing program.

Background Art

[0002] Many information processing apparatuses such as personal computers (PCs) and smartphones can be connected to a network. An information processing apparatus connected to a network can be remotely managed via the network. For example, asset management of a large number of information processing apparatuses used for telework or monitoring of the operating status of those information processing apparatuses can be performed remotely. Using such a remote management technology for information processing apparatuses, for example, a life cycle management (LCM) service is provided.

[0003] In order to remotely manage an information processing apparatus, data collection from the information processing apparatus is performed by a server. For example, the server acquires data indicating information such as the operating status from each information processing apparatus at a predetermined timing.

[0004] As a management technology for information processing apparatuses, for example, a management program for managing correct device information at the time of maintenance such as component replacement has been proposed.

Prior Art Documents

Patent Documents

[0005]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0006] There are various services targeted at information processing devices connected to a network, and in some cases, multiple services may be provided to a single information processing device. An information processing device that receives multiple services will transmit data to the servers of each of the multiple services. At this time, the data transmission destination and timing differ for each service. Therefore, for example, application software for data transmission corresponding to each service (hereinafter sometimes simply referred to as an "app") is installed on the information processing device. And the information processing device performs data transmission in accordance with the specifications of the service by executing the app corresponding to the service.

[0007] However, when apps for each service are installed on the information processing device and each app is executed, the processing load on the information processing device for transmitting data for multiple services increases. Due to the increase in the processing load, the efficiency of the business using the information processing device decreases.

[0008] Also, when using apps for each service, every time there are additions, deletions, or updates to multiple services, installation, uninstallation, and update operations of the apps need to be performed on the information processing device. This results in a lot of management work. Due to such an increase in management operations, the efficiency of the system management business decreases.

[0009] In one aspect, the present case aims to reduce the decrease in business efficiency caused by providing multiple services.

Means for Solving the Problem

[0010] In one proposal, an information processing device having the following processing unit is provided. The processing unit detects that it is the transmission timing to any one of the plurality of servers based on service information indicating a plurality of servers that provide any one of a plurality of services applied to the information processing apparatus, data inside the information processing apparatus that each of the plurality of servers uses for service provision, the expiration period of the data, and the transmission timing of the data to each of the plurality of servers. The processing unit acquires second data other than the first data that has been acquired and is within the expiration period from the transmission target data used by the first server that has reached the transmission timing for providing the first service. Then, the processing unit transmits the first data and the second data to the first server.

Advantages of the Invention

[0011] According to one aspect, a decrease in business efficiency due to providing a plurality of services is reduced.

Brief Description of the Drawings

[0012]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Embodiments for Carrying Out the Invention

[0013] Hereinafter, this embodiment will be described with reference to the drawings. Note that multiple embodiments can be combined and implemented within a non - conflicting range. 〔First Embodiment〕 The first embodiment is an information processing apparatus that reduces the decrease in business efficiency caused by receiving services from a plurality of servers.

[0014] FIG. 1 is a diagram showing an example of an information processing apparatus according to the first embodiment. The information processing apparatus 10 can efficiently transmit data 5 used for a plurality of services by, for example, executing a single data distribution program.

[0015] The information processing apparatus 10 has a storage unit 11 and a processing unit 12. The storage unit 11 is, for example, a memory or a storage device included in the information processing apparatus 10. The processing unit 12 is, for example, a processor or an arithmetic circuit included in the information processing apparatus 10.

[0016] The information processing apparatus 10 is connected to a plurality of servers 1 to 3 that provide any one of a plurality of services applied to the information processing apparatus 10, for example, via a network. The storage unit 11 stores service information 4. The service information 4 indicates a plurality of servers 1 to 3, data 5 inside the information processing apparatus 10 that each of the plurality of servers 1 to 3 uses for service provision, the expiration period of the data 5, and the transmission timing of the data 5 to each of the plurality of servers 1 to 3. The expiration period of the data 5 indicates how far back the data acquired previously is allowed as data to be transmitted to the server.

[0017] Based on the service information 4, the processing unit 12 detects that it is the data transmission timing to any one of the plurality of servers 1 to 3. Then, among the transmission target data used by the first server at the transmission timing for providing the first service, the processing unit 12 acquires the second data other than the first data that has been acquired and is within the valid period since acquisition. And the processing unit 12 transmits the first data and the second data to the first server.

[0018] In addition, the processing unit 12 assigns the acquisition date and time to the acquired second data and stores it in the cache area 6. The data stored in the cache area 6 becomes the acquired data when detecting the subsequent transmission timing.

[0019] Thereby, efficient data transmission to the plurality of servers 1 to 3 is performed. In the example of FIG. 1, the server 1 provides service A, the server 2 provides service B, and the server 3 provides service C. In the service information 4, it is set that the data to be transmitted to the server 1 that provides service A is "data1, data2", the transmission timing is "0:00 every day", and the valid period of the data to be transmitted to the server 1 is not set. When the valid period of the data used in the service is not set, the processing unit 12 transmits the data acquired at the transmission timing to the server that provides the service.

[0020] Also, in the service information 4, it is set that the data to be transmitted to the server 2 that provides service B is "data1, data3", the transmission timing is "0:00 every day", and the valid period of the data to be transmitted to the server 2 is not set. Further, in the service information 4, it is set that the data to be transmitted to the server 3 that provides service C is "data2, data3", the transmission timing is "4:00 every day", and the valid period of the data to be transmitted to the server 3 is "1 day".

[0021] In this case, when it reaches 0:00 every day, the processing unit 12 determines that it is the data transmission timing to the server 1 of Service A and the server 2 of Service B. Then the processing unit 12 acquires "data1, data2, data3". For example, for each of "data1, data2, data3", the processing unit 12 acquires the data through procedures according to the data attributes. For example, if it is data managed by the OS (Operating System), the processing unit 12 requests the data from the OS. Also, if it is data managed by an application, the processing unit 12 requests the data from that application. Also, if it is data stored in a predetermined memory, storage area, or register, the processing unit 12 reads out the data from the storage location.

[0022] The processing unit 12 transmits "data1, data2" among the acquired data to the server 1 and transmits "data1, data3" to the server 2. Also, the processing unit 12 holds the acquired data in the cache area 6. The cache area 6 is, for example, a storage area secured for data providing processing in the memory of the information processing apparatus 10.

[0023] After that, when it reaches 4:00, the processing unit 12 determines that it is the data transmission timing to the server 3 of Service C. Here, the data to be transmitted to the server 3 is "data2, data3". These data are stored in the cache area 6. Also, the valid period of the data to be transmitted to Service C is one day. That is, if less than 24 hours have elapsed from the data acquisition date and time to the transmission timing, the data in the cache area 6 can be used. At 4:00, the "data2, data3" stored in the cache area 6 were acquired 4 hours ago, and the data held in the cache area 6 is valid. Therefore, the processing unit 12 transmits the "data2, data3" held in the cache area 6 to the server 3.

[0024] In this way, by collectively managing the data used by the processing unit 12 in a plurality of services and transmitting it to the plurality of servers 1 to 3, the frequency of data acquisition processing by the processing unit 12 can be reduced. Since the frequency of data acquisition processing is low, the load on the information processing apparatus 10 can be reduced, and a decrease in business efficiency when using the information processing apparatus 10 by providing a plurality of services can be alleviated.

[0025] For example, in the case where a plurality of first servers have the same transmission timing and the second data among the data used by each of the plurality of first servers for providing services is common, the processing unit 12 acquires the second data in one acquisition process and transmits the acquired second data to each of the plurality of first servers.

[0026] In the example of FIG. 1, the timing of data transmission to the two servers 1 and 2 is at 0:00 every day. At this time, "data1" among the data transmitted to each of the servers 1 and 2 is common. In this case, "data1" is acquired in one acquisition procedure and transmitted to both servers 1 and 2. Therefore, compared with the case where data acquisition and data transmission are performed separately for service A and service B, the number of data acquisitions is reduced. As a result, the load on the information processing apparatus 10 is reduced.

[0027] Also, the processing unit 12 holds the acquired data in the cache area 6 and transmits the data held in the cache area 6 if it is within the period allowed in the provided service. For example, at 4:00 every day, it is the timing of data transmission to the server 3 that provides service C. The expiration period for the data used in service C is set to "one day". Therefore, the processing unit 12 reads out "data2, data3" acquired 4 hours ago from the cache area 6 and transmits it to the server 3. Thereby, it is not necessary to execute a new acquisition process for "data2, data3", and the number of data acquisitions is reduced.

[0028] Also, in the service information 4 stored in the storage unit 11, the expiration period for each service is indicated for the data used by each of the plurality of servers 1 to 3 for service provision. The processing unit 12 determines whether the acquired data used by the first server at the transmission timing for service provision is the first data within the expiration period based on the expiration period for the service to be provided. As a result, an acceptable expiration period can be set for each service, and the efficiency of data acquisition can be improved. In the example of FIG. 1, since the service C has a data expiration period of "one day", when transmitting data to the server 3 that provides the service C, the data acquired 4 hours ago can be reused. As a result, the number of data acquisition processes is reduced, and the load on the information processing apparatus 10 is reduced.

[0029] Note that the expiration period for the data used by each of the plurality of servers 1 to 3 for service provision in the service information 4 stored in the storage unit 11 may be set for each data item. In that case, the processing unit 12 determines whether the acquired data of the data item used by the first server at the transmission timing for service provision is the first data within the expiration period based on the expiration period of the data item.

[0030] As a result, even for data used for the same service, the expiration period can be changed according to the data item. For example, data that is rarely changed, such as the hardware ID of a device, can reduce the frequency of data acquisition processes by setting a long expiration period. Also, data such as a list of running applications changes dynamically during operation, so by setting a short expiration period, data indicating the real-time state is transmitted to the server.

[0031] Note that the servers 1 to 3 can also provide services to information processing apparatuses other than the information processing apparatus 10. In that case, the service information 4 is distributed to a number of information processing apparatuses. For example, a management server transmits service information regarding the services received by the information processing apparatus to a number of information processing apparatuses including the information processing apparatus 10.

[0032] Since the addition, modification, and deletion of the provided services can be achieved by the addition, modification, and deletion of service information 4, the management burden for applying a plurality of services to each of a large number of information processing apparatuses is reduced. As a result, the decline in business efficiency associated with the provision of a plurality of services is reduced.

[0033] 〔Second Embodiment〕 The second embodiment is a computer network system that enables efficient management of a plurality of systems for a large number of information processing apparatuses such as PCs and smartphones.

[0034] FIG. 2 is a diagram showing an example of the computer network system according to the second embodiment. A plurality of PCs 100, 100a,... are connected to the network 20 by wire or wirelessly. For example, the PC 100 is a notebook PC. Also, the PC 100a is a tablet PC. The PCs 100, 100a,... are an example of information processing apparatuses connected to the network 20. In addition to the PCs 100, 100a,..., various information processing apparatuses such as smartphones and smart speakers can be connected to the network 20.

[0035] The network 20 is further connected to a plurality of servers 200, 200a,... for service provision and a server 300 for service management. The services provided by the servers 200, 200a,... include, for example, management services for the hardware resources or software resources of the PCs 100, 100a,.... The servers 200, 200a,... can also provide services for managing the operating states of the PCs 100, 100a,....

[0036] The management server 300 manages the services provided to the PCs 100, 100a, ···. For example, the server 300 transmits service information indicating the type of data to be transmitted to the servers 200, 200a, ··· and the timing of transmission to each of the PCs 100, 100a, ···. The PCs 100, 100a, ··· transmit data used for providing the service to the servers 200, 200a, ··· according to the received service information.

[0037] FIG. 3 is a diagram showing an example of the hardware of a PC. In the PC 100, the entire apparatus is controlled by a processor 101. A memory 102 and a plurality of peripheral devices are connected to the processor 101 via a bus 109. The processor 101 may be a multiprocessor. The processor 101 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or a DSP (Digital Signal Processor). At least a part of the functions realized by the execution of a program by the processor 101 may be realized by an electronic circuit such as an ASIC (Application Specific Integrated Circuit) or a PLD (Programmable Logic Device).

[0038] The memory 102 is used as the main storage device of the PC 100. At least a part of the program of the OS to be executed by the processor 101 and the application program are temporarily stored in the memory 102. Also, various data used for the processing by the processor 101 are stored in the memory 102. As the memory 102, for example, a volatile semiconductor memory device such as a RAM (Random Access Memory) is used.

[0039] Peripheral devices connected to bus 109 include storage device 103, GPU (Graphics Processing Unit) 104, input interface 105, optical drive device 106, device connection interface 107, and network interface 108.

[0040] Storage device 103 electrically or magnetically writes and reads data to and from the built-in recording medium. Storage device 103 is used as an auxiliary storage device of PC 100. The storage device 103 stores the OS program, application programs, and various data. Note that as the storage device 103, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive) can be used.

[0041] GPU 104 is an arithmetic unit that performs image processing. GPU 104 is an example of a graphic controller. Monitor 21 is connected to GPU 104. GPU 104 displays an image on the screen of monitor 21 according to instructions from processor 101. Examples of monitor 21 include a display device using organic EL (Electro Luminescence) and a liquid crystal display device.

[0042] Keyboard 22 and mouse 23 are connected to input interface 105. Input interface 105 transmits signals sent from keyboard 22 or mouse 23 to processor 101. Note that mouse 23 is an example of a pointing device, and other pointing devices can also be used. Other pointing devices include a touch panel, a tablet, a touch pad, a trackball, etc.

[0043] The optical drive device 106 reads data recorded on the optical disc 24 or writes data to the optical disc 24 using laser light or the like. The optical disc 24 is a portable recording medium on which data is recorded so as to be readable by reflection of light. Examples of the optical disc 24 include DVD (Digital Versatile Disc), DVD-RAM, CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable) / RW (ReWritable).

[0044] The device connection interface 107 is a communication interface for connecting peripheral devices to the PC 100. For example, the memory device 25 and the memory reader / writer 26 can be connected to the device connection interface 107. The memory device 25 is a recording medium equipped with a communication function with the device connection interface 107. The memory reader / writer 26 is a device that writes data to the memory card 27 or reads data from the memory card 27. The memory card 27 is a card-type recording medium.

[0045] The network interface 108 is connected to the network 20. The network interface 108 transmits and receives data to and from other computers or communication devices via the network 20. The network interface 108 is a wired communication interface connected by a cable to a wired communication device such as a switch or a router, for example. Also, the network interface 108 may be a wireless communication interface communicatively connected by radio waves to a wireless communication device such as a base station or an access point.

[0046] PC100 can implement the processing functions of the second embodiment by the above-described hardware. Other PC100a, ··· can also be implemented by the same hardware as PC100. In the case of a tablet PC, the monitor 21 is provided integrally with the PC, and a touch panel is provided on the screen of the monitor 21 instead of the keyboard 22 and the mouse 23. The servers 200, 200a, ··· for service provision and the server 300 can also be implemented by the same hardware as PC100. Further, the information processing apparatus 10 shown in the first embodiment can also be implemented by the same hardware as PC100.

[0047] PC100 realizes the processing functions of the second embodiment by executing a program recorded on a computer-readable recording medium, for example. Programs describing the processing content to be executed by PC100 can be recorded on various recording media. For example, a program to be executed by PC100 can be stored in the storage device 103. The processor 101 loads at least a part of the program in the storage device 103 into the memory 102 and executes the program. Also, a program to be executed by PC100 can be recorded on a portable recording medium such as an optical disk 24, a memory device 25, or a memory card 27. The program stored in the portable recording medium becomes executable after being installed in the storage device 103, for example, under the control from the processor 101. Also, the processor 101 can directly read and execute the program from the portable recording medium.

[0048] Next, the functions of each device for data transmission used in the service will be described. FIG. 4 is a block diagram showing an example of the functions of each device for data transmission used in the service. The server 300 has a storage unit 310 and a service management unit 320.

[0049] The storage unit 310 stores service information 311a, 311b,... for each service applicable to the PCs 100, 100a,... and application service information 312. Each of the service information 311a, 311b,... is information indicating the type of data to be transmitted from the PC to which the service is applied to the server that provides the service for the corresponding service provision. The application service information 312 is information indicating the service to be applied to each of the PCs 100, 100a,.... For example, in the application service information 312, a list of services to be applied to the PC is set in association with the PC name that identifies the PC on the network.

[0050] Based on the application service information 312, the service management unit 320 transmits the service information 311a, 311b,... to the PCs 100, 100a,.... For example, the service management unit 320 refers to the application service information 312 and transmits the service information for the service to be applied to each of the PCs 100, 100a,... to that PC.

[0051] The PC 100 has a storage unit 110 and a data providing unit 120. Note that the other PCs 100a,... also have the same functions as the PC 100. The storage unit 110 stores service information 111 and an acquired data list 112. The service information 111 stored in the storage unit 110 of the PC 100 is information obtained by integrating the service information of all the services applied to the PC 100. The acquired data list 112 is a list of data within the PC 100 that can be acquired for use in service provision.

[0052] The data providing unit 120 transmits data to a server that provides services to be provided to the PC 100. For example, the data providing unit 120 stores service information received from the server 300 in the storage unit 110. When the PC 100 receives the provision of a plurality of services, the data providing unit 120 generates service information 111 in which the service information of each of the plurality of services to be provided is integrated into one, and stores it in the storage unit 110. Further, based on the service information 111, the data providing unit 120 acquires at least a part of the data shown in the acquired data list 112, and transmits the data to a server that uses the data for services. Note that the data providing unit 120 is installed in the PC 100, for example, as a common application commonly used in a plurality of services.

[0053] The server 200 provides the service 210 to at least one of the PCs 100, 100a, ···. The service 210 is provided by, for example, a plurality of service systems 211, 212, ···. Each server 200a, ··· other than the server 200 also provides services by one or a plurality of service systems, similarly to the server 200.

[0054] The service systems 211, 212, ··· acquire data from a PC to which the service is applied, and execute processing related to the service based on the data. For example, the service system 211 manages hardware resources, and the service system 212 manages software resources.

[0055] The service system 211 has a management table 211a for managing the data of the PC to which the service is applied. For example, the service 211 stores the data received from the PC to which the service is applied in the management table 211a. Each of the other service systems 212, ··· also has a management table, similarly to the service system 211.

[0056] With such a system, each of the PCs 100, 100a, ··· can receive services from one or more of the servers 200, 200a, ···. For example, each of the PCs 100, 100a, ··· can receive the provision of a resource management service and a maintenance service.

[0057] Next, the service information 111 and the acquisition data list 112 stored in the PC 100 will be specifically described. FIG. 5 is a diagram showing an example of service information and an acquisition data list. For example, the service information 111 includes service basic information 111a, service system information 111b, and a transmission data list 111c.

[0058] In the service basic information 111a, a service name of each service is set in association with a service ID for uniquely identifying each service applied to the PC 100. For example, the service ID "0001" is a resource management service, and the service name of that service is "F Standard PC Asset Management Service". The service ID "0002" is a PC operation management service, and the service name of that service is "Maintenance Service".

[0059] In the service system information 111b, for each service system to which data is to be transmitted, a service ID, a service system ID, a service system name, a destination URL (Uniform Resource Locator), a transmission format, a row structure type, a transmission timing, whether cache use is possible, an expiration period, etc. are set.

[0060] The service ID in the service system information 111b is the service ID of the service provided using the destination service system. The service system ID is an identifier for uniquely identifying the service system used for providing the service.

[0061] The service system name is the name of the service system. The destination URL is the URL of the destination of the data used in the service system. The transmission format is the data format of the data to be transmitted to the service system. As the transmission format, data formats such as JSON (JavaScript Object Notation), CSV (Comma-Separated Values), and XML (Extensible Markup Language) are specified, for example.

[0062] The row structure type indicates whether the data per single data transmission is one row of data or multiple rows of data. For example, if PC100 is data with a plurality of pairs of item names and item values arranged, it can be transmitted as one row of data. The row structure type of such data is "one row". Also, for example, in the case of data including a large number of records containing different common items like log data, PC100 can define only the arrangement of items and make it into multiple rows of data with multiple item values in one row, so that data can be transmitted with a small data volume. In the case of such data, the row structure type is "multiple rows".

[0063] The transmission timing indicates the timing of transmitting data from PC100 to the server. As the transmission timing, for example, a predetermined date and time of each month, a predetermined date and time of a predetermined day of each week, a predetermined time of each day, a predetermined minute and second of each hour, etc. are set.

[0064] The cache availability indicates whether to cache and reuse all the data to be transmitted to the corresponding service system. When caching of all data is allowed, the cache availability is "usable". When caching of all data is not allowed, the cache availability is "unusable".

[0065] The validity period indicates the period during which data can be cached when caching is allowed. For example, periods such as "1 week" (604,800 seconds), "1 day" (86,400 seconds), and "1 hour" (3,600 seconds) can be set as the cache validity period.

[0066] In the transmission data list 111c, for each piece of data to be transmitted, the service ID, service system ID, data ID, data item name, essential information, cache availability, validity period, etc. are set.

[0067] The service ID in the transmission data list 111c is the service ID of the service that uses the data. The service system ID in the transmission data list 111c is the service system ID of the service system to which the data is to be transmitted.

[0068] The data ID is an identifier that uniquely indicates the data to be transmitted to the service system. The data item name is the item name assigned to the data to be transmitted. For example, when the transmission format is "JSON", the key name is used as the data item name. Also, when the transmission format is "CSV", an index is provided as the data item name.

[0069] The essential information indicates whether the transmission of the corresponding data is essential. For example, the essential information for essential data is "TRUE". Also, the essential information for non-essential data is "FALSE". If essential data cannot be obtained at the transmission timing, the data transmission ends with an error. If non-essential data cannot be obtained at the transmission timing, only the data that could be obtained is transmitted.

[0070] The cache usability in the transmission data list 111c indicates whether to allow caching and reusing the corresponding data. When data caching is allowed, the cache usability becomes "usable". When data caching is not allowed, the cache usability becomes "unusable". When there is a conflict between the cache usability for specific data and the cache usability for the service system that is the destination of that data, the setting of the cache usability for that data shown in the transmission data list 111c becomes effective.

[0071] Also, the cached data may be made available only when transmitting data that is also cache - usable in the transmission data list 111c to a service system that is cache - usable in the service system information 111b.

[0072] The expiration period in the transmission data list 111c indicates the expiration period of the cached data when cache utilization is allowed for the corresponding data. Each record (each row) of the service basic information 111a in the service information 111 and each record of the service system information are associated by a service ID. Each record of the service system information 111b in the service information 111 and each record of the transmission data list 111c are associated by a service system ID.

[0073] In the acquisition data list 112, for each data type that can be acquired by the PC100, the data ID, data name, format, etc. of that data are set. The data ID in the acquisition data list 112 is an identifier that uniquely identifies the acquirable data within the PC100.

[0074] The data name is the name of the acquirable data. Examples of data names include "model name" and "unit number". The format is the data format of the acquirable data. Examples of the format include "string", "integer", "real number", etc.

[0075] Each record in the transmission data list 111c within the service information 111 and each record in the acquisition data list 112 are associated with each other by a data ID. Based on the service information 111 and the acquisition data list 112 as shown in FIG. 5, the data providing unit 120 of the PC 100 transmits data to a server that provides a service at a predetermined timing.

[0076] FIG. 6 is a diagram showing an example of data transmission from a PC to a server. For example, requests such as addition, modification, and deletion of service information are transmitted from the service management unit 320 of the server 300 to the PC 100. For example, when there is an addition, modification, or deletion of a service to be applied to the PC 100, or when there is a change in the service information of the service applied to the PC 100, the service management unit 320 transmits requests such as addition, modification, and deletion of service information.

[0077] The data providing unit 120 of the PC 100 updates the service information 111 stored in the storage unit 110 in accordance with a request from the service management unit 320. In the example of FIG. 6, it is assumed that the service 210 provided by the server 200 and the service 210a provided by the server 200a are applied to the PC 100. The data providing unit 120 performs data transmission to the servers 200 and 200a based on the service information 111. For example, the data providing unit 120 of the PC 100 acquires data to be transmitted from within the PC 100 at the transmission timing indicated in the service information 111. Then, the data providing unit 120 transmits the acquired data to the server 200 or the server 200a.

[0078] The data providing unit 120 stores the acquired data in a cache area 121 managed by the data providing unit 120. When the data stored in the cache area 121 becomes the data to be transmitted at the next transmission timing, if it is within the valid period specified for the service to be used, it is transmitted to the server that provides the service.

[0079] For example, since the model name and serial number data of the PC 100 do not change during operation, they are set to be cacheable. Also, data that is appropriately updated during the operation of the PC 100 (such as CPU usage rate, event log, etc.) is set to be non-cacheable, for example.

[0080] In this way, the PC 100 can efficiently perform data transmission for receiving the provision of a plurality of services 210, 210a. That is, the data providing unit 120 can grasp the data to be transmitted to each of the services 210, 210a and the transmission timing based on the service information 111, and perform data transmission. The data providing unit 120 is a common application commonly used in a plurality of services 210, 210a, and the resources consumed by the PC 100 are less than when using an application for each service. Therefore, the processing load on the PC 100 is reduced. The fact that the data providing unit 120 is a common application also reduces the labor for modification work such as improving the function of the data providing unit 120.

[0081] Furthermore, the data providing unit 120 can cache the acquired data. When transmitting common data to a plurality of servers at different transmission timings, in the data transmission with a later transmission timing, the cached data can be transmitted without acquiring data from the storage device 103 or the like. Thereby, the data acquisition frequency is reduced and the data transmission process is made efficient.

[0082] Next, the processing of the data providing unit 120 will be specifically described. FIG. 7 is a flowchart showing an example of the processing procedure of the data providing unit. Hereinafter, the processing shown in FIG. 7 will be described along with the step numbers.

[0083] [Step S101] The data providing unit 120 refers to the service information 111 and determines whether there is a service system at the data transmission timing. If there is a service system at the transmission timing, the data providing unit 120 proceeds to step S102. Also, if there is no service system at the transmission timing, the data providing unit 120 repeats the process of step S101. From the process of step S101, a service system at the transmission timing is detected.

[0084] [Step S102] The data providing unit 120 obtains a list of data IDs of the data to be transmitted. For example, based on the transmission data list 111c, the data providing unit 120 lists up the data IDs associated with the service system ID of the service system at the transmission timing.

[0085] [Step S103] The data providing unit 120 selects one data ID of the unprocessed data among the data IDs of the data to be transmitted. [Step S104] The data providing unit 120 determines whether the data corresponding to the obtained data ID is cached and whether the current date and time is within the cache expiration period. If there is cached data with an effective expiration period, the data providing unit 120 proceeds to step S105. Also, if there is no cached data with an effective expiration period, the data providing unit 120 proceeds to step S106.

[0086] [Step S105] The data providing unit 120 extracts the data corresponding to the selected data ID from the cache area 121 and converts the data into a specified format (transmission format, row structure type). Then, the data providing unit 120 proceeds to step S109.

[0087] [Step S106] The data providing unit 120 acquires data corresponding to the selected data ID from a storage area in the storage device 103 or the memory 102 managed by other software. In this case, it may fail to acquire the data. If the data providing unit 120 fails to acquire the data, it skips the processing of steps S107 to S108.

[0088] [Step S107] The data providing unit 120 stores the acquired data in the cache area 121. [Step S108] The data providing unit 120 converts the acquired data into a specified format (transmission format, row structure type).

[0089] [Step S109] The data providing unit 120 determines whether there is any unprocessed data among the data to be transmitted. If the data providing unit 120 has unprocessed data, it advances the processing to step S103. Also, if the processing has been completed for all the data to be transmitted, the data providing unit 120 advances the processing to step S110.

[0090] [Step S110] The data providing unit 120 determines whether it has been able to acquire all the data that is essential (essential information "TRUE") in the transmission data list 111c among the data to be transmitted. If the data providing unit 120 has been able to acquire all the essential data, it advances the processing to step S111. Also, if it has not been able to acquire at least a part of the essential data, the data providing unit 120 advances the processing to step S112.

[0091] [Step S111] The data providing unit 120 transmits the acquired data to a server having a service system at the transmission timing. The transmission destination of the data is the transmission destination URL associated with the corresponding service system in the service system information 111b. Thereafter, the data providing unit 120 advances the processing to step S113.

[0092] [Step S112] The data providing unit 120 performs an error notification process. For example, the data providing unit 120 transmits error information indicating that the acquisition of essential data has failed to a server having a service system at the transmission timing.

[0093] [Step S113] The data providing unit 120 determines whether there is an instruction to stop the common application. If there is no instruction to stop the common application, the data providing unit 120 advances the process to step S101. Also, if there is an instruction to stop the common application, the data providing unit 120 ends the process.

[0094] In this way, the PC 100 can efficiently transmit data used for services to the service systems of each of the plurality of services by the data providing unit 120 which is a common application. For example, when transmitting data in a plurality of service systems with different transmission timings, the data providing unit 120 does not need to perform a data acquisition process for the cached data, and the amount of data to be acquired is reduced.

[0095] FIG. 8 is a diagram showing an example of service information with service systems having different transmission timings as transmission destinations. In the service information 111-1 shown in FIG. 8, the PC 100 receives the applications of service A and service B.

[0096] Service A includes a service system with a service ID of "0001". The transmission timing of data to the service system with the service ID of "0001" is "0:00 every day". For the data to be transmitted to the service system with the service ID of "0001", the use of the cache is not available. The data to be transmitted to the service system with the service ID of "0001" includes a type name, a machine number, an installed application list, data for service A, etc.

[0097] Service B includes a service system with a service ID of "0002". The timing for sending data to the service system with the service ID of "0002" is "4 o'clock every day". For the data to be sent to the service system with the service ID of "0002", caching is available, and the cache expiration period is 1 day (86,400 seconds). The data to be sent to the service system with the service ID of "0002" includes the type name, machine number, installed application list, data for Service B, etc.

[0098] Note that in the example of Figure 8, it is assumed that the cache availability for each piece of data is not set. Therefore, the cache availability set for the service system becomes effective. Figure 9 is a diagram showing an example of data transmission to a plurality of servers that provide services. Figure 9 shows an example of data transmission processing based on the service information 111-1 shown in Figure 8. For example, at 0 o'clock every day, the data providing unit 120 determines that it is the timing for sending data to the service system of Service A provided by the server 200. Then, the data providing unit 120 acquires the "type name", "machine number", "installed application list", and "data for Service A" to be sent to the corresponding service system from within the PC 100. Then, the data providing unit 120 sends the acquired data to the server 200.

[0099] At this time, the "type name", "machine number", and "installed application list" are stored in the cache area 121. Each stored piece of data is given, for example, an acquisition time and an expiration date.

[0100] After that, when the time reaches 4 o'clock, the data providing unit 120 determines that it is the data transmission timing for the service system of Service B provided by the server 200a. Among the data to be transmitted, the data providing unit 120 already holds "model name", "machine number", and "installed app list" in the cache area 121. These data have only passed 4 hours since the acquisition time and are within the expiration date (1 day). Therefore, the data providing unit 120 acquires the "data for Service B" that is not cached from within the PC 100. Then, the data providing unit 120 transmits the "model name", "machine number", and "installed app list" in the cache area 121 and the acquired "data for Service B" to the server 200a.

[0101] Since the transmission timing of Service A is 0:00 every day and that of Service B is 4:00 every day, if data transmission is performed by an app for each service, for the "model name", "machine number", and "installed app list", data acquisition is executed twice a day. On the other hand, by using a common app such as the data providing unit 120, the data to be transmitted to both of the two servers 200 and 200a only needs to be acquired once a day. Therefore, the data acquisition efficiency is improved.

[0102] In the example of FIG. 9, the cacheability and expiration period are set for each service system. However, by setting the cacheability and expiration period for each data, more detailed cache data management becomes possible.

[0103] FIG. 10 is a diagram showing an example of cache management in data units. For example, specification information such as "model name", "machine number", memory, and storage hardly changes, so it can be cached, and the cache expiration period can be set to one week. The "installed app list" may be changed during operation, but the change frequency is not high. Therefore, for example, it can be cached, and the cache expiration period can be set to one day.

[0104] If the "Running App List" is to be used by a service in real-time, it cannot be cached. Also, if a list of apps used within a certain time period in the service is used, the "Running App List" can be cached, and the cache expiration period can be set to about 1 hour. In the example of FIG. 10, the "Running App List" cannot be cached.

[0105] At this time, it is assumed that for the service system of Service A provided by server 200, "Model Name", "Unit Number", "Installed App List", and "Running App List" are to be sent at 0:00 every day. Also, for the service system of Service B provided by server 200a, it is assumed that "Model Name", "Unit Number", "Installed App List", and "Running App List" are to be sent at 0 minutes past every hour.

[0106] In this case, the data providing unit 120 acquires "Model Name" and "Unit Number" once a week and stores (caches) them in the cache area 121 each time. Also, the data providing unit 120 acquires the "Installed App List" once a day and stores (caches) it in the cache area 121 each time. Furthermore, the data providing unit 120 acquires the "Running App List" at 0 minutes past every hour. Then, the data providing unit 120 sends data to server 200 at 0:00 every day and sends data to server 200a at 0 minutes past every hour.

[0107] As shown in FIG. 10, even when the same data is repeatedly sent to multiple service systems, by caching cacheable data, the frequency of data acquisition can be reduced. For example, "Model Name" and "Unit Number" only need to be acquired once a week, and the "Installed App List" only needs to be acquired once a day.

[0108] Moreover, the "installed app list" will obtain information on installed apps managed by the OS through analysis, which takes a certain amount of time. Therefore, if caching is available, the processing efficiency can be improved.

[0109] Also, in the example of FIG. 10, the "running app list" cannot be cached, but depending on the service content, caching with a validity period of about one hour may be acceptable in some cases. The "running app list" is obtained from the OS through an advanced procedure, and the processing load for acquisition is larger compared to other data. Therefore, by caching the "running app list" and sending the cached "running app list" to the servers 200 and 200a, the processing load on the PC 100 can be reduced.

[0110] Note that the event log may be used in multiple services. The event log has a large amount of data and takes time to acquire. If the data providing unit 120, which is a common app, is used to send the event log to the servers of each of the multiple services, the processing load for data acquisition can be significantly reduced.

[0111] Furthermore, the service providing unit 120, which is a common app, sends the data required by each service at the timing of each service to each of the multiple services based on the service information for each service. As a result, when there are additions, deletions, or updates to multiple services, it is only necessary to add, change, or delete the service information from the server 300 to the data providing unit 120. Therefore, operations such as installation, uninstallation, and update of apps for each service become unnecessary, and the management work for providing multiple services is reduced.

[0112] [Other Embodiments] In the second embodiment, a management server 300 is provided separately from the servers 200, 200a, ··· that provide services. However, for example, the functions of the server 300 may be implemented on one of the servers 200, 200a, ···. Also, each of the servers 200, 200a, ··· may transmit service information of the service it provides to an information processing device such as a PC to which the service is applied.

[0113] As described above, the embodiments have been illustrated. However, the configurations of each part shown in the embodiments can be replaced with other things having the same functions. Also, other arbitrary components or processes may be added. Furthermore, it may be a combination of any two or more configurations (features) among the above-described embodiments.

Description of Reference Numerals

[0114] 1 - 3 Servers 4 Service Information 5 Data 6 Cache Area 10 Information Processing Device 11 Storage Unit 12 Processing Unit

Claims

1. An information processing apparatus, comprising: a plurality of servers that provide any one of a plurality of services applicable to the information processing apparatus; data inside the information processing apparatus that each of the plurality of servers uses for service provision; a valid period of the data; and service information indicating a transmission timing of the data to each of the plurality of servers, wherein the information processing apparatus detects that the transmission timing of the data to any one of the plurality of servers has arrived, and among the transmission target data that the first server that has reached the transmission timing uses for provision of the first service, acquires second data other than first data that has been acquired and is within the valid period from acquisition, and transmits the first data and the second data to the first server; a processing unit An information processing apparatus having the same.

2. When a plurality of the first servers reach the transmission timing at the same time and the second data among the transmission target data that each of the plurality of the first servers uses for provision of the first service is common, the processing unit acquires the second data in one acquisition process, and transmits the second data acquired in one acquisition process to each of the plurality of the first servers. The information processing apparatus according to Claim 1.

3. The service information indicates a valid period for each service for the data that each of the plurality of servers uses for service provision, and the processing unit determines whether the acquired third data among the transmission target data that the first server that has reached the transmission timing uses for provision of the first service is the first data based on the valid period for the first service. The information processing apparatus according to Claim 1.

4. The service information indicates different valid periods for each data item of the data that each of the plurality of servers uses for service provision, and the processing unit determines whether the acquired third data among the transmission target data that the first server that has reached the transmission timing uses for provision of the first service is the first data based on the valid period of the corresponding data item. The information processing apparatus according to Claim 3.

5. a plurality of servers that provide any one of a plurality of services; Based on service information indicating a plurality of target servers that provide services received by the own device among the plurality of servers, data inside the own device used by each of the plurality of target servers for service provision, the expiration period of the data, and the transmission timing of the data to each of the plurality of target servers, when the transmission timing of the data to any of the plurality of target servers arrives, among the transmission target data used by the first server that has reached the transmission timing for providing the first service, acquire second data other than the first data that has been acquired and is within the expiration period since acquisition, and transmit the first data and the second data to the first server, a plurality of information processing apparatuses; a management server that distributes the service information corresponding to the services provided to each of the plurality of information processing apparatuses; An information processing system having the above.

6. On a computer, Based on service information indicating a plurality of servers that provide any one of a plurality of services applied to the computer, data inside the computer used by each of the plurality of servers for service provision, the expiration period of the data, and the transmission timing of the data to each of the plurality of servers, detect that the transmission timing of the data to any of the plurality of servers has arrived, and among the transmission target data used by the first server that has reached the transmission timing for providing the first service, acquire second data other than the first data that has been acquired and is within the expiration period since acquisition, and transmit the first data and the second data to the first server, A data providing program for executing the process.

Citation Information

Patent Citations

  • Client device, system, information processing method and program

    JP2018113493A

  • Information processing device and managing program

    JP2018116417A

  • Hot water system, cloud server, boiling schedule management method and program

    JP2020169789A