Patent Description:
A technique for collecting data output from a sensor is known. For example, Patent Document <NUM> discloses that data indicating a position of a vehicle is collected by a sensor, and the data is transmitted to a center in real time.

Patent Document <NUM> discloses a receiver and a communication system for receiving data that are transmitted from plural transmitters. Patent Document <NUM> discloses a data transfer system that sends data packets including data items and a header containing an indication of the number of data items in the data packet. The receiving server compares the indication in the header with the number of actually received data items and request retransmission if the number of actually received data does not match with the indication in the header.

As with the technique disclosed in Patent Document <NUM>, if data is transmitted via a communication line, data goes missing during transmission in some cases. In this case, in order to ensure the completeness of the data, for example, data missingness management needs to be performed, and the missing data needs to be re-transmitted. However, for example, in a case where several hundreds to several thousands of pieces of data are collected in one second, if data missingness management is performed for each piece of data, the amount of data needed for missingness management will increase, and the load of processing for ensuring the completeness of the data will increase.

An object of the present invention is to reduce the load of processing for ensuring the completeness of the data.

According to the present invention, it is possible to reduce the load of processing for ensuring completeness of data.

<FIG> is a diagram showing an example of data collection system <NUM> according to the present embodiment. Data collection system <NUM> provides a mechanism for collecting data output from various sensors <NUM> and managing the data all together. For example, if the sensing target is a car, data output from various sensors <NUM> provided in the car, such as a tachometer that measures the rotation rate of the engine, a speedometer that measures the speed of the car, an angle gauge that measures the angle of steering, a fuel ejection amount gauge, a thermometer, and a GPS (Global Positioning System) that measures the position of the car.

Sensors <NUM> include sensor elements and AD conversion circuits. Sensors <NUM> detect (measure) physical amounts at predetermined sampling frequencies, and generate and output data indicating the detected physical amounts. For example, several hundreds to several thousands of pieces of data are output in one second from sensors <NUM>. One piece of data includes one measurement value measured by sensor <NUM>. That is, <NUM> pieces of data include a total of <NUM> instances' worth of measurement values.

Data collection system <NUM> includes client apparatus <NUM>, server apparatus <NUM>, and terminal apparatus <NUM>. Client apparatus <NUM>, server apparatus <NUM>, and terminal apparatus <NUM> are connected via communication line <NUM>. Communication line <NUM> includes a mobile communication network, for example. In a mobile communication network, communication is performed using a wireless communication standard, such as <NUM>, LTE (Long Term Evolution), Wi-Fi (registered trademark), WiMAX (registered trademark), or Bluetooth (registered trademark). However, communication line <NUM> includes not only a mobile communication network, but also another wireless or wired communication line. Client apparatus <NUM> is connected to sensors <NUM> via communication line <NUM>. In communication line <NUM>, communication is performed using a predetermined communication standard. For example, CAN (Controller Area Network) protocol is used as the predetermined communication standard.

Note that the number of sensors <NUM>, the number of client apparatuses <NUM>, the number of server apparatuses <NUM>, and the number of terminal apparatuses <NUM> shown in <FIG> are merely exemplary, and there is no limitation thereto. For example, the number of sensors <NUM> may be larger or smaller than the number illustrated in <FIG>. Multiple client apparatuses <NUM> may also be provided.

<FIG> is a diagram showing an example of a hardware configuration of client apparatus <NUM>. Client apparatus <NUM> performs processing for transmitting data output from sensors <NUM> to server apparatus <NUM>. Client apparatus <NUM> includes processor <NUM>, memory <NUM>, communication interface <NUM>, and storage <NUM>. Processor <NUM>, memory <NUM>, communication interface <NUM>, and storage <NUM> are connected via bus <NUM>.

Processor <NUM> controls the units of client apparatus <NUM> and performs various types of processing by reading out a program to memory <NUM> and executing the program. For example, a CPU (Central Processing Unit) is used as processor <NUM>. Memory <NUM> stores the program to be executed by processor <NUM>. For example, a ROM (Read Only Memory) or a RAM (Random Access Memory) is used as memory <NUM>.

