Communication parameters based on changes

文档序号:172592 发布日期:2021-10-29 浏览:19次 中文

阅读说明:本技术 基于改变的通信参数 (Communication parameters based on changes ) 是由 T·O·布雷特克雷茨 M·拉曼 V·克普鲁 S·R·贾努帕里 R·E·小肖肯奇 于 2021-04-21 设计创作,主要内容包括:一种客户端设备可以基于状态改变来识别将被周期性更新的第一参数和将被更新的第二参数。客户端可以经由协商会话向服务器设备发送请求。该请求指示服务器设备将周期性提供指示第一参数的当前值的信息,并且当第二参数的状态改变时将提供指示第二参数的更新值的信息。客户端设备可以从服务器设备并经由第二通信协议周期性接收包括第一参数的当前值的第一数据报,并且可以基于服务器设备确定第二参数的当前状态已经改变,来接收包括第二参数的更新值的第二数据报。(A client device may identify a first parameter to be periodically updated and a second parameter to be updated based on a state change. The client may send a request to the server device via the negotiation session. The request indicates that the server device will periodically provide information indicating the current value of the first parameter and will provide information indicating an updated value of the second parameter when the state of the second parameter changes. The client device may periodically receive, from the server device and via the second communication protocol, a first datagram including a current value of the first parameter, and may receive, based on the server device determining that a current state of the second parameter has changed, a second datagram including an updated value of the second parameter.)

1. A method, comprising:

determining, by a parameter classification component of a client device, a set of parameters associated with controlling operations associated with the client device;

determining, by the parameter classification component, that a first parameter of the set of parameters is to be periodically updated;

determining, by the parameter classification component, that a second parameter of the set of parameters is to be updated based on a state change associated with the second parameter;

defining, by a parameter negotiation session component of the client device, a body of a first request to establish a parameter negotiation session with a protocol buffer;

sending, by the parameter negotiation session component, the first request to a server device via a first communication protocol;

establishing, by the parameter negotiation session component, the parameter negotiation session based on the first request;

sending, by the parameter negotiation session component, a second request to the server device via the first communication protocol via the parameter negotiation session;

wherein the second request indicates that the server device is to provide periodic notification of the first parameter value and conditional notification of the second parameter value when the second parameter changes from a current state to a new state, an

Wherein the client device formats a body of the second request utilizing the protocol buffer;

periodically receiving, by the client device, a first datagram including a current value of the first parameter from the server device and via a second communication protocol;

receiving, by the client device from the server device and via the second communication protocol, a second datagram comprising the value of the second parameter based on the server device determining that the state associated with the second parameter has changed from the current state to the new state; and

controlling, by the client device, an operation associated with the client device using the current value of the first parameter and the value of the second parameter.

2. The method of claim 1, wherein the first and second parameters are associated with measured or calculated data related to operation of a machine.

3. The method of any of claims 1-2, wherein the first request includes information identifying a requested session timeout associated with the parameter negotiation session; and

wherein the method further comprises:

receiving information from the server device indicating a server supported session timeout determined based on the requested session timeout.

4. The method of any of claims 1-3, further comprising:

receiving, from the server device, information indicating that the server device is capable of supporting the second request.

5. The method of any of claims 1-4, further comprising:

receiving, from the server device and based on the second request, information identifying a set of parameters,

wherein the set of parameters includes the second parameter and a third parameter; and

wherein the method further comprises:

receiving a third datagram including an updated value of the third parameter based on the server device determining a state change associated with the third parameter.

6. The method of any of claims 1-5, wherein the second request includes a destination address of the client device; and

wherein receiving the second datagram comprises:

receiving the second datagram at the destination address.

7. The method of any of claims 1-6, wherein the second request includes information identifying a user datagram protocol port associated with the client device; and

wherein receiving the second datagram comprises:

receiving the second datagram at the user datagram protocol port.

8. An apparatus, comprising:

one or more memories; and

one or more processors, communicatively coupled to the one or more memories, to:

receiving a first request from a client device to establish a parameter negotiation session,

wherein the first request is received via a first communication protocol, an

Wherein a body of the first request is defined using a protocol buffer;

establishing the parameter negotiation session based on the first request;

receiving, via the first communication protocol, a second request from the client device,

wherein the second request indicates that the device is to periodically provide information indicative of a value of a first parameter and that the device is to provide information indicative of an updated value of a second parameter when a current value of the second parameter changes, an

Wherein a body of the second request is defined with the protocol buffer;

periodically sending, to the client device and via a second communication protocol, a first datagram comprising information indicative of an updated value of the first parameter;

determining that the current value of the second parameter has changed; and

sending, to the client device and via the second communication protocol, a second datagram comprising information indicating the updated value of the second parameter based on the current value of the second parameter change.

9. The device of claim 8, wherein the one or more processors are further to:

determining that the second parameter is included in a set of parameters supported by the device,

wherein the second datagram is transmitted to the client device based on the second parameter being included in the set of parameters.

10. The device of any of claims 8-9, wherein the second request includes information identifying a user datagram protocol port associated with the client device, and

wherein the one or more processors, when transmitting the second datagram, are further to:

and sending the second datagram to the user datagram protocol port.

Technical Field

The present invention relates generally to a system and method for communicating parameters, and for example, to a system and method for communicating parameters based on changes.

Background

Machines such as, for example, wheel loaders, graders, planers, and other types of machines are used to perform various tasks associated with an industry, such as mining, construction, manufacturing, transportation, and/or another type of industry. To perform these tasks, the machine may include multiple systems. Each system may include a controller, such as an Electronic Control Module (ECM). The ECMs may form a network and may communicate with each other via one or more data links.

The particular function performed by the machine may involve multiple ECMs. The ECM on the machine may be a user of many different parameters. The parameters may be requested by the ECM to determine control commands for performing various operational aspects of the machine function, and may be obtained from one or more producers of relevant data. The producer of the relevant data may periodically provide updated parameter values to the ECM, regardless of whether the parameter values have changed. However, for some parameters, the ECM may only need to update the parameter immediately after the parameter value changes; such parameters may include, for example, configurable options in a menu screen that may not be changed frequently by the machine operator, or the state of a hardware switch that the operator may press infrequently. For such parameters, the ECM may need to receive and take action in accordance with its changed value in 250ms or less to provide the operator with the effect of an immediate response. For a typical machine system such as a planer, there may be tens or hundreds of such parameters, and each parameter value may change only once or possibly several times within an eight hour shift. Periodically communicating such parameters may require thousands of messages in an eight hour shift, while communicating only when they change may require only a small portion, thereby saving communication bandwidth and processing time on the ECM.

An attempt to change the operating parameters of a communication terminal is disclosed in us patent No. 7,546,119 ("the' 119 patent") granted to Young-Cheol Ham on 9/6/2009. In particular, the' 119 patent discloses a method for changing operating parameters of a communication terminal, the method comprising: identifying that the operating parameters in the database include new upgrade parameters, searching for at least one communication terminal that needs to be upgraded to the new parameters, and performing an upgrade procedure for the at least one communication terminal to provide the new parameters.

While the method of the '119 patent of changing the operating parameters of a communication terminal may effectively improve the upgrade process, the' 119 patent does not disclose a system and method for conserving computing resources for handling the periodic updating of parameters that only requires updating when the parameter values change.

The system and method of the present invention solve one or more of the problems set forth above and/or other problems in the art.

Disclosure of Invention

According to some embodiments, a method may comprise: determining, by a parameter classification component of a client device, a set of parameters associated with controlling operations associated with the client device; determining, by a parameter classification component, that a first parameter of a set of parameters is to be periodically updated; determining, by the parameter classification component, that a second parameter of the set of parameters is to be updated based on a state change associated with the second parameter; defining, by a parameter negotiation session component of a client device, a body of a first request for establishing a parameter negotiation session using a protocol buffer message; sending, by a parameter negotiation session component of a client device, a first request to a server device via a first communication protocol; establishing, by the parameter negotiation session component, a parameter negotiation session based on the first request; sending, by the parameter negotiation session component via the parameter negotiation session, a second request to the server device via the first communication protocol, wherein the second request indicates that the server device is to provide periodic notification of the first parameter value and conditional notification of the second parameter value when the second parameter changes from a current state to a new state, and wherein the client device formats a body of the second request with a protocol buffer; periodically receiving, by the client device, a first datagram including a current value of the first parameter from the server device and via the second communication protocol; receiving, by the client device from the server device and via the second communication protocol, a second datagram comprising a second parameter value based on the server device determining that the state associated with the second parameter has changed from the current state to the new state; and controlling, by the client device, an operation associated with the client device using the current value of the first parameter and the second parameter value.

According to some embodiments, a device may receive a first request from a client device to establish a parameter negotiation session, wherein the first request is received via a first communication protocol, and wherein a body of the first request is defined with a protocol buffer message; establishing a parameter negotiation session based on the first request; receiving a second request from the client device via the first communication protocol, wherein the second request indicates that the device is to periodically provide information indicative of a value of the first parameter and that the device is to provide information indicative of an updated value of the second parameter when a current value of the second parameter changes, and wherein a body of the second request is defined with a protocol buffer; periodically sending a first datagram to the client device and via the second communication protocol, the first datagram including information indicative of an updated value of the first parameter; determining that a current value of a second parameter has changed; and sending a second datagram to the client device and via the second communication protocol, the second datagram including information indicating an updated value of the second parameter based on the current value of the second parameter change.

