[go: up one dir, main page]

WO2017026015A1 - Data look-ahead device and data look-ahead program - Google Patents

Data look-ahead device and data look-ahead program Download PDF

Info

Publication number
WO2017026015A1
WO2017026015A1 PCT/JP2015/072559 JP2015072559W WO2017026015A1 WO 2017026015 A1 WO2017026015 A1 WO 2017026015A1 JP 2015072559 W JP2015072559 W JP 2015072559W WO 2017026015 A1 WO2017026015 A1 WO 2017026015A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
request
prediction
unit
server
Prior art date
Application number
PCT/JP2015/072559
Other languages
French (fr)
Japanese (ja)
Inventor
淳平 羽藤
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2015/072559 priority Critical patent/WO2017026015A1/en
Publication of WO2017026015A1 publication Critical patent/WO2017026015A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Definitions

  • the present invention relates to a technique for acquiring data required in the future in advance.
  • Mobile terminals such as mobile phones and smartphones acquire data from remote servers via a communication network and provide services desired by users. Since the mobile terminal is carried and moved by the user, communication with the server is often realized using wireless communication rather than using wired communication. Wireless communication is not established in a situation where the radio wave from the antenna does not reach the mobile terminal. Therefore, in a situation where communication is not established, even if the user tries to use the service, the mobile terminal cannot provide the service.
  • Patent Document 1 predicts the data to be used in the future and the communication status in a situation where data is required.
  • the degree of necessity for prefetching data is calculated based on the predicted data and communication status, and the data is prefetched according to the degree of necessity calculated.
  • Patent Document 1 data to be used in the future is predicted. However, it is difficult to predict even specific data contents. For this reason, in Patent Document 1, only the classification of data is predicted. As a result, data that matches the predicted classification is subject to prefetching, and much more data than is really necessary must be obtained from the server.
  • pre-reading peripheral facility search results centered on the current position of the mobile terminal if the current position is slightly deviated, the pre-read data cannot be used.
  • An object of the present invention is to promote the use of prefetched data while reducing the data to be prefetched.
  • the data prefetching device is: A request prediction unit that predicts a plurality of data requests transmitted in the future from a data request transmitted in the past and behavior prediction information indicating the predicted user behavior, and generates a plurality of prediction requests, Transmitting each prediction request generated by the request prediction unit to a server, acquiring in advance data corresponding to each prediction request from the server and storing the data in a prior result storage unit; When there is a similar request that is a prediction request that has a higher degree of similarity to the received request that is the received data request than the reference, data corresponding to the similar request stored in the prior result storage unit is received as the received request And a data acquisition unit that acquires the data corresponding to.
  • a data request to be transmitted in the future is predicted. For this reason, it is possible to reduce the data to be read ahead. Also, even if data that exactly matches the requested data is not prefetched, if there is a similar request that is a prediction request that has a higher similarity to the acceptance request than the standard, the data corresponding to the similar request is used. To do. Therefore, the use of prefetched data is promoted.
  • FIG. 1 is a configuration diagram of a data prefetching system 1 according to Embodiment 1.
  • FIG. 5 is a flowchart showing prefetch processing of the data prefetch system 1 according to the first embodiment.
  • 4 is a flowchart showing data acquisition processing of the data prefetching system 1 according to the first embodiment.
  • FIG. 6 is another configuration diagram of the data prefetching system 1 according to the first embodiment.
  • FIG. *** Explanation of configuration *** FIG. 1 is a configuration diagram of a data prefetching system 1 according to the first embodiment.
  • the data prefetching system 1 includes a server 10 and a data prefetching device 20.
  • the server 10 and the data prefetching device 20 are connected via a network 30.
  • the server 10 and the data prefetching device 20 communicate via the network 30 using HTTP.
  • HTTP is an abbreviation for Hypertext Transfer Protocol.
  • FIG. 1 a plurality of servers 10 may be provided.
  • the server 10 is a computer.
  • the server 10 includes hardware of a processor 11, a storage device 12, and a communication device 13.
  • the processor 11 is connected to other hardware via a signal line, and controls these other hardware.
  • the server 10 has the function of the data distribution unit 111.
  • the storage device 12 stores a program that realizes the function of the data distribution unit 111. This program is read into the processor 11 and executed by the processor 11.
  • the data prefetching device 20 is a computer such as a mobile phone and a smartphone.
  • the data prefetching device 20 includes hardware of a processor 21, a storage device 22, and a communication device 23.
  • the processor 21 is connected to other hardware via a signal line, and controls these other hardware.
  • the data prefetching device 20 includes functions of an action prediction unit 211, a request prediction unit 212, a communication state prediction unit 213, a necessity calculation unit 214, a pre-acquisition unit 215, and a data acquisition unit 216.
  • the storage device 22 there is a program that realizes the functions of the behavior prediction unit 211, the request prediction unit 212, the communication state prediction unit 213, the necessity calculation unit 214, the prior acquisition unit 215, and the data acquisition unit 216. It is remembered.
  • the storage device 22 stores programs for various applications 250 such as a car navigation application, a schedule management application, a mail application, and an SNS application. SNS is an abbreviation for Social Networking Service. These programs are read into the processor 21 and executed by the processor 21.
  • the storage device 22 implements the function of the prior result storage unit 221.
  • Explanation of operation *** 2 and 3 are flowcharts showing the operation of the data prefetching system 1 according to the first embodiment.
  • the operation of the data prefetching system 1 according to the first embodiment corresponds to the data prefetching method according to the first embodiment.
  • the operation of the data prefetching system 1 according to the first embodiment corresponds to the processing of the data prefetching program according to the first embodiment according to the first embodiment.
  • FIG. 2 is a flowchart showing prefetch processing of the data prefetch system 1 according to the first embodiment.
  • the prefetch process is executed periodically or when some event occurs.
  • the behavior prediction unit 211 predicts the future behavior of the user of the data prefetching device 20, and generates behavior prediction information 31 indicating the predicted behavior.
  • the request prediction unit 212 predicts a plurality of data requests 32 transmitted from the data prefetching device 20 in the future, and generates a plurality of prediction requests 33.
  • the request prediction unit 212 predicts a plurality of data requests 32 to be transmitted in the future from the data request 32 transmitted in the past from the data prefetching device 20 and the behavior prediction information 31 generated in S11.
  • the data request 32 includes information that can uniquely identify the requested data.
  • the server 10 and the data prefetching device 20 perform communication using HTTP, the data request 32 is an HTTP request.
  • the communication status prediction unit 213 determines the future communication status 34 of the data prefetching device 20 from the past communication status for each position and time and the behavior prediction information 31 generated in S11. Predict.
  • the communication state is a state of radio waves and indicates a communication speed.
  • the necessity calculation unit 214 calculates the necessity 36 for acquiring the data 35 corresponding to the prediction request 33 for each prediction request 33 generated by the request prediction unit 212 in S12. To do. For each prediction request 33, the necessity calculation unit 214 calculates the necessity 36 from the contents of the prediction request 33 and the future communication status 34 predicted by the communication status prediction unit 213 in S13.
  • the pre-acquisition unit 215 transmits each prediction request 33 generated by the request prediction unit 212 in S12 to the server 10 via the communication device 23, and responds to each prediction request 33 from the server 10.
  • the data 35 to be acquired is acquired and stored in the prior result storage unit 221.
  • the prior acquisition unit 215 selects the prediction request 33 to be preferentially processed based on the necessity 36 calculated by the necessity calculation unit 214 in S14, and sequentially acquires the data 35 corresponding to the selected prediction request 33. .
  • FIG. 3 is a flowchart showing data acquisition processing of the data prefetching system 1 according to the first embodiment.
  • the data acquisition process is executed when the data request 32 is transmitted from the application 250.
  • the data acquisition unit 216 receives the data request 32 from the application 250.
  • the data acquisition unit 216 determines whether or not there is a similar request 38 that is a prediction request 33 whose similarity to the reception request 37 that is the data request 32 received in S21 is higher than the reference. judge. If there is a similar request 38 (S22), the data acquisition unit 216 advances the process to S23. On the other hand, when there is no similar request 38 (not S22), the data acquisition unit 216 advances the process to S24.
  • the data acquisition unit 216 acquires the data 35 corresponding to the similar request 38 stored in the previous result storage unit 221 as the data 39 corresponding to the reception request 37 because there is the similar request 38. .
  • the data acquisition unit 216 transmits an acceptance request 37 to the server 10 via the communication device 23, and receives data 39 corresponding to the acceptance request 37 from the server 10. get.
  • FIG. 4 is a flowchart of the behavior prediction process.
  • the behavior prediction unit 211 predicts the future behavior of the user by the following methods 1 to 3.
  • the behavior to be predicted includes at least one of the operation of the data prefetching device 20 and the movement in the real world.
  • the movement is a position and moving means.
  • the methods 1 to 3 are used, but it is not necessary to use all the methods 1 to 3, and only a part of them may be used. Further, other methods may be added and used.
  • Method 1 is a method that uses information about an action schedule created by a user. Specifically, the request prediction unit 212 calculates the occurrence probability for each movement in the time zone including the time from the position indicated by the action plan and the time at the position by the method 1.
  • the behavior prediction unit 211 can use input information to an application executed by the data prefetching device 20 in addition to information explicitly input by the user as information related to the user's behavior schedule. Specifically, in the case of a car navigation application, input information to a facility search function for searching for a destination scheduled to go in the future and a location of a facility that is currently interested can be used. If it is a schedule management application, input information to the schedule registration function can be used. In addition, in the case of a mail application and an SNS application, information input to the text and the destination can be used.
  • Method 2 is a method of predicting based on actual actions performed by the user in the past. Specifically, the request prediction unit 212 classifies the operation performed by the data prefetching device 20 and the movement of the user for each time attribute such as time zone, date, day of the week, weekday, or weekend according to Method 2. To do. Then, the request prediction unit 212 calculates the occurrence probability for each operation and each movement for each time attribute based on the classified result.
  • Method 3 is a method of predicting based on an action schedule of another user who shows an action tendency similar to that of the user and an actual action performed by the user in the past.
  • the request prediction unit 212 classifies the operation performed by the data prefetching device 20 and the movement of the user for each time attribute by the method 3. Then, the request prediction unit 212 calculates the occurrence probability for each operation and each movement for each time attribute based on the classified result.
  • the request prediction unit 212 calculates the occurrence probability for each operation and each movement for each time attribute by weighting and integrating the occurrence probabilities for each operation and each movement calculated in the methods 1 to 3. To do.
  • the request prediction unit 212 sets the calculated occurrence probability as the behavior prediction information 31.
  • FIG. 5 is a diagram illustrating an example in which the behavior prediction information 31 generated by the behavior prediction unit 211 is expressed as a graph.
  • the behavior prediction information 31 indicates a result of predicting the operation of the data prefetching device 20 by the user when the current time is 8:00.
  • the behavior prediction information 31 expresses a result of predicting which application 250 is used every 10 minutes as a probability.
  • operations are classified and predicted based on which application 250 is used. However, for each application 250, it may be classified and predicted for each instruction operation unit to the application such as what kind of input is performed. Moreover, you may predict combining the classification
  • FIG. 6 is a diagram illustrating another example in which the behavior prediction information 31 generated by the behavior prediction unit 211 is expressed as a graph.
  • the behavior prediction information 31 indicates a result of predicting the movement of the user when the current time is 8:00.
  • the behavior prediction information 31 expresses the result of predicting what kind of moving state every 10 minutes is with probability. Specifically, the probability of being at home, the probability of moving on foot, the probability of moving on train A, the probability of moving on train B, and the probability of being on the office are shown.
  • 5 and 6 show the results of predicting the operation and movement of the data prefetching device 20 as independent events, respectively. However, there are cases where multiple items are predicted in a complex manner. Specifically, it is conceivable to calculate the probability of operation of the data prefetching device 20 every 10 minutes when in each moving state. Conversely, it is conceivable to calculate the probability of the movement state every 10 minutes during each operation of the data prefetching device 20.
  • FIG. 7 is a diagram illustrating an example in which the behavior prediction information 31 generated by the behavior prediction unit 211 is expressed as a probability map.
  • the behavior prediction information 31 is expressed as a probability map for each time and location.
  • the behavior prediction unit 211 can generate a probability map for each location at each time by specifying the location of the data prefetching device 20 using a positioning system such as GPS. GPS is an abbreviation for Global Positioning System.
  • the behavior prediction information 31 is expressed as a probability map in units of prefectures.
  • the present invention is not limited to units of prefectures, and maps may be expressed in units of municipalities. The map may be expressed in divided units.
  • FIG. 8 is a flowchart of the request prediction process.
  • the request prediction unit 212 collects a plurality of data requests 32 transmitted in the past from the data prefetching device 20.
  • FIG. 9 is a diagram illustrating an example of the data request 32 transmitted by the data acquisition unit 216.
  • the data request 32 has a configuration conforming to HTTP.
  • the request predicting unit 212 identifies, based on the collected data request 32, what data request 32 the data prefetching device 20 tends to transmit using a statistical technique. Specifically, the request prediction unit 212 classifies the data request 32 according to the time attribute using the date / time information on which the data request 32 is transmitted. Then, the request prediction unit 212 identifies the data request 32 having a high probability of being transmitted for each time attribute. The request prediction unit 212 predicts the identified data request 32 as a data request 32 to be transmitted in the future.
  • the request prediction unit 212 classifies the collected data request 32 according to the user's behavior when the data request 32 is transmitted, and what kind of data request 32 tends to be transmitted for each classification. You can specify. Specifically, the data request 32 is classified into the case where the user is moving to the company to which the user belongs, the presence in the company, the movement to the home, and the standby at the home. Determine if it will be sent. In this way, not only the tendency of the data request 32 to be transmitted is simply specified, but also what data request 32 is transmitted under various circumstances based on the behavior of the user of the data prefetching device 20. It may also be specified.
  • FIG. 10 is a diagram illustrating an example of the predicted data request 32.
  • the day of the week is a time attribute and which data request 32 is transmitted with high probability in each time attribute.
  • two data requests 32 having a high probability are specified for each time attribute. Specifically, on Monday, the data request 32A is predicted to be transmitted with the highest probability, and the data request 32B is predicted to be transmitted with the second highest probability.
  • FIG. 11 is a diagram illustrating another example of the predicted data request 32.
  • the user's behavior attribute is used, and the time attribute and the behavior attribute are classified.
  • the data request 32 is transmitted with high probability in each classification. .
  • two data requests 32 having a high probability are specified for each time attribute and behavior attribute. Specifically, when the action on Monday is going to work, the data request 32C is predicted to be transmitted with the highest probability, and the data request 32D is predicted to be transmitted with the second highest probability.
  • the request prediction unit 212 generates each predicted data request 32 as a prediction request 33. If it is Monday in FIG. 10, the request prediction unit 212 generates the data request 32 ⁇ / b> A and the data request 32 ⁇ / b> B as the prediction request 33.
  • the request prediction unit 212 includes header information such as an HTTP response header attached to the response of the data request 32 in the prediction request 33. Thereby, the data amount of data obtained as a response to the prediction request 33 can be grasped. The header information can be acquired from a response when the past data request 32 is transmitted.
  • the prediction request 33 may include the behavior prediction information 31 predicted by the behavior prediction unit 211.
  • the request prediction unit 212 may also specify the probability value at which each data request 32 is transmitted. In S113, the request prediction unit 212 may generate only the data request 32 having a probability value higher than the reference probability value as the prediction request 33.
  • FIG. 12 is a flowchart of the communication status prediction process.
  • the communication status prediction unit 213 predicts the future communication status 34 by the following methods 1-2.
  • Method 1 is a method of predicting using the communication status of the data prefetching device 20 at each past time. Specifically, the communication status prediction unit 213 calculates an average value of the past communication status at that time for each time, and sets it as the future communication status 34 at that time. Further, the communication status prediction unit 213 may calculate the average value for each other time attribute, such as calculating the average value for each day of the week and time, and set it as the future communication status 34.
  • Method 2 is a prediction method using management information indicating a communication state provided by a management unit of a communication network used when the data prefetching device 20 communicates.
  • management information information indicating the communication status obtained from all communication terminals using the communication network for each time and position can be considered.
  • the communication status prediction unit 213 sets the communication status indicated by the management information as the communication status 34 at that time in the future for the position at each time when the data prefetching device 20 exists, which is indicated by the behavior prediction information 31. .
  • the communication status prediction unit 213 weights and integrates the future communication status 34 calculated by the methods 1 and 2 to obtain the communication status 34 for each future time.
  • FIG. 13 is a flowchart of the necessity calculation process.
  • the necessity calculation unit 214 acquires each prediction request 33 generated in S12. Further, the necessity calculation unit 214 acquires information indicating the future communication status 34 predicted in S13.
  • the necessity calculation unit 214 calculates the necessity 36 for each prediction request 33 acquired in S ⁇ b> 141 from the content of the prediction request 33 and the future communication status 34. Specifically, the necessity calculation unit 214 actually accepts the prediction request 33 from the data amount acquired by the prediction request 33 and the communication status 34 at the time when the prediction request 33 is predicted to be accepted.
  • the degree of difficulty in obtaining data from the server 10 is calculated as the necessity 36.
  • the amount of data acquired by the prediction request 33 can be specified from the header information included in the prediction request 33.
  • the difficulty level is a value calculated by dividing the acquired data amount by the communication speed indicated by the communication status 34.
  • the necessity calculation unit 214 may determine the transmission timing of the prediction request 33 together with the necessity 36 for some of the prediction requests 33. Specifically, the necessity calculation unit 214 calculates the amount of data that can be acquired from the future communication status 34 without causing an error in the middle when the prediction request 33 is transmitted at each time. Then, the necessity level calculation unit 214 determines the timing at which all data can be acquired without causing an error in the middle of the prediction request 33 with a large amount of data to be acquired as the transmission timing of the prediction request 33.
  • FIG. 14 is a flowchart of the advance acquisition process.
  • the prior acquisition unit 215 transmits the prediction request 33 to the server 10 via the communication device 23 in order from the prediction request 33 having the higher necessity 36 calculated in S14.
  • the communication status prediction unit 213 determines the prediction request 33 to be transmitted in consideration of the determined timing. Specifically, the communication status prediction unit 213 transmits the prediction request 33 for which the transmission timing is determined at the determined timing, and the remaining prediction request 33 is a prediction request having a high degree of necessity 36. 33 in order.
  • the data distribution unit 111 receives each prediction request 33 via the communication device 13.
  • the data distribution unit 111 configures the data 35 corresponding to each prediction request 33, and transmits the configured data 35 to the data prefetching device 20.
  • the data 35 includes data stored in the storage device 12, data stored in an external database accessible by the server 10, and data acquired from a data generation device such as a sensor accessible by the server 10. It is.
  • the advance acquisition unit 215 acquires data 35 corresponding to each prediction request 33 transmitted from the server 10 and stores the data 35 in the advance result storage unit 221.
  • the prior acquisition unit 215 stores the prediction request 33 and the data 35 in association with each other in the prior result storage unit 221.
  • the prior result storage unit 221 stores the data 35 by the Key-Value method using the prediction request 33 as a key and the corresponding data 35 as a value.
  • the prior result storage unit 221 may store the data 35 by another method such as a relational database method.
  • the prior result storage unit 221 stores the data 35 by a method capable of acquiring the corresponding data 35 using the prediction request 33 as a key.
  • the prior result storage unit 221 stores the data 35 by a method capable of acquiring the corresponding data 35, assuming that the keys match when a part included in the prediction request 33 satisfies the condition.
  • the prior acquisition unit 215 determines whether an untransmitted prediction request 33 remains. When the unsent prediction request 33 remains (YES in S155), the prior acquisition unit 215 returns the process to S151. On the other hand, when the unsent prediction request 33 does not remain (NO in S155), the prior acquisition unit 215 ends the process.
  • the prior acquisition unit 215 may transmit the prediction request 33 only when the actual communication status is better than the standard.
  • the data acquisition unit 216 receives the data request 32 from the application 250.
  • the application 250 transmits a data request 32 corresponding to the generated event when a predetermined time has arrived or an event such as a user operation has occurred.
  • the data acquisition unit 216 receives the data request 32 transmitted from the application 250.
  • the data acquisition unit 216 searches the prior result storage unit 221 for the prediction request 33 having a similarity higher than the reference with the data request 32 received in S21.
  • the data acquisition unit 216 searches for the prediction request 33 corresponding to the key using a part of the data request 32 as a key.
  • the data acquisition unit 216 uses the parameter of the data request 32 as a key with a value specifying a wide range. Then, the data acquisition unit 216 specifies the hit prediction request 33 as the prediction request 33 whose similarity is higher than the reference.
  • the prediction request 33 corresponding to the key is searched using only the portion of the first row as a key.
  • the value of lon is 11.11.0 or more and 11.11.59 or less
  • the value of lat is 22.22.0 or more and 22.22.59 or less
  • the prediction request 33 specified that the value of radiis is 0 or more and 20 or less is specified.
  • the data acquisition unit 216 determines that there is a similar request 38 that is the prediction request 33 whose similarity is higher than the reference.
  • the similarity of the data request 32 as a whole is equal to or higher than the reference, it may be processed as a key match. Specifically, when the character string matching ratio of the data request 32 is equal to or higher than the reference, the similarity may be equal to or higher than the reference.
  • the data acquisition unit 216 acquires data 35 corresponding to the prediction request 33 as data 39 corresponding to the reception request 37.
  • the data acquisition unit 216 acquires the data 35 corresponding to each prediction request 33 specified in S22 as the data 39 corresponding to the reception request 37.
  • the data acquisition unit 216 transmits identification information indicating that the data 39 is acquired from the prior result storage unit 221 to the application 250 together with the data 39. It doesn't matter. This makes it possible to recognize that the user of the data prefetching device 20 is processing using the data 35 prefetched. Further, instead of transmitting the identification information to the application 250, the data acquisition unit 216 may display the identification information on the display device. Even in this case, the user of the data prefetching device 20 can recognize that the processing is performed using the data 35 prefetched. If the user of the data prefetching device 20 can recognize that the processing is performed using the prefetched data 35, even if the data 39 is different from the originally requested data, it is assumed that the user is an unauthorized process. Can be avoided.
  • the data acquisition unit 216 may extract the data requested by the acceptance request 37 from the data 35 corresponding to the similarity request 38 and output the data as the data 39 corresponding to the acceptance request 37. That is, the data 35 corresponding to the similar request 38 is not directly used as the data 39 corresponding to the acceptance request 37, but only the data requested by the acceptance request 37 among the data 35 corresponding to the similar request 38 is used as the acceptance request 37. Corresponding data 39 may be used. Thereby, it is possible to prevent inconsistency in the processing of the application 250 by including data different from the originally requested data.
  • the data acquisition unit 216 transmits a reception request 37 to the server 10 via the communication device 23, and acquires data 39 corresponding to the reception request 37 from the server 10.
  • the data acquisition unit 216 transmits the acquired data 39 to the application 250 that has transmitted the data request 32 in S21.
  • the data distribution unit 111 updates and configures the data 39 corresponding to the reception request 37.
  • Data 39 is transmitted to the data prefetching device 20.
  • the data 39 is acquired from data stored in the storage device 12, data stored in an external database accessible by the server 10, and a data generation device such as a sensor accessible by the server 10, similar to the data 35. Data to be included.
  • the request prediction unit 212 predicts a data request to be transmitted in the future. Therefore, as in Patent Document 1, it is possible to reduce the data to be read ahead as compared with the case of predicting data to be used in the future.
  • the data acquisition unit 216 has a similarity to the reception request 37 that is higher than the reference even if data that completely matches the requested data is not prefetched.
  • a similar request 38 which is a high prediction request 33
  • data 35 corresponding to the similar request 38 is used. Therefore, the use of prefetched data is promoted.
  • the application 250 can continue processing even in a situation where communication is impossible.
  • the data prefetching device 20 predicts a data request 32 to be transmitted in the future rather than predicting data to be used in the future. Therefore, even if the function of the request prediction unit 212 in the data prefetching device 20 and the server 10 do not cooperate, the request prediction unit 212 can perform the prediction process independently.
  • the request prediction unit 212 can perform the prediction process independently.
  • Patent Document 1 in order to predict data to be used in the future, a data structure and data contents are required. Therefore, unless the function to predict and the server which manages data closely cooperate, the function to predict cannot be implement
  • the data prefetching device 20 has the functions of the behavior prediction unit 211, the request prediction unit 212, the communication status prediction unit 213, the necessity calculation unit 214, the prior acquisition unit 215, and the data acquisition unit 216. Provided. However, the data prefetching device 20 may not have some of these functions. Specifically, as illustrated in FIG. 15, the behavior prediction unit 211, the communication status prediction unit 213, and the necessity calculation unit 214 may not be provided. In this case, the request prediction unit 212 predicts a plurality of data requests 32 transmitted in the future without using the behavior prediction information 31. Then, the advance acquisition unit 215 transmits the prediction request 33 to the server 10 in an arbitrary transmission order without using the necessity 36.
  • the data acquisition unit 216 determines the acquisition destination of the data 39 depending on whether or not there is a similar request 38.
  • the acquisition destination of the data 39 from the application 250 is the server 10.
  • the data acquisition unit 216 receives a data request 32 including a flag indicating whether to use the prior result storage unit 221 from the application 250.
  • the data acquisition unit 216 determines the acquisition destination of the data 39 depending on whether there is a similarity request 38.
  • the flag indicates that the prior result storage unit 221 is not used, the data acquisition unit 216 acquires the data 39 from the server 10 regardless of whether or not there is the similarity request 38.
  • the application 250 transmits the data request 32, if the communication environment is good, the advance result storage unit 221 is not used, and if the communication environment is not good, the advance result storage unit 221 is used. Can be considered. Thus, when the communication environment is good, the requested data 39 is acquired, and when the communication environment is not good, the processing is continued even if the data 39 is partially different from the request. can do.
  • the data acquisition unit 216 uses data cached by the cache function of the data prefetching device 20.
  • the data prefetching device 20 has at least a cache function based on HTTP. Therefore, the data acquisition unit 216 reduces the necessity 36 when the data 35 corresponding to the prediction request 33 is cached in the processing of S14 of FIG. As a result, the prefetch processing of the cached data is deferred later.
  • the data prefetching device 20 is a single device. However, the data prefetching device 20 may be divided into a plurality of devices. Specifically, as shown in FIG. 16, the data prefetching device 20 may be divided into two, a prediction server 40 and a terminal 50 carried by the user.
  • the prediction server 40 includes functions of an action prediction unit 211, a request prediction unit 212, a communication status prediction unit 213, and a necessity calculation unit 214.
  • the terminal 50 includes functions of a pre-acquisition unit 215 and a data acquisition unit 216.
  • a prediction request 33 and a necessity 36 are transmitted from the prediction server 40 to the terminal 50, and the terminal 50 performs prefetching according to the transmitted prediction request 33 and the necessity 36.
  • the data prefetching device 20 is divided into the prediction server 40 and the terminal 50, and a part of processing is executed on the prediction server 40 side, thereby reducing the processing load and power consumption of the terminal 50 carried by the user. It is possible. Further, the prediction server 40 can perform processing for a plurality of terminals 50. Thereby, the functions of the behavior predicting unit 211, the request predicting unit 212, the communication status predicting unit 213, and the necessity degree calculating unit 214 can be realized using the information of the plurality of terminals 50. As a result, the prediction accuracy and calculation accuracy of each function can be increased.
  • the prediction server 40 includes functions of an action prediction unit 211, a request prediction unit 212, a communication status prediction unit 213, and a necessity level calculation unit 214. However, some of these functions may be given to the terminal 50.
  • the processors 11, 21, 41, and 51 are ICs that perform processing.
  • IC is an abbreviation for Integrated Circuit.
  • the processors 11, 21, 41, 51 are a CPU, a DSP, and a GPU.
  • CPU is an abbreviation for Central Processing Unit.
  • DSP is an abbreviation for Digital Signal Processor.
  • GPU is an abbreviation for Graphics Processing Unit.
  • the storage devices 12, 22, 42, and 52 are ROM, RAM, flash memory, and HDD.
  • ROM is an abbreviation for Read Only Memory.
  • RAM is an abbreviation for Random Access Memory.
  • HDD is an abbreviation for Hard Disk Drive.
  • the communication devices 13, 23, 43, and 53 include a receiver that receives data and a transmitter that transmits data.
  • the communication devices 13, 23, 43, and 53 are specifically communication chips or NICs.
  • NIC is an abbreviation for Network Interface Card.
  • the information, data, signal values, and variable values indicating the processing results of the functions realized by the processors 11, 21, 41, 51 are stored in the storage devices 12, 22, 42, 52, or the processors 11, 21, 41, It is stored in a register in 51 or a cache memory.
  • FIG. 17 is a configuration diagram of the data prefetching system 1 when each function is realized by hardware.
  • FIG. 17 shows a configuration corresponding to FIG.
  • the server 10 When each function is realized by hardware, the server 10 includes a storage device 12, a communication device 13, and a processing circuit 14.
  • the processing circuit 14 is a dedicated electronic circuit that realizes the function of the data distribution unit 111.
  • the data prefetching device 20 includes a storage device 22, a communication device 23, and a processing circuit 24.
  • the processing circuit 24 is a dedicated electronic device that realizes the functions of the behavior prediction unit 211, the request prediction unit 212, the communication state prediction unit 213, the necessity calculation unit 214, the prior acquisition unit 215, and the data acquisition unit 216. Circuit.
  • processing circuits 14 and 24 a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an ASIC, and an FPGA are assumed.
  • GA is an abbreviation for Gate Array.
  • ASIC is an abbreviation for Application Specific Integrated Circuit.
  • FPGA is an abbreviation for Field-Programmable Gate Array.
  • Each function may be realized by one processing circuit 14 or 24, or each function may be realized by being distributed to a plurality of processing circuits 14 and 24.
  • processors 11, 21, 41, 51, the storage devices 12, 22, 42, 52, and the processing circuits 14, 24 are collectively referred to as “processing circuits”. That is, each function is realized by a processing circuit.
  • 1 data prefetch system 10 server, 11, 21, 41, 51 processor, 111 data distribution unit, 12, 22, 42, 52 storage device, 13, 23, 43, 53 communication device, 14, 24 processing circuit, 20 Data prefetching device, 211 behavior prediction unit, 212 request prediction unit, 213 communication status prediction unit, 214 necessity calculation unit, 215 pre-acquisition unit, 216 data acquisition unit, 221 pre-result storage unit, 31 behavior prediction information, 32 data Request, 33 prediction request, 34 communication status, 35, 39 data, 36 necessity, 37 acceptance request, 38 similar request.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A data look-ahead device (20) predicts a plurality of data requests to be transmitted in the future on the basis of a data request (32) transmitted in the past and behavior prediction information (31) indicating the predicted behavior of a user, and generates a plurality of predicted requests (33). The data look-ahead device (20) transmits each of the predicted requests (33) to a server (10), acquires data (35) corresponding to each of the predicted requests (33) in advance from the server (10), and stores the acquired data in an advance result storage unit (221). When there is a similar request (38), which is a predicted request (33) for which the similarity to an accepted request (37) that is an accepted data request exceeds a criterion, the data look-ahead device (20) acquires data (35) that corresponds to the similar request (38) stored in the advance result storage unit (221) as data (39) that corresponds to the accepted request (37).