Communication interface <NUM> is connected to communication line <NUM> and performs data communication with server apparatus <NUM> in accordance with a predetermined wireless communication standard. Also, communication interface <NUM> is connected to communication line <NUM> and performs data communication with sensors <NUM> in accordance with a predetermined communication standard. Storage <NUM> stores various types of data and programs. For example, a hard disk or a flash memory is used as storage <NUM>. Storage <NUM> stores a client program for causing client apparatus <NUM> to execute client-side processing.

<FIG> is a diagram showing an example of a hardware configuration of server apparatus <NUM>. Server apparatus <NUM> performs non-real-time processing and real-time processing. The non-real-time processing is processing for accumulating data received from client apparatus <NUM>, for example. Accordingly, the data output from sensors <NUM> is managed all together. The data is used for various types of analysis of the state of the sensing target, for example. For this reason, in the non-real-time processing, accuracy of the data is required. On the other hand, the real-time processing is processing for transmitting the data received from client apparatus <NUM> to terminal apparatus <NUM> in real time (hereinafter referred to as "real-time transmission processing"), for example. Note that real time does not need to be completely simultaneous, and there may be somewhat of a time delay. The data is used by a user to keep track of the current state of the sensing target, for example. For this reason, in the real-time processing, immediacy is required.

Server apparatus <NUM> includes processor <NUM>, memory <NUM>, communication interface <NUM>, and storage <NUM>. Processor <NUM>, memory <NUM>, communication interface <NUM>, and storage <NUM> are connected via bus <NUM>.

Processor <NUM> controls the units of server apparatus <NUM> and performs various types of processing by reading out a program to memory <NUM> and executing the program. For example, a CPU is used as processor <NUM>. Memory <NUM> stores the program to be executed by processor <NUM>. For example, a ROM or a RAM is used as memory <NUM>.

Also, communication interface <NUM> is connected to communication line <NUM> and performs data communication with client apparatus <NUM> in accordance with a predetermined communication standard. Storage <NUM> stores various types of data and programs. For example, a hard disk or a flash memory is used as storage <NUM>. Storage <NUM> stores server programs for causing server apparatus <NUM> to execute server-side processing.

Terminal apparatus <NUM> is used to output data transmitted through the above-described real-time transmission processing. An apparatus such as a client computer, a tablet terminal, or a smartphone is used as terminal apparatus <NUM>, for example. Terminal apparatus <NUM> displays the data received from server apparatus <NUM> on a display. The display of the data may also be performed using a browser, for example. Also, on the display, the data itself may be displayed, or the data may be visualized using an image and displayed.

<FIG> is a diagram showing an example of a functional configuration of data collection system <NUM>. Data collection system <NUM> functions as acquisition unit <NUM>, transmission unit <NUM>, memory control unit <NUM>, re-transmission unit <NUM>, reception unit <NUM>, output unit <NUM>, processing unit <NUM>, counting unit <NUM>, and response unit <NUM>. As shown, acquisition unit <NUM>, transmission unit <NUM>, memory control unit <NUM>, and re-transmission unit <NUM> are installed in client apparatus <NUM>. Reception unit <NUM>, output unit <NUM>, processing unit <NUM>, counting unit <NUM>, and response unit <NUM> are installed in server apparatus <NUM>.

Acquisition unit <NUM> is realized by processor <NUM> executing a client program stored in memory <NUM> and controlling communication interface <NUM>. Acquisition unit <NUM> acquires multiple pieces of data indicating physical amounts detected by sensor <NUM>.

Transmission unit <NUM> is realized by processor <NUM> executing a client program stored in memory <NUM> and controlling communication interface <NUM>. Transmission unit <NUM> transmits, to server apparatus <NUM>, a data set including a data string including at least a portion of the multiple pieces of data acquired by acquisition unit <NUM> and information indicating the number of pieces of data included in the data string. In the following description, this data set will be referred to as a "section". Also, a piece of data included in a section will be referred to as a "unit".