According to some embodiments, a system may include a client device configured to: identifying a first parameter to be periodically updated; identifying a second parameter to be updated based on a state change associated with the second parameter; sending a first request to establish a parameter negotiation session to a server device via a first communication protocol, wherein a body of the first request is defined with a protocol buffer message, and wherein the parameter negotiation session is established based on the first request; sending a second request to the server device via the parameter negotiation session and using the first communication protocol, wherein the second request indicates that the server device will periodically provide information indicating a current value of the first parameter and that the server device will provide information indicating an updated value of the second parameter when a state of the second parameter changes, and wherein the client device utilizes the protocol buffer to format a body of the second request; periodically receiving, from the server device and via the second communication protocol, a first datagram comprising a current value of the first parameter; and based on the server device determining that the status of the second parameter has changed, receiving, from the server device and via the second communication protocol, a second datagram comprising updated values of the second parameter.

Drawings

Fig. 1 is a diagram of an exemplary system for negotiating and communicating parameter data for a negotiated set of parameters.

Fig. 2 is a diagram illustrating an example of training a machine learning model.

Fig. 3 is a diagram illustrating an example of applying a trained machine learning model to a new observation.

Fig. 4 illustrates a flow diagram of an exemplary process for negotiating and receiving parameter data for a set of parameters for negotiation.

Fig. 5 illustrates a flow diagram of an exemplary process for negotiating and transmitting parameter data for a negotiated set of parameters.

Detailed Description

The present disclosure relates to systems and methods for exchanging parameter data for controlling and/or monitoring operation of a machine. The term "machine" may refer to any machine that performs an operation associated with an industry, such as, for example, mining, construction, farming, transportation, or any other industry. As some examples, the machine may be a vehicle, backhoe loader, cold planer, wheel loader, compactor, feller stacker, forestry machine, pallet conveyor, harvester, excavator, industrial loader, pitman loader, material handler, grader, pipe-laying machine, road reclaimer, skid steer loader, skidder, telescopic boom forklift, tractor, bulldozer, tractor blade or other ground equipment, underground equipment, marine equipment, or the like.

Fig. 1 is a diagram of an exemplary system 100 for negotiating and transmitting parameter data for a set of parameters for negotiation. In some implementations, the system 100 enables dynamic negotiation of a set of parameters to be exchanged between a consumer and a producer of parameter data, either directly or indirectly, for the negotiated set of parameters. Dynamic negotiation of a set of parameters refers to negotiation of a set of parameters to be exchanged between a client device and a server device without establishing a static set of parameters in advance. In this way, the set of parameters to be exchanged may be updated or changed based on the current needs of the client device.

As shown in fig. 1, system 100 includes a client device 102 and a server device 104. Client device 102 may be a device that consumes (e.g., utilizes) parameter values to perform functions associated with client device 102. For example, the client device 102 may be a display that consumes configuration parameter values to cause a user interface to be displayed. Although the implementations described herein indicate the client device 102 as a consumer of parameter data for a set of parameters, alternatively and/or additionally, the client device 102 may act as a proxy for the consumer of parameter values. For example, the client device 102 may negotiate a set of parameters for a consumer of parameter data for the set of parameters (e.g., a display). The client device 102 may receive parameter data for the negotiated set of parameters and may provide the parameter data to a consumer of the parameter data.

As shown in fig. 1, client device 102 includes an Electronic Control Module (ECM)106, Parameter Identification and Classification (PIC) circuitry 108, Parameter Negotiation Session (PNS) circuitry 110, and memory 112.

The ECM106 includes one or more processors configured to control and/or monitor operations associated with the client device 102. To control and/or monitor this operation, the ECM106 utilizes or consumes one or more parameters. The parameters may include parameters related to temperature, pressure, flow rate, gas consumption, relative position of components, operator input, signals indicating activation or deactivation of various actuators and/or valves, geographic location of the machine, other sensed and/or calculated data associated with operation of the machine, user settings (e.g., language in which information is displayed, format for displaying the current date and/or time, etc.), and/or other types of parameters.

However, for some parameters, the ECM106 may only need to update the parameters immediately when the parameter values change; such parameters may include, for example, configurable options in a menu screen that may not be changed frequently by the machine operator, or the state of a hardware switch that the operator may press infrequently. For such parameters, the ECM106 may need to receive and take action on their changed values in 250ms or less to provide the operator with the effect of an immediate response. For a typical machine system such as a planer, there may be tens or hundreds of such parameters, and each parameter value may change only once or possibly several times within an eight hour shift. Periodic transmission of such parameters may require thousands of messages in an eight hour shift, while transmission only when they change may require only a small portion, thereby saving communication bandwidth and processing time on the ECM 106.