Description

データ先読装置及びデータ先読プログラムData prefetching device and data prefetching program
 本発明は、未来に必要となるデータを事前に取得しておく技術に関する。 The present invention relates to a technique for acquiring data required in the future in advance.
 携帯電話とスマートフォンとのような携帯端末は、通信網を経由して遠隔のサーバからデータを取得し、利用者が望むサービスを提供する。携帯端末は、利用者に携帯され移動するため、有線通信を利用するよりも無線通信を利用してサーバとの通信が実現されることが多い。無線通信は、アンテナからの無線電波が携帯端末まで到達しない状況では通信が成立しない。そのため、通信が成立しない状況下では、利用者がサービスを利用しようとしても携帯端末はサービスを提供できない。 Mobile terminals such as mobile phones and smartphones acquire data from remote servers via a communication network and provide services desired by users. Since the mobile terminal is carried and moved by the user, communication with the server is often realized using wireless communication rather than using wired communication. Wireless communication is not established in a situation where the radio wave from the antenna does not reach the mobile terminal. Therefore, in a situation where communication is not established, even if the user tries to use the service, the mobile terminal cannot provide the service.
 特許文献1では、将来利用するデータを予測するとともに、データが必要となる状況における通信状況を予測する。そして、特許文献1では、予測したデータ及び通信状況に基づき、データを先読みする必要性の度合いを算出し、算出した必要性の度合いに従いデータを先読みする。 Patent Document 1 predicts the data to be used in the future and the communication status in a situation where data is required. In Patent Document 1, the degree of necessity for prefetching data is calculated based on the predicted data and communication status, and the data is prefetched according to the degree of necessity calculated.