<FIG> is a diagram showing an example of a data format of a section. A section includes an SOS (Start of Section), multiple units, and an EOS (End of Section). The SOS is information indicating the start of the section. The SOS is included at the front of the section. The multiple units are a series of data output chronologically from sensors <NUM>, for example. The EOS is information indicating the end of the section. The EOS is included at the end of the section. The SOS and the EOS are used for data missingness management.

The SOS includes a measurement ID, a re-transmission flag, a processing flag, and a priority level. The measurement ID is information uniquely identifying each measurement unit. The measurement unit refers to a period from when generation of data is started to when generation of data is ended. For example, if the sensing target is a car, the period from when the engine of the car is started to when it is stopped is one measurement unit. The re-transmission flag is information indicating whether or not a section has been re-transmitted. For example, if the section has not been re-transmitted, that is, if it has been transmitted for the first time, the value of the re-transmission flag is <NUM>. On the other hand, if the section has been re-transmitted, the value of the re-transmission flag is <NUM>.

The processing flag is information indicating whether or not a section has been processed. For example, if a section has not been processed, the value of the processing flag is <NUM>. On the other hand, if the section has been processed, the value of the processing flag is <NUM>. The processing of the section is performed by deleting some or all units included in the section, or changing the value of a unit using an appropriate method, for example. Note that the appropriate method may be determined in advance.

The priority level is information indicating the priority level at the time of re-transmitting the section. The priority level is given to each section in advance in accordance with a predetermined condition such as the type or importance level of the data included in the section, for example. Here, the priority level is expressed as the numbers <NUM> to <NUM>, priority level "<NUM>" being the highest, and priority level "<NUM>" being the lowest. However, the symbol indicating the priority level is not limited to this. For example, the priority level may also be indicated by a symbol other than a numerical value (e.g., character strings such as "High" and "Low"). Also, the priority levels may be divided into two levels or four or more levels. In other words, the priority level may be indicated using any kind of expression, as long as it is information indicating the priority level for when the section is re-transmitted.

The EOS includes a unit count and a serial number. The unit count is information indicating the number of units included in the section. The serial number is information uniquely identifying the section of the same measurement unit. The section is uniquely identified by the above-described measurement ID and serial number.

Returning to <FIG>, reception unit <NUM> is realized by processor <NUM> executing a server program stored in memory <NUM> and controlling communication interface <NUM>. Reception unit <NUM> receives a section from client apparatus <NUM>.

Output unit <NUM> is realized by processor <NUM> executing a server program stored in memory <NUM> and controlling communication interface <NUM>. If the SOS of the section received by reception unit <NUM> includes information indicating that the section has been transmitted for the first time, or for example, the re-transmission flag "<NUM>", output unit <NUM> sequentially outputs the unit to terminal apparatus <NUM> in response to the reception of the unit included in the section.

Processing unit <NUM> is realized by processor <NUM> executing a server program stored in memory <NUM>. Processing unit <NUM> processes the section received by reception unit <NUM>. In this processing, for example, the section is stored in a storage unit. For example, storage <NUM> is used as the storage unit. However, the storage unit is not limited to storage <NUM> and may also be a storage apparatus provided outside of server apparatus <NUM>, for example.

Counting unit <NUM> is realized by processor <NUM> executing a server program stored in memory <NUM>. Counting unit <NUM> counts the number of units included in the section received by reception unit <NUM>.

Response unit <NUM> is realized by processor <NUM> executing a server program stored in memory <NUM> and controlling communication interface <NUM>. Response unit <NUM> sends a response to client apparatus <NUM> if the number of units counted by counting unit <NUM> and the number of units indicated by the unit count included in the EOS match. For example, an ACK (ACKnowledgement) is used as the response.

Memory control unit <NUM> is realized by processor <NUM> executing a client program stored in memory <NUM>. Memory control unit <NUM> stores the section transmitted by transmission unit <NUM> in memory <NUM>, and if a response, that is, an ACK, is received from server apparatus <NUM>, memory control unit <NUM> deletes the section stored in memory <NUM>. For example, a memory region for re-transmission in memory <NUM> is used as the region for storing the section. The data is stored in a queue format, for example, in the memory region for re-transmission.

