This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2021-047854 filed Mar. 22, 2021.
The present disclosure relates to a non-transitory computer readable medium, an information processing apparatus, and a method for information processing.
Various methods have been proposed and adopted to check or evaluate the security of an information processing system or to maintain a secure state of an information processing system.
Japanese Patent No. 6533924 discloses an information processing system that includes a video recording apparatus, which creates video recording data that contains video images obtained from a surveillance camera, and a determination apparatus, which determines whether video recording data has been altered. In this information processing system, the video recording apparatus transmits to a blockchain network a transaction containing alteration-prevention data, which includes a hash value of video recording data, and stores, in a property or the name of a file, identification information to identify a transaction registered in the blockchain. The property and the name of the file do not affect the hash value of video recording data. The determination apparatus identifies a transaction in the blockchain by using the identification information extracted from the property or the name of the file, the identification information being used to identify the transaction, acquires alteration-prevention data from the transaction that was identified, compares the hash value of the video recording data with the hash value contained in the alteration-prevention data, which is acquired from the transaction in the blockchain, and determines whether the video recording data has been altered.
When manipulation on an information processing system is monitored, a monitoring method such as capturing images by using a surveillance camera is not allowed in some cases to avoid acquisition of information other than the information regarding a monitoring target. Thus, a monitoring method that acquires only the information regarding manipulation to be monitored and that can guarantee the authenticity of the acquired information has been awaited.
Aspects of non-limiting embodiments of the present disclosure relate to providing a system that acquires only information regarding manipulation on an information processing system and that guarantees the authenticity of the acquired information. This system contrasts a method such as using images captured by a camera as monitoring information regarding manipulation on the information processing system.
Aspects of certain non-limiting embodiments of the present disclosure address the above advantages and/or other advantages not described above. However, aspects of the non-limiting embodiments are not required to address the advantages described above, and aspects of the non-limiting embodiments of the present disclosure may not address advantages described above.
According to an aspect of the present disclosure, there is provided a non-transitory computer readable medium storing a program causing a computer to execute a process, the process including:
preparing a target file for manipulation, the target file being a file to be manipulated;
acquiring information regarding a situation in which the target file is manipulated;
based on the information that was acquired, in a case where a predetermined event occurs, creating history information and a hash value of the history information, the history information indicating occurrence of the predetermined event; and
associating the history information with the hash value and transmitting a transaction including the hash value to a blockchain network.
An exemplary embodiment of the present disclosure will be described in detail based on the following figures, wherein:
Hereinafter, an exemplary embodiment of the present disclosure will be described in detail with reference to the attached drawings. The present exemplary embodiment provides a system that monitors and can verify details of manipulation when a user manipulates a file provided by a provider. An information processing system according to the present exemplary embodiment includes a management system that manages monitoring information regarding manipulation of a target file, which is to be manipulated, and a blockchain system to guarantee the authenticity of the monitoring information managed by the management system. Overall Configuration
The provider apparatus 110 is used by the provider, who provides a target file. For example, a computer is used as the provider apparatus 110. The provider apparatus 110 is connected to the management server 130 via a communication network. The provider apparatus 110 has a function of transmitting to the management server 130 a target file to be used by the user and a function of receiving management data managed by the management server 130. By using the provider apparatus 110, the provider can provide a target file and acquire and verify monitoring information managed by the management server 130 as management data.
The user apparatus 120 is used by the user, who manipulates a target file. For example, a computer is used as the user apparatus 120. The user apparatus 120 is connected to the management server 130 via the communication network. The user apparatus 120 has a function of receiving from the management server 130 a target file to be used by the user and a function of transmitting to the management server 130, as management data, monitoring information regarding manipulation of the target file. By using the user apparatus 120, the user can acquire a target file and manipulates the target file. In addition, the user apparatus 120 has a function of creating data used to guarantee the authenticity of monitoring information and a function of updating a transaction at the user-side node 220 in the blockchain system 200. A transaction is data managed by the blockchain system 200. In the present exemplary embodiment, the blockchain system 200 manages, as a transaction, data used to guarantee the authenticity of monitoring information.
The management server 130 manages monitoring information. For example, a computer is used as the management server 130. The management server 130 may be formed by using a cloud server constructed on a network. The management server 130 receives and retains a target file from the provider apparatus 110 and transmits a retained target file to the user apparatus 120 in accordance with a request from the user apparatus 120. The management server 130 also receives from the user apparatus 120 monitoring information created by execution of manipulation of a target file and manages the monitoring information. In addition, the management server 130 transmits to the provider apparatus 110 monitoring information, which is management data, in accordance with a request from the provider apparatus 110.
The provider-side node 210 and the user-side node 220 in the blockchain system 200 are nodes that share a transaction in the blockchain system 200. The provider-side node 210 is used by the provider, who uses the provider apparatus 110. The user-side node 220 is used by the user, who uses the user apparatus 120. The provider-side node 210 may be formed as a function of the provider apparatus 110 or formed by an apparatus such as another computer or a server on a network, which is accessible by the provider apparatus 110. The user-side node 220 may be formed as a function of the user apparatus 120 or formed by an apparatus such as another computer or a server on a network, which is accessible by the user apparatus 120.
The provider-side node 210 and the user-side node 220 can communicate with each other by using a point-to-point (P2P) technique and share transactions difficult to tamper with by reaching an agreement based on a predetermined consensus algorithm. If some participants in the blockchain try to tamper with a transaction, tampering fails unless the number of participants who try to tamper with the transaction exceeds a predetermined number. Thus, in the present exemplary embodiment, the blockchain system 200 manages, as a transaction, data that is used to guarantee the authenticity of monitoring information created by the user apparatus 120. In the following description, data used to guarantee the authenticity of monitoring information is referred to as guarantee data.
In the present exemplary embodiment, a target file and an execution program to manipulate the target file are combined and provided as content that allows only the execution program to manipulate the target file. For example, if a target file is a document file, content formed by combining viewing software or editing software as an execution program with the document file as the target file is provided. Further, if a target file is a video file or an audio file, content formed by combining replay software as an execution program with the video file or the audio file as the target file is provided. In this way, since a target file is combined with an execution program to form content, no function except the function provided by the execution program is allowed to prepare the target file for manipulation.
An execution program enables the user apparatus 120 to perform a function of monitoring manipulation of a target file in addition to a function of manipulating the target file. Specifically, an execution program creates history information regarding events that occur in relation to manipulation of a target file. Examples of an event to be recorded in history information include acquisition of a target file, start and termination of manipulation of a target file, a predetermined event that may occur during manipulation of a target file, and discarding of a target file. History information indicating that manipulation is being performed in a normal manner may be created periodically while a target file is manipulated. Examples of history information include a time that an event occurred and information indicating a description of an event, which will be described in detail below. History information may include hash values of these kinds of information. Such history information is sent to the management server 130 as monitoring information regarding manipulation of a target file and managed by the management server 130.
Further, an execution program enables the user apparatus 120 to perform a function of checking whether the user apparatus 120 has a set-up necessary to acquire the history information described above. For example, when a camera or a sensor is used to detect an event that occurs while a target file is manipulated, an execution program provides the user apparatus 120, as a device set-up, with a function of checking whether a camera or a sensor is connected to the user apparatus 120 and whether the execution program provides control to enable the camera to capture image data or to enable the sensor to obtain detection data. In the following description, a device used to detect an event that occurs while a target file is manipulated is referred to as a monitoring device, and examples of a monitoring device include a camera and a sensor.
An execution program also enables the user apparatus 120 to perform a function of controlling the monitoring device described above and acquiring information regarding a situation in which a target file is manipulated. Further, an execution program enables the user apparatus 120 to perform a function of checking whether an environment suitable for manipulation of a target file is provided. For example, if the absence of a person except the user in the same room is designated as a requirement for manipulation of a target file, an execution program provides the user apparatus 120 with a function of using information obtained by a camera or a motion sensor to check, as an environment for manipulation, whether a person except the user is present in the room.
An execution program also creates guarantee data in accordance with created history information and enables the user apparatus 120 to provide a function of registering the guarantee data at the user-side node 220 as a transaction of the blockchain system 200. When a second or later event occurs for a single target file, the execution program creates guarantee data in accordance with history information regarding the second or later event that occurred and updates the corresponding transaction at the user-side node 220. The corresponding transaction is the transaction in which the guarantee data regarding the same target file is recorded. If a new transaction is registered or an existing transaction is updated at the user-side node 220, transactions are synchronized between the user-side node 220 and the provider-side node 210.
In addition, an execution program may enable the user apparatus 120 to perform a function of reporting occurrence of an irregular event or preventing an irregular event from occurring in accordance with the kind of detected irregularity in response to the detection of the occurrence of the irregular event, which will be described below. Further, an execution program may enable the user apparatus 120 to perform a function of reporting occurrence of an irregular event to the provider apparatus 110 or to the management server 130 in response to the detection of the occurrence of the irregular event.
As described in detail below, when acquiring content, the user apparatus 120 also creates history information and guarantee data based on the acquisition of the content, transmits the history information to the management server 130, and updates a transaction at the user-side node 220 by using the guarantee data. When discarding content, the user apparatus 120 also creates history information and guarantee data based on the discarding of the content, transmits the history information to the management server 130, and updates a transaction at the user-side node 220 by using the guarantee data. These operations performed when content is acquired or discarded may be performed not by an execution program contained in the content but by a function provided, for example, by a program installed on the user apparatus 120 in advance.
In a case where the provider apparatus 110 is formed by using the computer 90, which is depicted in
In a case where the user apparatus 120 is formed by using the computer 90, which is depicted in
In a case where the management server 130 is formed by using the computer 90, which is depicted in
Next, history information created by the user apparatus 120 will be described. History information contains a record of an event that occurred in relation to manipulation of a target file on the user apparatus 120. History information contains information to specify an event, and a method of recording the information and a data format of the history information are not limited to any specific method and format. For example, the time that an event occurred, information describing an event, and a hash value of these pieces of information related to the event may be combined to record history information. In this case, these pieces of information related to the event is associated with the hash value and stored in the management server 130.
In the following description, a specific example of history information will be described. In the example, a target file is assumed to be a document file, and manipulation is assumed to be document-file viewing. A description will be given of history information regarding events that occur during manipulation to view a document file contained in content acquired from the provider apparatus 110. Examples of events for which history information is created include acquisition of content, start of document-file viewing, specific events during viewing, termination of viewing, and discarding of content, and a case where history information is created for each of these events will be described herein.
As depicted in
As depicted in
A description will be given herein of procedures of a checking process initially performed when manipulation to start document-file viewing is performed. In the following description, the checking process is referred to as an “initial checking process”. The initial checking process is performed as a function of an execution program in content. When manipulation to start document-file viewing is performed on the user apparatus 120, the user apparatus 120 first checks the set-up of the user apparatus 120. Specifically, the user apparatus 120 checks whether the set-up of the user apparatus 120 satisfies the requirement to monitor document-file viewing. If the set-up of the user apparatus 120 does not satisfy the requirement, the checking process results in the “inappropriate PC set-up”. In contrast, if the set-up of the user apparatus 120 satisfies the requirement, the user apparatus 120 next checks the environment surrounding the user apparatus 120. Specifically, the user apparatus 120 checks whether the environment surrounding the user apparatus 120 satisfies the requirement specified as an environment in which the document file can be viewed. In the following description, the requirement specified as an environment in which the document file can be viewed is referred to as a “viewing condition”. If the environment surrounding the user apparatus 120 does not satisfy the viewing condition, the checking process results in the “inappropriate viewing environment”. In contrast, if the environment surrounding the user apparatus 120 satisfies the viewing condition, the checking process results in the “viewing possible”. If the checking process results in the “viewing possible”, for example, the document file to be viewed is presented on a display screen of the user apparatus 120, and the document file becomes viewable.
In this way, an execution program prepares a target file for manipulation on the user apparatus 120 through the initial checking process. The execution program also checks whether a set-up condition determined in advance to allow manipulation of a target file on the user apparatus 120 is satisfied and if it is determined by using this checking function that the set-up condition is satisfied, the execution program allows the target file to be prepared for manipulation. The execution program also determines whether an environment in which the target file is to be manipulated is categorized as a predetermined situation, and if it is determined by using this determining function that the environment for manipulation is categorized as the predetermined situation, the execution program allows the target file to be prepared for manipulation.
Examples of a regular event include a case where manipulation is performed as a regular operation during viewing. Specifically, manipulation such as altering the display boundary of a document file being viewed and editing a document file within the authority granted to a user may be designated as a regular event. When manipulation designated in advance as a regular event is performed, history information based on the occurrence of the regular event is created. In addition, a situation in which a document file is being viewed without occurrence of an irregular event may be designated as a regular event, and history information based on the regular event may be created periodically. In the example depicted in
Examples of an irregular event include a case where a target file is manipulated in a predetermined irregular situation. Examples of an irregular event include a case where an operation prohibited during viewing is performed. In addition, if the set-up of the user apparatus 120 or the viewing environment changes from the set-up or the environment that was checked through the initial checking process performed at the time of starting viewing, resulting in a situation in which the requirement to allow viewing is not satisfied, such a situation may be designated as an irregular event. When an event designated in advance as an irregular event occurs, history information based on the occurrence of the irregular event is created. Events categorized as an irregular event are specified in advance in accordance with, for example, a specification or a security policy of a system to which the present exemplary embodiment is applied.
The history information depicted in
As depicted in
If an operation to terminate document-file viewing results in failure, the state in which document-file viewing is allowed by the user apparatus 120 continues, and no change occurs. Thus, only successful completion of the operation to terminate viewing may be designated as an event for which history information is created. In this example, only history information containing a record of successful completion of the operation to terminate viewing is created. As depicted in
If content is not successfully discarded, the state in which the user apparatus 120 retains the content continues, and no change occurs. Thus, only successful completion of discarding of content may be designated as an event for which history information is created. In this example, only history information containing a record of successful completion of discarding of the content is created. As depicted in
Next, operations of the user apparatus 120 to monitor manipulation of a target file will be described. In the present exemplary embodiment, content containing a combination of a target file and an execution program to manipulate the target file is provided from the provider apparatus 110 to the user apparatus 120, and the target file is manipulated on the user apparatus 120 by using the execution program contained in the content. Then, a function implemented on the user apparatus 120 by using the execution program monitors manipulation of the target file on the user apparatus 120. In the following description, monitoring operation will be described for each procedure with reference to a corresponding figure (
The data format and content of the guarantee data are not limited to any particular format and content as long as the guarantee data is available to guarantee the content of the history information. For example, only a hash value contained in the history information may be used as the guarantee data, or the history information itself may be used as the guarantee data. In the examples depicted in
In addition, the user apparatus 120 transmits to the user-side node 220 in the blockchain system 200 the guarantee data based on the manipulation to start viewing and updates a transaction in the blockchain. After the transaction at the user-side node 220 is updated, the user-side node 220 and the provider-side node 210 try to synchronize transactions between them. In this way, the guarantee data (denoted by “start-viewing information” in
The user apparatus 120 creates history information and guarantee data based on the occurrence of a regular event and then transmits the history information to the management server 130. The management server 130 stores the received history information (denoted by “viewing information” in
In addition, the user apparatus 120 transmits the guarantee data based on a regular event to the user-side node 220 in the blockchain system 200 and updates a transaction in the blockchain. After the transaction at the user-side node 220 is updated, the user-side node 220 and the provider-side node 210 try to synchronize transactions between them. In this way, the guarantee data (denoted by “viewing information” in
The user apparatus 120 creates history information and guarantee data based on the occurrence of the irregular event and then transmits the history information to the management server 130. The management server 130 stores the received history information (denoted by “irregular-viewing information” in
In addition, the user apparatus 120 transmits the guarantee data based on the irregular event to the user-side node 220 in the blockchain system 200 and updates a transaction in the blockchain. After the transaction at the user-side node 220 is updated, the user-side node 220 and the provider-side node 210 try to synchronize transactions between them. In this way, the guarantee data (denoted by “irregular-viewing information” in
In addition, the user apparatus 120 transmits to the user-side node 220 in the blockchain system 200 the guarantee data based on the manipulation to terminate viewing and updates a transaction in the blockchain. After the transaction at the user-side node 220 is updated, the user-side node 220 and the provider-side node 210 try to synchronize transactions between them. In this way, the guarantee data (denoted by “viewing-terminated information” in
In addition, the user apparatus 120 transmits to the user-side node 220 in the blockchain system 200 the guarantee data based on the discarding of the content and updates a transaction in the blockchain. After the transaction at the user-side node 220 is updated, the user-side node 220 and the provider-side node 210 try to synchronize transactions between them. In this way, the guarantee data (denoted by “discarding information” in
When occurrence of an irregular event terminates document-file viewing, the user apparatus 120 may perform error handling such as outputting a message or an alarm sound to report the occurrence of the irregular event or the termination of the viewing. Such handling may be implemented, for example, by using a function added to the user apparatus 120 by an execution program contained in content.
In
In a case where the user apparatus 120 does not have a necessary set-up to monitor manipulation during viewing (NO in S202) or the viewing environment does not allow document-file viewing (NO in S203), the user apparatus 120 performs error handling.
After the document-file viewing starts, the user apparatus 120 monitors viewing status, and if a regular event occurs (NO in 5211 and YES in S212), the user apparatus 120 creates history information and guarantee data for this history information (S213). The history information (denoted by “viewing information” in
The user apparatus 120 continues to monitor the viewing status as described above until the document-file viewing terminates. After manipulation to terminate the viewing is performed (S215), the user apparatus 120 creates history information and guarantee data for this history information (S216). The history information (denoted by “viewing-terminated information” in
In a case where an irregular event occurs during the document-file viewing (YES in S211), the user apparatus 120 forces the document-file viewing to terminate (S218). The user apparatus 120 forces the document-file viewing to terminate, for example, by closing the document file being displayed. Next, the user apparatus 120 creates history information and guarantee data for this history information (S219). The history information (denoted by “irregular-viewing information” in
Examples of a method for monitoring an environment for manipulation of a target file in an initial checking process or for monitoring an irregular event during manipulation include acquiring and analyzing images or voices in the surroundings of the user apparatus 120. The images or voices are captured by using a camera or a microphone that is connected to or built into the user apparatus 120. For some kinds of irregular events, a sensor with which to acquire information required to detect such irregular events may be used, and occurrence of such irregular events may be detected by analyzing the information acquired by using the sensor. An event to be detected as an irregular event is not limited to a particular type of event and is defined individually in accordance with an information system to which the present exemplary embodiment is applied. For example, an irregular event for a monitoring target may be defined in accordance with an information-security policy or other polices determined for information managed by the information processing system according to the present exemplary embodiment.
For example, if a viewing condition that only one user having the authority be allowed to view a document file being a target file is set, presence of two or more people around the user apparatus 120 may be detected as an irregular event. In such a case, for example, images of the surroundings of the user apparatus 120 are captured by using a camera built into the user apparatus 120 or a camera controllable by the user apparatus 120, and captured images are analyzed to determine whether two or more people are detected. If two or more people are detected, this event may be designated as an irregular event. Alternatively, voices in the surroundings of the user apparatus 120 may be captured by using a microphone built into the user apparatus 120 or a microphone controllable by the user apparatus 120, and captured voices may be analyzed to determine whether voices of two or more people are detected. If two or more people are detected, this event may be designated as an irregular event. Existing analyzing techniques may be used to detect two or more people in image data or detect two or more speakers in voice data.
For example, if taking a picture of the screen of the user apparatus 120 on which a document file being a target file is displayed is forbidden, a movement of directing at the screen of the user apparatus 120 a smartphone or other devices capable of capturing an image may be detected as an irregular event. In such a case, for example, images of the user who uses the user apparatus 120 are captured by using a camera built into the user apparatus 120 or a camera controllable by the user apparatus 120, and captured images are analyzed. If an analysis result that is obtained indicates that a device having an image-capturing function is pointing at the screen of the user apparatus 120, this event may be designated as an irregular event. Existing analyzing techniques may be used to analyze the images.
Further, for example, if transcribing a displayed document is forbidden while the user apparatus 120 displays a document file being a target file, an event in which the user repeats, multiple times in a fixed period, alternately watching the screen of the user apparatus 120 and moving a hand while looking at the hand may be detected as an irregular event. In such a case, for example, images of the user who uses the user apparatus 120 are captured by using a camera built into the user apparatus 120 or a camera controllable by the user apparatus 120, and captured images are analyzed. If the above event is obtained as the analysis result, this event may be designated as an irregular event. Existing analyzing techniques may be used to analyze the images.
Further, for example, if a viewing condition is set that a filter to limit the range of viewing angle be attached to the display device (for example, the display device 95 depicted in
Further, for example, if audio-recording of a displayed document is forbidden while the user apparatus 120 displays a document file being a target file, an event in which the user or other people read the displayed document aloud may be detected as an irregular event. In such a case, for example, voices recorded with a microphone built into the user apparatus 120 or a microphone controllable by the user apparatus 120 are analyzed, and if utterance continues for a fixed period or longer, this event may be designated as an irregular event. Further, the recorded voices may be subjected to a speech recognition process, and if a recognition result resembles the content of the displayed document, this event may be designated as an irregular event. Existing analyzing techniques may be used to perform these procedures.
Although some examples of events to be monitored as an irregular event have been described above, events to be monitored are not limited to the above examples. Further, various kinds of sensors may be controlled by the user apparatus 120 in accordance with a type of event to be detected as an irregular event. Whether a device and control capability are installed for the monitoring described above is checked in an initial checking process. For example, the initial checking process is executed by an execution program combined with a target file when manipulation of the target file starts. If it is determined in the initial checking process that a set-up required to detect an irregular event is not provided, the manipulation of the target file does not start (refer to
The exemplary embodiment of the present disclosure has been described as above, but the technical scope of the present disclosure is not limited to the exemplary embodiment described above. For example, in the exemplary embodiment described above, after manipulation of a target file starts, history information and guarantee data are created by using a function of an execution program provided by the provider apparatus 110 along with the target file, and in response to receiving or discarding of content, history information and guarantee data are created by using a function of a program installed on the user apparatus 120 in advance. In contrast to the above exemplary embodiment, the initial checking process and monitoring may be performed by using a function of an execution program provided along with a target file, and all of the history information and guarantee data may be created by using a function of a program installed on the user apparatus 120 in advance. By contrast, in response to receiving or discarding of content, history information and guarantee data may be created by using a function of an execution program provided along with a target file. In such a case, content may have a function to create history information and guarantee data by automatically running an execution program when the user apparatus 120 receives the content. In addition, the content may have a function to discard the content after creating history information and guarantee data when manipulation to discard the content is performed on the user apparatus 120.
In a case where in response to receiving of content, history information and guarantee data are created by using an execution program provided along with a target file, another checking process separate from an initial checking process may be set up to check, in response to receiving of content, that the user apparatus 120 can communicate with the user-side node 220 in the blockchain system 200. Further, connectivity to the blockchain system 200 may be checked in the initial checking process performed when manipulation of the target file starts, and the creation of history information and guarantee data in response to receiving of the content may be performed after the initial checking process.
In the exemplary embodiment described above, the provider apparatus 110 provides content containing a target file and an execution program to the user apparatus 120 via the management server 130, which manages history information. In contrast, the provider apparatus 110 may provide content to the user apparatus 120 via a different server from the management server 130, or a network may directly connect the provider apparatus 110 and the user apparatus 120 so that content is directly provided.
In the exemplary embodiment described above, the provider apparatus 110 provides content containing a target file and an execution program to the user apparatus 120, and manipulation of a target file is monitored by using a function provided by the execution program. In contrast, an information processing apparatus configured to monitor manipulation of a target file may be provided to the user and used as the user apparatus 120. In such a case, a target file may separately be sent to an information processing apparatus provided to the user, or an information processing apparatus with a target file stored may be provided to the user. In the latter case, history information and guarantee data need not be created in response to receiving of content. Furthermore, various modifications and substitutions for the configuration that do not depart from the technical scope of the present disclosure are included in the present disclosure.
In the embodiments above, the term “processor” refers to hardware in a broad sense. Examples of the processor include general processors (e.g., CPU: Central Processing Unit) and dedicated processors (e.g., GPU: Graphics Processing Unit, ASIC: Application Specific Integrated Circuit, FPGA: Field Programmable Gate Array, and programmable logic device).
In the embodiments above, the term “processor” is broad enough to encompass one processor or plural processors in collaboration which are located physically apart from each other but may work cooperatively. The order of operations of the processor is not limited to one described in the embodiments above, and may be changed.
The foregoing description of the exemplary embodiments of the present disclosure has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the disclosure and its practical applications, thereby enabling others skilled in the art to understand the disclosure for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the disclosure be defined by the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2021-047854 | Mar 2021 | JP | national |