PIC circuitry 108 is configured to identify a set of parameters utilized by client device 102. For example, the PIC circuitry 108 may analyze configuration data stored in the memory 112. PIC circuitry 108 may determine a set of parameters utilized by client device 102 based on the analysis. The client device 102 may also act as a proxy for the consumer of the parameter data (e.g., another client device, another ECM, etc.), and the PIC circuitry 108 may determine the set of parameters based on information received from the consumer of the parameter data.

For each parameter, the PIC circuitry 108 determines whether the parameter is a periodic parameter to be updated at predetermined time intervals or a non-periodic parameter to be updated when a change in the parameter value is detected. The parameters are periodically updated when updates to the data associated with the parameters are sent and/or received at the expiration of an update period. Parameters are updated aperiodically only when updates are received when data associated with the parameters changes. The PIC circuitry 108 utilizes machine learning to determine whether updates to data associated with a parameter are received periodically or when data associated with a parameter changes as described elsewhere herein.

In some embodiments, the PIC circuitry 108 determines whether the parameter is a periodic parameter or an aperiodic parameter based on the frequency at which the parameter value changes. The PIC circuitry 108 may utilize machine learning to determine whether the parameter is periodic or aperiodic. For example, the PIC circuitry 108 may train the machine learning model based on historical data associated with the parameter to determine whether the parameter is periodic or aperiodic based on the frequency at which the parameter value changes. When the frequency of parameter value change satisfies the threshold frequency, the parameter may be determined as a periodic parameter.

When the parameter value is associated with a state change, the PIC circuitry 108 may determine that the parameter is a non-periodic parameter, the state change such as a change from an open state to a closed state, a change from a first gear to a second gear, a change from a first user setting of the user interface (e.g., a number of columns to display, a font size, a format for displaying a date, a format for displaying a current time, etc.) to a second user setting of the user interface, and so forth.

The PIC circuitry 108 forms a first set of parameters and a second set of parameters. The first set of parameters includes one or more parameters determined to be periodic parameters. The PIC circuitry 108 generates first parameter information for a first set of parameters. The first parameter information includes information identifying an update period and/or information identifying a first port of the client device 102. The update period corresponds to a frequency (e.g., every 0.5ms, every 1.0ms, every 1.5ms, and/or another frequency) at which the server device 104 is to provide parameter data for the first set of parameters. The first port is a port of the client device 102 and the server device 104 transmits parameter data for a first set of parameters to the port of the client device 102.

The second set of parameters includes one or more parameters determined to be aperiodic parameters. The PIC circuitry 108 determines second parameter information for the second set of parameters. The second information comprises information indicating that parameter data for the second set of parameters is not to be provided periodically and/or only when the values of the parameter values and/or the state of the parameters changes. In some implementations, the second information can additionally include information identifying a second port of the client device 102. The second port is a port of the client device 102 and the server device 104 transmits parameter data for a second set of parameters to the port of the client device 102. PIC circuitry 108 provides information identifying the first and second sets of parameters and the first and second parameter information to PNS circuitry 110.

PNS circuitry 110 is configured to receive information identifying the first and second sets of parameters and the first and second parameter information from PIC circuitry 108. PNS circuitry 110 generates a request message for requesting a negotiation session with server device 104 based on information received from PIC circuitry 108.

The request message includes information identifying a requested session timeout. The requested session timeout indicates an amount of time for the server device 104 to provide updated parameter data for the negotiated set of parameters (e.g., the first set of parameters and the second set of parameters) to the client device 102. Client device 102 may extend the amount of time that server device 104 provides updated parameter data by sending a message to server device 104 requesting a refresh session (e.g., resetting a timer associated with the session timeout) before the amount of time indicated by the session timeout elapsing.

PNS circuit 110 sends a request message to server device 104 to request and subsequently establish a negotiation session with server device 104. In some embodiments, PNS circuitry 110 requests and establishes a negotiation session using hypertext transfer protocol (HTTP) requests and responses. In other embodiments, PNS circuitry 110 requests and establishes a negotiation session using IP-based extensible service oriented middleware (SOME/IP), Common Industrial Protocol (CIP), or the like.

As described herein, the server device 104 includes a device that performs parameter set delivery with a client (e.g., client device 102). Server device 104 and client device 102 may be included in the same or different devices and/or associated with the same or different machines. For example, the server 104 and the client 102 may be implemented with separate ECMs included in a single physical device, or may be implemented in two different devices. As shown in fig. 1, server device 104 includes a PNS circuit 114, a Parameter Update Classification (PUC) circuit 116, a Periodic Parameter Update (PPU) circuit 118, and a non-periodic parameter update (NPU) circuit 120.

PNS circuitry 114 is configured to receive a request to establish a negotiation session from PNS circuitry 110 and to establish the requested negotiation session. For example, as described above, PNS circuit 114 may receive a request message generated by PNS circuit 110. PNS circuitry 114 determines a set of server-supported session timeouts based on the received request. PNS circuitry 114 selects the server supported session timeout that is closest to the requested session timeout. PNS circuit 114 sends a response message to PNS circuit 110 via HTTP or another communication protocol. The body of the response message may include information identifying a session timeout supported by the server, and the protocol buffer message may be used as a data format. PNS 110 receives the response message from PNS 114 and sends an acknowledgement to PNS 114 to establish the negotiation session.

