Information processing system, information processing method, and program
The information processing system addresses the challenge of incomplete log data collection by using disclosure policy data to manage and transmit relevant log data efficiently, enhancing debugging capabilities.
Patent Information
- Application Number
- JP2024046413
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-22
- Publication Date
- 2025-10-03
AI Technical Summary
Conventional fault management systems struggle to properly collect log data due to vendor-specific configurations and resource constraints, leading to inefficiencies and incomplete data collection.
An information processing system with a first component and a second component, where the first component sends a disclosure request message for log data, and the second component processes the request based on disclosure policy data to determine and transmit relevant log data within specified scopes, ensuring appropriate data collection while minimizing unnecessary disclosure.
The system effectively collects log data within required scopes, reducing resource consumption and preventing unauthorized disclosure, facilitating efficient bug analysis and debugging.
Smart Images

Figure 2025145909000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to an information processing system that performs processing related to log data. [Background technology]
[0002] A fault management system has been proposed that acquires log information, which is log data, from multiple devices. Specifically, when a fault occurs in a specific function of a device, the fault management system acquires log information of a log type corresponding to the type of the device and the function in which the fault occurred. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 7069956 Summary of the Invention [Problem to be solved by the invention]
[0004] However, a problem with information processing systems that are conventional fault management systems is that they may not be able to properly collect log data.
[0005] Therefore, the present disclosure provides an information processing system and the like that can appropriately collect log data. [Means for solving the problem]
[0006] An information processing system according to one embodiment of the present disclosure is an information processing system having a first component and a second component, wherein the first component includes a message processing unit that sends a disclosure request message indicating a requested range for requesting disclosure of log data to the second component, and the second component includes a log storage unit that stores one or more log data, and a disclosure execution unit, wherein the disclosure execution unit receives the disclosure request message from the first component, determines the log data corresponding to the disclosure request message from the one or more log data stored in the log storage unit, identifies the discloseable range of the determined log data based on disclosure policy data that indicates a policy regarding the disclosure of the determined log data as a disclosure policy, and if there is log data to be disclosed within the identified discloseable range and within the requested range of the disclosure request message, sends the log data to the first component.
[0007] These comprehensive or specific aspects may be realized as an apparatus, a method, an integrated circuit, a computer program, or a computer-readable recording medium such as a CD-ROM, or may be realized as any combination of an apparatus, a method, an integrated circuit, a computer program, and a recording medium. The recording medium may also be a non-transitory recording medium. [Effects of the Invention]
[0008] The information processing system of the present disclosure can appropriately collect log data.
[0009] Further advantages and effects of one aspect of the present disclosure will become apparent from the specification and drawings. Such advantages and / or effects are provided by some of the embodiments and configurations described in the specification and drawings, but not all of the configurations are necessarily required. [Brief explanation of the drawings]
[0010] [Figure 1]FIG. 1 is a diagram illustrating an example of a configuration of a communication system according to the first embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of a configuration of the information processing system according to the first embodiment. [Figure 3] FIG. 3 is a diagram for explaining the problem in the first embodiment. [Figure 4] FIG. 4 is a diagram illustrating an example of processing related to log data performed between two components according to the first embodiment. [Figure 5A] FIG. 5A is a diagram illustrating an example of a series of processes performed by a plurality of components according to the first embodiment. [Figure 5B] FIG. 5B is a diagram showing another example of a series of processes performed by a plurality of components according to the first embodiment. [Figure 6] FIG. 6 is a diagram showing another example of a series of processes performed by a plurality of components according to the first embodiment. [Figure 7] FIG. 7 is a diagram showing an example of the configuration of an upper component and a plurality of lower components according to the first embodiment. [Figure 8] FIG. 8 shows specific examples of upper-level components and lower-level components according to the first embodiment. [Figure 9] FIG. 9 is a sequence diagram showing an example of processing operations of an upper component and a lower component according to the first embodiment. [Figure 10] FIG. 10 is a diagram showing an example of response information transmitted to a higher-level component by an ID response unit of a lower-level component according to the first embodiment. [Figure 11] FIG. 11 is a diagram showing an example of a disclosure request message according to the first embodiment. [Figure 12] FIG. 12 is a diagram showing an example of disclosure policy data according to the first embodiment. [Figure 13] FIG. 13 is a diagram illustrating an example of a processing operation of the disclosure processing unit according to the first embodiment. [Figure 14]FIG. 14 is a diagram showing another example of disclosure policy data according to the first embodiment. [Figure 15] FIG. 15 is a diagram illustrating another example of the processing operation of the disclosure processing unit according to the first embodiment. [Figure 16] FIG. 16 is a sequence diagram showing another example of the processing operations of the upper component and the lower component according to the first embodiment. [Figure 17] FIG. 17 is a diagram illustrating an example of an update message received by the policy update unit according to the first embodiment. [Figure 18] FIG. 18 is a diagram illustrating an example of an update rule referred to by the policy update unit according to the first embodiment. [Figure 19] FIG. 19 is a sequence diagram illustrating an example of processing operations of the policy update source and the policy update unit according to the first embodiment. [Figure 20] FIG. 20 is a diagram illustrating an example of a series of processes performed by a plurality of components including a middle-level component according to the second embodiment. [Figure 21] FIG. 21 is a diagram illustrating an example of the configuration of each of an upper-level component and a plurality of middle-level components according to the second embodiment. [Figure 22] FIG. 22 is a sequence diagram illustrating an example of processing operations of an upper-level component, a middle-level component, and a lower-level component according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0011] An information processing system according to a first aspect of the present disclosure includes a first component and a second component, wherein the first component includes a message processor configured to transmit a disclosure request message indicating a requested range for requesting disclosure of log data to the second component, the second component including a log storage unit configured to store one or more log data, and a disclosure execution unit configured to receive the disclosure request message from the first component, determine the log data corresponding to the disclosure request message from the one or more log data stored in the log storage unit, identify a disclosable range of the determined log data based on disclosure policy data indicating a policy regarding disclosure of the determined log data as a disclosure policy, and, if there is log data to be disclosed within the identified disclosable range and within the requested range of the disclosure request message, transmit the log data to the first component. Note that the first component is also referred to as an upper component, and the second component is also referred to as a middle component or lower component.
[0012] As a result, when the second component receives a disclosure request message from the first component, it may transmit the disclosure log data to the first component. Therefore, the disclosure log data is disclosed within the disclosure scope based on the disclosure policy data and within the disclosure scope requested in the disclosure request message. In other words, by using the disclosure policy data, the second component can disclose the disclosure log data within a narrower disclosure scope than the disclosure scope requested in the disclosure request message. As a result, the second component can disclose the disclosure log data within the disclosure scope required for debugging, without disclosing all of the log data required in the disclosure request message or refusing to disclose the log data. This allows the second component to reduce the risk of technology leaks and the first component to appropriately collect log data. If there is no disclosure scope within the disclosure scope based on the disclosure policy data and within the disclosure scope requested in the disclosure request message, the second component may not transmit the disclosure log data or may reject the request in the disclosure request message.
[0013] In an information processing system according to a second aspect, the first component may further include an extraction unit that extracts, from input information, first execution identification information for identifying requested log data. The message processing unit may further generate the disclosure request message including the first execution identification information extracted by the extraction unit. The disclosure execution unit of the second component may determine, from the one or more log data stored in the log storage unit, log data to which second execution identification information corresponding to the first execution identification information included in the disclosure request message is added as the log data corresponding to the disclosure request message. Note that the second aspect may be dependent on the first aspect. The first execution identification information may be the same as the second execution identification information, or may be different from the second execution identification information as long as a correspondence between the first execution identification information and the second execution identification information is defined.
[0014] This allows the first component to specify the log data to be requested for disclosure to the second component, since the disclosure request message including the first execution identification information is transmitted. Furthermore, the second component can appropriately determine the log data requested by the first component based on the first execution identification information.
[0015] An information processing system according to a third aspect may include three or more components including the first component and the second component, wherein the first component further includes a list generation unit that transmits the first execution identification information to each of a plurality of components including the second component, and generates a list indicating the one or more components including the second component based on a reply result from one or more components among the plurality of components that have log data to which the second execution identification information corresponding to the first execution identification information is added, and the message processing unit transmits the disclosure request message indicating each of the one or more components shown in the list as access targets. Note that the third aspect may be dependent on the second aspect.
[0016] As a result, before the disclosure request message is transmitted, a list indicating one or more components having log data to which the second execution identification information is attached is generated. Then, each of the one or more components indicated in the list is set as an access target of the disclosure request message, i.e., as a destination of the disclosure request message. Therefore, the disclosure request message can be transmitted to an appropriate destination, and the transmission of the disclosure request message can be made more efficient. In other words, it is possible to prevent unnecessary processing, such as transmitting the disclosure request message to components other than the component having the log data to which the second execution identification information is attached, and causing the other components to execute processing in accordance with the disclosure request message.
[0017] In the information processing system according to a fourth aspect, the second component may further include a propagation unit that transmits the disclosure request message received by the disclosure execution unit to a component other than the second component when the one or more components include a component other than the second component as the access target. Note that the fourth aspect may be dependent on the third aspect.
[0018] This allows the disclosure request message to be propagated from the first component to the other components via the second component, and as a result, the first component can receive log data for disclosure from the other components as well, enabling effective collection of log data.
[0019] In addition, in an information processing system according to a fifth aspect, the second component may further include a policy storage unit that stores one or more disclosure policy data corresponding to one or more log data stored in the log storage unit, and a policy update unit that updates the one or more disclosure policy data, and the one or more disclosure policy data may include the disclosure policy data corresponding to the determined log data. Note that the fifth aspect may be dependent on any one of the first to fourth aspects.
[0020] As a result, one or more pieces of disclosure policy data stored in the policy storage unit are updated, so that the disclosure range of the disclosure log data can be appropriately adjusted.
[0021] In addition, in an information processing system according to a sixth aspect, the second component may further include a processing execution unit that, for each request from the first component, acquires the second execution identification information corresponding to the request from the first component and executes processing corresponding to the request. Each time the processing execution unit executes processing corresponding to the request, the processing execution unit may add the second execution identification information corresponding to the request to log data indicating a result of the processing corresponding to the request, and store the log data with the added second execution identification information in the log storage unit. Note that the sixth aspect may be dependent on any one of the first to fifth aspects. Furthermore, the processing executed by the processing execution unit in response to a request from the first component may be, for example, processing executed by a call from the first component using an API (Application Programming Interface). Alternatively, the processing may be processing executed in response to a request in a format other than an API.
[0022] As a result, for each request from the first component, the log storage unit of the second component stores log data to which second execution identification information corresponding to the request is added. Furthermore, the second execution identification information is information obtained from the first component. For example, the first component executes a process and requests the second component to execute another process required for the first process. At this time, the first component can cause the second component to add the second execution identification information it has sent to the log data of the other process corresponding to the request. As a result, the first component can identify the log data of a series of processes performed together with the second component by the second execution identification information.
[0023] In addition, in an information processing system according to a seventh aspect, the second component may further include a log encryption unit that generates encrypted disclosure log data by encrypting the determined log data or by encrypting the disclosure log data, the disclosure execution unit transmits the encrypted disclosure log data by transmitting the encrypted disclosure log data, and the first component may further include a log decryption unit that decrypts the encrypted disclosure log data when the encrypted disclosure log data is received by the first component. Note that the seventh aspect may be dependent on any one of the first to sixth aspects.
[0024] As a result, the disclosure log data is encrypted and transmitted from the second component to the first component. This increases the confidentiality of the disclosure log data. For example, the encrypted disclosure log data, i.e., the encrypted disclosure log data, is transmitted from the second component to the first component via another component. In such a case, it is possible to prevent the contents of the encrypted disclosure log data from being decrypted by the other component.
[0025] In an information processing system according to an eighth aspect, the disclosure policy data indicates the disclosure scope including a conditional clause and an action clause, the conditional clause indicates a condition for the determined disclosure of the log data, and the action clause indicates the determined disclosure mode of the log data as a first execution mode, the disclosure request message indicates one or more requirements for the determined disclosure of the log data and a second execution mode that is a mode required for the determined disclosure of the log data, and the disclosure execution unit of the second component may further identify, as the log data to be disclosed, (i) log data to be disclosed in accordance with one or more requirements among the one or more requirements indicated in the disclosure request message that satisfy the condition indicated by the conditional clause, and (ii) log data to be disclosed in the second execution mode indicated by the disclosure request message that overlaps with the first execution mode indicated by the action clause. Note that the eighth aspect may be subordinate to any one of the first to seventh aspects. For example, the requirements of the disclosure request message are the source of the log data request, the reason for the log data request, and the destination to which the log data will be disclosed. The second execution mode of the disclosure request message is, for example, the requested disclosure level and the disclosure deadline. The conditions of the disclosure policy data are, for example, the source of the log data request, the destination to which the log data will be disclosed, and the reason for the log data request. The first execution mode of the disclosure policy data is, for example, the disclosure level and the disclosure deadline.
[0026] As a result, the disclosure log data is disclosed in accordance with the requirements of the disclosure request message that satisfy the conditions of the disclosure policy data, and in accordance with the second execution mode of the disclosure request message that overlaps with the first execution mode of the disclosure policy data. Therefore, the requirements of the disclosure request message and the request made in the second execution mode can be restricted in accordance with the conditions of the disclosure policy data and the first execution mode. As a result, the disclosure of the log data can be appropriately restricted.
[0027] In addition, in the information processing system according to a ninth aspect, when the execution node indicates an application to an external system outside the information processing system instead of the first execution aspect, the disclosure execution unit of the second component may inquire of the external system whether or not to disclose log data according to the second execution aspect. Note that the ninth aspect may be dependent on the eighth aspect.
[0028] As a result, if the external system permits disclosure of the log data in the second execution mode, the log data to be disclosed can be disclosed by disclosing the log data in the second execution mode. Conversely, if the external system does not permit disclosure of the log data in the second execution mode, disclosure of the log data in the second execution mode, i.e., disclosure of the log data to be disclosed, can be prohibited. Therefore, the disclosure of the log data can be appropriately controlled by the external system.
[0029] An information processing system according to a tenth aspect may have three or more components including the first component and the second component, and the first component may further include an aggregation unit that aggregates and outputs two or more pieces of disclosure log data when the first component receives the disclosure log data from each of two or more components including the second component. Note that the tenth aspect may be dependent on any one of the first to ninth aspects.
[0030] This allows two or more pieces of disclosure log data to be aggregated and output, making it possible to display these pieces of disclosure log data side by side on a display, thereby facilitating, for example, bug analysis or debugging by referring to these pieces of disclosure log data.
[0031] An information processing device according to a first aspect of the present disclosure includes: an extraction unit that extracts, from input information, first execution identification information for identifying log data to be requested; a list generation unit that transmits the first execution identification information to each of a plurality of external devices and generates a list indicating the one or more external devices based on a reply result from one or more of the plurality of external devices that has log data to which second execution identification information corresponding to the first execution identification information is added; and a message processing unit that transmits a disclosure request message indicating a request range for requesting disclosure of the log data to at least one of the one or more external devices shown in the list, wherein the disclosure request message includes the first execution identification information extracted by the extraction unit and indicates each of the one or more external devices shown in the list as a target for access. For example, the information processing device corresponds to the first component described above, and the external device corresponds to the second component.
[0032] As a result, the information processing device can acquire log data corresponding to the requested range from at least one external device by transmitting a disclosure request message to the at least one external device. Furthermore, because the disclosure request message includes the first execution identification information, the information processing device can specify the log data to be requested for disclosure to the external device. Furthermore, the external device can appropriately determine the log data requested by the information processing device based on the first execution identification information. Furthermore, before the disclosure request message is transmitted, a list indicating one or more external devices having log data to which the second execution identification information is attached is generated. Each of the one or more external devices listed in the list is then set as an access target of the disclosure request message, i.e., as a destination of the disclosure request message. Therefore, the disclosure request message can be transmitted to an appropriate destination, thereby improving the efficiency of transmission of the disclosure request message. In other words, it is possible to prevent unnecessary processing, such as transmitting a disclosure request message to an external device other than the external device having the log data to which the second execution identification information is attached and causing the other external device to execute processing in accordance with the disclosure request message. As a result, log data can be appropriately collected.
[0033] An information processing device according to a second aspect of the present disclosure includes a log storage unit storing one or more log data, and a disclosure execution unit, wherein the disclosure execution unit receives a disclosure request message indicating a requested range for requesting disclosure of log data from an external device, determines the log data corresponding to the disclosure request message from the one or more log data stored in the log storage unit, specifies a discloseable range of the determined log data based on disclosure policy data indicating a policy regarding disclosure of the determined log data as a disclosure policy, and, if there is log data to be disclosed within the specified discloseable range and within the requested range of the disclosure request message, transmits the log data to the external device. For example, the information processing device corresponds to the second component described above, and the external device corresponds to the first component.
[0034] As a result, when the information processing device receives a disclosure request message from an external device, it may transmit disclosure log data to the external device. Therefore, the disclosure log data is disclosed within the disclosure range based on the disclosure policy data and within the disclosure range requested in the disclosure request message. In other words, by using the disclosure policy data, the information processing device can disclose disclosure log data within a narrower disclosure range than the disclosure range requested in the disclosure request message. As a result, the information processing device can disclose disclosure log data within a disclosure range appropriate to the need for the log data, without disclosing log data that entirely meets the disclosure range requested in the disclosure request message or refusing to disclose the log data. For example, the information processing device can disclose disclosure log data within a disclosure range necessary for debugging. This allows the external device to appropriately collect log data. Note that if there is no disclosure range within the disclosure range based on the disclosure policy data and within the disclosure range requested in the disclosure request message, the information processing device does not need to transmit disclosure log data.
[0035] An information processing device according to a third aspect of the present disclosure includes a message processing unit that transmits a first disclosure request message indicating a requested range for requesting disclosure of log data to a first external device, a log storage unit that stores one or more log data, and a disclosure execution unit, wherein the disclosure execution unit receives a second disclosure request message indicating the requested range from a second external device, determines log data corresponding to the second disclosure request message from the one or more log data stored in the log storage unit, specifies a discloseable range of the determined log data based on disclosure policy data that indicates a policy regarding disclosure of the determined log data as a disclosure policy, and, if there is log data to be disclosed within the specified discloseable range and within the requested range of the second disclosure request message, transmits the log data to the second external device. For example, the information processing device corresponds to a component that combines the functions of the first component and the second component described above.
[0036] This makes it possible to achieve the same effects as the information processing device according to the second aspect described above, and also to request log data from the first external device, as with the information processing device according to the first aspect.
[0037] Hereinafter, the embodiments will be specifically described with reference to the drawings.
[0038] The embodiments described below are all comprehensive or specific examples. The numerical values, shapes, materials, components, component placement and connection configurations, steps, and step sequences shown in the following embodiments are merely examples and are not intended to limit the present invention. Furthermore, among the components in the following embodiments, components that are not described in the independent claims that represent the highest concepts are described as optional components. Furthermore, each drawing is a schematic diagram and is not necessarily an exact illustration. Furthermore, the same components are designated by the same reference numerals in each drawing.
[0039] (Embodiment 1) FIG. 1 is a diagram showing an example of the configuration of a communication system according to this embodiment.
[0040] The communication system 1000 according to this embodiment is a system for performing, for example, bug analysis or debugging, and includes an information processing system 100, a server 200, and a debugging device 300.
[0041] The information processing system 100 is a system mounted on, for example, a vehicle V, and includes multiple components 1. Each component 1 is a unit, device, or apparatus that executes processing according to the component 1 and stores log data related to the executed processing. The log data indicates, for example, input, output, and the status of the processing when the processing is executed.
[0042] The server 200 is connected to the information processing system 100 via a communication network Nt. The server 200 acquires one or more pieces of log data from the information processing system 100 via the communication network Nt, and performs processing such as analyzing and debugging bugs in the information processing system 100 based on the acquired log data.
[0043] The debugging device 300 is connected to, for example, the information processing system 100, and acquires one or more pieces of log data aggregated by the information processing system 100. Then, similar to the server 200, the debugging device 300 performs processing such as analyzing and debugging bugs in the information processing system 100 based on the log data.
[0044] The configuration of the communication system 1000 shown in FIG. 1 is an example, and the communication system 1000 may have other configurations as long as it includes the information processing system 100.
[0045] FIG. 2 is a diagram showing an example of the configuration of the information processing system 100 according to this embodiment.
[0046] The information processing system 100 includes a communication module 11, an IVI (in-vehicle infotainment) 12, a gateway 13, three domain controllers 14 to 16, and six ECUs (Electronic Control Units) 17 to 22, each of which serves as a component 1. The information processing system 100 may also include an OBD (On-Board Diagnostics) 30.
[0047] The information processing system 100 includes a plurality of components 1, namely, a communication module 11, an IVI 12, a gateway 13, three domain controllers 14 to 16, and six ECUs 17 to 22, each of which includes a log storage unit 2.
[0048] The log storage unit 2 is a recording medium for storing log data related to processing executed in the component 1 that includes the log storage unit 2. In other words, the log storage unit 2 stores one or more pieces of log data. For example, the log storage unit 2 is a hard disk drive, a RAM (Random Access Memory), a ROM (Read Only Memory), or a semiconductor memory. Note that such a log storage unit 2 may be volatile or non-volatile.
[0049] 2 is an example, and the information processing system 100 may have other configurations as long as it includes multiple components 1. Furthermore, the configuration of the information processing system 100 may not be a physical configuration, but may have a virtualized configuration. In other words, each of the multiple components 1 may be configured as a virtual machine. Furthermore, a vehicle V having such an information processing system 100 may be configured as a SDV (Software Defined Vehicle).
[0050] FIG. 3 is a diagram for explaining the problem in this embodiment.
[0051] For example, in the information processing system 100, a component group a1 including the OBD 30 and the gateway 13 is developed by vendor A. In addition, in the information processing system 100, a component group a2 including three domain controllers 14 to 16 is developed by vendor B. In the information processing system 100, a component group a3 including two ECUs 17 and 18 is developed by vendor C, a component group a4 including two ECUs 19 and 20 is developed by vendor D, and a component group a5 including two ECUs 21 and 22 is developed by vendor E. In this way, the information processing system 100 may include multiple component groups developed by different vendors.
[0052] In such a case, if each of the multiple components 1 included in the information processing system 100 is configured as a conventional component, it is not easy to send and receive log data between the multiple component groups. That is, a conventional component may always refuse to send log data to another component developed by a different vendor. Therefore, for example, even if one component 1 attempts to collect multiple log data generated when a series of processes is executed by multiple component groups for debugging purposes, it may not be able to collect all of the log data. Alternatively, it may not be able to collect all of the log data due to the significant time, processing resource consumption, or cost required to transmit all of the log data.
[0053] Therefore, in the information processing system 100 according to this embodiment, when a component 1 receives a request for log data from another component 1, the component 1 transmits its own log data to the other component 1 in accordance with the disclosure policy data.
[0054] FIG. 4 is a diagram showing an example of processing relating to log data that is performed between two components 1 in this embodiment.
[0055] For example, processing related to log data d is performed between two components 1, i.e., between an upper component 1a and a lower component 1b, among a plurality of components 1 included in information processing system 100. That is, information processing system 100 in this embodiment has upper component 1a and lower component 1b. Upper component 1a is also called a first component, and lower component 1b is also called a second component.
[0056] Specifically, upper component 1a transmits disclosure request message m to lower component 1b. Upon receiving disclosure request message m, lower component 1b references disclosure policy data p held by lower component 1b. Lower component 1b then transmits log data d corresponding to the disclosure policy indicated by the disclosure policy data p and disclosure request message m to upper component 1a. The transmitted log data d may be stored in log storage unit 2 of lower component 1b, or may be processed from log data stored in log storage unit 2. Note that log data d is also referred to as disclosure log data.
[0057] When the upper component 1a acquires the log data d from the lower component 1b, the upper component 1a displays the log data d on the display unit 40. The display unit 40 may be, for example, a display placed on the dashboard of the vehicle V and controlled by the IVI 12, or may be a display of the debugging device 300. Furthermore, when the upper component 1a acquires multiple pieces of log data d, the upper component 1a may aggregate the pieces of log data d and display them on the display unit 40.
[0058] 5A, 5B, and 6 are diagrams showing an example of a series of processes performed by a plurality of components 1 in this embodiment.
[0059] For example, as shown in FIG. 5A, when the gateway 13 executes a process, it calls a function of the domain controller 14 using an API (Application Programming Interface). As a result, the domain controller 14 executes a process according to the called function. The domain controller 14 then transmits the processing result to the gateway 13, and the gateway 13 may perform further processing using the processing result. In this way, a series of processes are executed by the gateway 13 and the domain controller 14. Note that in the example of FIG. 5A, the gateway 13 executes the process as an upper component 1a, and the domain controller 14 executes the process as a lower component 1b. Furthermore, the domain controller 14 belongs to a layer one level below the gateway 13.
[0060] 5B, the gateway 13 may use APIs to call the functions of each of the multiple domain controllers 14, 15, and 16. In this case, the domain controllers 14, 15, and 16 belong to the same hierarchy level one level below the gateway 13.
[0061] 6, when the domain controller 14 executes a process, it calls a function of the domain controller 15 by using an API. As a result, the domain controller 15 executes a process according to the called function. When the domain controller 15 executes a process, it may also call a function of the domain controller 14 by using an API. In other words, a bidirectional API call may be performed. As a result, a series of processes are executed by the domain controllers 14 and 15. In the example of FIG. 6, the domain controllers 14 and 15 execute processes as an upper component 1a and a lower component 1b, respectively.
[0062] In this embodiment, when a process is performed by each component 1, log data corresponding to the results of the process is stored in the log storage unit 2 of that component 1. When a series of processes such as those described above is performed, each of the multiple components 1 that performed the series of processes stores log data of the process executed by that component 1 in the log storage unit 2. At this time, each of the multiple components 1 adds execution identification information associated with each other among the multiple components 1 to the log data and stores the log data in the log storage unit 2. For example, the execution identification information may be common or identical information among the multiple components 1.
[0063] FIG. 7 is a diagram showing an example of the configuration of each of the upper component 1a and the plurality of lower components 1b in this embodiment.
[0064] The upper component 1 a includes a log storage unit 2 , a disclosure request unit 110 , a process execution unit 131 a , an ID generation unit 132 , an ID addition unit 133 , and a log decryption unit 142 .
[0065] The ID generation unit 132 generates the above-mentioned execution identification information and outputs it to the ID addition unit 133. The ID addition unit 133 acquires the execution identification information from the ID generation unit 132 and outputs the execution identification information to the process execution unit 131a. Furthermore, when the ID addition unit 133 acquires log data from the process execution unit 131a, it adds the execution identification information generated by the ID generation unit 132 to the log data. Then, the ID addition unit 133 stores the log data with the execution identification information added in the log storage unit 2. Note that the execution identification information generated by the ID generation unit 132 and added to the log data by the ID addition unit 133 in this way is also called second execution identification information.
[0066] The process execution unit 131a executes the processes included in the above-described series of processes and calls the functions of the lower component 1b using the API. At this time, the process execution unit 131a acquires the execution identification information generated by the ID generation unit 132 via the ID addition unit 133 and outputs the execution identification information to the lower component 1b. Furthermore, when the process execution unit 131a receives a processing result of the function as a response from the lower component 1b in response to the API call, the process execution unit 131a executes a process using the processing result. Such an API call may be made to multiple lower components 1b. In this way, a series of processes is executed. The process execution unit 131a then outputs log data of the processes executed by the process execution unit 131a to the ID addition unit 133.
[0067] The disclosure request unit 110 requests the lower component 1b to disclose log data. The disclosure request unit 110 includes an ID extraction unit 111, a list generation unit 112, a message processing unit 113, and a log aggregation unit 114.
[0068] The ID extraction unit 111 is an extraction unit that extracts execution identification information from input information received from the bug management unit 302. The execution identification information extracted by the ID extraction unit 111 is also referred to as first execution identification information when distinguished from the second execution identification information generated by the ID generation unit 132. The first execution identification information is information for identifying requested log data. For example, the debugging device 300 includes a bug designation unit 301 that designates a bug in response to a user's input operation, and a bug management unit 302 that outputs information related to the bug designated by the bug designation unit 301 as input information to the upper component 1a. The input information includes execution identification information related to the designated bug. The ID extraction unit 111 extracts the execution identification information and outputs it to the list generation unit 112.
[0069] The list generation unit 112 transmits the execution identification information (i.e., first execution identification information) to multiple lower components 1b included in the information processing system 100. In response, the list generation unit 112 inquires of these components 1b whether they hold log data to which the execution identification information is attached. That is, the list generation unit 112 inquires of these components 1b whether they hold log data to which second execution identification information corresponding to the first execution identification information extracted by the ID extraction unit 111 is attached. For example, the second execution identification information is the same as the first execution identification information. Note that the second execution identification information may be different from the first execution identification information as long as the correspondence with the first execution identification information is defined. The list generation unit 112 then generates a list indicating one or more lower components 1b that have responded that they hold the log data, and outputs the list to the message processing unit 113.
[0070] That is, in this embodiment, information processing system 100 has three or more components 1 including upper component 1a and lower component 1b. Then, list generation unit 112 transmits execution identification information to each of the multiple components 1 including lower component 1b. Next, list generation unit 112 generates a list indicating one or more components 1 based on a reply result from one or more components 1 among the multiple components 1 that have log data to which the execution identification information is added. In other words, list generation unit 112 transmits first execution identification information to each of the multiple components 1 including lower component 1b, and generates a list indicating one or more components 1 including lower component 1b based on a reply result from one or more components 1 among the multiple components 1 that have log data to which second execution identification information corresponding to the first execution identification information is added.
[0071] The message processing unit 113 generates a disclosure request message m indicating the requested range for requesting disclosure of log data and transmits it to the lower component 1b. Specifically, when the message processing unit 113 acquires the list generated from the list generation unit 112, it generates a disclosure request message m indicating the requested range for requesting disclosure of the above-mentioned log data, and transmits the disclosure request message m to each lower component 1b indicated in the list. In other words, the message processing unit 113 generates a disclosure request message m including the execution identification information (i.e., the first execution identification information) extracted by the ID extraction unit 111. Furthermore, the message processing unit 113 transmits a disclosure request message m indicating each of the one or more components 1 indicated in the list as the access target.
[0072] Then, when the message processing unit 113 acquires log data d corresponding to the disclosure request message m from each of the one or more lower components 1b, it outputs the log data d to the log aggregating unit 114. Note that the log data d transmitted from the lower component 1b in response to the disclosure request message m is log data that has been determined by the lower component 1b to be permissible for disclosure, and is also called log data for disclosure.
[0073] The log aggregating unit 114 acquires and aggregates one or more pieces of log data d from the message processing unit 113. If any of the one or more pieces of log data d is encrypted, the log aggregating unit 114 instructs the log decryption unit 142 to decrypt the encrypted log data d and acquires the decrypted log data d from the log decryption unit 142. In this manner, when the log aggregating unit 114 in this embodiment receives log data d from each of two or more components 1 including the lower component 1b, it aggregates and outputs the two or more pieces of log data d. For example, the log aggregating unit 114 aggregates the log data d and outputs it to the display unit 40. Furthermore, if the log data to which the execution identification information extracted by the ID extraction unit 111 is added is stored in the log storage unit 2 of the upper component 1a, the log aggregating unit 114 acquires the log data from the log storage unit 2. That is, if log data to which second execution identification information corresponding to the first execution identification information extracted by the ID extraction unit 111 is added is stored in the log storage unit 2 of the upper component 1a, the log aggregation unit 114 acquires the log data from the log storage unit 2. Then, the log aggregation unit 114 aggregates the log data acquired from the log storage unit 2 together with one or more pieces of log data d acquired from the message processing unit 113, and outputs the aggregated plurality of log data to the display unit 40.
[0074] The log decryption unit 142 acquires the encrypted log data d from the log aggregation unit 114, decrypts the log data d, and outputs the decrypted log data d to the log aggregation unit 114. In other words, when encrypted disclosure log data, which is the encrypted log data d, is received by the upper component 1a, the log decryption unit 142 decrypts the encrypted disclosure log data.
[0075] The lower component 1 b includes a log storage unit 2 , a disclosure execution unit 120 , a process execution unit 131 b , a log encryption unit 141 , and a policy update unit 150 .
[0076] When a function is called from higher-level component 1a via an API, processing execution unit 131b executes processing according to the function and, for example, passes the processing result to higher-level component 1a. Then, processing execution unit 131b stores log data of the processing executed by processing execution unit 131b in log storage unit 2 of lower-level component 1b. Here, when a call is made via API, processing execution unit 131b acquires execution identification information (i.e., second execution identification information) from higher-level component 1a along with the call. Therefore, processing execution unit 131b adds the execution identification information from higher-level component 1a to the log data and stores the log data in log storage unit 2.
[0077] When the execution identification information from the higher-level component 1a includes the time when the processing was executed in the higher-level component 1a, the processing execution unit 131b may replace the time with the time when the processing was executed by the processing execution unit 131b. Alternatively, the processing execution unit 131b may add not only the execution identification information (i.e., the second execution identification information) but also other identification information specific to the lower-level component 1b to the log data.
[0078] In this way, for each request from upper component 1a via the API, process execution unit 131b obtains second execution identification information corresponding to the request from upper component 1a and executes the process corresponding to the request. Then, each time process execution unit 131b executes the process corresponding to the request, it adds the second execution identification information corresponding to the request to log data indicating the results of the process corresponding to the request. Furthermore, process execution unit 131b stores the log data with the added second execution identification information in log storage unit 2 of lower component 1b.
[0079] The log encryption unit 141 encrypts all or part of one or more pieces of log data stored in the log storage unit 2. For example, when the disclosure processing unit 122 determines log data corresponding to the disclosure request message m, the log encryption unit 141 encrypts the determined log data stored in the log storage unit 2. Alternatively, the log encryption unit 141 encrypts the log data for disclosure corresponding to the determined log data. In this way, the log encryption unit 141 generates encrypted log data for disclosure. The log encryption unit 141 may encrypt the log data for disclosure using an encryption key (i.e., a common key) shared with the component 1 (i.e., the upper component 1a) that requests the log data. The log encryption unit 141 may encrypt the log data for disclosure using a common key encryption or the like so that only a specific component 1 can decrypt it, or to prevent impersonation.
[0080] The disclosure execution unit 120 includes an ID response unit 121, a disclosure processing unit 122, and a policy storage unit 123. When the ID response unit 121 receives an inquiry from the list generation unit 112 of the higher-level component 1a, it responds to the inquiry. That is, the ID response unit 121 receives execution identification information from the list generation unit 112 and accepts an inquiry as to whether it holds log data to which the execution identification information is attached. In other words, the ID response unit 121 receives first execution identification information from the list generation unit 112 and accepts an inquiry as to whether it holds log data to which second execution identification information corresponding to the first execution identification information is attached. Then, the ID response unit 121 searches the log storage unit 2 for log data to which the execution identification information (i.e., the second execution identification information) is attached. If the log data is stored in the log storage unit 2, the ID response unit 121 responds by transmitting component identification information for identifying the lower-level component 1b having the ID response unit 121 to the list generation unit 112.
[0081] The policy storage unit 123 is a recording medium that stores disclosure policy data p indicating a policy regarding the disclosure of log data stored in the log storage unit 2 of the lower component 1b. That is, the policy storage unit 123 stores one or more disclosure policy data p corresponding to one or more log data stored in the log storage unit 2. When the disclosure processing unit 122 determines log data corresponding to the disclosure request message m, the one or more disclosure policy data p include the disclosure policy data p corresponding to the determined log data. For example, the policy storage unit 123 is a hard disk drive, RAM, ROM, or semiconductor memory. Note that such a policy storage unit 123 may be volatile or non-volatile.
[0082] When disclosure processing unit 122 receives disclosure request message m from message processing unit 113 of higher-level component 1a, it searches for log data requested by that disclosure request message m from log storage unit 2. That is, disclosure processing unit 122 receives disclosure request message m from higher-level component 1a and determines log data corresponding to that disclosure request message m from one or more log data stored in log storage unit 2 of lower-level component 1b. Specifically, disclosure processing unit 122 determines, from the one or more log data stored in log storage unit 2 of lower-level component 1b, log data to which second execution identification information corresponding to the first execution identification information included in disclosure request message m is added, as the log data corresponding to disclosure request message m.
[0083] The disclosure processing unit 122 then obtains disclosure policy data p corresponding to the determined log data from the policy storage unit 123. The disclosure processing unit 122 then identifies the disclosable range of the log data based on the disclosure policy data p. That is, the disclosure processing unit 122 identifies the disclosable range of the determined log data based on the disclosure policy data p, which indicates the policy regarding the disclosure of the determined log data as the disclosure policy. Furthermore, if there is log data to be disclosed that is within the identified disclosable range and within the requested range of the disclosure request message m, the disclosure processing unit 122 transmits the log data to the upper component 1a. The disclosure processing unit 122 may use part or all of the log data determined as described above as the disclosable log data, or may generate log data to be disclosed from the log data. Note that when the log data to be disclosed has been encrypted by the log encryption unit 141, the disclosure processing unit 122 transmits the encrypted log data to be disclosed.
[0084] The policy update unit 150 updates one or more disclosure policy data p stored in the policy storage unit 123 .
[0085] As described above, in this embodiment, execution identification information such as the first execution identification information and the second execution identification information is used. This makes it possible to limit the component 1 and log data related to the bug that the debugging device 300 or the like is paying attention to. Note that the execution identification information may be configured by a sequence ID or a combination of a process name and a time range.
[0086] FIG. 8 shows a specific example of the upper component 1a and the lower component 1b.
[0087] The upper component 1a is, for example, a component 1 having the name "Domain Controller 001." The lower component 1b is, for example, a component 1 having the name "Door Sensor ECU 001."
[0088] Furthermore, the log storage unit 2 of the lower component 1b stores log data including, for example, two types of disclosure log data. The two types of disclosure log data are disclosure log data with a disclosure level of "Low" and disclosure log data with a disclosure level of "High." These disclosure log data contain the same sequence number "240102122244" as execution identification information and the same date and time "2024-01-02 02:24:02.383." On the other hand, the disclosure log data with a disclosure level of "High" contains more detailed information for each of the keys and values than the disclosure log data with a disclosure level of "Low." Note that the disclosure log data with a disclosure level of "Low" may be generated from the disclosure log data with a disclosure level of "High."
[0089] FIG. 9 is a sequence diagram showing an example of the processing operations of the upper component 1a and the lower component 1b.
[0090] First, when debugging begins, the ID extraction unit 111 of the upper component 1a determines a series of processes to be debugged (step S1). This debug target may be specified by the debugging device 300. The debug target may also be a series of processes in which an error has occurred, a series of processes with slow response, a series of processes that has failed, or a series of processes in which an unusual event has occurred. Alternatively, a specific debug target may be specified by the debug executor who simply wants to check whether the process is being executed correctly, even if it is no different from normal processing. Furthermore, the ID extraction unit 111 extracts execution identification information for the determined debug target from the input information (step S2).
[0091] Then, list generation unit 112 makes an inquiry to lower component 1b by transmitting the execution identification information to that lower component 1b (step S3). Upon receiving the execution identification information from higher component 1a, ID response unit 121 checks whether log data to which the execution identification information is added is stored in log storage unit 2 of lower component 1b (step S4). In other words, ID response unit 121 checks whether the execution identification information is included in the log data stored in log storage unit 2.
[0092] In other words, the ID response unit 121 searches for log data to which the execution identification information is added from the log storage unit 2. When the log data is stored in a log file, the ID response unit 121 searches for log data to which the execution identification information is added from the log file.
[0093] Here, the ID response unit 121 confirms that the execution identification information is included in the log data. At this time, the ID response unit 121 transmits response information k1 including the confirmation result and component identification information (i.e., identification information of its own component) that is identification information of the lower component 1b that has the ID response unit 121 to the upper component 1a (step S5). Note that the confirmation result indicates that the above-mentioned execution identification information is included in the log data of the lower component 1b identified by the component identification information, that is, that the lower component 1b has log data including the execution identification information.
[0094] The list generation unit 112 receives response information k1 from the lower component 1b. Then, the list generation unit 112 generates the above-mentioned list. The list indicates the component identification information included in the received response information k1. Note that when the list generation unit 112 receives response information k1 from each of multiple lower components 1b, the list indicates multiple pieces of component identification information.
[0095] Then, message processing unit 113 adds the lower components 1b identified by each of the one or more component identification information shown in the list to the access targets (step S6). That is, message processing unit 113 adds each of the one or more lower components 1b corresponding to the execution identification information extracted in step S2 to the access targets. The access targets are the destinations of disclosure request message m. Then, message processing unit 113 sends disclosure request message m to the access targets (step S7).
[0096] The disclosure processing unit 122 of the lower component 1b receives the disclosure request message m from the upper component 1a (step S8). Furthermore, the disclosure processing unit 122 checks whether the component identification information of the lower component 1b that includes the disclosure processing unit 122 is set as the access target of the disclosure request message m. If the component identification information is set, the disclosure processing unit 122 determines the log data corresponding to the disclosure request message m (step S9). Furthermore, the disclosure processing unit 122 reads the disclosure policy data p corresponding to the determined log data from the policy storage unit 123 and identifies the disclosure range indicated by the disclosure policy data p (step S10). The disclosure processing unit 122 then identifies the disclosure log data based on the requested range and the disclosure range of the disclosure request message m (step S11) and transmits the disclosure log data to the upper component 1a (step S12). As a result, the upper component 1a receives the disclosure log data from the lower component 1b (step S13). This causes the disclosure log data to be disclosed.
[0097] That is, the disclosure log data is displayed on the display unit 40 by the upper component 1a. When the upper component 1a receives multiple pieces of disclosure log data from multiple lower components 1b, the multiple pieces of disclosure log data are displayed on the display unit 40. At this time, the multiple pieces of disclosure log data are integrated or aggregated and displayed. For example, the multiple pieces of disclosure log data may be displayed in chronological order in a table format. Furthermore, the multiple pieces of disclosure log data may be output as an attachment to an email or in file format. Furthermore, the display of the received disclosure log data is not limited to the display of primary log data, and may also be the display of results obtained by analyzing the log data, etc.
[0098] FIG. 10 is a diagram showing an example of response information k1 transmitted from the ID response unit 121 of the lower component 1b to the upper component 1a.
[0099] In step S5 of Fig. 9, the ID response unit 121 transmits, for example, response information k1 shown in Fig. 10 to the upper component 1a. The response information k1 indicates component identification information for identifying the lower component 1b that has the ID response unit 121, and whether or not data is present. The presence or absence of data is the result of the above-mentioned confirmation, and specifically indicates whether or not log data to which second execution identification information corresponding to the first execution identification information is added is stored in the log storage unit 2 of the lower component 1b. Note that "present" in the presence or absence of data indicates that the log data is stored.
[0100] FIG. 11 is a diagram showing an example of the disclosure request message m.
[0101] The disclosure request message m includes the name of the access target, execution identification information, first request information m1, and second request information m2. The execution identification information is the first execution identification information. In a specific example, the name of the access target is the name of component 1, "Door sensor ECU 001," and the execution identification information (i.e., sequence ID) is "240102122244." Furthermore, the first request information m1 and the second request information m2 indicate the request range for requesting disclosure of log data.
[0102] When log data corresponding to the disclosure request message m is determined, the first request information m1 indicates one or more requirements for the disclosure of the determined log data. The one or more requirements include, for example, a request source, a reason for the request, and a disclosure destination. The request source is the name of the company, device, person, etc. requesting disclosure, a specific example of which is "XXX Co.". The reason for the request is the reason for requesting disclosure, a specific example of which is "debug." The disclosure destination is the disclosure destination of the log data, for example, component 1. A specific example of the disclosure destination is component 1 with the name "Domain Controller 001."
[0103] The second request information m2 indicates a second execution mode, which is a mode requested for the disclosure of the determined log data. The second execution mode may be, for example, a requested disclosure level or a disclosure deadline. The requested disclosure level is a level or disclosure level required for the amount of information contained in the log data to be disclosed. A requested disclosure level of "High" indicates a large amount of information being requested, and a requested disclosure level of "Low" indicates a smaller amount of information being requested than the requested disclosure level of "High." The requested disclosure level can also be considered the level of abstraction required for the log data to be disclosed. In this case, a requested disclosure level of "High" indicates that detailed or specific log data is being requested, and a requested disclosure level of "Low" indicates that more abstract or simplified log data than the log data requested with a requested disclosure level of "High." The disclosure deadline is the deadline for the requested disclosure of the log data. In the example of FIG. 11, the second request information m2 indicates a requested disclosure level of "High" and a disclosure deadline of "48 hours."
[0104] The disclosure request message m shown in FIG. 11 is transmitted, for example, from the upper component 1a shown in FIG. 8 to the lower component 1b.
[0105] FIG. 12 is a diagram showing an example of disclosure policy data p.
[0106] For example, as shown in Fig. 12(a), the policy storage unit 123 stores disclosure policy data p indicating a first disclosure policy, and as shown in Fig. 12(b), the policy storage unit 123 stores disclosure policy data p indicating a second disclosure policy. In this manner, the disclosure policy data p indicates a disclosure policy. Note that the policy storage unit 123 may store disclosure policy data p indicating a disclosure policy other than the first disclosure policy and the second disclosure policy.
[0107] The disclosure policy data p includes policy identification information for identifying the disclosure policy and a disclosure range. The disclosure range includes a condition clause and an action clause. That is, the disclosure policy data p in this embodiment indicates a disclosure range including a condition clause and an action clause. When log data corresponding to the disclosure request message m is determined, the condition clause indicates the conditions for disclosure of the determined log data. For example, the condition clause indicates the request source, disclosure destination, reason for the request, etc. as conditions. Furthermore, the action clause indicates the disclosure mode of the determined log data as a first execution mode. For example, the action clause indicates the disclosure level, disclosure deadline, etc. as the first execution mode. The disclosure level of the action clause is a level allowed for the amount of information contained in the log data to be disclosed. The disclosure deadline of the action clause is the deadline for disclosure allowed for the log data.
[0108] In a specific example, as shown in (a) of Figure 12, the disclosure policy data p includes policy identification information "Policy 001". The condition clause of the disclosure policy data p indicates the request source "XXX Co., YYYCo.", the disclosure destination "Domain Controller 001", and the request reason "debug" as conditions. The execution clause of the disclosure policy data p indicates the disclosure level "High" and the disclosure deadline "24h" as a first execution mode.
[0109] The disclosure policy data p is previously associated with the log data stored in the log storage unit 2 of the lower component 1b.
[0110] The disclosure processing unit 122 of the disclosure execution unit 120 identifies, as log data to be disclosed, (i) log data to be disclosed in accordance with one or more requirements among the one or more requirements indicated by the request information m1 of the disclosure request message m that satisfy the condition indicated by the condition clause, and (ii) log data to be disclosed in a second execution mode among the request information m2 of the disclosure request message m that overlaps with the first execution mode indicated by the execution clause. In other words, the disclosure range of the log data to be disclosed is limited to the overlapping range between the request range of the disclosure request message m and the disclosable range of the disclosure policy data p. The one or more requirements of the disclosure request message m are limited by the conditions of the disclosure policy data p, and the second execution mode of the disclosure request message m is limited to the first execution mode of the disclosure policy data p.
[0111] FIG. 13 is a diagram for explaining an example of the processing operation of disclosure processing unit 122. In FIG.
[0112] As described above, when the disclosure processing unit 122 receives the disclosure request message m, it determines the log data corresponding to the disclosure request message m. Then, the disclosure processing unit 122 acquires the disclosure policy data p corresponding to the determined log data from the policy storage unit 123. For example, the disclosure processing unit 122 acquires the disclosure policy data p shown in (a) of FIG. 12. Then, the disclosure processing unit 122 identifies the discloseable range of the log data, for example, the conditional clause and action clause of (a) of FIG. 12, based on the disclosure policy data p. Furthermore, the disclosure processing unit 122 identifies the discloseable range that is within the discloseable range defined by the conditional clause and action clause and also within the requested range of the disclosure request message m.
[0113] Specifically, the disclosure processing unit 122 determines whether one or more requirements indicated by the request information m1 of the disclosure request message m satisfy the conditions indicated by the condition clauses of the disclosure policy data p. In the example of FIG. 11, the request information m1 indicates, as one or more requirements, the request source "XXX Co.", the request reason "debug," and the disclosure destination "Domain Controller 001." In the example of FIG. 12(a), the condition clause indicates, as conditions, the request source "XXX Co., YYY Co.", the disclosure destination "Domain Controller 001," and the request reason "debug." In this case, the request source, disclosure destination, and request reason of the request information m1 are included in the request source, disclosure destination, and request reason of the condition clause, respectively. Therefore, the disclosure processing unit 122 determines that all of the one or more requirements indicated by the request information m1 of the disclosure request message m satisfy the conditions indicated by the condition clauses of the disclosure policy data p. In this case, the disclosure processing unit 122 identifies the disclosure destination "Domain Controller 001" of the request information m1 of the disclosure request message m as part of the disclosure range.
[0114] Next, the disclosure processing unit 122 identifies the second execution mode indicated by the request information m2 of the disclosure request message m that overlaps with the first execution mode indicated by the execution clause of the disclosure policy data p. Specifically, the disclosure processing unit 122 identifies the lower disclosure level between the requested disclosure level of the request information m2 and the disclosure level of the execution clause. Furthermore, the disclosure processing unit 122 identifies the shorter disclosure deadline between the disclosure deadline of the request information m2 and the disclosure deadline of the execution clause. In the example of FIG. 11, the request information m2 indicates a requested disclosure level of "High" and a disclosure deadline of "48 hours." In the example of FIG. 12(a), the execution clause indicates a disclosure level of "High" and a disclosure deadline of "24 hours." In this case, the disclosure processing unit 122 identifies the disclosure level of "High" and the disclosure deadline of "24 hours" as part of the disclosure range.
[0115] That is, the disclosure processing unit 122 identifies the disclosure destination "Domain Controller 001," the disclosure level "High," and the disclosure deadline "24 hours" of the request information m1 in the disclosure request message m as the disclosure range of the log data. In other words, the disclosure range identifies the log data for disclosure to be disclosed.
[0116] In the above example, the disclosure policy data p shown in FIG. 12(a) is acquired. On the other hand, when the disclosure policy data p shown in FIG. 12(b) is acquired, the disclosure destination of the disclosure range is not identified. In other words, the disclosure destination and the request reason included in the request information m1 of the disclosure request message m shown in FIG. 11 are not included in the disclosure destination and the request reason of the condition clause shown in FIG. 12(b). Therefore, the disclosure processing unit 122 determines that one or more requirements indicated by the request information m1 of the disclosure request message m do not satisfy the conditions indicated by the condition clause of the disclosure policy data p. In this case, the disclosure processing unit 122 does not recognize the disclosure destination "Domain Controller 001" of the request information m1 of the disclosure request message m as part of the disclosure range. As a result, the disclosure range is not identified, and transmission of the disclosure log data is prohibited.
[0117] In the above example, the disclosure level of the execution node of the disclosure policy data p shown in Fig. 12(a) is "High." On the other hand, if the disclosure level is "Low," the disclosure processing unit 122 identifies the disclosure level "Low" as part of the disclosure range.
[0118] In this embodiment, the first and second execution modes are defined by two parameters, such as the disclosure level and the disclosure deadline. However, they may be defined by other parameters. Alternatively, other parameters may be added as parameters for defining the first and second execution modes. Even when such parameters are added, the disclosure scope of the disclosure log data may be determined based on the magnitude of the parameters, as with the disclosure level and the disclosure deadline. That is, the disclosure scope may be determined by the smaller or shorter parameter of the parameter of the first execution mode or the parameter of the second execution mode. Alternatively, the method for determining the disclosure scope using parameters may be switched depending on one or more requirements indicated by the request information m1 of the disclosure request message m. For example, of the request source "XXX Co., YYY Co." in the disclosure policy data p shown in FIG. 12(a), the request source "XXX Co." is indicated by the request information m1 of the disclosure request message m. In such a case, the disclosure processing unit 122 determines the disclosure scope based on the smaller or shorter parameter, as described above. On the other hand, of the requestor "XXX Co., YYYCo." of the disclosure policy data p shown in (a) of Figure 12, the requestor "YYYCo." is indicated by the request information m1 of the disclosure request message m. In such a case, unlike the above, the disclosure processing unit 122 may specify the disclosure range, for example, by a parameter included in the execution clause of the disclosure policy data p. Note that when switching the method of specifying the disclosure range depending on the requestor of the disclosure request message m in this way, a mechanism such as public key encryption may be incorporated into at least one of the disclosure request message m and the disclosure policy data p to prevent spoofing of the requestor.
[0119] FIG. 14 is a diagram showing another example of the disclosure policy data p.
[0120] The disclosure level included in the execution clause of the disclosure policy data p may be "application required" as in the example of Fig. 14. When the disclosure level "application required" is indicated in the execution clause of the disclosure policy data p, the disclosure processing unit 122 inquires of an external system whether the requested disclosure level of the request information m2 is acceptable. The external system may be the server 200, or may be a system managed by the development vendor of the lower component 1b that has the disclosure processing unit 122.
[0121] In other words, if the execution clause of the disclosure policy data p indicates an application to an external system outside the information processing system 100 instead of the first execution mode, the disclosure processing unit 122 inquires of the external system whether or not to disclose the log data according to the second execution mode (e.g., requested disclosure level) indicated in the request information m2.
[0122] FIG. 15 is a diagram for explaining another example of the processing operation of disclosure processing unit 122. In FIG.
[0123] As described above, the disclosure processing unit 122 identifies the lower disclosure level between the requested disclosure level of the request information m2 and the disclosure level of the action node. Here, if the disclosure level of the action node is "application required," the disclosure level "application required" is defined as lower than the disclosure level "low," as shown in FIG. 15. Therefore, in this case, the disclosure processing unit 122 identifies the disclosure level as "application required" regardless of whether the requested disclosure level is "high" or "low." As a result, the disclosure processing unit 122 applies to the external system for the requested disclosure level of the request information m2. In other words, the disclosure processing unit 122 inquires of the external system whether the requested disclosure level is acceptable.
[0124] Alternatively, the disclosure processing unit 122 may inquire of the external system about the disclosure level of the action node. In this case, when the disclosure processing unit 122 receives the disclosure level of the action node as a response from the external system, it specifies the lower disclosure level of the received disclosure level or the requested disclosure level of the request information m2 as the disclosure level that defines the disclosure range of the log data.
[0125] 16 is a sequence diagram showing another example of the processing operations of the upper component 1a and the lower component 1b in the case where the disclosure level "application required" is indicated in the execution node of the disclosure policy data p.
[0126] The upper component 1a and the lower component 1b execute the processes of steps S1 to S10, similar to the example shown in FIG. 9. Here, the disclosure level of the execution node included in the discloseable range identified in step S10 is "application required." As a result, the disclosure processing unit 122 of the lower component 1b applies to the external system for the requested disclosure level indicated in the disclosure request message m (step S11a). Specifically, the disclosure processing unit 122 notifies the external system of the requested disclosure level. Alternatively, the disclosure processing unit 122 notifies the external system of a combination of the requested disclosure level and the name or component identification information of the upper component 1a.
[0127] The external system accepts the request for the requested disclosure level (step S21). Then, the external system determines whether the requested disclosure level is acceptable and notifies the lower component 1b of the decision result (step S22). The disclosure processing unit 122 of the lower component 1b receives the notification of the decision result from the external system. If the decision result indicates that the requested disclosure level is acceptable, that is, that the request is approved, the disclosure processing unit 122 identifies, as log data to be disclosed, log data to be disclosed within the disclosure range defined by the requested disclosure level. For example, if the requested disclosure level is "High," log data to be disclosed having a disclosure level of "High" is identified. The disclosure processing unit 122 then transmits the log data to be disclosed to the upper component 1a (step S12). The upper component 1a receives the log data to be disclosed from the lower component 1b (step S13). If the external system determines in step S22 that the requested disclosure level is not acceptable, that is, that the application is not approved, then in step S12, the disclosure processing unit 122 does not transmit the disclosure log data.
[0128] In the above example, the external system notifies lower component 1b of the decision result in step S22, but it may also notify upper component 1a without notifying lower component 1b. In this case, lower component 1b may send a primary response to upper component 1a in step S11a. In a specific example, lower component 1b sends disclosure log data corresponding to the requested disclosure level to the external system in step S11a, along with a request for the requested disclosure level. Then, when the external system decides to permit the request in step S22, it sends the decision result and disclosure log data to upper component 1a, not lower component 1b.
[0129] In the above example, a request for a requested disclosure level in the second execution mode is made, but not only a request for a requested disclosure level but also a request for a disclosure deadline may be made to an external system.
[0130] FIG. 17 is a diagram showing an example of an update message received by policy update unit 150. As shown in FIG.
[0131] 17 to the policy update unit 150. The policy update source may be, for example, the component 1 included in the information processing system 100, the debugging device 300, or the server 200. The policy update unit 150 receives the update message p1.
[0132] The update message p1 includes, for example, update source identification information, policy identification information, change data, issue time, and expiration date. The update source identification information is identification information for identifying the policy update source, and in a specific example, is "XXX Server." The policy identification information is identification information for identifying the disclosure policy data p updated by the update message p1, and in a specific example, is "Policy 001." The change data is new data to be changed or updated within the disclosure policy data p. In a specific example, the change data is a new disclosure destination "IVI (In-vehicle infotainment)" or the entire new disclosure policy data p. The issue time is the time when the update message p1 is issued or generated, or the time when the disclosure policy data p is updated and issued by the update message p1. In a specific example, the issue time is "2024-02-02 12:00:00." The expiration date is the expiration date of the update message p1, and in a specific example, is "2024-02-05 12:00:00."
[0133] FIG. 18 is a diagram showing an example of the update rule p2 referred to by the policy update unit 150. As shown in FIG.
[0134] The update rule p2 is data indicating one or more rules for updating the disclosure policy data p. For example, the one or more rules include a first rule, a second rule, and a third rule. The first rule indicates the update source identification information (e.g., "XXX Server, YYY") of one or more policy update sources that can update the disclosure policy data p. The second rule indicates that the expiration date of the update message p1 for updating the disclosure policy data p is later than the current time. The third rule indicates that the issuance time of the update message p1 for updating the disclosure policy data p is later than the issuance time of the update message p1 used to update the current disclosure policy data p. Note that the first rule, second rule, and third rule are merely examples, and other rules may be indicated in the update rule p2.
[0135] FIG. 19 is a sequence diagram showing an example of the processing operation of the policy update source and policy update unit 150. As shown in FIG.
[0136] First, the policy update source transmits an update message p1 to the policy update unit 150 (step S31). The policy update unit 150 receives the update message p1 (step S32). The policy update unit 150 determines whether or not the disclosure policy data p can be updated in accordance with the update message p1 by referring to the update rule p2.
[0137] For example, the policy update unit 150 determines whether the update source identification information of the update message p1 complies with the first rule of the update rule p2, that is, whether it is specified in the first rule. The policy update unit 150 also determines whether the expiration date of the update message p1 complies with the second rule of the update rule p2, that is, whether it is later than the current time. The policy update unit 150 also determines whether the issuance time of the update message p1 complies with the third rule of the update rule p2, that is, whether it is later than the issuance time of the update message p1 used to update the current disclosure policy data p. If the policy update unit 150 determines that the update message p1 complies with at least one of the first rule, the second rule, and the third rule, it updates the disclosure policy data p identified by the policy identification information of the update message p1 (step S33). That is, the policy update unit 150 replaces part or all of the disclosure policy data p with the change data of the update message p1. For example, if the changed data is the disclosure destination "IVI", the policy update unit 150 replaces the disclosure destination "Domain Controller 001" of the disclosure policy data p before the update with "IVI". Also, if the changed data is the new disclosure policy data p itself, the policy update unit 150 replaces the disclosure policy data p before the update with the new disclosure policy data p.
[0138] Then, policy update unit 150 transmits update result information indicating the update result of step S33 to the policy update source (step S34). The policy update source receives the update result information (step S35). This allows the policy update source to determine whether an update has been performed based on the update result information. Note that steps S34 and S35 do not necessarily have to be performed. Alternatively, in step S34, policy update unit 150 may transmit the update result information to a component 1, system, or device different from the policy update source.
[0139] In the above example, the disclosure policy data p is updated when the update message p1 complies with at least one of the first rule, the second rule, and the third rule. However, the disclosure policy data p may also be updated when the update message p1 complies with all of the first rule, the second rule, and the third rule. Furthermore, the disclosure policy data p may also be updated when the update message p1 complies with either a rule group including one or more rules or a rule group including one or more other rules. For example, the disclosure policy data p may be updated when the update message p1 complies with either a rule group including the first rule and the second rule or a rule group including the third rule. When the update message p1 complies with a rule group, this means that the update message p1 complies with all one or more rules included in the rule group. The way in which the rule groups are divided, the rules included in the rule group, the number of rule groups, and the like may be defined in any manner. Furthermore, logical expressions themselves, program control structures (such as If statements), and the like may also be defined as rules.
[0140] The first rule may also indicate multiple pieces of update source identification information and the priorities of the pieces of update source identification information. For example, the policy update unit 150 receives an update message p1 from each of multiple policy update sources. That is, an update conflict occurs. In such a case, the policy update unit 150 identifies the policy update source corresponding to the highest priority among the priorities of the update source identification information of the policy update sources in accordance with the first rule. Then, the policy update unit 150 may update the disclosure policy data p based on the update message p1 transmitted from the identified policy update source. Alternatively, the policy update unit 150 may identify, from among the update messages p1, the update message p1 indicating the most recent issue time or the longest expiration date. Then, the policy update unit 150 may update the disclosure policy data p based on the identified update message p1.
[0141] As described above, in this embodiment, the disclosure execution unit 120 of the lower component 1b receives the disclosure request message m from the upper component 1a and determines the log data corresponding to the disclosure request message m. Then, the disclosure execution unit 120 specifies the discloseable range of the determined log data based on the disclosure policy data p of the determined log data. Furthermore, if there is log data to be disclosed within the specified discloseable range and within the requested range of the disclosure request message m, the disclosure execution unit 120 transmits the log data to be disclosed to the upper component 1a.
[0142] As a result, when the lower component 1b receives a disclosure request message m from the upper component 1a, it may transmit the disclosure log data to the upper component 1a. Therefore, the disclosure log data is disclosed within the disclosure scope based on the disclosure policy data p and within the disclosure scope requested by the disclosure request message m. In other words, by using the disclosure policy data p, the lower component 1b can disclose the disclosure log data within a narrower disclosure scope than the disclosure scope requested by the disclosure request message m. As a result, the lower component 1b can disclose the disclosure log data within a disclosure scope appropriate to the need for the log data, without disclosing all log data that meets the requirements of the disclosure request message m or refusing to disclose the log data. For example, the disclosure log data can be disclosed within a disclosure scope necessary for debugging. This allows the lower component 1b to reduce the risk of technology leaks and the upper component 1a to appropriately collect log data. It also reduces the time and processing resource consumption required for log data collection. Furthermore, if there is no disclosure range that is within the disclosure range based on the disclosure policy data p and within the requested range of the disclosure request message m, the lower component 1b may not send the disclosure log data or may reject the request by the disclosure request message m.
[0143] In this embodiment, since the disclosure request message m including the first execution identification information is transmitted, the upper component 1a can specify the log data to be requested to be disclosed to the lower component 1b. Furthermore, the lower component 1b can appropriately determine the log data requested by the upper component 1a based on the first execution identification information.
[0144] Furthermore, in this embodiment, before the disclosure request message m is transmitted, a list indicating one or more components 1 having log data to which the second execution identification information is attached is generated. Then, each of the one or more components 1 shown in the list is set as an access target of the disclosure request message m, i.e., as a destination of the disclosure request message m. Therefore, the disclosure request message m can be transmitted to an appropriate destination, and the transmission of the disclosure request message m can be made more efficient. In other words, it is possible to prevent unnecessary processing, such as transmitting the disclosure request message m to a component 1 other than the component 1 having the log data to which the second execution identification information is attached and causing the other component 1 to execute processing in accordance with the disclosure request message m.
[0145] Furthermore, in this embodiment, one or more disclosure policy data p stored in the policy storage unit 123 are updated, so that the disclosure range of the disclosure log data can be appropriately adjusted.
[0146] Furthermore, in this embodiment, the log storage unit 2 of the lower component 1b stores log data, to which second execution identification information corresponding to each request from the upper component 1a is added. Furthermore, this second execution identification information is information acquired from the upper component 1a. For example, the upper component 1a executes a process and requests the lower component 1b to execute another process required for that process. At this time, the upper component 1a can cause the lower component 1b to add the second execution identification information it has sent to the log data of the other process corresponding to the request. As a result, the upper component 1a can identify the log data of a series of processes performed together with the lower component 1b by the second execution identification information.
[0147] Furthermore, in this embodiment, the disclosure log data is encrypted and transmitted from the lower component 1b to the upper component 1a. This increases the confidentiality of the disclosure log data. For example, the encrypted disclosure log data, i.e., the encrypted disclosure log data, is transmitted from the lower component 1b to the upper component 1a via another component 1. In such a case, it is possible to prevent the contents of the encrypted disclosure log data from being decrypted by the other component 1.
[0148] Furthermore, in this embodiment, the disclosure log data is disclosed in accordance with the requirements of the disclosure request message m that satisfy the conditions of the disclosure policy data p, and in accordance with the second execution mode of the disclosure request message m that overlaps with the first execution mode of the disclosure policy data p. Therefore, the requirements of the disclosure request message m and the request according to the second execution mode can be restricted according to the conditions of the disclosure policy data p and the first execution mode. As a result, the disclosure of the log data can be appropriately restricted.
[0149] Furthermore, in this embodiment, if the execution clause of the disclosure policy data p indicates an application to an external system outside the information processing system 100, the disclosure execution unit 120 of the lower component 1b inquires of the external system whether or not to disclose the log data in the second execution mode of the disclosure request message m. Therefore, if the external system permits disclosure of the log data in the second execution mode, the log data to be disclosed can be disclosed by disclosing the log data in the second execution mode. Conversely, if the external system does not permit disclosure of the log data in the second execution mode, the disclosure of the log data in the second execution mode, i.e., the disclosure of the log data to be disclosed, can be prohibited. Therefore, the disclosure of the log data can be appropriately controlled by the external system.
[0150] Furthermore, in this embodiment, when the log aggregating unit 114 receives disclosure log data from each of two or more components 1, it aggregates and outputs the two or more pieces of disclosure log data. Therefore, for example, the disclosure log data can be displayed side by side on a display. As a result, by referring to the disclosure log data, it is possible to easily perform, for example, bug analysis or debugging.
[0151] (Embodiment 2) In the first embodiment, a series of processes is performed by the upper component 1a and the lower component 1b. On the other hand, in the present embodiment, a series of processes is performed by the upper component 1a, the lower component 1b, and further by a middle component.
[0152] FIG. 20 is a diagram showing an example of a series of processes performed by a plurality of components 1 including a middle-level component.
[0153] For example, as shown in FIG. 20 , a series of processes are performed by a gateway 13 corresponding to an upper component 1a, an ECU 17 corresponding to a lower component 1b, and a domain controller 14 corresponding to a middle component. Specifically, when executing a process, the gateway 13 calls a function of the domain controller 14 by using an API. As a result, the domain controller 14 executes a process according to the called function. At this time, the domain controller 14 calls a function of the ECU 17 by using the API. In other words, the gateway 13 becomes the upper component 1a and requests the domain controller 14 to perform a process. Furthermore, the domain controller 14, which has received the request, becomes the middle component and requests the ECU 17 corresponding to the lower component 1b to perform a process. In this way, a series of processes are executed by the gateway 13, the domain controller 14, and the ECU 17.
[0154] The gateway 13, which corresponds to the upper component 1a, may call the functions of a plurality of middle-level components by means of an API, and the middle-level component may call the functions of a plurality of lower-level components 1b by means of an API.
[0155] FIG. 21 is a diagram showing an example of the configuration of each of the upper level component 1a and a plurality of middle level components in this embodiment.
[0156] The middle component 1c is a component 1 included in the information processing system 100, which executes processing in response to an API call from the upper component 1a, and also calls the function of the lower component 1b via the API to execute that processing.
[0157] Such a middle-level component 1c includes the components of the lower-level component 1b in the first embodiment, and further includes a propagation section 160. Therefore, the middle-level component 1c may be called a second component.
[0158] Furthermore, process execution unit 131b of middle-level component 1c executes the same process as process execution unit 131b in the first embodiment, and also invokes the function of lower-level component 1b via API. Lower-level component 1b executes processing according to the invoked function in response to a call from middle-level component 1c, just as it did in response to a call from higher-level component 1a. As a result, process execution unit 131b of middle-level component 1c receives a response to the call from lower-level component 1b, and responds to higher-level component 1a.
[0159] The propagation unit 160 propagates data or information. That is, the propagation unit 160 transmits data or information transmitted from the upper component 1a and received by the disclosure execution unit 120 to the lower component 1b. For example, when the ID response unit 121 of the disclosure execution unit 120 receives execution identification information (i.e., first execution identification information) from the upper component 1a, the propagation unit 160 transmits the execution identification information to the lower component 1b. Also, when the disclosure processing unit 122 of the disclosure execution unit 120 receives a disclosure request message m from the upper component 1a, the propagation unit 160 transmits the disclosure request message m to the lower component 1b. For example, component identification information different from the component identification information of the middle component 1c that includes the propagation unit 160 is set as the access target of the disclosure request message m. In such a case, the propagation unit 160 may transmit the disclosure request message m to the lower component 1b identified by the other component identification information. Note that the component identification information of the middle component 1c that includes the propagation unit 160 may also be set as the access target.
[0160] That is, the disclosure request message m sent from the upper component 1a indicates, as access targets, each of the one or more components 1 shown in the list generated by the list generation unit 112. If the one or more components 1 include a component 1 other than the middle component 1c as an access target, the propagation unit 160 transmits the disclosure request message m received by the disclosure execution unit 120 to the other components 1.
[0161] Alternatively, the propagation unit 160 receives data or information transmitted from the lower component 1b and transmits the data or information to the upper component 1a via the disclosure execution unit 120. For example, when the propagation unit 160 receives the above-mentioned response information k1 from the ID response unit 121 of the lower component 1b, it transmits the response information k1 to the upper component 1a via the disclosure execution unit 120. Furthermore, when the propagation unit 160 receives disclosure log data from the disclosure processing unit 122 of the lower component 1b, it transmits the disclosure log data to the upper component 1a via the disclosure execution unit 120.
[0162] The middle-level component 1c in this embodiment also performs the same processing as the lower level component 1b in embodiment 1. The lower level component 1b in this embodiment performs the same processing as the lower level component 1b in embodiment 1 by communicating with the upper level component 1a via the middle-level component 1c.
[0163] FIG. 22 is a sequence diagram showing an example of the processing operations of the upper component 1a, the middle component 1c, and the lower component 1b.
[0164] First, when debugging starts, upper-level component 1a executes the processes of steps S1 and S2, as in the first embodiment. Then, list generation unit 112 makes an inquiry to middle-level component 1c by transmitting execution identification information to middle-level component 1c (step S3a). When ID response unit 121 of middle-level component 1c receives the execution identification information from upper-level component 1a, propagation unit 160 of middle-level component 1c transmits the execution identification information to lower-level component 1b (step S3b). As a result, an inquiry regarding the execution identification information is also made to lower-level component 1b.
[0165] When the lower component 1b receives the execution identification information from the middle-level component 1c, it executes the processes of steps S4 and S5, as in embodiment 1. In step S5, the ID response unit 121 of the lower component 1b transmits response information k1 to the middle-level component 1c.
[0166] The propagation unit 160 of the medium-level component 1c receives response information k1 from the lower component 1b (step S31). Then, the propagation unit 160 outputs the response information k1 to the ID response unit 121 of the medium-level component 1c. Upon acquiring the response information k1 from the lower component 1b, the ID response unit 121 of the medium-level component 1c executes, within the medium-level component 1c, the same processes as those of steps S4 and S5 performed in the lower component 1b (steps S4a and S5a).
[0167] That is, the ID response unit 121 of the middle-level component 1c confirms whether the log data to which the execution identification information transmitted from the upper-level component 1a is added is stored in the log storage unit 2 of the middle-level component 1c (step S4a). That is, the ID response unit 121 confirms whether the execution identification information is included in the log data stored in the log storage unit 2. Here, the ID response unit 121 confirms that the execution identification information is included in the log data. At this time, the ID response unit 121 transmits response information k1 including the confirmation result and component identification information (i.e., identification information of its own component) that is identification information of the middle-level component 1c that has the ID response unit 121 to the upper-level component 1a (step S5a). In this step S5a, the ID response unit 121 collectively transmits the response information k1 of the lower-level component 1b received in step S31 and the response information k1 of the middle-level component 1c described above to the upper-level component 1a.
[0168] When the upper level component 1a receives each of the above-mentioned response information k1, it executes the processes of steps S6 and S7, as in embodiment 1. In step S7, the message processing unit 113 of the upper level component 1a transmits a disclosure request message m to the middle level component 1c included in the access target.
[0169] The disclosure processing unit 122 of the middle-level component 1c receives the disclosure request message m from the upper-level component 1a, and the propagation unit 160 of the middle-level component 1c transmits the disclosure request message m to the lower-level component 1b that is included in the access target (step S7a).
[0170] The disclosure processing unit 122 of the lower component 1b receives the disclosure request message m from the middle-level component 1c and executes a disclosure permission process according to the disclosure request message m and the disclosure policy data p (step S32). In step S32, the same processes as steps S8 to S11 in the first embodiment are executed. Then, the disclosure processing unit 122 of the lower component 1b transmits the disclosure log data identified by the process of step S32 to the middle-level component 1c (step S12).
[0171] The propagation unit 160 of the middle-level component 1c receives the disclosure log data from the lower-level component 1b (step S33). Then, the propagation unit 160 outputs the disclosure log data to the disclosure processing unit 122 of the middle-level component 1c. Upon receiving the disclosure log data, the disclosure processing unit 122 of the middle-level component 1c executes, in the middle-level component 1c, a process similar to the process of step S32 executed in the lower-level component 1b (step S34). As a result, the disclosure log data is identified in the middle-level component 1c. Then, the disclosure processing unit 122 of the middle-level component 1c transmits the disclosure log data of the lower-level component 1b received in step S33 and the disclosure log data of the middle-level component 1c identified in step S34 to the upper-level component 1a (step S12a).
[0172] As a result, the upper component 1a receives the disclosure log data of the lower component 1b and the disclosure log data of the middle component 1c from the middle component 1c (step S13).
[0173] In step S12, the lower component 1b may encrypt the disclosure log data using a common key and transmit the encrypted disclosure log data generated by the encryption to the middle-level component 1c. The common key is an encryption key shared between the lower component 1b and the middle-level component 1a, and is not held by the middle-level component 1c. This prevents the middle-level component 1c from decrypting the disclosure log data even if the middle-level component 1c receives the disclosure log data of the lower component 1b (i.e., the encrypted disclosure log data) in step S33. Alternatively, the lower component 1b may transmit the disclosure log data to the upper component 1a via another middle-level component 1c in step S12. The other middle-level component 1c is a component 1 that belongs to the same disclosure level as the lower component 1b.
[0174] In the above example, there is one middle component 1c between the upper component 1a and the lower component 1b, but there may be multiple middle components 1c. In the above example, the component 1 has three layers. That is, the upper component 1a, the middle component 1c, and the lower component 1b constitute three layers. However, the number of layers may be four or more. In this case, the middle component 1c may have multiple layers. Furthermore, if the middle component 1c is in one of multiple layers, the lower component 1b may also be in the same layer as the middle component 1c. Furthermore, the layer configuration may be determined dynamically. In other words, multiple components 1 may have a so-called network-like topology rather than a structure in which layers can be defined. In this case, which component 1 becomes the upper component 1a and which component 1 becomes the lower component 1b may be dynamically determined based on some specification, such as the API call relationship or which component 1 is to be debugged.
[0175] As described above, in this embodiment, the middle-level component 1c includes the propagation unit 160. This allows the disclosure request message m to be propagated from the upper-level component 1a to the lower-level component 1b via the middle-level component 1c. As a result, the upper-level component 1a can receive disclosure log data not only from the middle-level component 1c but also from the lower-level component 1b, thereby enabling effective collection of log data.
[0176] Furthermore, the upper component 1a in the first and second embodiments is an information processing device including an ID extraction unit 111, a list generation unit 112, and a message processing unit 113. The ID extraction unit 111 extracts first execution identification information for identifying requested log data from input information. The list generation unit 112 transmits the first execution identification information to each of a plurality of external devices, and generates a list indicating one or more external devices based on a reply result from one or more external devices among the plurality of external devices that has log data to which second execution identification information corresponding to the first execution identification information is added. The message processing unit 113 transmits a disclosure request message m indicating a request range for requesting disclosure of log data to at least one of the one or more external devices indicated in the list. The disclosure request message m includes the first execution identification information extracted by the ID extraction unit 111 and indicates each of the one or more external devices indicated in the list as a target to be accessed. For example, the external device corresponds to the second component or the lower component 1b.
[0177] As a result, the information processing device can acquire log data corresponding to the requested range from at least one external device by transmitting a disclosure request message m to at least one of the one or more external devices. Furthermore, because the disclosure request message m including the first execution identification information is transmitted, the information processing device can specify the log data to be requested for disclosure to the external device. Furthermore, the external device can appropriately determine the log data requested by the information processing device based on the first execution identification information. Furthermore, before the disclosure request message m is transmitted, a list indicating one or more external devices having log data to which the second execution identification information is attached is generated. Each of the one or more external devices listed in the list is then set as an access target of the disclosure request message, i.e., as a destination of the disclosure request message. Therefore, the disclosure request message can be transmitted to an appropriate destination, thereby improving the efficiency of transmission of the disclosure request message. In other words, it is possible to prevent unnecessary processing, such as transmitting a disclosure request message to an external device other than the external device having the log data to which the second execution identification information is attached and causing the other external device to execute processing in accordance with the disclosure request message. As a result, log data can be appropriately collected.
[0178] Furthermore, the lower-level component 1b or the middle-level component 1c in the first and second embodiments is an information processing device including a log storage unit 2 and a disclosure execution unit 120. The log storage unit 2 stores one or more log data. The disclosure execution unit 120 receives a disclosure request message m indicating a requested range for requesting disclosure of log data from an external device, and determines log data corresponding to the disclosure request message m from one or more log data stored in the log storage unit 2. Next, the disclosure execution unit 120 specifies the disclosable range of the determined log data based on disclosure policy data p indicating a policy regarding disclosure of the determined log data as a disclosure policy. Then, if there is log data to be disclosed within the specified disclosable range and within the requested range of the disclosure request message m, the disclosure execution unit 120 transmits the log data to be disclosed to the external device. For example, the external device corresponds to the first component or the upper-level component 1a.
[0179] As a result, when the information processing device receives a disclosure request message m from an external device, it may transmit disclosure log data to the external device. Therefore, the disclosure log data is disclosed within the disclosure range based on the disclosure policy data p and within the disclosure range requested by the disclosure request message m. In other words, by using the disclosure policy data p, the information processing device can disclose disclosure log data within a narrower disclosure range than the disclosure range requested by the disclosure request message m. As a result, the information processing device can disclose disclosure log data within a disclosure range appropriate to the need for the log data, without disclosing log data that entirely meets the disclosure range requested by the disclosure request message m or refusing to disclose the log data. For example, the disclosure log data can be disclosed within a disclosure range necessary for debugging. This allows the external device to appropriately collect log data. Note that if there is no disclosure range within the disclosure range based on the disclosure policy data p and within the disclosure range requested by the disclosure request message m, the information processing device does not need to transmit disclosure log data.
[0180] Furthermore, the component 1 in the first and second embodiments may be an information processing device that combines the functions of the upper component 1a with the functions of the lower component 1b or the middle component 1c. Such an information processing device includes a message processing unit 113, a log storage unit 2, and a disclosure execution unit 120. The message processing unit 113 transmits a first disclosure request message m indicating a requested range for requesting disclosure of log data to a first external device. The log storage unit 2 stores one or more pieces of log data. The disclosure execution unit 120 receives a second disclosure request message m indicating the requested range from the second external device, and determines log data corresponding to the second disclosure request message m from the one or more pieces of log data stored in the log storage unit 2. Next, the disclosure execution unit 120 specifies the disclosable range of the determined log data based on disclosure policy data p indicating a policy regarding disclosure of the determined log data as a disclosure policy. Then, if there is log data for disclosure that is within the identified disclosure range and the requested range of the second disclosure request message m, the disclosure execution unit 120 transmits the log data for disclosure to the second external device.
[0181] This makes it possible to achieve the same effects as the above-described lower component 1b, and also to request log data from the first external device, similar to the upper component 1a.
[0182] (Other embodiments) The information processing system according to one or more aspects of the present disclosure has been described above based on the first and second embodiments, but the present disclosure is not limited to these embodiments. Various modifications conceivable by those skilled in the art to the above embodiments may also be included in the present disclosure, provided they do not deviate from the spirit of the present disclosure. Furthermore, a combination of the first and second embodiments may also be included in the present disclosure.
[0183] In the above-mentioned first and second embodiments, the disclosure level is expressed in two stages, "Low" and "High," but it may be expressed in three or more stages. Even in this case, the disclosure range is limited by the smaller or lower disclosure level between the requested disclosure level of the disclosure request message m and the disclosure level of the disclosure policy data p.
[0184] In the first and second embodiments, the execution identification information is propagated. However, the propagation of the execution identification information may be performed in a pseudo manner. For example, when the process execution unit 131a of the upper component 1a and the process execution unit 131b of the lower component 1b or the middle component 1c each perform a series of processes using an API, they add API information, such as the time of API call, API parameters, and API type, to the log data as second execution identification information. This API information links the log data of the upper component 1a with the log data of the lower component 1b or the middle component 1c. In this case, the ID response unit 121 receives a query for log data to which API information has been added from the list generation unit 112 as a query for log data to which first execution identification information has been added. The ID response unit 121 then searches for log data to which the API information of the query has been added by matching the API information of each log data stored in the log storage unit 2 with the API information of the query. Similarly, the disclosure processing unit 122 determines the log data to which the API information included in the disclosure request message m is added by matching the API information of each log data stored in the log storage unit 2 with the API information included in the disclosure request message m.
[0185] Furthermore, in the first and second embodiments, the first execution identification information and the second execution identification information do not necessarily correspond one-to-one. For example, if the first execution identification information is the time at which a process is executed, there may be multiple functions or APIs that may have been executed during a period including that time. The second execution identification information may be a candidate for one of the functions or APIs that may have been called. In other words, the time at which a function or API was executed during that period may be used as the second execution identification information.
[0186] Furthermore, if it is obvious which lower component 1b has been called based on the type of API called by the upper component 1a, the upper component 1b may independently generate the above-mentioned list indicating one or more lower components 1b without querying the one or more lower components 1b.
[0187] In each of the above embodiments, each component may be configured with dedicated hardware, or may be realized by executing a software program suitable for each component. Each component may be realized by a program execution unit such as a CPU (Central Processing Unit) or a processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory. Here, the program, which is software that realizes an apparatus or system such as each component 1 of each of the above embodiments, causes a computer to execute each step included in the sequence diagrams of Figures 9, 16, 19, and 22.
[0188] The following cases are also included in this disclosure:
[0189] (1) Specifically, the above-mentioned device may be a computer system consisting of a microprocessor, a ROM (Read Only Memory), a RAM (Random Access Memory), a hard disk unit, a display unit, a keyboard, a mouse, etc. A computer program is stored in the RAM or the hard disk unit. The microprocessor operates in accordance with the computer program, causing at least one of the above-mentioned devices to achieve its function. Here, the computer program is composed of a combination of multiple instruction codes that indicate instructions to a computer to achieve a predetermined function.
[0190] (2) Some or all of the components constituting the above-mentioned device may be configured as a single system LSI (Large Scale Integration). A system LSI is an ultra-multifunctional LSI manufactured by integrating multiple components on a single chip, and specifically, is a computer system configured including a microprocessor, ROM, RAM, etc. A computer program is stored in the RAM. The system LSI achieves its functions when the microprocessor operates in accordance with the computer program.
[0191] (3) Some or all of the components constituting the above device may be configured as an IC card or a standalone module that can be attached to the device. The IC card or module is a computer system consisting of a microprocessor, ROM, RAM, etc. The IC card or module may include the above-mentioned ultra-multifunctional LSI. The IC card or module achieves its functions when the microprocessor operates according to a computer program. This IC card or module may be tamper-resistant.
[0192] (4) The present disclosure may be embodied as the methods described above, a computer program for implementing these methods on a computer, or a digital signal comprising the computer program.
[0193] The present disclosure may also be a computer program or a digital signal recorded on a computer-readable recording medium, such as a flexible disk, a hard disk, a CD (Compact Disc)-ROM, a DVD, a DVD-ROM, a DVD-RAM, a BD (Blu-ray (registered trademark) Disc), a semiconductor memory, etc. Alternatively, the present disclosure may be a digital signal recorded on such a recording medium.
[0194] The present disclosure may also be applied to transmitting a computer program or digital signal via a telecommunications line, a wireless or wired communication line, a network such as the Internet, data broadcasting, or the like.
[0195] Furthermore, the program or digital signal may be recorded on a recording medium and transferred, or the program or digital signal may be transferred via a network or the like, so that the program or digital signal may be implemented by another independent computer system. [Industrial Applicability]
[0196] The information processing system of the present disclosure can be applied to, for example, systems and devices that collect log data for debugging purposes. [Explanation of symbols]
[0197] 1. Components 1a Upper component (first component) 1b Lower Component (Second Component) 2 Log storage 11 Communication Module 12 IVI 13 Gateway 14, 15, 16 Domain Controllers 17, 18, 19, 20, 21, 22 ECU 30 OBD 40 Display section 100 Information Processing Systems 110 Disclosure Request Department 111 ID extraction part (extraction part) 112 List Generation Unit 113 Message Processing Unit 114 Log aggregation unit (aggregation unit) 120 Disclosure Execution Department 121 ID Response Part 122 Disclosure Processing Department 123 Policy Store 131a, 131b processing execution unit 132 ID generation section 133 ID Addition Section 141 Log Encryption Unit 142 Log Decryption Unit 150 Policy Update Section 200 servers 300 Debugging Device 301 Bug specification section 302 Bug Management Department 1000 Communication Systems a1, a2, a3, a4, a5 component group d. Log data k1 Response information m Disclosure request message Nt communication network p Disclosure Policy Data p1 Update message p2 update rules
Claims
1. An information processing system having a first component and a second component, The first component is a message processing unit configured to send a disclosure request message indicating a requested range for requesting disclosure of log data to the second component; The second component is a log storage unit storing one or more pieces of log data; a disclosure execution unit; The disclosure execution unit: receiving the disclosure request message from the first component, and determining the log data corresponding to the disclosure request message from the one or more log data stored in the log storage unit; Identifying the determined scope of disclosure of the log data based on disclosure policy data indicating the determined policy regarding disclosure of the log data as a disclosure policy; If there is log data to be disclosed within the specified disclosable range and the requested range of the disclosure request message, transmit the log data to be disclosed to the first component. Information processing system.
2. The first component further comprises: an extraction unit that extracts first execution identification information for identifying the requested log data from the input information; The message processing unit further generating the disclosure request message including the first execution identification information extracted by the extraction unit; The disclosure executor of the second component: determining, from the one or more log data stored in the log storage unit, log data to which second execution identification information corresponding to the first execution identification information included in the disclosure request message is added as the log data corresponding to the disclosure request message; The information processing system according to claim 1 .
3. the information processing system has three or more components including the first component and the second component; The first component further comprises: a list generating unit that transmits the first execution identification information to each of a plurality of components including the second component, and generates a list indicating the one or more components including the second component based on a reply result from one or more components among the plurality of components that have log data to which the second execution identification information corresponding to the first execution identification information is added; The message processing unit sending the disclosure request message indicating each of the one or more components in the list as a target for access; The information processing system according to claim 2 .
4. The second component further comprises: a propagation unit that transmits the disclosure request message received by the disclosure execution unit to another component when the one or more components include a component other than the second component as the access target. The information processing system according to claim 3 .
5. The second component further comprises: a policy storage unit storing one or more disclosure policy data corresponding to one or more log data stored in the log storage unit; a policy update unit that updates the one or more disclosure policy data; The one or more disclosure policy data include the disclosure policy data corresponding to the determined log data. The information processing system according to claim 1 .
6. The second component further comprises: a processing execution unit that acquires, for each request from the first component, the second execution identification information corresponding to the request, and executes processing corresponding to the request; The processing execution unit every time the process in response to the request is executed, the second execution identification information in response to the request is added to log data indicating a result of the process in response to the request, and the log data to which the second execution identification information has been added is stored in the log storage unit. The information processing system according to claim 3 .
7. The second component further comprises: a log encryption unit that generates encrypted disclosure log data by encrypting the determined log data or the disclosure log data; the disclosure execution unit transmits the encrypted disclosure log data, thereby transmitting the disclosure log data; The first component further comprises: a log decryption unit that decrypts the encrypted disclosure log data when the encrypted disclosure log data is received by the first component; The information processing system according to claim 1 .
8. The disclosure policy data includes: indicating the disclosable range including a conditional clause and an action clause, the conditional clause indicates a condition for disclosing the determined log data; The execution section indicates the determined manner of disclosing the log data as a first execution manner, The disclosure request message includes: indicating one or more requirements for the determined disclosure of the log data and a second execution manner that is a manner required for the determined disclosure of the log data; The disclosure executor of the second component further comprises: (i) identifying, as the log data to be disclosed, the log data that is to be disclosed in accordance with one or more requirements that satisfy the condition indicated by the condition clause among the one or more requirements indicated by the disclosure request message, and (ii) is to be disclosed in a mode that overlaps with the first execution mode indicated by the execution clause among the second execution modes indicated by the disclosure request message; The information processing system according to claim 1 .
9. If the execution clause indicates a request to an external system outside the information processing system instead of the first execution mode, The disclosure executor of the second component: inquiring of the external system as to whether or not the log data can be disclosed in the second execution mode; The information processing system according to claim 8 .
10. the information processing system has three or more components including the first component and the second component; The first component further comprises: an aggregation unit that aggregates and outputs the two or more pieces of disclosure log data when the disclosure log data is received from each of two or more components including the second component; The information processing system according to claim 1 .
11. an extracting unit that extracts first execution identification information for identifying the requested log data from the input information; a list generating unit that transmits the first execution identification information to each of a plurality of external devices, and generates a list indicating the one or more external devices based on a reply result from one or more external devices among the plurality of external devices that has log data to which second execution identification information corresponding to the first execution identification information is added; a message processing unit that transmits a disclosure request message indicating a requested range for requesting disclosure of the log data to at least one of the one or more external devices indicated in the list; The disclosure request message includes: the list includes the first execution identification information extracted by the extraction unit and indicates each of the one or more external devices shown in the list as an access target; Information processing device.
12. a log storage unit storing one or more pieces of log data; a disclosure execution unit; The disclosure execution unit: receiving a disclosure request message indicating a requested range for requesting disclosure of log data from an external device, and determining the log data corresponding to the disclosure request message from the one or more log data stored in the log storage unit; Identifying the determined scope of disclosure of the log data based on disclosure policy data indicating the determined policy regarding disclosure of the log data as a disclosure policy; If there is log data to be disclosed within the specified disclosable range and the requested range of the disclosure request message, transmit the log data to be disclosed to the external device. Information processing device.
13. a message processing unit that transmits a first disclosure request message indicating a requested range for requesting disclosure of log data to a first external device; a log storage unit storing one or more pieces of log data; a disclosure execution unit; The disclosure execution unit: receiving a second disclosure request message indicating the requested range from a second external device, and determining log data corresponding to the second disclosure request message from the one or more log data stored in the log storage unit; Identifying the determined scope of disclosure of the log data based on disclosure policy data indicating the determined policy regarding disclosure of the log data as a disclosure policy; If there is log data to be disclosed within the specified disclosure range and the requested range of the second disclosure request message, transmit the log data to be disclosed to the second external device. Information processing device.
14. An information processing method performed by a first component and a second component, The first component is Sending a disclosure request message to the second component indicating a requested range for requesting disclosure of log data; The second component is receiving the disclosure request message from the first component, and determining the log data corresponding to the disclosure request message from one or more log data stored in a log storage unit; Identifying the determined scope of disclosure of the log data based on disclosure policy data indicating the determined policy regarding disclosure of the log data as a disclosure policy; If there is log data to be disclosed within the specified disclosable range and the requested range of the disclosure request message, transmit the log data to be disclosed to the first component. Information processing methods.
15. extracting first execution identification information for identifying the requested log data from the input information; transmitting the first execution identification information to each of a plurality of external devices, and generating a list indicating the one or more external devices based on a reply result from one or more external devices among the plurality of external devices, the one or more external devices having log data to which second execution identification information corresponding to the first execution identification information is added; sending a disclosure request message indicating a request range for requesting disclosure of the log data to at least one of the one or more external devices shown in the list; Let the computer do that, The disclosure request message includes: a list including the extracted first execution identification information and indicating each of the one or more external devices shown in the list as an access target; program.
16. receiving a disclosure request message indicating a requested range for requesting disclosure of log data from an external device, and determining the log data corresponding to the disclosure request message from one or more log data stored in a log storage unit; Identifying the determined scope of disclosure of the log data based on disclosure policy data indicating the determined policy regarding disclosure of the log data as a disclosure policy; If there is log data to be disclosed within the specified disclosable range and the requested range of the disclosure request message, transmit the log data to be disclosed to the external device. A program that makes a computer do something.
Citation Information
Patent Citations
Fault management system, fault management device and program
JP7069956B2