Re-transmission unit <NUM> is realized by processor <NUM> executing a client program stored in memory <NUM> and controlling communication interface <NUM>. If a condition indicating that the number of units counted by counting unit <NUM> and the number of units indicated by the unit count included in the EOS are different is satisfied, re-transmission unit <NUM> re-transmits the section to server apparatus <NUM>. The section is read out from the memory region for re-transmission in memory <NUM>, for example, and is transmitted. The condition under which the section is re-transmitted is the condition that a predetermined amount of time elapses from transmission of the section without receipt of ACK, for example. However, the condition under which the section is re-transmitted is not limited thereto, and any kind of condition may be used, as long as it is indicated that the number of units counted by counting unit <NUM> and the number of units indicated by the unit count included in the EOS are different.

Next, operations performed by data collection system <NUM> will be described with reference to <FIG>. <FIG> and <FIG> are flowcharts showing examples of processing performed by client apparatus <NUM>. <FIG> is a flowchart showing an example of processing performed by server apparatus <NUM>.

Sensors <NUM> detect physical amounts in predetermined sampling cycles, and sequentially output data indicating the detected physical amounts. The data is transmitted to client apparatus <NUM> via communication line <NUM>. At this time, the data may also be transmitted according to the CAN protocol. The processing shown in <FIG> is started when the data is input to client apparatus <NUM>.

In step S11, acquisition unit <NUM> sequentially acquires the input data. Accordingly, acquisition unit <NUM> acquires multiple pieces of data. Acquisition unit <NUM> adds a sensor ID and timestamp to each acquired piece of data. The sensor ID is information uniquely identifying sensor <NUM> that output the data. The time stamp is information indicating the amount of time that has elapsed until the date and time when the data is acquired, using the date and time when measurement is started as the origin.

In step S12, transmission unit <NUM> generates a section using the data acquired in step S11, and transmits the generated section to server apparatus <NUM>. One section includes multiple pieces of data. For example, if the sampling frequency of sensors <NUM> is <NUM> and the section generation period is <NUM>, one section includes <NUM> pieces of data output from sensors <NUM>.

In this example, as shown in <FIG>, a section includes an SOS, multiple units, and an EOS. The SOS includes the measurement ID "AAA", a re-transmission flag, a processing flag, and the priority level "<NUM>". Since the section is not re-transmitted, the value of the re-transmission flag is "<NUM>". Also, since the section has not been processed, the value of the processing flag is "<NUM>". Each unit includes data, a sensor ID, and a time stamp. The EOS includes the unit count "N" and the serial number "<NUM>". The unit count indicates that N units are included in the section.

Returning to <FIG>, in step S13, memory control unit <NUM> stores the section transmitted in step S12 in the memory region for re-transmission in memory <NUM>. At this time, the section is stored in the memory region for re-transmission in a queue format, for example.

When the section transmitted in step S12 reaches server apparatus <NUM>, the processing shown in <FIG> is started.

In step S21, reception unit <NUM> receives a section from client apparatus <NUM>. Here, depending on the state of communication line <NUM>, data goes missing in some cases. For example, if a section including <NUM> units is transmitted from client apparatus <NUM>, only <NUM> of the units are received in server apparatus <NUM> in some cases.

In step S22, output unit <NUM> determines whether or not the section received in step S21 is re-transmitted. In this example, since the value of the re-transmission flag included in the SOS of the section is <NUM>, it is determined that the section is not re-transmitted (the determination in step S22 is NO). In this case, the flow advances to step S23.

In step S23, output unit <NUM> performs real-time transmission processing. The real-time transmission processing is started before the EOS of the section received in step S21 is received. In the real-time transmission processing, each unit included in the section is sequentially transmitted to terminal apparatus <NUM> in response to its reception.

In step S24, when the EOS of the section is received, processing unit <NUM> stores the section in storage <NUM>.