PNS circuitry 114 establishes a negotiation session with PNS circuitry 110. PNS circuit 110 sends a message to PNS circuit 114 requesting that the parameter data for the first and second sets of parameters be updated. The message may include information identifying the first and second sets of parameters, the first parameter information, and/or the second parameter information.

The body of the request message (protocol buffer message) uses the protocol buffer as a data format. A protocol buffer message is a logical record of information, comprising a series of one or more fields. Each field includes name-value pairs corresponding to parameters included in the first or second set of parameters. The name of the name-value pair corresponds to the name or identifier of the parameter. The value of the name-value pair is the type of value associated with the parameter (e.g., integer value, floating point value, boolean value, string, raw byte, enumeration, another protocol buffer message, etc.). For example, the first set of parameters may include temperature parameters. The protocol buffer message may include a field "floating point temperature ═ 1". The value "1" identifies the field as the first field in the protocol buffer message. The value "float" identifies the floating point value as a value type associated with the parameter having the name "temperature".

PNS circuit 114 receives the message via HTTP or another communication protocol and determines whether server device 104 supports parameters included in the first set of parameters and the second set of parameters. For example, for each parameter, PNS circuit 114 determines whether an entity that updates the parameter data is available to provide updated parameter data. PNS circuit 114 provides PNS circuit 110 with information identifying each parameter supported by server device 104 via HTTP or another communication protocol. PNS circuitry 110 receives information identifying each parameter supported by server device 104 and sends an acknowledgement to PNS circuitry 114 via HTTP or another communication protocol to complete the parameter negotiation process.

PNS circuit 114 receives the acknowledgement from PNS circuit 110 and modifies the first set of parameters and/or the second set of parameters by removing any parameters not supported by server device 104. The removal of unsupported parameters prevents the termination of the negotiation session based on the inability of server device 104 to support all requested parameters. In this manner, the removal of unsupported parameters saves computational resources that would otherwise be used to conduct a new negotiation session. PNS circuit 114 provides information identifying the parameters included in the first and second sets of parameters to PUC circuit 116.

The PUC circuit 116 is configured to classify parameters included in the first set of parameters as periodic parameters and to classify parameters included in the second set of parameters as aperiodic parameters. In some embodiments, the PUC circuitry 116 includes classification circuitry that classifies parameters included in the first set of parameters as periodic parameters based on the first parameter information. The classification circuit classifies parameters included in the second set of parameters as periodic parameters based on the second parameter information. As described elsewhere herein, the PUC circuit 116 can utilize machine learning to classify parameters.

The PUC circuits 116 provide information to the PPU circuits 118 identifying a first set of parameters as periodic parameters and provide information to the NPU circuits 120 identifying a second set of parameters as aperiodic parameters.

PPU circuitry 118 is configured to provide periodic updates of parameter data for a first set of parameters. The updated parameter data may be provided to the client device 102 using a message-based connectionless protocol, such as the User Datagram Protocol (UDP). The updated parameter data may be included in a UDP message (e.g., datagram). The data provided in the datagram may be formatted as binary data having a session header and a message body containing updated parameter data.

PPU circuitry 118 provides periodic updates for the set of periodic parameters based on the first parameter information. For example, the message received from the client device 102 may include the first parameter information. PPU circuitry 118 may analyze the first parameter information and determine an update period and/or a port of client device 102 to which to send periodic updates.

PPU circuitry 118 provides periodic updates based on server-supported update periods. PPU circuitry 118 may identify a server-supported update period from a set of server-supported update periods based on the update period identified in the message received from client device 102.

PPU circuitry 118 selects a server-supported update period when the set of server-supported update periods includes the same server-supported update period as the update period identified in the message received from client device 102. Otherwise, PPU circuitry 118 selects the server-supported update period that is closest to the update period identified in the message received from client device 102.

PPU circuitry 118 periodically sends datagrams including updated parameter values to ports identified in messages received from client device 102 based on update periods identified in messages received from client device 102 or server-supported update periods (hereinafter "update periods").

Client device 102 receives the datagram and parses the datagram based on the identifier of the parameter included in the first set of parameters to determine an updated parameter value. The client device 102 stores the updated parameter values in the memory 112.