国際公開第2011/138972号公報International Publication No. 2011-138972
 特許文献1では、将来利用するデータを予測する。しかし、具体的なデータの内容まで予測することは困難である。そのため、特許文献1では、データの分類を予測するまでにとどまっている。その結果、予測された分類に合致するデータが先読み対象となり、本当に必要なデータよりも大幅に多いデータをサーバから取得しなければならない。 In Patent Document 1, data to be used in the future is predicted. However, it is difficult to predict even specific data contents. For this reason, in Patent Document 1, only the classification of data is predicted. As a result, data that matches the predicted classification is subject to prefetching, and much more data than is really necessary must be obtained from the server.
 また、先読みしたデータを利用するためには、アプリケーションが要求するデータと完全一致したデータが先読みしたデータの中に存在しなければならない。具体的には、携帯端末の現在位置を中心とした周辺の施設検索結果を先読みした場合、その現在位置が少しでもずれている場合には、先読みしたデータを利用できない。 Also, in order to use the prefetched data, data that completely matches the data requested by the application must exist in the prefetched data. Specifically, when pre-reading peripheral facility search results centered on the current position of the mobile terminal, if the current position is slightly deviated, the pre-read data cannot be used.
 この発明は、先読み対象のデータを減らしつつ、先読みしたデータの利用を促進させることを目的とする。 An object of the present invention is to promote the use of prefetched data while reducing the data to be prefetched.
 この発明に係るデータ先読装置は、
 過去に送信されたデータ要求と、予測された利用者の行動を示す行動予測情報とから、未来に送信される複数のデータ要求を予測して、複数の予測要求を生成する要求予測部と、
 前記要求予測部によって生成された各予測要求をサーバに送信し、前記サーバから前記各予測要求に対応するデータを事前に取得して事前結果記憶部に格納する事前取得部と、
 受け付けたデータ要求である受付要求との類似度が基準よりも高い予測要求である類似要求がある場合には、前記事前結果記憶部に格納された前記類似要求に対応するデータを前記受付要求に対応するデータとして取得するデータ取得部と
を備える。
The data prefetching device according to the present invention is:
A request prediction unit that predicts a plurality of data requests transmitted in the future from a data request transmitted in the past and behavior prediction information indicating the predicted user behavior, and generates a plurality of prediction requests,
Transmitting each prediction request generated by the request prediction unit to a server, acquiring in advance data corresponding to each prediction request from the server and storing the data in a prior result storage unit;
When there is a similar request that is a prediction request that has a higher degree of similarity to the received request that is the received data request than the reference, data corresponding to the similar request stored in the prior result storage unit is received as the received request And a data acquisition unit that acquires the data corresponding to.
 この発明では、将来利用するデータを予測するのではなく、未来に送信されるデータ要求を予測する。そのため、先読み対象のデータを少なく抑えることができる。また、要求されたデータと完全に一致したデータが先読みされていなくても、受付要求との類似度が基準よりも高い予測要求である類似要求がある場合に、類似要求に対応するデータを利用する。そのため、先読みしたデータの利用が促進される。 In the present invention, rather than predicting data to be used in the future, a data request to be transmitted in the future is predicted. For this reason, it is possible to reduce the data to be read ahead. Also, even if data that exactly matches the requested data is not prefetched, if there is a similar request that is a prediction request that has a higher similarity to the acceptance request than the standard, the data corresponding to the similar request is used. To do. Therefore, the use of prefetched data is promoted.
実施の形態1に係るデータ先読システム1の構成図。1 is a configuration diagram of a data prefetching system 1 according to Embodiment 1. FIG. 実施の形態1に係るデータ先読システム1の先読み処理を示すフローチャート。5 is a flowchart showing prefetch processing of the data prefetch system 1 according to the first embodiment. 実施の形態1に係るデータ先読システム1のデータ取得処理を示すフローチャート。4 is a flowchart showing data acquisition processing of the data prefetching system 1 according to the first embodiment. 行動予測処理のフローチャート。The flowchart of an action prediction process. 行動予測部211によって生成された行動予測情報31をグラフ表現した例を示す図。The figure which shows the example which represented the behavior prediction information 31 produced | generated by the behavior prediction part 211 with the graph. 行動予測部211によって生成された行動予測情報31をグラフ表現した他の例を示す図。The figure which shows the other example which represented the action prediction information 31 produced | generated by the action prediction part 211 with the graph. 行動予測部211によって生成された行動予測情報31を確率マップとして表現した例を示す図。The figure which shows the example which expressed the behavior prediction information 31 produced | generated by the behavior prediction part 211 as a probability map. 要求予測処理のフローチャート。The flowchart of a request prediction process. データ取得部216によって送信されたデータ要求32の例を示す図。The figure which shows the example of the data request | requirement 32 transmitted by the data acquisition part 216. FIG. 予測されたデータ要求32の例を示す図。The figure which shows the example of the estimated data request | requirement 32. FIG. 予測されたデータ要求32の他の例を示す図。The figure which shows the other example of the estimated data request | requirement 32. FIG. 通信状況予測処理のフローチャート。The flowchart of a communication condition prediction process. 必要度計算処理のフローチャート。The flowchart of a necessity calculation process. 事前取得処理のフローチャート。The flowchart of a prior acquisition process. 実施の形態1に係るデータ先読システム1の他の構成図。FIG. 6 is another configuration diagram of the data prefetching system 1 according to the first embodiment. データ先読装置20を複数の装置に分けた図。The figure which divided the data prefetching apparatus 20 into the some apparatus. 各機能がハードウェアで実現される場合のデータ先読システム1の構成図。The block diagram of the data prefetch system 1 in case each function is implement | achieved by hardware.
 実施の形態1.
 ***構成の説明***
 図1は、実施の形態1に係るデータ先読システム1の構成図である。
 データ先読システム1は、サーバ10と、データ先読装置20とを備える。サーバ10とデータ先読装置20とは、ネットワーク30を介して接続されている。ここでは、サーバ10とデータ先読装置20とは、ネットワーク30を介してHTTPを用いて通信する。HTTPは、Hypertext Transfer Protocolの略である。
 図1では、サーバ10を1台だけ示しているが、サーバ10は複数台であってもよい。
Embodiment 1 FIG.
*** Explanation of configuration ***
FIG. 1 is a configuration diagram of a data prefetching system 1 according to the first embodiment.
The data prefetching system 1 includes a server 10 and a data prefetching device 20. The server 10 and the data prefetching device 20 are connected via a network 30. Here, the server 10 and the data prefetching device 20 communicate via the network 30 using HTTP. HTTP is an abbreviation for Hypertext Transfer Protocol.
Although only one server 10 is shown in FIG. 1, a plurality of servers 10 may be provided.
 サーバ10は、コンピュータである。
 サーバ10は、プロセッサ11と、記憶装置12と、通信装置13とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
The server 10 is a computer.
The server 10 includes hardware of a processor 11, a storage device 12, and a communication device 13. The processor 11 is connected to other hardware via a signal line, and controls these other hardware.
 サーバ10は、データ配信部111の機能を備える。
 記憶装置12には、データ配信部111の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ11に読み込まれ、プロセッサ11によって実行される。
The server 10 has the function of the data distribution unit 111.
The storage device 12 stores a program that realizes the function of the data distribution unit 111. This program is read into the processor 11 and executed by the processor 11.
 データ先読装置20は、携帯電話とスマートフォンとのようなコンピュータである。
 データ先読装置20は、プロセッサ21と、記憶装置22と、通信装置23とのハードウェアを備える。プロセッサ21は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
The data prefetching device 20 is a computer such as a mobile phone and a smartphone.
The data prefetching device 20 includes hardware of a processor 21, a storage device 22, and a communication device 23. The processor 21 is connected to other hardware via a signal line, and controls these other hardware.
 データ先読装置20は、行動予測部211と、要求予測部212と、通信状況予測部213と、必要度計算部214と、事前取得部215と、データ取得部216との機能を備える。
 記憶装置22には、行動予測部211と、要求予測部212と、通信状況予測部213と、必要度計算部214と、事前取得部215と、データ取得部216との機能を実現するプログラムが記憶されている。また、記憶装置22には、カーナビゲーションアプリケーションと、スケジュール管理アプリケーションと、メールアプリケーションと、SNSアプリケーションとのような各種アプリケーション250のプログラムが記憶されている。SNSは、Social Networking Serviceの略である。これらプログラムは、プロセッサ21に読み込まれ、プロセッサ21によって実行される。
