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; 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

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.

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.

International Publication No. 2011-138972

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 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. The flowchart of an action prediction process. The figure which shows the example which represented the behavior prediction information 31 produced | generated by the behavior prediction part 211 with the graph. 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. 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. The figure which shows the example of the data request | requirement 32 transmitted by the data acquisition part 216. FIG. The figure which shows the example of the estimated data request | requirement 32. FIG. 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. FIG. 6 is another configuration diagram of the data prefetching system 1 according to the first embodiment. The figure which divided the data prefetching apparatus 20 into the some apparatus. The block diagram of the data prefetch system 1 in case each function is implement | achieved by hardware.

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.

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.
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.

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.

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.

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.

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.

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.

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. .

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.

In the request reception process of S21, the data acquisition unit 216 receives the data request 32 from the application 250.

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.

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. .

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: 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.

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.
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.

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.

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.

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 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.
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: 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.

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.

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.

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.

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.

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.

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.

Also, the prediction request 33 may include the behavior prediction information 31 predicted by the behavior prediction unit 211.

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: 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.

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. 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. .

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: 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.

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.

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: 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.

In S152, the data distribution unit 111 receives each prediction request 33 via the communication device 13.

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.

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.

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.

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: 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: 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.

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.

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.

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: 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.

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.

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.

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: 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.

*** 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.

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.

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.

*** 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.

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.

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.

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.

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.

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.

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.

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, 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, 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.

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.

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.

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 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. 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. 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. 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. 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. 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. 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)

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 Presearch processor
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 Presearch processor
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

Similar Documents

Publication Publication Date Title
US9396295B2 (en) Method and system for creating a predictive model for targeting web-page to a surfer
US9237190B2 (en) Node and method for generating shortened name robust against change in hierarchical name in content-centric network (CCN)
US8204966B1 (en) Map tile data pre-fetching based on user activity analysis
EP3379799B1 (en) Refining location estimates and reverse geocoding based on a user profile
JP6122199B2 (en) System, method and storage medium for improving access to search results
KR101680288B1 (en) Information search system with real-time feedback
JP2010517147A (en) Location in search query
JP6017566B2 (en) Prefetching of map tile data based on mobile device generated event analysis
KR101249211B1 (en) Method, apparatus and computer program product for providing a visual search interface
US9195721B2 (en) Mobile device with localized app recommendations
JP3997774B2 (en) Data processing system, data processing method, information processing apparatus, and computer program
US20160188542A1 (en) Predicting user navigation events
US20150195340A1 (en) Determining if an Application is Cached
US8244227B2 (en) Information providing device, mobile communication device, information providing system, information providing method, and program
KR20140064930A (en) Predicting user navigation events
KR101227707B1 (en) Method and device for controlling use of context information of a user
US8639803B2 (en) Systems and method for predicting the future location of an entity
CN102314474A (en) Information processing apparatus, information processing system, information processing method, and program
EP1882373A2 (en) Positioning service utilizing existing radio base stations
KR101404209B1 (en) Custom event and attraction suggestions
CN103535057A (en) Discovering nearby places based on automatic query
US20130226837A1 (en) Content Pre-fetching for Computing Devices
JP6576327B2 (en) Method and system for combining local weather forecast and itinerary planning
US20130110992A1 (en) Electronic device management using interdomain profile-based inferences
TWI564738B (en) Method and apparatus for recommending candidate words based on geographic location

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 in:

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 in:

Ref country code: JP