The NPU circuit 120 is configured to periodically obtain a current parameter value for the aperiodic parameter from a producer of the aperiodic parameter value, and provide the current parameter value to the client device 102. The NPU circuit 120 periodically obtains updated parameter values for the aperiodic parameter, and determines, for each parameter value, whether the updated parameter value is different from the current parameter value. When the updated parameter value differs from the current parameter value, the NPU circuitry 120 generates a UDP message (e.g., a datagram) that includes the updated parameter value and transmits the datagram to the port of the client device 102 identified in the second parameter information. The NPU circuit 120 stores the updated parameter value as the current parameter value for the parameter, and repeats the process using the stored updated parameter value as the current parameter value. When the updated parameter is the same as the current parameter value, the NPU circuit 120 discards the updated parameter value and does not provide the updated parameter value to the client device 102.

The client device 102 receives the updated parameter values at the port and parses the datagram to determine the updated parameter values. The client device 102 stores the updated parameter values in the memory 112. The ECM106 retrieves the updated parameter values from the memory 112 and utilizes the updated parameter values and/or provides the updated parameter values to another device to control operation of the machine.

Fig. 2 is a diagram illustrating an example 200 of training a machine learning model. As shown at reference numeral 205, a machine learning model is trained using a set of observations. As described elsewhere herein, the set of observations are obtained and/or input from historical data (such as, for example, data obtained by the PIC circuitry 108).

A feature set is derived from the set of observations, as indicated by reference numeral 210. The feature set includes a set of variable types, called features. The particular observation includes a set of variable values corresponding to the set of variable types. A set of variables or characteristic values is specific to the observation. The machine learning system determines the values of the variables for a particular observation based on the input received from the PIC circuitry 108.

By way of example, the set of features for a set of observations includes, as examples, a first feature of a parameter ID (e.g., an identifier associated with the parameter), a second feature of a range of values (e.g., a range of values into which a parameter value may fall), a third feature of a frequency of change of values (e.g., a frequency of change of a parameter value), and so forth. As shown, for a first observation, the first feature has a value of vehicle speed, the second feature has a value of 0-25 MPH, the third feature has a value of every 1.2 seconds (average), and so on. These features and feature values are provided as examples only, and may be different in other examples. For example, the feature set may include the state of a parameter, the value type of the parameter value (e.g., integer value, floating point value, string, etc.).

The set of observations is associated with a target variable type, as indicated by reference numeral 215. The target variable type may represent a variable having a numerical value (e.g., an integer value, a floating point value, etc.), a variable having a numerical value that falls within a range of values or has some discrete possible values, a variable that may be selected from one of a plurality of options (e.g., one of a plurality of classes, classifications, labels, etc.), a variable having a boolean value (e.g., 0 or 1, true or false, yes or no), etc. The target variable type may be associated with an observation-specific target variable value.

The target variable represents a value that the machine learning model is training to predict, and the feature set represents a variable that is input to the trained machine learning model to predict the value of the target variable. The set of observations may include target variable values such that the machine learning model may be trained to identify patterns in the feature set that result in the target variable values. Machine learning models trained to predict target variable values may be referred to as supervised learning models, predictive models, and the like. When the target variable type is associated with a continuous target variable value (e.g., a numerical range, etc.), the machine learning model may employ a regression technique. When the target variable type is associated with a classification target variable value (e.g., class, label, etc.), the machine learning model may employ a classification technique.

The machine learning model may be an unsupervised training model trained on a set of observations that do not include the target variable (or include the target variable, but do not perform the machine learning model to predict the target variable). In this case, the machine learning model can learn patterns from a set of observations without labeling or supervision and provide an output indicative of such patterns, such as by using clustering and/or correlation techniques to identify groups of related items in a set of observations.

As further shown, the machine learning system divides the set of observations into: a training set 220 comprising a first subset of observations; and a test set 225 comprising a second subset of observations. The training set 220 is used to train (e.g., fit, adjust, etc.) the machine learning model, and the test set 225 is used to evaluate the machine learning model trained using the training set 220. For example, for supervised learning, the training set 220 may be used for initial model training using a first subset of observations, and the test set 225 may be used to test whether the trained model accurately predicts the target variables in a second subset of observations.

As indicated by reference numeral 230, the machine learning system trains the machine learning model using the training set 220. The training includes executing a machine learning algorithm by the machine learning system to determine a set of model parameters based on the training set 220. The model parameters may include attributes of the machine learning model that are learned from data input to the model (e.g., training set 220). For example, for a regression algorithm, the model parameters may include regression coefficients (e.g., weights). As an example, for a decision tree algorithm, the model parameters may include decision tree segmentation locations.

As indicated by reference numeral 235, the machine learning system adjusts the machine learning model using one or more hyper-parameter sets 240. The hyper-parameters include structural parameters that control the machine learning system to execute the machine learning algorithm, such as constraints applied to the machine learning algorithm (e.g., constraints that check the size or magnitude of the weights used in the neural network and scale the weights to bring the weights below a predefined threshold).