The data prefetching device 20 includes functions of an action prediction unit 211, a request prediction unit 212, a communication state prediction unit 213, a necessity calculation unit 214, a pre-acquisition unit 215, and a data acquisition unit 216.
In the storage device 22, there is a program that realizes the functions of the behavior prediction unit 211, the request prediction unit 212, the communication state prediction unit 213, the necessity calculation unit 214, the prior acquisition unit 215, and the data acquisition unit 216. It is remembered. The storage device 22 stores programs for various applications 250 such as a car navigation application, a schedule management application, a mail application, and an SNS application. SNS is an abbreviation for Social Networking Service. These programs are read into the processor 21 and executed by the processor 21.
 記憶装置22は、事前結果記憶部221の機能を実現する。 The storage device 22 implements the function of the prior result storage unit 221.
 ***動作の説明***
 図2及び図3は、実施の形態1に係るデータ先読システム1の動作を示すフローチャートである。
 実施の形態1に係るデータ先読システム1の動作は、実施の形態1に係るデータ先読方法に相当する。また、実施の形態1に係るデータ先読システム1の動作は、実施の形態1に係る実施の形態1に係るデータ先読プログラムの処理に相当する。
*** Explanation of operation ***
2 and 3 are flowcharts showing the operation of the data prefetching system 1 according to the first embodiment.
The operation of the data prefetching system 1 according to the first embodiment corresponds to the data prefetching method according to the first embodiment. The operation of the data prefetching system 1 according to the first embodiment corresponds to the processing of the data prefetching program according to the first embodiment according to the first embodiment.
 図2は、実施の形態1に係るデータ先読システム1の先読み処理を示すフローチャートである。
 先読み処理は、定期的に、あるいは、何らかのイベントが発生した際に実行される。
FIG. 2 is a flowchart showing prefetch processing of the data prefetch system 1 according to the first embodiment.
The prefetch process is executed periodically or when some event occurs.
 S11の行動予測処理では、行動予測部211は、データ先読装置20の利用者の未来の行動を予測し、予測した行動を示す行動予測情報31を生成する。 In the behavior prediction process of S11, the behavior prediction unit 211 predicts the future behavior of the user of the data prefetching device 20, and generates behavior prediction information 31 indicating the predicted behavior.
 S12の要求予測処理では、要求予測部212は、データ先読装置20から未来に送信される複数のデータ要求32を予測して、複数の予測要求33を生成する。要求予測部212は、データ先読装置20から過去に送信されたデータ要求32と、S11で生成された行動予測情報31とから、未来に送信される複数のデータ要求32を予測する。
 データ要求32は、要求するデータを一意に識別可能な情報を含む。ここでは、サーバ10とデータ先読装置20とがHTTPを用いた通信を行うため、データ要求32はHTTPリクエストである。
In the request prediction process of S <b> 12, the request prediction unit 212 predicts a plurality of data requests 32 transmitted from the data prefetching device 20 in the future, and generates a plurality of prediction requests 33. The request prediction unit 212 predicts a plurality of data requests 32 to be transmitted in the future from the data request 32 transmitted in the past from the data prefetching device 20 and the behavior prediction information 31 generated in S11.
The data request 32 includes information that can uniquely identify the requested data. Here, since the server 10 and the data prefetching device 20 perform communication using HTTP, the data request 32 is an HTTP request.
 S13の通信状況予測処理では、通信状況予測部213は、位置及び時刻毎の過去の通信状況と、S11で生成された行動予測情報31とから、データ先読装置20の未来の通信状況34を予測する。通信状況とは、無線電波の状態のことであり、通信速度を示すものである。 In the communication status prediction process of S13, the communication status prediction unit 213 determines the future communication status 34 of the data prefetching device 20 from the past communication status for each position and time and the behavior prediction information 31 generated in S11. Predict. The communication state is a state of radio waves and indicates a communication speed.
 S14の必要度計算処理では、必要度計算部214は、S12で要求予測部212によって生成された各予測要求33について、その予測要求33に対応するデータ35を取得することの必要度36を計算する。必要度計算部214は、各予測要求33について、その予測要求33の内容と、S13で通信状況予測部213によって予測された未来の通信状況34とから、必要度36を計算する。 In the necessity calculation process of S14, the necessity calculation unit 214 calculates the necessity 36 for acquiring the data 35 corresponding to the prediction request 33 for each prediction request 33 generated by the request prediction unit 212 in S12. To do. For each prediction request 33, the necessity calculation unit 214 calculates the necessity 36 from the contents of the prediction request 33 and the future communication status 34 predicted by the communication status prediction unit 213 in S13.
 S15の事前取得処理では、事前取得部215は、S12で要求予測部212によって生成された各予測要求33を、通信装置23を介してサーバ10に送信し、サーバ10から各予測要求33に対応するデータ35を取得して事前結果記憶部221に格納する。
 事前取得部215は、S14で必要度計算部214によって計算された必要度36に基づき、優先して処理する予測要求33を選択して、選択した予測要求33に対応するデータ35から順に取得する。
In the pre-acquisition process of S15, the pre-acquisition unit 215 transmits each prediction request 33 generated by the request prediction unit 212 in S12 to the server 10 via the communication device 23, and responds to each prediction request 33 from the server 10. The data 35 to be acquired is acquired and stored in the prior result storage unit 221.
The prior acquisition unit 215 selects the prediction request 33 to be preferentially processed based on the necessity 36 calculated by the necessity calculation unit 214 in S14, and sequentially acquires the data 35 corresponding to the selected prediction request 33. .
 図3は、実施の形態1に係るデータ先読システム1のデータ取得処理を示すフローチャートである。
 データ取得処理は、アプリケーション250からデータ要求32が送信された場合に実行される。
FIG. 3 is a flowchart showing data acquisition processing of the data prefetching system 1 according to the first embodiment.
The data acquisition process is executed when the data request 32 is transmitted from the application 250.
 S21の要求受付処理では、データ取得部216は、アプリケーション250からデータ要求32を受け付ける。 In the request reception process of S21, the data acquisition unit 216 receives the data request 32 from the application 250.
 S22の類似要求判定処理では、データ取得部216は、S21で受け付けられたデータ要求32である受付要求37との類似度が基準よりも高い予測要求33である類似要求38があるか否かを判定する。
 類似要求38がある場合(S22である)、データ取得部216は処理をS23に進める。一方、類似要求38がない場合(S22でない)、データ取得部216は処理をS24に進める。
In the similarity request determination process of S22, the data acquisition unit 216 determines whether or not there is a similar request 38 that is a prediction request 33 whose similarity to the reception request 37 that is the data request 32 received in S21 is higher than the reference. judge.
If there is a similar request 38 (S22), the data acquisition unit 216 advances the process to S23. On the other hand, when there is no similar request 38 (not S22), the data acquisition unit 216 advances the process to S24.
 S23の事前データ取得処理では、データ取得部216は、類似要求38があるため、事前結果記憶部221に格納された類似要求38に対応するデータ35を受付要求37に対応するデータ39として取得する。 In the prior data acquisition process of S23, the data acquisition unit 216 acquires the data 35 corresponding to the similar request 38 stored in the previous result storage unit 221 as the data 39 corresponding to the reception request 37 because there is the similar request 38. .
 S24の新規データ取得処理では、データ取得部216は、類似要求38がないため、受付要求37を、通信装置23を介してサーバ10に送信し、サーバ10から受付要求37に対応するデータ39を取得する。 In the new data acquisition process of S24, since there is no similarity request 38, the data acquisition unit 216 transmits an acceptance request 37 to the server 10 via the communication device 23, and receives data 39 corresponding to the acceptance request 37 from the server 10. get.
 以下、各処理について詳細に説明する。 Hereinafter, each process will be described in detail.
 **S11:行動予測処理**
 図4は、行動予測処理のフローチャートである。
 S111では、行動予測部211は、以下の方法1~3により、利用者の未来の行動を予測する。予測対象となる行動には、データ先読装置20の操作と現実世界での移動との少なくともいずれかが含まれる。移動とは、位置及び移動手段である。ここでは、方法1~3を用いるとしたが、方法1~3全てを用いる必要はなく、一部のみを用いてもよい。また、他の方法を追加して用いてもよい。
** S11: Behavior prediction process **
FIG. 4 is a flowchart of the behavior prediction process.
In S111, the behavior prediction unit 211 predicts the future behavior of the user by the following methods 1 to 3. The behavior to be predicted includes at least one of the operation of the data prefetching device 20 and the movement in the real world. The movement is a position and moving means. Here, the methods 1 to 3 are used, but it is not necessary to use all the methods 1 to 3, and only a part of them may be used. Further, other methods may be added and used.
 方法1は、利用者が作成した行動予定に関する情報を用いる方法である。
 具体的には、要求予測部212は、方法1により、行動予定が示す位置とその位置にいる時刻とから、その時刻が含まれる時間帯における各移動についての発生確率を計算する。
Method 1 is a method that uses information about an action schedule created by a user.
Specifically, the request prediction unit 212 calculates the occurrence probability for each movement in the time zone including the time from the position indicated by the action plan and the time at the position by the method 1.
 行動予測部211は、利用者の行動予定に関する情報として、利用者によって明示的に入力された情報に加え、データ先読装置20で実行されるアプリケーションへの入力情報を利用できる。
 具体的には、カーナビゲーションアプリケーションであれば、今後行く予定となる目的地と、現在興味を示している施設の位置とを検索する施設検索機能への入力情報を利用できる。また、スケジュール管理アプリケーションであれば、予定登録機能への入力情報を利用できる。また、メールアプリケーションとSNSアプリケーションであれば、本文及び宛先への入力情報を利用できる。
The behavior prediction unit 211 can use input information to an application executed by the data prefetching device 20 in addition to information explicitly input by the user as information related to the user's behavior schedule.
Specifically, in the case of a car navigation application, input information to a facility search function for searching for a destination scheduled to go in the future and a location of a facility that is currently interested can be used. If it is a schedule management application, input information to the schedule registration function can be used. In addition, in the case of a mail application and an SNS application, information input to the text and the destination can be used.
 方法2は、利用者が過去に行った実際の行動に基づいて予測する方法である。
 具体的には、要求予測部212は、方法2により、時間帯、日付、曜日、平日又は週末のような時間属性毎に、データ先読装置20で行われた操作及び利用者の移動を分類する。そして、要求予測部212は、分類した結果に基づき、時間属性毎の各操作及び各移動についての発生確率を計算する。
Method 2 is a method of predicting based on actual actions performed by the user in the past.
Specifically, the request prediction unit 212 classifies the operation performed by the data prefetching device 20 and the movement of the user for each time attribute such as time zone, date, day of the week, weekday, or weekend according to Method 2. To do. Then, the request prediction unit 212 calculates the occurrence probability for each operation and each movement for each time attribute based on the classified result.
 方法3は、利用者と類似する行動傾向を示す他の利用者の行動予定とその利用者が過去に行った実際の行動とに基づいて予測する方法である。
 具体的には、要求予測部212は、方法3により、時間属性毎に、データ先読装置20で行われた操作及び利用者の移動を分類する。そして、要求予測部212は、分類した結果に基づき、時間属性毎の各操作及び各移動についての発生確率を計算する。
Method 3 is a method of predicting based on an action schedule of another user who shows an action tendency similar to that of the user and an actual action performed by the user in the past.
Specifically, the request prediction unit 212 classifies the operation performed by the data prefetching device 20 and the movement of the user for each time attribute by the method 3. Then, the request prediction unit 212 calculates the occurrence probability for each operation and each movement for each time attribute based on the classified result.
 S112では、要求予測部212は、方法1~3で計算された各操作及び各移動についての発生確率を重み付けして統合することにより、時間属性毎の各操作及び各移動についての発生確率を計算する。要求予測部212は、計算した発生確率を行動予測情報31とする。 In S112, the request prediction unit 212 calculates the occurrence probability for each operation and each movement for each time attribute by weighting and integrating the occurrence probabilities for each operation and each movement calculated in the methods 1 to 3. To do. The request prediction unit 212 sets the calculated occurrence probability as the behavior prediction information 31.
 図5は、行動予測部211によって生成された行動予測情報31をグラフ表現した例を示す図である。
 図5では、行動予測情報31は、現在時刻を8:00とした場合の、利用者によるデータ先読装置20の操作を予測した結果を示す。行動予測情報31は、10分毎にどのアプリケーション250を利用するかを予測した結果を確率で表現している。
 図5では、どのアプリケーション250を利用するかという単位で操作を分類し、予測している。しかし、アプリケーション250毎に、どの様な入力が行われるかといったアプリケーションへの指示操作単位で分類し予測しても構わない。また、異なる粒度の分類を合わせて予測しても構わない。
FIG. 5 is a diagram illustrating an example in which the behavior prediction information 31 generated by the behavior prediction unit 211 is expressed as a graph.
In FIG. 5, the behavior prediction information 31 indicates a result of predicting the operation of the data prefetching device 20 by the user when the current time is 8:00. The behavior prediction information 31 expresses a result of predicting which application 250 is used every 10 minutes as a probability.
In FIG. 5, operations are classified and predicted based on which application 250 is used. However, for each application 250, it may be classified and predicted for each instruction operation unit to the application such as what kind of input is performed. Moreover, you may predict combining the classification | category of a different particle size.
 図6は、行動予測部211によって生成された行動予測情報31をグラフ表現した他の例を示す図である。
 図6では、行動予測情報31は、現在時刻を8:00とした場合の、利用者の移動を予測した結果を示す。行動予測情報31は、10分毎にどの様な移動状態にあるかを予測した結果を確率で表現している。具体的には、自宅にいる確率と、徒歩で移動している確率と、電車Aで移動している確率と、電車Bで移動している確率と、会社にいる確率とを示している。