In step S25, counting unit <NUM> counts the number of units included in the section received in step S21.

In step S26, response unit <NUM> determines whether or not the number of units counted in step S25 and the number of units indicated by the unit count included in the EOS of the section received in step S21 match. If the numbers of units match (the determination of step S26 is YES), it is indicated that the data of the section has not gone missing. In this case, the flow advances to step S27.

In step S27, reception unit <NUM> transmits an ACK to client apparatus <NUM>. The ACK includes the SOS and EOS included in the section received in step S21. In this example, the SOS includes the measurement ID "AAA". Also, the EOS includes the serial number "<NUM>".

On the other hand, if it is determined in the above-described step S26 that the numbers of units do not match (the determination of step S26 is NO), this indicates that the data of the section is missing. In this case, the processing of above-described step S27 is not performed.

In client apparatus <NUM>, after the section is transmitted to server apparatus <NUM> in above-described step S12, the processing shown in <FIG> is started.

In step S31, re-transmission unit <NUM> determines whether or not an ACK has been received from server apparatus <NUM>. If an ACK has been received (the determination of step S31 is YES), this indicates that the data of the section transmitted in step S12 is not missing. In this case, the processing advances to step S32.

In step S32, memory control unit <NUM> deletes the section stored in above-described step S13 from the memory region for re-transmission in memory <NUM>. In this example, the measurement ID "AAA" and the serial number "<NUM>" are included in the ACK received from server apparatus <NUM>. In this case, the section including the same measurement ID "AAA" and serial number "<NUM>" is deleted from the memory region for re-transmission.

On the other hand, if a predetermined amount of time has elapsed without receiving the ACK in above-described step S31, that is, if a time-out has occurred (the determination in step S31 is NO), the flow advances to step S33.

In step S33, re-transmission unit <NUM> re-transmits the section stored in the memory region for re-transmission in memory <NUM> to server apparatus <NUM>. Similarly to the section transmitted in above-described step S12, the SOS of the section includes the measurement ID "AAA", the re-transmission flag, the processing flag, and the priority level "<NUM>". However, since the section is to be re-transmitted, the value of the re-transmission flag is changed to "<NUM>". Also, if the segment has been processed, the value of the processing flag is changed to "<NUM>". Also, similarly to the section transmitted in above-described step S12, the EOS of the section includes the unit count "N" and the serial number "<NUM>".

<FIG> is a diagram illustrating an example of a section re-transmission method. In the following description, sections in which the serial numbers are "<NUM>" to "<NUM>" will be referred to as "section <NUM>" to "section <NUM>". Here, a case is envisioned in which sections <NUM> to <NUM> are transmitted from client apparatus <NUM> to server apparatus <NUM>, and among these, sections <NUM> and <NUM> have data that has gone missing during transmission. In this case, in the memory region for re-transmission in memory <NUM>, sections <NUM> and <NUM> are stored.

Sections <NUM> and <NUM> are re-transmitted at a predetermined timing, for example. The predetermined timing may be a time at which a predetermined amount of time elapses from when the determination of above-described step S31 becomes NO, for example. In another example, the predetermined timing may be a time at which the number of sections stored in the memory region for re-transmission reaches the predetermined number.

The sequence in which segments <NUM> and <NUM> are re-transmitted is a sequence corresponding to the priority levels included in sections <NUM> and <NUM>. For example, if the priority level included in section <NUM> is <NUM> and the priority level included in section <NUM> is <NUM>, they may be re-transmitted in the following sequence: section <NUM>, section <NUM>.

Also, re-transmission unit <NUM> may subject a section to processing for deleting some or all of the units included in the section and re-transmit the processed section. For example, the units included in the section may be deleted at intervals of a predetermined number (e.g., every other unit may be deleted), or units that include a specific type of data and are included in the section may be deleted. This processing may be implemented on all sections stored in the memory region for re-transmission, or may be implemented on only the sections that satisfy a predetermined condition among the sections stored in the memory region for re-transmission. The predetermined condition may be the condition that the priority level is less than or equal to a threshold value, for example.