To train the machine learning model, the machine learning system uses the training set 220 to identify a set of machine learning algorithms to train the machine learning model. The machine learning system uses one or more hyper-parameter sets 240 to adjust each machine learning algorithm. The machine learning system may train a particular machine learning model using a particular machine learning algorithm and a corresponding hyper-parameter set 240.

The machine learning system then tests the machine learning model using the test set 225 to generate a performance score, such as a mean square error (e.g., for regression), a mean absolute error (e.g., for regression), a region under the receiver operating characteristic curve (e.g., for classification), and so forth. If the machine learning model performs sufficiently (e.g., has a performance score that satisfies a threshold), the machine learning system stores the machine learning model as a trained machine learning model 245 for analysis of new observations, as described below in connection with FIG. 3.

Fig. 3 is a diagram illustrating an example 300 of applying a trained machine learning model to a new observation. The new observations are input to a machine learning system that stores the trained machine learning model 305.

As indicated by reference numeral 310, the machine learning system receives a new observation (or a new set of observations) and inputs the new observation to the machine learning model 305. As shown, the new observation includes, by way of example, a first characteristic of a parameter ID (e.g., an identifier associated with the parameter), a second characteristic of a range of values (e.g., a range of values into which the parameter value may fall), a third characteristic of a frequency of change of values (e.g., a frequency of change of the parameter value), and so forth. The machine learning system applies the trained machine learning model 305 to the new observation to generate an output (e.g., a result). The type of output may depend on the type of machine learning model and/or the type of machine learning task being performed. For example, such as when supervised learning is employed, the output may include predicted (e.g., estimated) values of the target variable (e.g., values within a continuous range of values, discrete values, labels, classes, classifications, etc.). The output may include information identifying the cluster to which the new observation belongs, information indicating a degree of similarity between the new observation and one or more previous observations (e.g., which may have been previously the new observation input to the machine learning model and/or the observation used to train the machine learning model), and so forth, such as when unsupervised learning is employed.

The trained machine learning model 305 predicts the values of periodic or aperiodic parameters for the newly observed target variables, as shown at reference numeral 315. The trained machine learning model 305 may classify (e.g., cluster) the newly observed periodic parameters in periodic clusters, as indicated by reference numeral 320.

In this manner, the machine learning system may apply a rigorous and automated process to identify and classify parameters as periodic or aperiodic. The machine learning system enables the identification and/or identification of thousands of observed, potentially thousands of features and/or feature values. The mapping of features, feature values, and observations improves the accuracy and consistency of identifying and classifying parameters, thereby saving valuable computing resources required to manually perform thousands of operators identifying and classifying parameters using features or feature values.

Fig. 4 is a flow diagram of an exemplary process 400 for negotiating and communicating parameter data for a negotiated set of parameters. In some implementations, one or more of the processing blocks of fig. 4 may be performed by a client device (e.g., client device 102).

As shown in fig. 4, process 400 may include, as described above, client device 102 may determine a set of parameters associated with controlling operations associated with the client device at block 405.

As described above, the client device 102 may determine at block 410 that a first parameter of the set of parameters is to be periodically updated.

As described above, the client device 102 may determine at block 415 that a second parameter of the set of parameters is to be updated based on a state change associated with the second parameter. The first parameter and the second parameter may be associated with measurement or calculation data related to an operation associated with the client device 102.

As described above, the client device 102 may utilize the protocol buffer message to define a body of the first request to establish the parameter negotiation session at block 420. In some implementations, the first request includes information identifying a requested session timeout associated with the parameter negotiation session.

At block 425, the client device 102 may send a first request to the server device 104 via the first communication protocol, as described above. In some implementations, the client device 102 can receive information from the server device 104 indicating a session timeout to be determined based on the requested session timeout indicating the server support.

At block 430, the client device 102 may establish a parameter negotiation session based on the first request, as described above.

As described above, the client device 102 may send the second request to the server device via the first communication protocol at block 420. The second request indicates that the server device 104 is to provide periodic notification of the first parameter value and conditional notification of the second parameter value when the second parameter changes from a current state to a new state. The client device 102 formats the body of the second request using the protocol buffer. The client device 102 may receive information from the server device 104 indicating that the server device 104 is capable of supporting the second request.

At block 440, the client device 102 may periodically receive, from the server device 104 and via the second communication protocol, a first datagram that includes a current value of the first parameter, as described above.

At block 445, based on the server device determining that the state associated with the second parameter has changed from the current state to the new state, the client device 102 may receive, from the server device 104 and via the second communication protocol, a second datagram that includes a second parameter value, as described above.

The second request includes a destination address of the client device 102, and the client device 102 receives a second datagram at the destination address. The second request may also include information identifying a UDP port, and the client device 102 may receive the second datagram at the UDP port. The client device 102 may receive a third datagram from the server device 104 that includes an updated value for a third parameter based on the server device determining a state change associated with the third parameter.

At block 450, the client device 102 may control operation of the machine or machine component using the current value of the first parameter and the second parameter value, as described above.

Fig. 5 is a flow diagram of an exemplary process 500 for negotiating and communicating parameter data for a negotiated set of parameters. In some implementations, one or more of the processing blocks of fig. 5 may be performed by a server device (e.g., server device 104).

As shown in fig. 5, at block 510, server device 104 may receive a first request from client device 102 to establish a parameter negotiation session, as described above. The first request is received via a first communication protocol, and a body of the first request is defined with a protocol buffer message. The first request includes information indicating a requested session timeout for the parameter negotiation session.

As described above, server device 104 may establish a parameter negotiation session based on the first request at block 520. Server device 104 sends information to client device 102 and via the first communication protocol indicating that server device 104 is capable of supporting the parameter negotiation session, and establishes the parameter negotiation session based on server device 104 sending the information to server device 104.

At block 530, the server device 104 may receive a second request from the client device 102 via the first communication protocol, as described above. The second request indicates that the server device 104 will periodically provide information indicative of the value of the first parameter, and that the device will provide information indicative of an updated value of the second parameter when the current value of the second parameter changes.

The body of the second request is defined using a protocol buffer. The server device 104 may determine that the first parameter and the second parameter are included in a set of parameters supported by the server device 104 and may send information identifying the set of parameters to the client device 102.

As described above, the server device 104 may periodically send a first datagram including information indicative of updated values of the first parameter to the client device 102 and via the second communication protocol at block 540. In some implementations, the server device 104 can periodically send the first datagram based on determining that the first parameter is included in the set of parameters supported by the server device 104.

At block 550, server device 104 may determine that the current value of the second parameter has changed, as described above.

As described above, the server device 104 may send a second datagram to the client device 102 and via the second communication protocol based on the change in the current value of the second parameter at block 560, the second datagram including information indicating an updated value of the second parameter. In some implementations, the server device 104 transmits the second datagram further based on determining that the second parameter is included in the set of parameters supported by the server device 104. The second request may include information identifying a UDP port associated with the client device 102, and the server device 104 may send a second datagram to the UDP port.

Industrial applicability

Embodiments described herein may provide increased efficiency, adaptability, and reliability in the exchange of parameter data associated with parameters used to control and/or monitor the function of a machine and/or a component of a machine.

Machine components such as ECUs and/or other devices that rely on accurate and timely input and update of various forms of sensed data may benefit from the ability of the system 100 to dynamically negotiate exactly which parameters are required at any particular time. By sending request and response messages between a server associated with a producer and a client associated with a consumer via HTTP, dynamic negotiation between the consumer and the producer of parameter data for a set of parameters can be performed quickly, autonomously, and with a minimum required bandwidth.

The use of HTTP also ensures that the disclosed system will provide backward compatibility between client devices and server devices associated with consumers and producers of parameter data for a set of parameters when adding new machines to the system, adding new machine components to machines, and/or repairing and/or updating existing machines or existing machine components.

During the initial negotiation, request and response messages exchanged between the client device and the server device via HTTP to determine exactly what parameters are to be included in the parameter set transfer may also be constructed with protocol buffer messages in the body of the request and response messages.

By utilizing protocol buffer messages, the size of request and response messages may be reduced relative to using extensible markup language (XML). The reduction in message size may save computational resources (e.g., processing resources, memory resources, communication resources, etc.). Further, the data structure of the protocol buffer message may be changed without affecting the compatibility deployments or applications compiled for the previous format of the data structure. Accordingly, costs associated with updating a deployed program or application based on an update to the format of the data structure may be reduced.

After negotiation results in identification of parameter data for a particular parameter to be exchanged among one or more sets of parameters, update parameter data associated with the negotiated parameter may be sent to the client device using a UDP message, thereby significantly improving the efficiency and timeliness of the update.

By utilizing UDP for data transfer of updated parameter data without the need to establish a TCP connection between the client device and the server device, messages with updated parameter data can be efficiently exchanged using a message-based connectionless protocol that does not require a handshake session for ensuring reliability, ordering or data integrity. With UDP, messages (e.g., datagrams) can be sent to other devices on an Internet Protocol (IP) network without having to communicate in advance to establish a special transport channel or data path. In this way, after dynamically establishing one or more negotiated set of parameters to be exchanged between the client device and the server device via HTTP, updates to the parameter data for the negotiated parameters may be efficiently and quickly communicated to the client.

The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the embodiments to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the embodiments. It is intended that the specification be considered as exemplary only, with a true scope of the disclosure being indicated by the following claims and their equivalents. Even though specific combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of the various embodiments. Although each dependent claim listed below may depend directly on only one claim, the disclosure of various embodiments includes each dependent claim in combination with every other claim in the claim set.

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于边缘协作的任务卸载系统、方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类