FIG. 6 is a diagram illustrating another example in which the behavior prediction information 31 generated by the behavior prediction unit 211 is expressed as a graph.
In FIG. 6, the behavior prediction information 31 indicates a result of predicting the movement of the user when the current time is 8:00. The behavior prediction information 31 expresses the result of predicting what kind of moving state every 10 minutes is with probability. Specifically, the probability of being at home, the probability of moving on foot, the probability of moving on train A, the probability of moving on train B, and the probability of being on the office are shown.
 図5及び図6では、それぞれデータ先読装置20の操作及び移動を独立事象として予測した結果を示している。
 しかし、複数の項目を複合的に予測する場合も考えられる。具体的には、各移動状態にある時の10分毎のデータ先読装置20の操作の確率を計算することが考えられる。また、逆に、データ先読装置20の各操作中の10分毎の移動状態の確率を計算することが考えられる。
5 and 6 show the results of predicting the operation and movement of the data prefetching device 20 as independent events, respectively.
However, there are cases where multiple items are predicted in a complex manner. Specifically, it is conceivable to calculate the probability of operation of the data prefetching device 20 every 10 minutes when in each moving state. Conversely, it is conceivable to calculate the probability of the movement state every 10 minutes during each operation of the data prefetching device 20.
 図7は、行動予測部211によって生成された行動予測情報31を確率マップとして表現した例を示す図である。
 図7では、行動予測情報31は、時刻及び存在位置毎の確率マップとして表現している。行動予測部211は、データ先読装置20の存在位置をGPSのような測位システムを用いて特定することにより、時刻毎の存在位置毎の確率マップを生成することができる。GPSは、Global Positioning Systemの略である。
 図7では、県単位で行動予測情報31を確率マップとして表現しているが、本発明は県単位に限るものではなく、市町村単位でマップを表現しても構わないし、また独自の区分けによって領域分割された単位でマップを表現しても構わない。
FIG. 7 is a diagram illustrating an example in which the behavior prediction information 31 generated by the behavior prediction unit 211 is expressed as a probability map.
In FIG. 7, the behavior prediction information 31 is expressed as a probability map for each time and location. The behavior prediction unit 211 can generate a probability map for each location at each time by specifying the location of the data prefetching device 20 using a positioning system such as GPS. GPS is an abbreviation for Global Positioning System.
In FIG. 7, the behavior prediction information 31 is expressed as a probability map in units of prefectures. However, the present invention is not limited to units of prefectures, and maps may be expressed in units of municipalities. The map may be expressed in divided units.
 **S12:要求予測処理**
 図8は、要求予測処理のフローチャートである。
 S121では、要求予測部212は、データ先読装置20から過去に送信された複数のデータ要求32を収集する。
** S12: Request prediction process **
FIG. 8 is a flowchart of the request prediction process.
In S121, the request prediction unit 212 collects a plurality of data requests 32 transmitted in the past from the data prefetching device 20.
 図9は、データ取得部216によって送信されたデータ要求32の例を示す図である。
 図9では、データ要求32は、HTTPに準拠した構成になっている。
 図9では、(1)“2015/01/05 12:04:23”にホストが“www.application.net”であるサーバに対して“data/main.xml”を取得するデータ要求32が送信されたことが示されている。(2)“2015/01/05 12:04:56”にホストが“www.point-of-interest.net”であるサーバに対して“food/japanese?lon=11.11.11&lat=22.22.22&radius=10”を取得するデータ要求32が送信されたことが示されている。(3)“2015/01/05 12:05:32”にホストが“www.point-of-interest.net”であるサーバに対して“food/chinese?lon=11.11.12&lat=22.22.23&radius=10”を取得するデータ要求32が送信されたことが示されている。
FIG. 9 is a diagram illustrating an example of the data request 32 transmitted by the data acquisition unit 216.
In FIG. 9, the data request 32 has a configuration conforming to HTTP.
In FIG. 9, (1) a data request 32 for acquiring “data / main.xml” is transmitted to a server whose host is “www.application.net” at “2015/01/05 12:04:23”. It has been shown. (2) For a server whose host is “www.point-of-interest.net” at “2015/01/05 12:04:56”, “food / japan? Lon = 11.11.11 & lat = 22. It is shown that a data request 32 to obtain 22.22 & radius = 10 ″ has been transmitted. (3) For a server whose host is “www.point-of-interest.net” at “2015/01/05 12:05:32”, “food / chinese? Lon = 11.11.12 & lat = 22. It is shown that a data request 32 for obtaining 22.23 & radius = 10 ″ has been transmitted.
 S122では、要求予測部212は、収集したデータ要求32に基づき、データ先読装置20がどのようなデータ要求32を送信する傾向にあるのかを統計手法を用いて特定する。
 具体的には、要求予測部212は、データ要求32が送信された日時情報を用いて、時間属性によってデータ要求32を分類する。そして、要求予測部212は、時間属性毎に送信される確率の高いデータ要求32を特定する。要求予測部212は、特定したデータ要求32を、未来に送信されるデータ要求32として予測する。
In S122, the request predicting unit 212 identifies, based on the collected data request 32, what data request 32 the data prefetching device 20 tends to transmit using a statistical technique.
Specifically, the request prediction unit 212 classifies the data request 32 according to the time attribute using the date / time information on which the data request 32 is transmitted. Then, the request prediction unit 212 identifies the data request 32 having a high probability of being transmitted for each time attribute. The request prediction unit 212 predicts the identified data request 32 as a data request 32 to be transmitted in the future.
 この際、要求予測部212は、収集したデータ要求32を、データ要求32が送信された時の利用者の行動によって分類し、分類毎にどのようなデータ要求32を送信する傾向にあるのかを特定しても構わない。
 具体的には、利用者が所属する会社への移動中と、会社内に在席中と、自宅への移動中と、自宅で待機中とに分類し、それぞれでどのようなデータ要求32が送信されるのかを特定する。
 このように、単純に送信されるデータ要求32の傾向を特定するだけではなく、データ先読装置20の利用者の行動に基づき、様々な状況下においてどのようなデータ要求32が送信されるのかも特定してもよい。
At this time, the request prediction unit 212 classifies the collected data request 32 according to the user's behavior when the data request 32 is transmitted, and what kind of data request 32 tends to be transmitted for each classification. You can specify.
Specifically, the data request 32 is classified into the case where the user is moving to the company to which the user belongs, the presence in the company, the movement to the home, and the standby at the home. Determine if it will be sent.
In this way, not only the tendency of the data request 32 to be transmitted is simply specified, but also what data request 32 is transmitted under various circumstances based on the behavior of the user of the data prefetching device 20. It may also be specified.
 図10は、予測されたデータ要求32の例を示す図である。
 図10では、曜日を時間属性として、各時間属性でどのデータ要求32が高確率で送信されたかを示している。図10では、時間属性毎に、確率の高い2つのデータ要求32が特定されている。
 具体的には、月曜日はデータ要求32Aが最も高確率で送信されると予測されており、データ要求32Bが2番目に高確率で送信されると予測されている。
FIG. 10 is a diagram illustrating an example of the predicted data request 32.
In FIG. 10, the day of the week is a time attribute and which data request 32 is transmitted with high probability in each time attribute. In FIG. 10, two data requests 32 having a high probability are specified for each time attribute.
Specifically, on Monday, the data request 32A is predicted to be transmitted with the highest probability, and the data request 32B is predicted to be transmitted with the second highest probability.
 図11は、予測されたデータ要求32の他の例を示す図である。
 図11では、図10の時間属性に加えて、利用者の行動属性を用い、時間属性と行動属性とで分類し、それぞれの分類でどのデータ要求32が高確率で送信されたかを示している。図11では、時間属性及び行動属性毎に、確率の高い2つのデータ要求32が特定されている。
 具体的には、月曜日の行動が出勤の場合にはデータ要求32Cが最も高確率で送信されると予測されており、データ要求32Dが2番目に高確率で送信されると予測されている。
FIG. 11 is a diagram illustrating another example of the predicted data request 32.
In FIG. 11, in addition to the time attribute of FIG. 10, the user's behavior attribute is used, and the time attribute and the behavior attribute are classified. The data request 32 is transmitted with high probability in each classification. . In FIG. 11, two data requests 32 having a high probability are specified for each time attribute and behavior attribute.
Specifically, when the action on Monday is going to work, the data request 32C is predicted to be transmitted with the highest probability, and the data request 32D is predicted to be transmitted with the second highest probability.
 S123では、要求予測部212は、予測した各データ要求32を予測要求33として生成する。図10の月曜日であれば、要求予測部212は、データ要求32Aとデータ要求32Bとを予測要求33として生成する。
 ここでは、要求予測部212は、予測要求33に、データ要求32の応答に付属する、HTTPのレスポンスヘッダーのようなヘッダー情報を含める。これにより、予測要求33の応答として得られるデータのデータ量が把握可能になる。ヘッダー情報は、過去のデータ要求32を送信した際の応答から取得することができる。
In S123, the request prediction unit 212 generates each predicted data request 32 as a prediction request 33. If it is Monday in FIG. 10, the request prediction unit 212 generates the data request 32 </ b> A and the data request 32 </ b> B as the prediction request 33.
Here, the request prediction unit 212 includes header information such as an HTTP response header attached to the response of the data request 32 in the prediction request 33. Thereby, the data amount of data obtained as a response to the prediction request 33 can be grasped. The header information can be acquired from a response when the past data request 32 is transmitted.
 また、予測要求33に、行動予測部211によって予測された行動予測情報31を含めても構わない。 Also, the prediction request 33 may include the behavior prediction information 31 predicted by the behavior prediction unit 211.
 なお、S122で、要求予測部212は、各データ要求32が送信される確率値も併せて特定してもよい。そして、S113で、要求予測部212は、基準となる確率値よりも高い確率値のデータ要求32のみを予測要求33として生成してもよい。 In S122, the request prediction unit 212 may also specify the probability value at which each data request 32 is transmitted. In S113, the request prediction unit 212 may generate only the data request 32 having a probability value higher than the reference probability value as the prediction request 33.
 **S13:通信状況予測処理**
 図12は、通信状況予測処理のフローチャートである。
 S131では、通信状況予測部213は、以下の方法1~2により、未来の通信状況34を予測する。
** S13: Communication status prediction process **
FIG. 12 is a flowchart of the communication status prediction process.
In S131, the communication status prediction unit 213 predicts the future communication status 34 by the following methods 1-2.
 方法1は、データ先読装置20の過去の時刻毎の通信状況を用いて予測する方法である。
 具体的には、通信状況予測部213は、時刻毎に、過去のその時刻の通信状況の平均値を計算して、未来のその時刻の通信状況34とする。また、通信状況予測部213は、曜日及び時刻毎に平均値を計算するというように、他の時間属性毎に平均値を計算して、未来の通信状況34としてもよい。
Method 1 is a method of predicting using the communication status of the data prefetching device 20 at each past time.
Specifically, the communication status prediction unit 213 calculates an average value of the past communication status at that time for each time, and sets it as the future communication status 34 at that time. Further, the communication status prediction unit 213 may calculate the average value for each other time attribute, such as calculating the average value for each day of the week and time, and set it as the future communication status 34.
 方法2は、データ先読装置20が通信する際に利用する通信網の管理部が提供する通信状況を示す管理情報を用いて予測する方法である。管理情報としては、通信網を利用する全ての通信端末から入手された通信状況を、時刻及び位置毎に示した情報が考えられる。
 具体的には、通信状況予測部213は、行動予測情報31が示す、データ先読装置20が存在する時刻毎の位置について、管理情報が示す通信状況を未来のその時刻の通信状況34とする。
Method 2 is a prediction method using management information indicating a communication state provided by a management unit of a communication network used when the data prefetching device 20 communicates. As the management information, information indicating the communication status obtained from all communication terminals using the communication network for each time and position can be considered.
Specifically, the communication status prediction unit 213 sets the communication status indicated by the management information as the communication status 34 at that time in the future for the position at each time when the data prefetching device 20 exists, which is indicated by the behavior prediction information 31. .
 S132では、通信状況予測部213は、方法1~2で計算された未来の通信状況34を重み付けして統合することにより、未来の時刻毎の通信状況34とする。 In S132, the communication status prediction unit 213 weights and integrates the future communication status 34 calculated by the methods 1 and 2 to obtain the communication status 34 for each future time.
 **S14:必要度計算処理**
 図13は、必要度計算処理のフローチャートである。
 S141では、必要度計算部214は、S12で生成された各予測要求33を取得する。また、必要度計算部214は、S13で予測された未来の通信状況34を示す情報を取得する。
** S14: Necessity calculation processing **
FIG. 13 is a flowchart of the necessity calculation process.
In S141, the necessity calculation unit 214 acquires each prediction request 33 generated in S12. Further, the necessity calculation unit 214 acquires information indicating the future communication status 34 predicted in S13.
 S142では、必要度計算部214は、S141で取得された各予測要求33について、その予測要求33の内容と、未来の通信状況34とから、必要度36を計算する。
 具体的には、必要度計算部214は、予測要求33によって取得されるデータ量と、予測要求33が受け付けられると予測される時点における通信状況34とから、現実にその予測要求33が受け付けられた場合に、サーバ10からデータを取得する困難度合を必要度36として計算する。予測要求33によって取得されるデータ量は、予測要求33に含まれるヘッダー情報から特定可能である。困難度合は、取得されるデータ量を、通信状況34が示す通信速度で除して計算される値である。
In S <b> 142, the necessity calculation unit 214 calculates the necessity 36 for each prediction request 33 acquired in S <b> 141 from the content of the prediction request 33 and the future communication status 34.
Specifically, the necessity calculation unit 214 actually accepts the prediction request 33 from the data amount acquired by the prediction request 33 and the communication status 34 at the time when the prediction request 33 is predicted to be accepted. The degree of difficulty in obtaining data from the server 10 is calculated as the necessity 36. The amount of data acquired by the prediction request 33 can be specified from the header information included in the prediction request 33. The difficulty level is a value calculated by dividing the acquired data amount by the communication speed indicated by the communication status 34.
 必要度計算部214は、一部の予測要求33について、必要度36とともに、予測要求33の送信のタイミングを決定してもよい。
 具体的には、必要度計算部214は、未来の通信状況34から、各時刻において、予測要求33を送信した場合に途中でエラーとなることなく取得可能なデータ量を計算する。そして、必要度計算部214は、取得されるデータ量の多い予測要求33について、途中でエラーとなることなく全データを取得可能なタイミングを、その予測要求33の送信のタイミングに決定する。