For example, if the priority level included in section <NUM> is <NUM>, the priority level included in section <NUM> is <NUM>, and the threshold value for the priority level is <NUM>, the priority level of section <NUM> is less than or equal to the threshold value. In this case, only section <NUM> is processed. Thus, if section <NUM> is processed, the value of the processing flag included in section <NUM> is changed to <NUM>.

Returning to <FIG>, in step S34, memory control unit <NUM> stores the section re-transmitted in step S33 in the memory region for re-transmission in memory <NUM>.

When the section re-transmitted in above-described step S33 reaches sever apparatus <NUM>, the processing shown in <FIG> is started again.

In step S21, reception unit <NUM> receives the section from client apparatus <NUM>.

In step S22, output unit <NUM> determines whether or not the section received in step S21 is re-transmitted. In this example, since the value of the re-transmission flag included in the SOS of the section is "<NUM>", it is determined that the section is re-transmitted (the determination in step S22 is YES). In this case, the flow advances to step S24, skipping over the processing of step S23.

In step S24, when the EOS of the section is received, processing unit <NUM> stores the section in storage <NUM>. At this time, processing unit <NUM> selects the section including the same measurement ID and serial number as the new section received in step S21 from the sections stored in storage <NUM>. Also, processing unit <NUM> stores the new section in storage <NUM> instead of the selected section.

<FIG> is a diagram illustrating an example of a method for storing a re-transmitted section. Here, a case is envisioned in which sections <NUM> to <NUM> are transmitted from client apparatus <NUM> to server apparatus <NUM>, and sections <NUM> to <NUM> are stored in storage <NUM>. However, the data of sections <NUM> and <NUM> among sections <NUM> to <NUM> is missing. In this case, sections <NUM> and <NUM> are re-transmitted from client apparatus <NUM> to server apparatus <NUM>.

When re-transmitted section <NUM> is received, existing section <NUM> stored in storage <NUM> is overwritten by section <NUM>. Also, when re-transmitted section <NUM> is received, existing section <NUM> stored in storage <NUM> is overwritten by section <NUM>. Accordingly, re-transmitted sections <NUM> and <NUM> are stored in place of sections <NUM> and <NUM> which have missing data.

Also, if a section received in step S21 has been subjected to processing for deleting a unit, processing unit <NUM> may generate data for supplementing the unit deleted through the processing, based on the unit included in the section. In the generation of the data, for example, the units before and after the deleted unit may be used, among the units included in the section, for example. However, the units to be used in generation of the data are not limited to the units before and after the deleted unit, and may be the unit at the location corresponding to the deleted unit, or all units included in the section, for example.

For example, if the value of the processing flag included in section <NUM> is "<NUM>", it is determined that section <NUM> has been processed. In this case, data for supplementing the deleted unit may be generated based on the units before and after the unit deleted through the processing among the units included in section <NUM>. In this case, processing unit <NUM> may store section <NUM> in storage <NUM> after supplementing the unit deleted from section <NUM> using the generated data.

In this manner, after the re-transmitted section is stored, the processing of step S25 and onward is performed. The processing is similar to that performed when the section transmitted the first time is received.

According to the above-described embodiment, multiple pieces of data are consolidated into one section, and data missingness management is performed in units of sections, and therefore the amount of data needed for missingness management is less compared to the case of performing missingness management for each piece of data. Accordingly, the load of processing for ensuring the completeness of the data is reduced.

Also, in the above-described real-time transmission processing, transmission of data is started before the EOS is received, and the units are sequentially transmitted in response to reception of the units included in the section, and therefore the amount of time from when the data is output from sensors <NUM> to when the data is output to terminal apparatus <NUM> can be shortened.

The above-described embodiment is an example of the present invention. The embodiment may be modified as follows. Also, the following modified examples may be implemented in combination with each other.

In the above-described embodiment, re-transmission unit <NUM> may also perform re-transmission in a period during which the miss rate of data included in a segment received by reception unit <NUM> is less than or equal to threshold value H1. The miss rate of the data and the communication band are thought to be correlated. For example, the miss rate of the data and the communication band are in a relationship in which the miss rate of the data increases the narrower the communication band is. For example, the miss rate of data for which it is estimated that the communication band is sufficiently wide may be set to threshold value H1.

The miss rate of the data is the rate of the number of missing units with respect to the total number of units included in the section. Re-transmission unit <NUM> calculates the miss rate of the data as follows, for example. First, as described above, the ACK includes the unit count included in the EOS (hereinafter referred to as "first unit count"). Also, the unit count (hereinafter referred to as "second unit count") indicating the number of units counted by counting unit <NUM> is transmitted from server apparatus <NUM> to client apparatus <NUM>. The second unit count may be included in the ACK and transmitted. In this case, the rate of the number of units indicated by the second unit count with respect to the number of units indicated by the first unit count is calculated as the data miss rate.

<FIG> is a diagram showing an example of a data miss rate. In this example, in period T1, the data miss rate is larger than threshold value H1. On the other hand, in period T2, the data miss rate is less than or equal to threshold value H1. In this case, re-transmission unit <NUM> may perform re-transmission of the section in period T2, without performing re-transmission of the section in period T1.

If the section is re-transmitted when the communication band is narrow, the communication band is taken up by the re-transmission of the section in some cases. At this time, for example, when real-time transmission processing of the section is performed in parallel, a delay occurs in the transmission of the data in the real-time transmission processing in some cases. According to this modified example not part of the claimed invention, in a period during which it is estimated that the communication band is narrow, re-transmission of the section is not performed, and therefore the occurrence of this kind of delay is prevented.

In the above-described embodiment, re-transmission unit <NUM> may also re-transmit a section in a period during which the real-time transmission processing is not being performed. In this case, the real-time transmission processing is performed in response to a request from transmission apparatus <NUM>, for example. Accordingly, if there is no request from terminal apparatus <NUM>, the real-time transmission processing is not performed. In this case, information indicating that the real-time transmission processing has not been performed is transmitted from server apparatus <NUM> to client apparatus <NUM>. Re-transmission unit <NUM> performs re-transmission of the section in response to having received this information.

According to this modified example, the re-transmission of the section and the real-time transmission processing of another section are not performed in parallel, and therefore the occurrence of a delay in the transmission of data in the real-time transmission processing is prevented.

In the above-described embodiment, re-transmission unit <NUM> may also generate multiple sections by dividing a section into multiple sections, and may re-transmit the generated multiple sections. The division of the section may also be performed when the data miss rate described in Modified Example <NUM> above is greater than threshold value H1, for example. In another example, the division of the section may also be performed according to the number of instances of re-transmission. Also, the number of divisions of the section may be increased the greater the number of instances of re-transmission is.

In the above-described embodiment, if it is estimated that the communication band is narrow, transmission unit <NUM> may also subject the section to processing for deleting some or all of the units included in the section and transmit the processed section. In an example not part of the claimed invention, the units included in the section may be deleted at intervals of a predetermined number (e.g., every other unit may be deleted), or units of a specific type that are included in the section may be deleted.

In this case, memory control unit <NUM> stores the section transmitted by transmission unit <NUM> in memory <NUM>. For example, a memory region for transmission in memory <NUM> is used as the region for storing the section. Similarly to the above-described memory region for re-transmission, the data is stored in a queue format, for example, in this memory region for transmission.

Transmission unit <NUM> transmits the section stored in the memory region for transmission to server apparatus <NUM>. Memory control unit <NUM> deletes the section transmitted by transmission unit <NUM> from the memory region for transmission.

Here, if the communication band is narrow, the new section is stored in the memory region for transmission with the transmission of the section stored in the memory region for transmission remaining incomplete, and therefore the number of sections stored in the memory region for transmission increases. If there are a large number of sections stored in the memory region for transmission, it is estimated that the communication band is narrow. In view of this, if the number of sections stored in the memory region for transmission is greater than or equal to a threshold value, transmission unit <NUM> may transmit the sections after performing processing. The number of sections in the memory region for transmission for which it is estimated that the communication band is narrow may be set as the threshold value, for example.

In this case, the value of the processing flag included in the processed section may be changed to <NUM>. Also, similarly to the above-described embodiment, processing unit <NUM> may generate data for supplementing a unit deleted through the processing, based on the units included in the section.

In another example, if it is estimated that the communication band is narrow as described above, the section may be stored in the memory region for re-transmission without transmitting the section stored in the memory region for transmission. In this case, this section is transmitted to server apparatus <NUM> using a method similar to the above-described re-transmission of the section.

In the above-described embodiment, the method for determining whether or not the condition under which the section is re-transmitted has been satisfied is not limited to the method using an ACK sent as a response from server apparatus <NUM>. For example, if the determination of step S26 shown in <FIG> is NO, a request for re-transmission may be performed from server apparatus <NUM> to client apparatus <NUM>. In this case, when a request for re-transmission is received from server apparatus <NUM>, it is determined that the condition under which the section is re-transmitted has been satisfied, and re-transmission of the section is performed.

In another example, if the determination of step S26 shown in <FIG> is NO, an error may be transmitted from server apparatus <NUM> to client apparatus <NUM>. In this case, when the error is received from server apparatus <NUM>, it is determined that the condition under which the section is re-transmitted has been satisfied, and re-transmission of the section is performed.

In the above-described embodiment, the output of a section is not limited to transmission from server apparatus <NUM> to terminal apparatus <NUM>. For example, the data included in the section may also be displayed on a display provided in server apparatus <NUM>. In another embodiment, the data included in a section may also be printed using a printer connected to server apparatus <NUM>.

In the above-described embodiment, the data included in the section is not limited to the data output from a single sensor <NUM>. For example, the section may also include data output from multiple sensors <NUM>. In this case, for example, if the sampling frequency of one sensor <NUM> is <NUM>, the sampling frequency of another sensor <NUM> is <NUM>, and the section generation frequency is <NUM>, one section includes twenty pieces of data output from the one sensor <NUM> and two pieces of data output from the other sensor <NUM>.

Also, when generating a section, only data output from one or more specific sensors <NUM> may be consolidated into the same section. This specific sensor <NUM> may output data of the same type or importance level, for example. This is because a priority level is given to each section, and therefore it is difficult to provide a priority level when one section includes data of different types or importance levels.

Also, the number of units included in one section may change for each section. For example, N units may be included in a certain section, and M (a number different from N) units may be included in the section to be transmitted next.

The step of processing performed by data collection system <NUM> is not limited to the example described in the embodiment above. The step of processing may also be replaced, as long as there is no discrepancy. The present invention may also be provided as a data collection method including a step of processing performed by data collection system <NUM>.

Claim 1:
A data collection system comprising:
an acquisition unit (<NUM>) in a client apparatus (<NUM>), configured to acquire a plurality of pieces of data indicating a physical amount detected by a sensor, the client apparatus (<NUM>) being connected to a plurality of sensors via a communication line;
a transmission unit (<NUM>) in the client apparatus (<NUM>), configured to transmit, to a server apparatus (<NUM>), a data set including a data string including at least a portion of the received plurality of pieces of data and first information indicating the number of pieces of data included in the data string, wherein one piece of data includes one measurement value measured by a respective sensor;
a reception unit (<NUM>) in the server apparatus (<NUM>), configured to receive the data set from the client apparatus (<NUM>);
a processing unit (<NUM>) in the server apparatus (<NUM>), configured to process the received data set; and
a re-transmission unit (<NUM>) in the client apparatus (<NUM>), configured to re-transmit the data set to the server apparatus (<NUM>) if a condition indicating that the number of the pieces of data included in the data set received by the server apparatus (<NUM>) and the number of the pieces of data indicated by the first information are different is satisfied;
wherein the data set includes a priority level, and if a plurality of data sets are to be re-transmitted, the re-transmission unit (<NUM>) re-transmits the plurality of data sets in accordance with a sequence corresponding to the priority level included in each of the plurality of data sets.