The necessity calculation unit 214 may determine the transmission timing of the prediction request 33 together with the necessity 36 for some of the prediction requests 33.
Specifically, the necessity calculation unit 214 calculates the amount of data that can be acquired from the future communication status 34 without causing an error in the middle when the prediction request 33 is transmitted at each time. Then, the necessity level calculation unit 214 determines the timing at which all data can be acquired without causing an error in the middle of the prediction request 33 with a large amount of data to be acquired as the transmission timing of the prediction request 33.
 **S15:事前取得処理**
 図14は、事前取得処理のフローチャートである。
 S151では、事前取得部215は、S14で計算された必要度36が高い予測要求33から順に、予測要求33を通信装置23を介してサーバ10に送信する。
 必要度計算部214によって、予測要求33の送信のタイミングが決定されている場合には、通信状況予測部213は、決定されたタイミングを考慮して、送信する予測要求33を決定する。具体的には、通信状況予測部213は、送信のタイミングが決定されている予測要求33については、決定されているタイミングに送信し、残りの予測要求33については、必要度36が高い予測要求33から順に送信する。
** S15: Advance acquisition process **
FIG. 14 is a flowchart of the advance acquisition process.
In S151, the prior acquisition unit 215 transmits the prediction request 33 to the server 10 via the communication device 23 in order from the prediction request 33 having the higher necessity 36 calculated in S14.
When the transmission timing of the prediction request 33 has been determined by the necessity calculation unit 214, the communication status prediction unit 213 determines the prediction request 33 to be transmitted in consideration of the determined timing. Specifically, the communication status prediction unit 213 transmits the prediction request 33 for which the transmission timing is determined at the determined timing, and the remaining prediction request 33 is a prediction request having a high degree of necessity 36. 33 in order.
 S152では、データ配信部111は、通信装置13を介して各予測要求33を受信する。 In S152, the data distribution unit 111 receives each prediction request 33 via the communication device 13.
 S153では、データ配信部111は、各予測要求33に対応するデータ35を構成し、構成したデータ35をデータ先読装置20に送信する。
 データ35は、記憶装置12に記憶されたデータと、サーバ10がアクセス可能な外部データベースに記憶されたデータと、サーバ10がアクセス可能なセンサーのようなデータ生成機器から取得されるデータとが含まれる。
In S153, the data distribution unit 111 configures the data 35 corresponding to each prediction request 33, and transmits the configured data 35 to the data prefetching device 20.
The data 35 includes data stored in the storage device 12, data stored in an external database accessible by the server 10, and data acquired from a data generation device such as a sensor accessible by the server 10. It is.
 S154では、事前取得部215は、サーバ10から送信された各予測要求33に対応するデータ35を取得して、事前結果記憶部221に格納する。事前取得部215は、予測要求33と、データ35とを対応付けて事前結果記憶部221に格納する。
 ここでは、事前結果記憶部221は、予測要求33をキーとし、対応するデータ35をバリューとして、Key-Value方式によりデータ35を記憶する。事前結果記憶部221は、リレーショナルデータベース方式のような他の方式によりデータ35を記憶してもよい。但し、事前結果記憶部221は、予測要求33をキーとして、対応するデータ35を取得可能な方式によりデータ35を記憶する。特に、事前結果記憶部221は、予測要求33に含まれる一部分が条件を満たしている場合に、キーが一致したとして、対応するデータ35を取得可能な方式によりデータ35を記憶する。
In S <b> 154, the advance acquisition unit 215 acquires data 35 corresponding to each prediction request 33 transmitted from the server 10 and stores the data 35 in the advance result storage unit 221. The prior acquisition unit 215 stores the prediction request 33 and the data 35 in association with each other in the prior result storage unit 221.
Here, the prior result storage unit 221 stores the data 35 by the Key-Value method using the prediction request 33 as a key and the corresponding data 35 as a value. The prior result storage unit 221 may store the data 35 by another method such as a relational database method. However, the prior result storage unit 221 stores the data 35 by a method capable of acquiring the corresponding data 35 using the prediction request 33 as a key. In particular, the prior result storage unit 221 stores the data 35 by a method capable of acquiring the corresponding data 35, assuming that the keys match when a part included in the prediction request 33 satisfies the condition.
 S155では、事前取得部215は、未送信の予測要求33が残っているか判定する。
 未送信の予測要求33が残っている場合(S155でYES)、事前取得部215は処理をS151に戻す。一方、未送信の予測要求33が残っていない場合(S155でNO)、事前取得部215は処理を終了する。
In S155, the prior acquisition unit 215 determines whether an untransmitted prediction request 33 remains.
When the unsent prediction request 33 remains (YES in S155), the prior acquisition unit 215 returns the process to S151. On the other hand, when the unsent prediction request 33 does not remain (NO in S155), the prior acquisition unit 215 ends the process.
 なお、S151では、事前取得部215は、実際の通信状況が基準よりも良好な場合のみ、予測要求33を送信するようにしてもよい。 In S151, the prior acquisition unit 215 may transmit the prediction request 33 only when the actual communication status is better than the standard.
 **S21:要求受付処理**
 データ取得部216は、アプリケーション250からデータ要求32を受け付ける。
 アプリケーション250は、予め設定された時刻になった、あるいは、利用者の操作があったというような何らかのイベントが発生した場合、発生したイベントに対応したデータ要求32を送信する。データ取得部216は、アプリケーション250から送信されたデータ要求32を受け付ける。
** S21: Request acceptance processing **
The data acquisition unit 216 receives the data request 32 from the application 250.
The application 250 transmits a data request 32 corresponding to the generated event when a predetermined time has arrived or an event such as a user operation has occurred. The data acquisition unit 216 receives the data request 32 transmitted from the application 250.
 **S22:類似要求判定処理**
 データ取得部216は、事前結果記憶部221から、S21で受け付けられたデータ要求32と類似度が基準よりも高い予測要求33を検索する。
 ここでは、データ取得部216は、データ要求32の一部分をキーとして、キーに対応する予測要求33を検索する。特に、データ取得部216は、データ要求32のパラメータを広い範囲を指定した値として、キーとする。そして、データ取得部216は、ヒットした予測要求33を類似度が基準よりも高い予測要求33として特定する。
** S22: Similar request determination process **
The data acquisition unit 216 searches the prior result storage unit 221 for the prediction request 33 having a similarity higher than the reference with the data request 32 received in S21.
Here, the data acquisition unit 216 searches for the prediction request 33 corresponding to the key using a part of the data request 32 as a key. In particular, the data acquisition unit 216 uses the parameter of the data request 32 as a key with a value specifying a wide range. Then, the data acquisition unit 216 specifies the hit prediction request 33 as the prediction request 33 whose similarity is higher than the reference.
 具体例としては、図9の(2)のデータ要求32であれば、1行目の部分のみをキーとして、キーに対応する予測要求33を検索する。この際、1行目の部分における“lon=11.11.11”の最後の“11”部分のパラメータと、“lat=22.22.22”の最後の“22”部分のパラメータとを59以下とする。また、“&radius=10”の“10”部分のパラメータを20以下とする。このキーにより検索を行うと、lonの値が11.11.0以上11.11.59以下であり、かつ、latの値が22.22.0以上22.22.59以下であり、かつ、raduisの値が0以上20以下であると指定された予測要求33が特定される。 As a specific example, in the case of the data request 32 of (2) in FIG. 9, the prediction request 33 corresponding to the key is searched using only the portion of the first row as a key. At this time, the parameter of the last “11” part of “lon = 11.11.11” and the parameter of the last “22” part of “lat = 22.22.22” in the part of the first line are 59. The following. Further, the parameter of the “10” portion of “& radius = 10” is set to 20 or less. When a search is performed using this key, the value of lon is 11.11.0 or more and 11.11.59 or less, the value of lat is 22.22.0 or more and 22.22.59 or less, and The prediction request 33 specified that the value of radiis is 0 or more and 20 or less is specified.
 データ取得部216は、予測要求33が特定された場合に、類似度が基準よりも高い予測要求33である類似要求38があると判定する。 When the prediction request 33 is specified, the data acquisition unit 216 determines that there is a similar request 38 that is the prediction request 33 whose similarity is higher than the reference.
 ここでは、データ要求32のクエリーにおけるパラメータが類似する場合でなくても、データ要求32の全体で類似度が基準以上である場合は、キーが一致したとして処理するようにしても構わない。具体的には、データ要求32の文字列の一致割合が基準以上である場合に、類似度が基準以上であるとしても構わない。 Here, even if the parameters in the query of the data request 32 are not similar, if the similarity of the data request 32 as a whole is equal to or higher than the reference, it may be processed as a key match. Specifically, when the character string matching ratio of the data request 32 is equal to or higher than the reference, the similarity may be equal to or higher than the reference.
 **S23:事前データ取得処理**
 データ取得部216は、類似要求38がある場合には、類似要求38に対応するデータ35を受付要求37に対応するデータ39として取得する。そして、データ取得部216は、S21でデータ要求32を送信したアプリケーション250に取得したデータ39を送信する。
** S23: Prior data acquisition process **
When there is a similar request 38, the data acquisition unit 216 acquires data 35 corresponding to the similar request 38 as data 39 corresponding to the acceptance request 37. Then, the data acquisition unit 216 transmits the acquired data 39 to the application 250 that transmitted the data request 32 in S21.
 S22で複数の予測要求33が特定された場合も起こり得る。この場合、データ取得部216は、受付要求37と完全に一致した予測要求33がある場合には、その予測要求33に対応するデータ35を受付要求37に対応するデータ39として取得する。一方、データ取得部216は、受付要求37と完全に一致した予測要求33がない場合には、S22で特定された各予測要求33に対応するデータ35を受付要求37に対応するデータ39として取得する。 It may also occur when a plurality of prediction requests 33 are specified in S22. In this case, when there is a prediction request 33 that completely matches the reception request 37, the data acquisition unit 216 acquires data 35 corresponding to the prediction request 33 as data 39 corresponding to the reception request 37. On the other hand, when there is no prediction request 33 that completely matches the reception request 37, the data acquisition unit 216 acquires the data 35 corresponding to each prediction request 33 specified in S22 as the data 39 corresponding to the reception request 37. To do.
 データ取得部216は、事前結果記憶部221から取得したデータ35をデータ39とする場合に、データ39とともに、データ39が事前結果記憶部221から取得されたことを示す識別情報をアプリケーション250に送信しても構わない。これにより、データ先読装置20の利用者が先読みしたデータ35を用いて処理していることを認識できるようになる。
 また、アプリケーション250に識別情報を送信するのではなく、データ取得部216が表示装置に識別情報を表示するようにしてもよい。この場合でも、データ先読装置20の利用者が先読みしたデータ35を用いて処理していることを認識できるようになる。
 データ先読装置20の利用者が先読みしたデータ35を用いて処理していることを認識できれば、仮にデータ39が本来要求したデータと異なる場合であっても、利用者によって不正処理だと推測されることを回避可能となる。
When the data 35 acquired from the prior result storage unit 221 is used as the data 39, the data acquisition unit 216 transmits identification information indicating that the data 39 is acquired from the prior result storage unit 221 to the application 250 together with the data 39. It doesn't matter. This makes it possible to recognize that the user of the data prefetching device 20 is processing using the data 35 prefetched.
Further, instead of transmitting the identification information to the application 250, the data acquisition unit 216 may display the identification information on the display device. Even in this case, the user of the data prefetching device 20 can recognize that the processing is performed using the data 35 prefetched.
If the user of the data prefetching device 20 can recognize that the processing is performed using the prefetched data 35, even if the data 39 is different from the originally requested data, it is assumed that the user is an unauthorized process. Can be avoided.
 また、データ取得部216は、類似要求38に対応するデータ35から、受付要求37が要求するデータを抽出して、受付要求37に対応するデータ39として出力してもよい。つまり、類似要求38に対応するデータ35をそのまま受付要求37に対応するデータ39とするのではなく、類似要求38に対応するデータ35のうち、受付要求37が要求するデータのみを受付要求37に対応するデータ39としてもよい。
 これにより、本来要求したデータと異なるデータが含まれることにより、アプリケーション250の処理に矛盾が発生することを防止できる。
Further, the data acquisition unit 216 may extract the data requested by the acceptance request 37 from the data 35 corresponding to the similarity request 38 and output the data as the data 39 corresponding to the acceptance request 37. That is, the data 35 corresponding to the similar request 38 is not directly used as the data 39 corresponding to the acceptance request 37, but only the data requested by the acceptance request 37 among the data 35 corresponding to the similar request 38 is used as the acceptance request 37. Corresponding data 39 may be used.
Thereby, it is possible to prevent inconsistency in the processing of the application 250 by including data different from the originally requested data.
 **S24:新規データ取得処理**
 データ取得部216は、類似要求38がない場合には、通信装置23を介して受付要求37をサーバ10に送信し、サーバ10から受付要求37に対応するデータ39を取得する。データ取得部216は、S21でデータ要求32を送信したアプリケーション250に取得したデータ39を送信する。
 なお、新規データ取得処理においても、事前データ取得処理と同様に、データ配信部111は、通信装置13を介して受付要求37を受信すると、受付要求37に対応するデータ39を更新し、構成したデータ39をデータ先読装置20に送信する。データ39は、データ35と同様に、記憶装置12に記憶されたデータと、サーバ10がアクセス可能な外部データベースに記憶されたデータと、サーバ10がアクセス可能なセンサーのようなデータ生成機器から取得されるデータとが含まれる。
** S24: New data acquisition process **
When there is no similar request 38, the data acquisition unit 216 transmits a reception request 37 to the server 10 via the communication device 23, and acquires data 39 corresponding to the reception request 37 from the server 10. The data acquisition unit 216 transmits the acquired data 39 to the application 250 that has transmitted the data request 32 in S21.
In the new data acquisition process, similarly to the prior data acquisition process, when the data distribution unit 111 receives the reception request 37 via the communication device 13, the data distribution unit 111 updates and configures the data 39 corresponding to the reception request 37. Data 39 is transmitted to the data prefetching device 20. The data 39 is acquired from data stored in the storage device 12, data stored in an external database accessible by the server 10, and a data generation device such as a sensor accessible by the server 10, similar to the data 35. Data to be included.
 ***実施の形態1の効果***
 以上のように、実施の形態1に係るデータ先読システム1では、要求予測部212は、未来に送信されるデータ要求を予測する。そのため、特許文献1のように、将来利用するデータを予測する場合に比べ、先読み対象のデータを少なく抑えることができる。
*** Effects of Embodiment 1 ***
As described above, in the data prefetching system 1 according to the first embodiment, the request prediction unit 212 predicts a data request to be transmitted in the future. Therefore, as in Patent Document 1, it is possible to reduce the data to be read ahead as compared with the case of predicting data to be used in the future.
 また、実施の形態1に係るデータ先読システム1では、データ取得部216は、要求されたデータと完全に一致したデータが先読みされていなくても、受付要求37との類似度が基準よりも高い予測要求33である類似要求38がある場合に、類似要求38に対応するデータ35を利用する。そのため、先読みしたデータの利用が促進される。
 先読みしたデータの利用が促進されることにより、通信不能な状況においても、アプリケーション250が処理を継続できる可能性が高くなる。
Further, in the data prefetching system 1 according to the first embodiment, the data acquisition unit 216 has a similarity to the reception request 37 that is higher than the reference even if data that completely matches the requested data is not prefetched. When there is a similar request 38 which is a high prediction request 33, data 35 corresponding to the similar request 38 is used. Therefore, the use of prefetched data is promoted.
By promoting the use of the pre-read data, there is a high possibility that the application 250 can continue processing even in a situation where communication is impossible.
 なお、実施の形態1に係るデータ先読システム1では、データ先読装置20は、将来利用するデータを予測するのではなく、未来に送信されるデータ要求32を予測する。そのため、データ先読装置20における要求予測部212の機能と、サーバ10とが連携しなくても、要求予測部212は独立して予測処理を行うことができる。
 一方、特許文献1のように、将来利用するデータを予測する場合には、データ構造とデータの内容とが必要となる。そのため、予測する機能と、データを管理するサーバとが密接に連携しなければ、予測する機能を実現することができない。
In the data prefetching system 1 according to the first embodiment, the data prefetching device 20 predicts a data request 32 to be transmitted in the future rather than predicting data to be used in the future. Therefore, even if the function of the request prediction unit 212 in the data prefetching device 20 and the server 10 do not cooperate, the request prediction unit 212 can perform the prediction process independently.
On the other hand, as in Patent Document 1, in order to predict data to be used in the future, a data structure and data contents are required. Therefore, unless the function to predict and the server which manages data closely cooperate, the function to predict cannot be implement | achieved.
 ***他の構成***
 上記説明では、データ先読装置20は、行動予測部211と、要求予測部212と、通信状況予測部213と、必要度計算部214と、事前取得部215と、データ取得部216との機能を備えるとした。しかし、データ先読装置20は、これらの機能のうち、一部の機能を備えていなくてもよい。
 具体的には、図15に示すように、行動予測部211と、通信状況予測部213と、必要度計算部214とは、備えていなくてもよい。この場合、要求予測部212は、行動予測情報31を用いることなく、未来に送信される複数のデータ要求32を予測する。そして、事前取得部215は、必要度36を用いず、任意の送信順序で予測要求33をサーバ10に送信する。
*** Other configurations ***
In the above description, the data prefetching device 20 has the functions of the behavior prediction unit 211, the request prediction unit 212, the communication status prediction unit 213, the necessity calculation unit 214, the prior acquisition unit 215, and the data acquisition unit 216. Provided. However, the data prefetching device 20 may not have some of these functions.
Specifically, as illustrated in FIG. 15, the behavior prediction unit 211, the communication status prediction unit 213, and the necessity calculation unit 214 may not be provided. In this case, the request prediction unit 212 predicts a plurality of data requests 32 transmitted in the future without using the behavior prediction information 31. Then, the advance acquisition unit 215 transmits the prediction request 33 to the server 10 in an arbitrary transmission order without using the necessity 36.
 また、上記説明では、データ取得部216は、類似要求38があるか否かによってデータ39の取得先を決定した。しかし、アプリケーション250からデータ39の取得先をサーバ10とするように指定可能にしてもよい。
 具体的には、データ取得部216は、アプリケーション250から事前結果記憶部221を利用するか否かを示すフラグを含むデータ要求32を受け付ける。そして、フラグが事前結果記憶部221を利用することを示す場合、データ取得部216は、類似要求38があるか否かによってデータ39の取得先を決定する。一方、フラグが事前結果記憶部221を利用しないことを示す場合、データ取得部216は、類似要求38があるか否かに関わらず、サーバ10からデータ39を取得する。
 アプリケーション250がデータ要求32を送信する際、通信環境が良好であれば、事前結果記憶部221を利用しないようにし、通信環境が良好でなければ、事前結果記憶部221を利用するようにすることが考えられる。これにより、通信環境が良好な場合には、要求した通りのデータ39を取得するようにし、通信環境が良好でない場合には、要求と一部異なるデータ39であっても処理を継続するようにすることができる。
In the above description, the data acquisition unit 216 determines the acquisition destination of the data 39 depending on whether or not there is a similar request 38. However, it may be possible to specify that the acquisition destination of the data 39 from the application 250 is the server 10.
Specifically, the data acquisition unit 216 receives a data request 32 including a flag indicating whether to use the prior result storage unit 221 from the application 250. When the flag indicates that the prior result storage unit 221 is used, the data acquisition unit 216 determines the acquisition destination of the data 39 depending on whether there is a similarity request 38. On the other hand, when the flag indicates that the prior result storage unit 221 is not used, the data acquisition unit 216 acquires the data 39 from the server 10 regardless of whether or not there is the similarity request 38.
When the application 250 transmits the data request 32, if the communication environment is good, the advance result storage unit 221 is not used, and if the communication environment is not good, the advance result storage unit 221 is used. Can be considered. Thus, when the communication environment is good, the requested data 39 is acquired, and when the communication environment is not good, the processing is continued even if the data 39 is partially different from the request. can do.
 また、データ取得部216は、データ先読装置20のキャッシュ機能でキャッシュされたデータを利用する。ここでは、HTTPを用いた通信を行うため、データ先読装置20は少なくともHTTPによるキャッシュ機能を有している。
 そこで、データ取得部216は、図2のS14の処理で予測要求33に対応するデータ35がキャッシュされている場合には、必要度36を下げる。これにより、キャッシュされているデータの先読み処理は後に回される。
Further, the data acquisition unit 216 uses data cached by the cache function of the data prefetching device 20. Here, in order to perform communication using HTTP, the data prefetching device 20 has at least a cache function based on HTTP.
Therefore, the data acquisition unit 216 reduces the necessity 36 when the data 35 corresponding to the prediction request 33 is cached in the processing of S14 of FIG. As a result, the prefetch processing of the cached data is deferred later.
 また、上記説明では、データ先読装置20を1つの装置とした。しかし、データ先読装置20は、複数の装置に分かれていてもよい。
 具体的には、図16に示すように、データ先読装置20は、予測サーバ40と、利用者が携帯する端末50との2つに分かれてもよい。予測サーバ40は、行動予測部211と、要求予測部212と、通信状況予測部213と、必要度計算部214との機能を備える。端末50は、事前取得部215と、データ取得部216との機能を備える。予測サーバ40から端末50に、予測要求33と必要度36とが送信され、端末50は送信された予測要求33と必要度36とに従い先読みを行う。
 データ先読装置20を予測サーバ40と端末50との2つに分け、一部の処理を予測サーバ40側で実行することにより、利用者が携帯する端末50の処理負荷及び消費電力を軽減することが可能である。
 また、予測サーバ40では、複数の端末50についての処理を行うことが可能である。これにより、複数の端末50の情報を利用して、行動予測部211と、要求予測部212と、通信状況予測部213と、必要度計算部214との機能を実現できる。その結果、各機能の予測精度及び計算精度を高くすることができる。
In the above description, the data prefetching device 20 is a single device. However, the data prefetching device 20 may be divided into a plurality of devices.
Specifically, as shown in FIG. 16, the data prefetching device 20 may be divided into two, a prediction server 40 and a terminal 50 carried by the user. The prediction server 40 includes functions of an action prediction unit 211, a request prediction unit 212, a communication status prediction unit 213, and a necessity calculation unit 214. The terminal 50 includes functions of a pre-acquisition unit 215 and a data acquisition unit 216. A prediction request 33 and a necessity 36 are transmitted from the prediction server 40 to the terminal 50, and the terminal 50 performs prefetching according to the transmitted prediction request 33 and the necessity 36.
The data prefetching device 20 is divided into the prediction server 40 and the terminal 50, and a part of processing is executed on the prediction server 40 side, thereby reducing the processing load and power consumption of the terminal 50 carried by the user. It is possible.
Further, the prediction server 40 can perform processing for a plurality of terminals 50. Thereby, the functions of the behavior predicting unit 211, the request predicting unit 212, the communication status predicting unit 213, and the necessity degree calculating unit 214 can be realized using the information of the plurality of terminals 50. As a result, the prediction accuracy and calculation accuracy of each function can be increased.
 図16では、予測サーバ40は、行動予測部211と、要求予測部212と、通信状況予測部213と、必要度計算部214との機能を備えた。しかし、これらの機能のうち、一部の機能を端末50に持たせてもよい。 In FIG. 16, the prediction server 40 includes functions of an action prediction unit 211, a request prediction unit 212, a communication status prediction unit 213, and a necessity level calculation unit 214. However, some of these functions may be given to the terminal 50.
 図1,図15,図16に示すハードウェアについて説明する。
 プロセッサ11,21,41,51は、プロセッシングを行うICである。ICは、Integrated Circuitの略である。プロセッサ11,21,41,51は、具体的には、CPU、DSP、GPUである。CPUは、Central Processing Unitの略である。DSPは、Digital Signal Processorの略である。GPUは、Graphics Processing Unitの略である。
 記憶装置12,22,42,52は、具体的には、ROM、RAM、フラッシュメモリ、HDDである。ROMは、Read Only Memoryの略である。RAMは、Random Access Memoryの略である。HDDは、Hard Disk Driveの略である。
 通信装置13,23,43,53は、データを受信するレシーバー及びデータを送信するトランスミッターを含む。通信装置13,23,43,53は、具体的には、通信チップ又はNICである。NICは、Network Interface Cardの略である。
The hardware shown in FIGS. 1, 15, and 16 will be described.
The processors 11, 21, 41, and 51 are ICs that perform processing. IC is an abbreviation for Integrated Circuit. Specifically, the processors 11, 21, 41, 51 are a CPU, a DSP, and a GPU. CPU is an abbreviation for Central Processing Unit. DSP is an abbreviation for Digital Signal Processor. GPU is an abbreviation for Graphics Processing Unit.
Specifically, the storage devices 12, 22, 42, and 52 are ROM, RAM, flash memory, and HDD. ROM is an abbreviation for Read Only Memory. RAM is an abbreviation for Random Access Memory. HDD is an abbreviation for Hard Disk Drive.
The communication devices 13, 23, 43, and 53 include a receiver that receives data and a transmitter that transmits data. The communication devices 13, 23, 43, and 53 are specifically communication chips or NICs. NIC is an abbreviation for Network Interface Card.
 プロセッサ11,21,41,51によって実現される各機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置12,22,42,52、又は、プロセッサ11,21,41,51内のレジスタ又はキャッシュメモリに記憶される。 The information, data, signal values, and variable values indicating the processing results of the functions realized by the processors 11, 21, 41, 51 are stored in the storage devices 12, 22, 42, 52, or the processors 11, 21, 41, It is stored in a register in 51 or a cache memory.
 上記説明では、プロセッサ11,21,41,51によって実現される各機能を実現するプログラムは、記憶装置12,22,42,52に記憶されているとした。しかし、このプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記憶媒体に記憶されてもよい。 In the above description, it is assumed that the programs for realizing the functions realized by the processors 11, 21, 41, 51 are stored in the storage devices 12, 22, 42, 52. However, this program may be stored in a portable storage medium such as a magnetic disk, flexible disk, optical disk, compact disk, Blu-ray (registered trademark) disk, or DVD.
 図1,図15,図16では、プロセッサ11,21,41,51は、1つだけ示されていた。しかし、プロセッサ11,21,41,51は、複数であってもよく、複数のプロセッサ11,21,41,51が、各機能を実現するプログラムを連携して実行してもよい。 1, FIG. 15, FIG. 16, only one processor 11, 21, 41, 51 is shown. However, there may be a plurality of processors 11, 21, 41, 51, and the plurality of processors 11, 21, 41, 51 may execute programs that realize each function in cooperation.
 図1,図15,図16では、各機能がソフトウェアで実現される場合を示していた。しかし、各機能はハードウェアで実現されてもよい。
 図17は、各機能がハードウェアで実現される場合のデータ先読システム1の構成図である。図17は、図1に相当する構成を示している。
1, 15, and 16 show the case where each function is realized by software. However, each function may be realized by hardware.
FIG. 17 is a configuration diagram of the data prefetching system 1 when each function is realized by hardware. FIG. 17 shows a configuration corresponding to FIG.
 各機能がハードウェアで実現される場合、サーバ10は、記憶装置12と、通信装置13と、処理回路14とを備える。処理回路14は、データ配信部111の機能を実現する専用の電子回路である。データ先読装置20は、記憶装置22と、通信装置23と、処理回路24とを備える。処理回路24は、行動予測部211と、要求予測部212と、通信状況予測部213と、必要度計算部214と、事前取得部215と、データ取得部216との機能を実現する専用の電子回路である。 When each function is realized by hardware, the server 10 includes a storage device 12, a communication device 13, and a processing circuit 14. The processing circuit 14 is a dedicated electronic circuit that realizes the function of the data distribution unit 111. The data prefetching device 20 includes a storage device 22, a communication device 23, and a processing circuit 24. The processing circuit 24 is a dedicated electronic device that realizes the functions of the behavior prediction unit 211, the request prediction unit 212, the communication state prediction unit 213, the necessity calculation unit 214, the prior acquisition unit 215, and the data acquisition unit 216. Circuit.
 処理回路14,24は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、FPGAが想定される。GAは、Gate Arrayの略である。ASICは、Application Specific Integrated Circuitの略である。FPGAは、Field-Programmable Gate Arrayの略である。
 各機能を1つの処理回路14,24で実現してもよいし、各機能を複数の処理回路14,24に分散させて実現してもよい。
As the processing circuits 14 and 24, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an ASIC, and an FPGA are assumed. GA is an abbreviation for Gate Array. ASIC is an abbreviation for Application Specific Integrated Circuit. FPGA is an abbreviation for Field-Programmable Gate Array.
Each function may be realized by one processing circuit 14 or 24, or each function may be realized by being distributed to a plurality of processing circuits 14 and 24.
 また、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。また、各機能をファームウェアで実現してもよい。 Also, some functions may be realized by hardware and other functions may be realized by software. Each function may be realized by firmware.
 プロセッサ11,21,41,51と、記憶装置12,22,42,52と、処理回路14,24とを、総称して「プロセッシングサーキットリー」という。つまり、各機能は、プロセッシングサーキットリーにより実現される。 The processors 11, 21, 41, 51, the storage devices 12, 22, 42, 52, and the processing circuits 14, 24 are collectively referred to as “processing circuits”. That is, each function is realized by a processing circuit.
 また、上記説明における「部」を「工程」又は「手順」又は「処理」に読み替えてもよい。 Also, “part” in the above description may be read as “process”, “procedure” or “processing”.
 1 データ先読システム、10 サーバ、11,21,41,51 プロセッサ、111 データ配信部、12,22,42,52 記憶装置、13,23,43,53 通信装置、14,24 処理回路、20 データ先読装置、211 行動予測部、212 要求予測部、213 通信状況予測部、214 必要度計算部、215 事前取得部、216 データ取得部、221 事前結果記憶部、31 行動予測情報、32 データ要求、33 予測要求、34 通信状況、35,39 データ、36 必要度、37 受付要求、38 類似要求。 1 data prefetch system, 10 server, 11, 21, 41, 51 processor, 111 data distribution unit, 12, 22, 42, 52 storage device, 13, 23, 43, 53 communication device, 14, 24 processing circuit, 20 Data prefetching device, 211 behavior prediction unit, 212 request prediction unit, 213 communication status prediction unit, 214 necessity calculation unit, 215 pre-acquisition unit, 216 data acquisition unit, 221 pre-result storage unit, 31 behavior prediction information, 32 data Request, 33 prediction request, 34 communication status, 35, 39 data, 36 necessity, 37 acceptance request, 38 similar request.

Claims (8)

  1.  過去に送信されたデータ要求から、未来に送信される複数のデータ要求を予測して、複数の予測要求を生成する要求予測部と、
     前記要求予測部によって生成された各予測要求をサーバに送信し、前記サーバから前記各予測要求に対応するデータを取得して事前結果記憶部に格納する事前取得部と、
     受け付けたデータ要求である受付要求との類似度が基準よりも高い予測要求である類似要求がある場合には、前記事前結果記憶部に格納された前記類似要求に対応するデータを前記受付要求に対応するデータとして取得するデータ取得部と
    を備えるデータ先読装置。
    A request prediction unit that predicts a plurality of data requests to be transmitted in the future from data requests transmitted in the past, and generates a plurality of prediction requests;
    A pre-acquisition unit that transmits each prediction request generated by the request prediction unit to a server, acquires data corresponding to each prediction request from the server, and stores the data in a prior result storage unit;
    When there is a similar request that is a prediction request that has a higher degree of similarity to the received request that is the received data request than the reference, data corresponding to the similar request stored in the prior result storage unit is received as the received request A data prefetching device comprising a data acquisition unit that acquires data corresponding to the above.
  2.  前記データ取得部は、前記類似要求がない場合には、前記受付要求を前記サーバに送信し、前記サーバから前記受付要求に対応するデータを取得する
    請求項1に記載のデータ先読装置。
    The data prefetching device according to claim 1, wherein when there is no similar request, the data acquisition unit transmits the reception request to the server and acquires data corresponding to the reception request from the server.
  3.  前記データ取得部は、前記事前結果記憶部からデータを取得した場合、取得したデータとともに、前記事前結果記憶部からデータを取得したことを示す識別情報を出力する
    請求項1又は2に記載のデータ先読装置。
    The said data acquisition part outputs the identification information which shows having acquired data from the said preliminary result storage part with the acquired data, when data are acquired from the said preliminary result storage part. Data read-ahead device.
  4.  前記データ取得部は、前記類似要求に対応するデータから、前記受付要求が要求するデータを抽出して、前記受付要求に対応するデータとして出力する
    請求項1から3までのいずれか1項に記載のデータ先読装置。
    4. The data acquisition unit according to claim 1, wherein the data acquisition unit extracts data requested by the acceptance request from data corresponding to the similarity request, and outputs the data as data corresponding to the acceptance request. 5. Data read-ahead device.
  5.  前記データ先読装置は、さらに、
     未来の通信状況を予測する通信状況予測部
    を備え、
     前記データ取得部は、前記類似要求がある場合に、前記通信状況予測部によって予測された通信状況に応じて、前記事前結果記憶部に格納されたデータを取得するか否かを決定する
    請求項1から4までのいずれか1項に記載のデータ先読装置。
    The data prefetching device further includes:
    With a communication status prediction unit that predicts the future communication status,
    The data acquisition unit determines whether to acquire the data stored in the prior result storage unit according to the communication status predicted by the communication status prediction unit when there is the similar request. Item 5. The data prefetching device according to any one of Items 1 to 4.
  6.  前記データ先読装置は、さらに、
     未来の通信状況を予測する通信状況予測部と、
     前記各予測要求について、その予測要求の内容と、前記通信状況予測部によって予測された通信状況とから、その予測要求に対応するデータを取得することの必要度を計算する必要度計算部と
    を備え、
     前記事前取得部は、前記必要度計算部によって計算された必要度に基づき、優先して処理する予測要求を選択して、選択した予測要求に対応するデータから順に取得する
    請求項1から5までのいずれか1項に記載のデータ先読装置。
    The data prefetching device further includes:
    A communication status prediction unit that predicts the future communication status;
    For each prediction request, a necessity calculation unit that calculates the necessity of acquiring data corresponding to the prediction request from the content of the prediction request and the communication state predicted by the communication state prediction unit Prepared,
    The said prior acquisition part selects the prediction request | requirement processed preferentially based on the necessity calculated by the said necessity calculation part, and acquires sequentially from the data corresponding to the selected prediction request. The data prefetching device according to any one of the above.
  7.  前記必要度計算部は、前記予測要求に対応するデータがキャッシュされている場合には、前記必要度を下げる
    請求項6に記載のデータ先読装置。
    The data prefetching device according to claim 6, wherein the necessity calculation unit lowers the necessity when data corresponding to the prediction request is cached.
  8.  過去に送信されたデータ要求から、未来に送信される複数のデータ要求を予測して、複数の予測要求を生成する要求予測処理と、
     前記要求予測処理によって生成された各予測要求をサーバに送信し、前記サーバから前記各予測要求に対応するデータを取得して事前結果記憶部に格納する事前取得処理と、
     受け付けたデータ要求である受付要求との類似度が基準よりも高い予測要求である類似要求がある場合には、前記事前結果記憶部に格納された前記類似要求に対応するデータを前記受付要求に対応するデータとして取得するデータ取得処理と
    をコンピュータに実行させるデータ先読プログラム。
    A request prediction process for generating a plurality of prediction requests by predicting a plurality of data requests transmitted in the future from a data request transmitted in the past,
    Sending each prediction request generated by the request prediction process to a server, acquiring data corresponding to each prediction request from the server and storing it in a preliminary result storage unit;
    When there is a similar request that is a prediction request that has a higher degree of similarity to the received request that is the received data request than the reference, data corresponding to the similar request stored in the prior result storage unit is received as the received request A data prefetching program for causing a computer to execute a data acquisition process for acquiring data corresponding to the.
PCT/JP2015/072559 2015-08-07 2015-08-07 Data look-ahead device and data look-ahead program WO2017026015A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/072559 WO2017026015A1 (en) 2015-08-07 2015-08-07 Data look-ahead device and data look-ahead program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/072559 WO2017026015A1 (en) 2015-08-07 2015-08-07 Data look-ahead device and data look-ahead program

Publications (1)

Publication Number Publication Date
WO2017026015A1 true WO2017026015A1 (en) 2017-02-16

Family

ID=57983592

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/072559 WO2017026015A1 (en) 2015-08-07 2015-08-07 Data look-ahead device and data look-ahead program

Country Status (1)

Country Link
WO (1) WO2017026015A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019016085A (en) * 2017-07-05 2019-01-31 株式会社リコー Information processing device, information processing system and information processing program
JP2019074923A (en) * 2017-10-16 2019-05-16 富士通株式会社 Content distribution management program, content distribution management method, and content distribution management device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005025655A (en) * 2003-07-01 2005-01-27 Fuji Photo Film Co Ltd Contents distribution system and user's terminal device
US20060277308A1 (en) * 2005-06-07 2006-12-07 Yahoo! Inc. Providing relevant non- requested content to a mobile device
JP2008250952A (en) * 2007-03-30 2008-10-16 Nippon Telegr & Teleph Corp <Ntt> Service providing method, service providing apparatus, and service providing program
JP2008299685A (en) * 2007-06-01 2008-12-11 Hitachi Ltd Advance search processing device
US20100262785A1 (en) * 2002-12-13 2010-10-14 Rajkumar N Isaac Method and System for an Extensible Caching Framework
WO2011138972A1 (en) * 2010-05-07 2011-11-10 日本電気株式会社 Information processing device, terminal, server, and method for data transfer
JP2013175132A (en) * 2012-02-27 2013-09-05 Fuji Xerox Co Ltd Document management server device, document management device, document management system, and document management program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100262785A1 (en) * 2002-12-13 2010-10-14 Rajkumar N Isaac Method and System for an Extensible Caching Framework
JP2005025655A (en) * 2003-07-01 2005-01-27 Fuji Photo Film Co Ltd Contents distribution system and user's terminal device
US20060277308A1 (en) * 2005-06-07 2006-12-07 Yahoo! Inc. Providing relevant non- requested content to a mobile device
JP2008250952A (en) * 2007-03-30 2008-10-16 Nippon Telegr & Teleph Corp <Ntt> Service providing method, service providing apparatus, and service providing program
JP2008299685A (en) * 2007-06-01 2008-12-11 Hitachi Ltd Advance search processing device
WO2011138972A1 (en) * 2010-05-07 2011-11-10 日本電気株式会社 Information processing device, terminal, server, and method for data transfer
JP2013175132A (en) * 2012-02-27 2013-09-05 Fuji Xerox Co Ltd Document management server device, document management device, document management system, and document management program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019016085A (en) * 2017-07-05 2019-01-31 株式会社リコー Information processing device, information processing system and information processing program
JP2019074923A (en) * 2017-10-16 2019-05-16 富士通株式会社 Content distribution management program, content distribution management method, and content distribution management device

Similar Documents

Publication Publication Date Title
US20240394240A1 (en) Refining Location Estimates and Reverse Geocoding Based on a User Profile
US9241240B2 (en) Techniques for server-controlled tiling of location-based information
CN112585620A (en) Distributed tagging for supervised learning
US10432486B2 (en) System and method for updating application clients using a plurality of content delivery networks
US20180139580A1 (en) Privacy preservation platform
CN109522462B (en) Cloud query method, device, equipment and storage medium based on block chain
JPWO2008108158A1 (en) Information disclosure control system, information disclosure control program, and information disclosure control method
CN108009205B (en) Search result caching method based on position, search method, client and system
US10887409B2 (en) Determining geolocation of IP addresses using user transitions over time
JP2011118110A (en) Map display device, map display method, and map display program
EP3973417A1 (en) Efficient freshness crawl scheduling
JP5272428B2 (en) Predictive cache method for caching information with high access frequency in advance, system thereof and program thereof
CN108376157B (en) Target user query method, system and device
WO2017026015A1 (en) Data look-ahead device and data look-ahead program
KR102557529B1 (en) Method and apparatus for providing crowdsourcing services
CN112765494A (en) Search method and search device
US20210150890A1 (en) Information management apparatus and non-transitory computer-readable recording medium recording program
CN114201573A (en) System and method for generating and querying indexes associated with target communications
US20230376533A1 (en) Methods and systems for generating communications associated with optimization codes
WO2021061798A1 (en) Methods and apparatus to train a machine learning model
CN117171433A (en) Logistics information acquisition method and device
KR101054815B1 (en) Search service provision system of multimedia data with multi-precision and its provision method
CN116127423B (en) Method and system for generating communications associated with optimized code
KR20110048653A (en) Method and device for sharing PIO information in mobile communication system
US20230222503A1 (en) Server, system and method for controlling transactions and related data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15900970

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15900970

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP