WO2014073081A1 - 時空間データ管理システム、時空間データ管理方法、及びプログラム - Google Patents

時空間データ管理システム、時空間データ管理方法、及びプログラム Download PDF

Info

Publication number
WO2014073081A1
WO2014073081A1 PCT/JP2012/079028 JP2012079028W WO2014073081A1 WO 2014073081 A1 WO2014073081 A1 WO 2014073081A1 JP 2012079028 W JP2012079028 W JP 2012079028W WO 2014073081 A1 WO2014073081 A1 WO 2014073081A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
spatio
temporal
time
spatiotemporal
Prior art date
Application number
PCT/JP2012/079028
Other languages
English (en)
French (fr)
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/JP2012/079028 priority Critical patent/WO2014073081A1/ja
Priority to JP2014545512A priority patent/JP5879445B2/ja
Publication of WO2014073081A1 publication Critical patent/WO2014073081A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries

Definitions

  • the present invention relates to a spatio-temporal data management system that manages data in spatio-temporal associated with time and space.
  • Patent Document 1 discloses a technique for storing data that cannot be recorded on a high-speed main storage device in a low-speed but large-capacity hard disk drive by using a volatile semiconductor main storage device and a nonvolatile hard disk drive. Has been.
  • Patent Document 1 When the technique described in Patent Document 1 described above is applied to a large amount of spatiotemporal data that changes continuously according to time, there are the following problems.
  • the present invention aims to make spatio-temporal data available in real time.
  • a typical example of the invention disclosed in the present application is as follows. That is, a spatio-temporal data management system for managing time-series data associated with a spatio-temporal area, a processor that executes a program, a memory that stores the program, and a plurality of storage devices that store the time-series data And the processor divides the spatio-temporal region by time and space to generate a plurality of spatio-temporal divided regions, and considers the temporal and spatial proximity of the spatio-temporal divided regions, Assigning an identifier represented by a one-dimensional integer value for uniquely identifying each of the spatio-temporal divided regions, and for the spatio-temporal data in a range defined by using the assigned identifier, the plurality of storages Determine placement on the device.
  • data storage and retrieval can be speeded up without impairing the real-time property of spatio-temporal data.
  • FIG. 1 is a block diagram showing the hardware configuration of the spatiotemporal data management system of the first embodiment.
  • the spatiotemporal data management system of this embodiment is a computer having a central processing unit 100, a secondary storage device 110, a main storage device 120, an input device 140, and an output device 150, and these configurations are connected by a bus. .
  • the central processing unit 100 is a processor that executes a program stored in the main storage device 120.
  • the secondary storage device 110 is a non-volatile storage device such as a magnetic storage device or a flash memory, and stores data used by the central processing unit 100 when executing a program. Specifically, the secondary storage device 110 stores space-time compressed data 111 and secondary storage space-time index data 112.
  • the spatio-temporal compressed data 111 includes a spatio-temporal ID and time-series data, and is configured by a tabular spatio-temporal table, for example.
  • the spatio-temporal table may include a minimum value and / or a maximum value of attribute values as necessary.
  • the spatio-temporal compressed data 111 also includes a spatio-temporal data schema.
  • the schema of spatiotemporal data includes column names and data types, as shown in FIG.
  • the secondary storage spatiotemporal index data 112 and the main storage spatiotemporal index data 124 are indexes for searching spatiotemporal expansion data and spatiotemporal compressed data (record numbers and record storage addresses) using a spatiotemporal ID as a key.
  • a B-Tree index can be used.
  • the spatio-temporal index data 124 in the main storage device, it is possible to speed up the search for the spatio-temporal compressed data 111 in the secondary storage device.
  • the main storage device 120 is a high-speed and volatile storage device such as a DRAM (Dynamic Random Access Memory), and stores an operating system (OS) and application programs.
  • the central processing unit 100 implements the basic functions of the computer by executing the operating system, and the functions provided by the computer are realized by executing the application program.
  • the spatiotemporal data migration unit 134 migrates the spatiotemporal data stored in the main storage device 120 to the secondary storage device 110 (see FIG. 3). Further, the spatiotemporal data search unit 133 seamlessly searches the spatiotemporal data stored in the main storage device 120 and the secondary storage device 110 (see FIG. 4).
  • the main storage device 120 stores spatiotemporal management data 121, spatiotemporal expansion data 123, and main memory spatiotemporal index data 124.
  • the main storage device 120 stores a program for mounting the spatiotemporal data management unit 130.
  • the spatiotemporal data management unit 130 includes a spatiotemporal management data creation unit 131, a spatiotemporal data registration unit 132, a spatiotemporal data search unit 133, and a spatiotemporal data migration unit 134.
  • the spatiotemporal management data 121 is data for managing the spatiotemporal expansion data 123 and the spatiotemporal compressed data 111, and details thereof are shown in FIG.
  • the spatio-temporal development data 123 includes a spatio-temporal ID and time-series data, and is constituted by, for example, a tabular spatio-temporal table.
  • the spatio-temporal table may include a minimum attribute value and a maximum attribute value as necessary.
  • the spatiotemporal development data 123 also includes a schema of spatiotemporal data.
  • the schema of spatiotemporal data includes column names and data types.
  • the spatiotemporal data management unit 130 manages the spatiotemporal compressed data 111 and the spatiotemporal expansion data 123 (for example, a database management system).
  • the spatiotemporal management data creation unit 131 creates spatiotemporal management data 121 from the input spatiotemporal management data.
  • the spatiotemporal data registration unit 132 creates spatiotemporal expansion data 123 from the input spatiotemporal data.
  • the spatio-temporal data search unit 133 refers to the spatio-temporal compressed data 111 and the spatio-temporal expansion data 123, and executes search processing (outline determination, detailed determination).
  • the spatiotemporal data migration unit 134 migrates the data stored in the spatiotemporal expansion data 123 to the spatiotemporal compressed data 111.
  • the secondary storage device 110 may store a program executed by the central processing unit 100.
  • the program is read from the secondary storage device 110, loaded into the main storage device 120, and executed by the central processing unit 100.
  • the input device 140 is a user interface such as a keyboard and a mouse.
  • the output device 150 is a user interface such as a display device or a printer.
  • the spatio-temporal data management system may have a communication interface that connects to a network and controls communication with other devices.
  • the spatio-temporal data management system is connected to a terminal via a communication interface, and the terminal has an input device 140 and an output device 150, and the spatio-temporal data management system performs spatio-temporal data according to a request from the terminal. And output the processing result to the terminal.
  • the spatiotemporal data management system may be physically constructed on one computer or physically constructed on a logical partition configured on one or a plurality of computers.
  • the program executed by the central processing unit 100 is provided to the computer via a nonvolatile storage medium or a network.
  • the computer may be provided with an interface for reading a storage medium (CD-ROM, flash memory, etc.).
  • FIG. 2 is a flowchart of data registration processing executed by the spatiotemporal data registration unit 132 of the first embodiment.
  • the space-time attribute is stored in the main memory. ID is given and data is registered.
  • the pre-registration data reading unit 201 reads the pre-registration data 200.
  • the pre-registration data 200 may be data in a file format such as csv or data stored in a database. An example of representative spatiotemporal data will be described later with reference to FIG.
  • the registration spatio-temporal ID-added data creation unit 202 uses the spatio-temporal management data 121 to issue an ID considering the spatio-temporal attribute, and generates registration spatio-temporal data 203.
  • a method for issuing the space-time ID will be described later with reference to FIG.
  • the expanded data registration unit 206 registers the generated spatiotemporal data 203 for registration in the spatiotemporal expanded data 123.
  • the main memory spatiotemporal index data creating unit 204 creates main memory spatiotemporal index data 124 from the generated registration spatiotemporal data 203.
  • the spatiotemporal ID management data creation unit 208 creates spatiotemporal ID management data 122.
  • the spatiotemporal ID management data 122 is information on the time interval, the spatial interval, and the storage location of the spatiotemporal data represented by the spatiotemporal ID. Note that the already registered space-time IDs are not registered redundantly. An example of the spatio-temporal ID management data 122 will be described later with reference to FIG.
  • the storage location included in the spatiotemporal ID management data 122 stores a symbol representing the storage location of the table. Is done.
  • the processing described above is repeatedly executed. That is, after the above process is completed, if there is data that has not been registered yet, the pre-registration data reading unit 201 reads the data and executes the subsequent processes. If the pre-registration data has not yet arrived, the pre-registration data reading unit 201 waits until the data arrives.
  • FIG. 3 is a flowchart of data migration processing executed by the spatiotemporal data migration unit 134 of the first embodiment.
  • the spatiotemporal data migration unit 134 executes processing for compressing and registering data registered as spatiotemporal expansion data 123 on the main storage device 120 on the secondary storage device 110. This process prevents the capacity on the small-capacity main storage device 120 from becoming full. Therefore, the spatiotemporal data migration unit 134 includes a data migration condition determination unit 301, a migration data search unit 302, a data type change unit 303, a secondary storage spatiotemporal index data creation unit 305, a compressed data registration unit 306, a spatiotemporal ID. A management data creation unit 307 and a data migration success / failure determination unit 308 are included.
  • the data migration condition determination unit 301 refers to the data migration condition 125 and determines whether or not there is a spatiotemporal ID to be migrated from the spatiotemporal expansion data 123 stored in the main storage device 120 to the secondary storage device 110.
  • An example of the data migration condition 125 will be described later with reference to FIG.
  • the migration data search unit 302 searches for the spatiotemporal expansion data 123 including the corresponding spatiotemporal ID.
  • the expanded data search process executed by the migration data search unit 302 on the main storage device 120 is the same as the expanded data search process executed by the main memory search unit 403, and will be described later with reference to FIG.
  • the data type changing unit 303 changes the type of the retrieved data, and creates compressed data 304 in which data having the same space-time ID of the same object is compressed in one record.
  • compressed data 304 An example of the compressed data will be described later with reference to FIG.
  • the compressed data registration unit 306 registers the generated compressed data 304 in the spatio-temporal compressed data 111.
  • the secondary storage space-time index data creation unit 305 creates secondary storage space-time index data 112 from the generated compressed data 304.
  • the spatiotemporal ID management data creation unit 307 creates spatiotemporal ID management data 122 from the generated compressed data 304.
  • the spatiotemporal ID management data 122 is information on the time interval, the spatial interval, and the storage location of the spatiotemporal data represented by the spatiotemporal ID. Since the spatiotemporal ID to be registered is already registered when the spatiotemporal data 123 is registered in the spatiotemporal data registration unit 132, the record including this spatiotemporal ID is deleted. Then register.
  • the storage location included in the spatiotemporal ID management data 122 is a symbol representing the storage location of the table. Is stored.
  • the data migration success / failure determination unit 308 determines whether the secondary storage spatiotemporal index data 112, the spatiotemporal compressed data 111, and the spatiotemporal ID management data 122 are all updated normally after the compressed data 304 is created. To do.
  • the commit unit 309 deletes the spatiotemporal expansion data 123 on the main memory searched by the migration data search unit 302.
  • the data migration success / failure determination unit 308 determines that the migration has not been completed normally, the state before the update of the secondary storage space-time index data 112, the space-time compressed data 111, and the space-time ID management data 122 is updated.
  • the data migration condition determination unit 301 determines whether there is data to be migrated. If the migration condition is not satisfied, the data migration condition determination unit 301 waits until the migration condition becomes true.
  • FIG. 4 is a flowchart of the search process executed by the spatio-temporal data search unit 133 of the first embodiment.
  • the spatiotemporal data search unit 133 seamlessly searches for data stored in different formats in the main storage device 120 and the secondary storage device 110.
  • the data location search unit 401 determines a storage area to be searched based on the spatiotemporal data search condition 400 and the spatiotemporal ID management data 122. Specifically, the space-time ID for specifying the space-time to be searched is extracted by comparing the space-time to be searched with the space-time ID management data 122. Using the example shown in FIG. 11, when the spatio-temporal data search condition 400 is (2 ⁇ time ⁇ 4 and (1.2,1.0) ⁇ space ⁇ (3.0, 2.0)), the search is performed. The target spatiotemporal region is included in the spatiotemporal region specified by the spatiotemporal ID ⁇ 22, 23, 32, 33 ⁇ . At this time, the location where the data of each space-time ID is stored is known.
  • the results of obtaining the space-time ID and the search condition that are the search targets for each storage location are referred to as a main memory search condition 402 and a secondary memory search condition 405.
  • the main memory search condition 402 is (space-time ID ⁇ 22, 23 ⁇ , 2 ⁇ time ⁇ 3 and (1.2, 1.0) ⁇ space ⁇ (3.0, 2.0)).
  • the secondary storage search condition 405 is (temporal space ID ⁇ 32, 33 ⁇ , 3 ⁇ time ⁇ 4 and (1.2, 1.0) ⁇ space ⁇ (3.0, 2.0)).
  • the main memory search unit 403 searches the spatiotemporal expansion data 123 and the main memory spatiotemporal index data 124 using the main memory search condition 402 and outputs a main memory search result 404.
  • the secondary storage search unit 406 searches the spatio-temporal compressed data 111 and the secondary storage spatio-temporal index data 112 using the secondary storage search condition 405, and outputs a secondary storage search result 407. Details of processing executed by the main memory search unit 403 will be described later with reference to FIG. 5, and details of processing executed by the secondary storage search unit 406 will be described later with reference to FIG.
  • search result merge unit 408 combines the main memory search result 404 and the secondary memory search result 407.
  • search results may be sorted by spatiotemporal ID (or other values).
  • the search result is output as a merge search result 409.
  • the spatial data and the spatial search request are rectangular, and will be described in a format that can be expressed by a pair of the minimum and maximum values of x and y. It may be in the form.
  • the spatial condition is a polygon other than a rectangle, for example, a search is performed using a circumscribed rectangle that contains the polygon, and it is determined whether the search result is included in the polygon and the search result is obtained. This also applies to other spatial data in this patent.
  • FIG. 5 is a flowchart of the search process executed by the main memory search unit 403 of the first embodiment.
  • the main memory search unit 403 performs processing for returning a result of searching the spatiotemporal expansion data 123 stored in the main storage device 120 using the main memory search condition 402.
  • the query statement generation unit 500 generates a query statement 501 using the main memory search condition 402.
  • the main memory search condition 402 at least one of the space-time ID, time, space, and object ID is a search key. Further, when the spatio-temporal expansion data 123 stores other attribute information, the attribute information may be used as a search key.
  • the query statement execution unit 502 uses the generated query statement 501 and main memory spatio-temporal index data 124 to acquire a record corresponding to the search query from the spatio-temporal expansion data 123 and outputs it as a main memory search result 404. .
  • FIG. 6 is a flowchart of the search process executed by the secondary storage search unit 406 of the first embodiment.
  • the secondary storage search unit 406 performs processing to return a result of searching the spatio-temporal compressed data 111 stored in the secondary storage device 110 using the secondary storage search condition 405.
  • the spatio-temporal data is compressed in the secondary storage device 110, as shown in FIG. 7, after performing a rough determination using the spatio-temporal ID and the object ID as search keys, the second time is stored in the compressed record.
  • a two-stage search process for executing detailed determination on data that matches the next storage search condition 405 is performed.
  • the secondary storage search condition 405 At least one of the space-time ID, time, space, and object ID is a search key.
  • the secondary storage search condition 405 includes the spatio-temporal ID used by the data position search unit 401 for searching the data storage position. Further, when the spatio-temporal compressed data 111 stores other attribute information, the attribute information may be used as a search key.
  • the query statement generator 600 generates a query statement 601 using the secondary storage search condition 405.
  • a rough determination is first performed using the spatio-temporal ID and object ID as search keys. Therefore, the query statement generation unit 600 creates a query statement 601 using the spatio-temporal ID and object ID.
  • the summary determination unit 602 acquires a record corresponding to the search query from the spatio-temporal compressed data 111 using the query statement 601 and the secondary storage spatio-temporal index data 112, and outputs it as a result candidate 603.
  • the detail determination unit 604 determines whether the result candidate 603 matches the secondary storage search condition 405.
  • the detail determination unit 604 performs determination using detailed search conditions (that is, a time range, a space range, and an attribute range) that are not used by the outline determination unit 602.
  • the detail determination unit 604 outputs data determined to match the secondary storage search condition 405 as a secondary storage search result 407.
  • FIG. 8 is a flowchart of the spatiotemporal ID calculation process of the first embodiment.
  • time t and coordinates (x, y) included in pre-registration data 200 are acquired. Thereafter, in process 2002, the time axis division number tid of the pre-registration data 200 is calculated.
  • the division number tid indicates how many spatio-temporal division regions the pre-registration data is included in the time axis direction from the origin (start time).
  • the x-axis division number xid of the pre-registration data 200 is calculated.
  • the division number xid indicates the number of the spatio-temporal division region from the origin (minimum value on the x axis) in the time x-axis direction.
  • the y-axis division number yid of the pre-registration data 200 is calculated.
  • the division number yid indicates how many spatio-temporal division regions the pre-registration data is included in the time y-axis direction from the origin (minimum value on the y-axis).
  • TMIN is the start time on the time axis
  • tw is the division width on the time axis
  • XMIN is the minimum value on the x-axis
  • xw is the division width on the x-axis
  • YMIN is the minimum value on the y-axis
  • yw is the division width on the y-axis.
  • tid is expressed by the specified number of bits Nbt and binary number [tid] 2
  • xid is expressed by the specified number of bits Nbx and binary number [xid] 2
  • Yid is expressed by a specified number of bits Nby and a binary number [yid] 2.
  • [] n represents the integer value displayed by the n base number.
  • the Nb-bit space-time ID is divided into upper Nbt bits and lower (Nb-Nbt) bits, [tid] 2 for the upper bits, [yid] 2 and [[ [stid] 2 is generated by arranging xid] 2 in order from the upper bit.
  • FIG. 9 is a diagram for explaining an example of typical pre-registration data 200 according to the first embodiment.
  • Spatiotemporal data is data having time and space values.
  • one record of the spatiotemporal data before registration includes a time value, a space value, and an attribute value (for example, an object ID).
  • FIG. 9 exemplifies spatiotemporal data in which the space is two-dimensional, but all dimensions are targeted.
  • the spatiotemporal data may include attribute values as data related to time and space. Some attribute values indicate the state of the object, such as acceleration and heart rate.
  • FIG. 10 is a diagram for explaining an example of the spatiotemporal expansion data 123 of the first embodiment.
  • the spatiotemporal development data 123 is obtained by registering the registration spatiotemporal data 203 in the same format, and the format of both data is the same.
  • the registration space-time data 203 is data in which a space-time ID is assigned to each record of the pre-registration data 200.
  • each data is clustered into larger units associated with time and space. That is, the same spatio-temporal ID is assigned to data close in time and space, and index data can be easily created later using the spatio-temporal ID.
  • the data format of the spatiotemporal development data 123 includes a spatiotemporal ID, a time value, a spatial value, and an attribute value (for example, an object ID) in one record.
  • FIG. 11 is a diagram illustrating an example of the spatiotemporal ID management data 122 according to the first embodiment.
  • the spatiotemporal ID management data 122 is data for managing a time section and a spatial section including data to which a spatiotemporal ID is assigned, and a storage location of the data.
  • each record includes a spatiotemporal ID, a start time, an end time, a start position, an end position, and a storage location.
  • the time and the end point of the space represented by the spatio-temporal ID not already registered in the spatio-temporal ID management data are obtained, and the spatio-temporal data is registered.
  • the storage location, the obtained time, and the end point of the space are registered in the space-time ID management data 122.
  • a spatio-temporal ID creation process FIG. 8
  • FIG. 12 is a diagram for explaining an example of the spatiotemporal management data 121 of the first embodiment.
  • the spatiotemporal management data 121 includes management parameters and values.
  • space-time ID bit number is the number of bits of an integer value representing the space-time ID.
  • the “space dimension” is “2” if the space-time where the space-time data is placed is a two-dimensional xy plane, and “3” if the space-time data is a three-dimensional xyz space.
  • the number of space bits of the spacetime ID (the minimum number of bits necessary to represent the number of divisions of each axis of the space) and the number of time bits can be obtained.
  • the number of space bits is a value obtained by subtracting the number of space bits from the number of space-time ID bits, and is 4 bits in the example of the space-time management data 121 shown in FIG.
  • the spatiotemporal management data 121 needs to be set when the spatiotemporal data management system operates.
  • the spatio-temporal management data 121 may be input in a CSV format file or interactively using a CUI or GUI. Further, a default value may be set in advance in the spatiotemporal data management system, and the default value may be used when the user does not input.
  • the division width of the spatio-temporal area managed by the spatio-temporal management data 121 can be dynamically changed to improve search efficiency and / or storage efficiency.
  • a spatiotemporal area searched under one search condition may be collected and given one spatiotemporal ID. By combining them into one spatio-temporal ID, the total number of spatio-temporal IDs is reduced and search efficiency is improved.
  • a spatiotemporal area that is rarely searched may be collected and given a single spatiotemporal ID. Even if spatio-temporal regions with low search probabilities are combined into one spatio-temporal ID, the influence on the search efficiency of the part is small, but the number of spatio-temporal IDs is reduced, so that the overall search efficiency is improved.
  • the already stored data is re-stored according to the new space-time division area given according to the new space-time management data 121, and the space-time ID management data 122 is updated. Good.
  • the past spatiotemporal data may be left as it is.
  • the original spatiotemporal data is deleted.
  • Such dynamic change of the spatio-temporal ID is possible because it is managed by the spatio-temporal ID management data 122.
  • An example of dynamically changing the space-time ID will be described later with reference to FIG.
  • FIG. 13 is a diagram for explaining an example of the spatio-temporal compressed data 111 according to the first embodiment.
  • the spatio-temporal compressed data 111 includes a spatio-temporal ID, an object ID, and time-series data.
  • the time-series data is a collection of all data to which the same object ID and the same space-time ID are assigned in the space-time development data 123.
  • the time series data is composed of a set of time, x-coordinate and y-coordinate (t1, x1, y1) and is arranged in time order. Further, when the same set of x-coordinate and y-coordinate continues in time-series data, the data size between them may be reduced by equivalent compression.
  • attribute information (c1, c2) other than space-time is included, the attribute information is stored in the same record by placing the attribute information after the space-time information (t1, x1, y1, c11, c21). Can do.
  • FIG. 14 is a diagram for explaining an example of the data migration condition 125 of the first embodiment.
  • the data migration condition 125 is a condition used when the spatiotemporal data migration unit 134 converts the spatiotemporal decompressed data 123 stored in the main storage device 120 into the spatiotemporal compressed data 111 stored in the secondary storage device 110. It is.
  • the data migration condition 125 may be input in a file such as a CSV format, or may be input interactively using a CUI or GUI.
  • the data migration condition 125 includes a data migration rule, capacity, time, migration source, migration destination, migration source data type, and migration destination data type.
  • a basic rule for converting the spatiotemporal expanded data 123 stored in the main storage device 120 into the spatiotemporal compressed data 111 stored in 110 is set.
  • data migration rules have capacity and time.
  • the capacity is selected in the data migration rule, when the data amount of the spatiotemporal expansion data 123 stored in the main storage device 120 is equal to or larger than the capacity (m1) set in the capacity item, the data amount is m1. It is decided to convert until the following.
  • the capacity may be defined by an absolute capacity or a ratio of usable capacity.
  • the ratio when defined by the ratio, when the data amount of the expanded data is m1% or more of the total usable capacity, it is determined that conversion is performed until it becomes m1% or less.
  • the migration rule is time, it is determined that the migration is performed for the time t1 stored in the development data every time t1. At this time, the capacity value is not used in the migration rule.
  • the items of the migration source and the migration destination are used for specifying the data migration source and the migration destination table and accessing the migration source data and the migration destination data.
  • a DB name, a Table name, a User name, or the like can be used as the migration source and the migration destination.
  • the items of the migration source data type and the migration destination data type are formats in which data is stored.
  • conversion from the expanded data on the main storage to the compressed data on the secondary storage is taken as an example as the simplest configuration. Therefore, Type 1 of the migration source data type is “decompression type” and the migration destination The data type Type 2 is a “compression type”.
  • the desired data can be converted and transferred by changing the item of the data transfer condition 125. For example, the transition from the spatiotemporal expansion data stored in the main storage device 120 to the spatiotemporal expansion data stored in the secondary storage device 110, or the spatiotemporal expansion data stored in the main storage device 120 changes to the main storage device 120. It is possible to perform data migration in which the spatiotemporal compressed data is created and the created spatiotemporal compressed data is stored in the secondary storage device 110.
  • the conversion and migration of data may be performed from data of an old time (with a small space-time ID) in the space-time expansion data stored in the main storage device 120. This is because the spatio-temporal data management system is required to process real-time data at high speed, and new data is desired to remain as long as possible on the main memory where the search process is fast.
  • a spatio-temporal ID is created using Zorder so that a spatio-temporal ID is assigned to spatio-temporal data with a short spatial distance. For this reason, it is possible to place spatially and temporally close temporal and spatial data in a storage area close to the secondary storage device 110 by shifting in order from the temporal and spatial data of the smaller temporal and spatial ID. As a result, data that is highly likely to be searched with a single search query because it is spatially close is placed in a close storage area, and a storage device (for example, a hard disk drive) in which I / O processing is likely to become a bottleneck is secondary. Even when used in the storage device 110, it is possible to search at high speed.
  • a storage device for example, a hard disk drive
  • a migration method other than migration from old data is possible by providing a separate migration rule.
  • a spatiotemporal ID that is frequently searched may be left in the main storage device 120.
  • the time zone and / or space area to be noticed may be designated or dynamically designated in advance, and the space-time ID data including those time zones and / or space areas may be left in the main storage device 120. For example, this may be the case when you want to focus only on the time zone during the day or only in the Tokyo metropolitan area.
  • a plurality of these rules can be applied simultaneously. For example, although only the daytime metropolitan area is left in the main storage device 120, if the data amount still becomes m1%, old data may be migrated from the daytime metropolitan area data.
  • 15A and 15B are diagrams for explaining the concept of the spatio-temporal ID according to the first embodiment.
  • the space is described as a two-dimensional + time (one-dimensional) space-time, but it can be extended to an n-dimensional space.
  • the space-time ID is an identifier for collectively handling data having time and space attributes in near time and near space. Therefore, as shown in FIG. 15A, the spatiotemporal region is divided into rectangular parallelepipeds. When dividing, first, the time ID (t1, t2, t3, t4) is assigned by cutting in the time axis direction. Next, as shown in FIG. 15B, the spatio-temporal ID is determined so that a value close to data having a short spatial distance is given in the same time zone. Specific processing for calculating the space-time ID will be described later with reference to FIG. .
  • the spatial plane can be divided using Zorder. Zorder is a method of space filling line that follows the space plane in order of increasing spatial distance, and other space filling lines such as a Hilbert line may be used.
  • the spatiotemporal proximity can be easily managed in one dimension. For this reason, in the data transfer and data compression using the spatio-temporal ID performed in the present embodiment, it is possible to easily manipulate data that are spatially close. In addition, data that are close in space and time and are highly likely to be searched together can be arranged in the same place as much as possible to increase search efficiency.
  • FIG. 16A and FIG. 16B are diagrams for explaining a specific example of the dynamic change of the spatio-temporal grid in the first embodiment.
  • FIG. 16A shows an example of combining and dividing in the time direction
  • FIG. 16B shows an example of combining and dividing in the spatial direction.
  • This dynamic change of the spatio-temporal grid is executed based on at least one of the frequency of registration processing, the frequency of search processing, and the amount of data included in the spatio-temporal division region.
  • a spatiotemporal grid having a high registration processing frequency may be divided into a plurality of spatiotemporal grids.
  • a spatio-temporal grid having a high frequency of search processing may be divided into a plurality of spatio-temporal grids.
  • the amount of data included in the spatiotemporal grid is large, it may be divided into a plurality of spatiotemporal grids.
  • the time zones t3 and t4 are combined to double the time division width.
  • the combined space-time grid may be given a smaller time ID (t3).
  • the time zones t3 and t4 can be divided. The combination in the time direction is effective when the time zones t3 and t4 are often searched together.
  • the spatio-temporal grid can be divided in the spatial direction. The division in the spatial direction is effective when the spatial search range is larger than the assumed search range.
  • the combination and division in the time direction and the spatial direction described above may be repeatedly executed.
  • the area may be expanded by a factor of two and twice, or the area may be reduced by a factor of 1/2 or 1/2.
  • the initial space-time division width may be set sufficiently small so that the time and space IDs are not smaller than zero.
  • the data stored in the main storage device before being stored in the secondary storage device can be searched, and the real-time property of the spatiotemporal data is not impaired. Data storage and retrieval can be accelerated.
  • the spatio-temporal data is collected for each spatio-temporal ID and the data is transferred from the main storage device to the secondary storage device, the data should be stored in a storage format suitable for the characteristics of the main storage device and the secondary storage device.
  • data storage efficiency and retrieval efficiency can be improved.
  • the storage location of the spatio-temporal data is specified, the spatio-temporal data is searched for each specified storage location, and the search results are combined, so the spatio-temporal data is searched across multiple storage devices. be able to.
  • the second embodiment is characterized in that, in addition to the configuration of the first embodiment, the space-time trajectory data is compressed and decompressed. Thereby, the data amount of continuous and smooth data such as movement data of people and vehicles can be reduced, and the efficiency of data storage and retrieval can be improved.
  • the time width to be decompressed data can be returned in the time width requested by the user.
  • FIG. 17 is a block diagram illustrating a hardware configuration of the spatiotemporal data management system according to the second embodiment.
  • the spatio-temporal data management system of the present embodiment includes a movement locus compression interpolation parameter 126, a movement locus data compression unit 135, and a movement locus data decompression unit 136.
  • the processing of the spatiotemporal data transfer unit 134 and the secondary storage search unit 406 is different from that of the first embodiment.
  • symbol is attached
  • the movement locus compression interpolation parameter 126 will be described later with reference to FIG.
  • the movement locus data compression unit 135 compresses movement locus data.
  • the trajectory compression method executed by the movement trajectory data compression unit 135 will be described later with reference to FIGS. 18A and 18B.
  • the movement trajectory data decompression unit 136 interpolates the movement trajectory data.
  • the trajectory interpolation method executed by the movement trajectory data decompression unit 136 will be described later with reference to FIGS. 19A and 19B.
  • FIG. 18A and 18B are diagrams for explaining the concept of the trajectory compression method of the second embodiment.
  • FIG. 18A shows the original trajectory points
  • FIG. 18B shows the trajectory points after compression.
  • the approximate line is shown as a straight line for easy understanding, the approximate line may be a polynomial using a quadratic or higher order function.
  • the start point and the end point are connected by an approximate line.
  • the approximate line is generated according to the locus compression rule of the movement locus compression interpolation parameter 126.
  • the approximate line becomes the trajectory point group. Is fully expressed. As a result, when the error is large and the approximate line does not sufficiently represent the trajectory point group, the point with the largest error is added to the compression point.
  • a compression point group including points other than the start point and the end point is created as shown in FIG. 18B.
  • the process of adding the compression points is recursively executed until the approximate line sufficiently represents the locus point group.
  • Data volume can be reduced by locus compression, and data storage efficiency and search efficiency can be improved.
  • the trajectory compression is particularly effective when the trajectory points are arranged on a straight line.
  • FIG. 19A and 19B are diagrams for explaining the concept of the movement trajectory interpolation method of the second embodiment.
  • FIG. 19A shows trajectory points after compression
  • FIG. 19B shows trajectory points after interpolation.
  • FIG. 19A there are three trajectory points after compression.
  • three compression points may be returned, or a point interpolated between the compression points may be returned.
  • the interpolation frequency Hz1 of the movement trajectory compression interpolation parameter 126 is 2 Hz
  • the compression points are connected by the approximate line used at the time of compression, and the interpolation point is obtained every 0.5 seconds on the approximate line in space-time. be able to.
  • the data amount reduced by the movement locus compression process can be interpolated to the fineness desired by the user. Details of the movement locus interpolation processing will be described later with reference to FIG.
  • FIG. 20 shows an example of a representative movement trajectory compression interpolation parameter 126 of the second embodiment.
  • the movement trajectory compression interpolation parameter 126 includes a trajectory compression rule, a trajectory compression lower limit rule, a compression rate, a compression accuracy, and an interpolation frequency.
  • the trajectory compression rule defines a method for generating an approximate line. For example, no compression, a linear function, or a quadratic function can be selected.
  • the trajectory compression lower limit rule determines the type of condition for ending the compression process, and can select, for example, the compression rate and the compression accuracy.
  • the compression rate and the compression accuracy are specific values that are conditions for ending the compression process.
  • Interpolation accuracy determines the interval at which interpolation points are set.
  • the movement trajectory compression interpolation parameter 126 may be input in a CSV format file or interactively using the CUI or GUI. Further, a default value may be set in advance in the spatiotemporal data management system, and the default value may be used when the user does not input.
  • FIG. 21 is a flowchart of data migration processing executed by the spatiotemporal data migration unit 134 of the second embodiment.
  • compressed data 304 obtained by compressing data having the same spatiotemporal ID is registered.
  • locus compressed data 1701 in which the locus compression unit 1700 compresses the movement locus from the compressed data 304 is registered. Is generated and locus compressed data is registered.
  • symbol is attached
  • the trajectory compression unit 1700 refers to the moving trajectory compression interpolation parameter 126, compresses the trajectory according to the parameter, and generates trajectory compression data 1701. The trajectory compression process will be described later with reference to FIG.
  • the compressed data registration unit 306 registers the generated locus compressed data 1701 in the spatiotemporal compressed data 111. Further, the secondary storage space-time index data creation unit 305 creates secondary storage space-time index data 112 from the generated trajectory compression data 1701. Furthermore, the spatio-temporal ID management data creation unit 307 creates spatio-temporal ID management data 122 from the trajectory compression data 1701.
  • FIG. 22 is a flowchart of the movement trajectory compression process of the second embodiment.
  • compressed data 304 is read in processing 2300.
  • the movement locus compression interpolation parameter 126 is read.
  • the start point and end point of the trajectory are registered in the trajectory compression data.
  • the movement trajectory group compression process is called with an argument (1, N).
  • N is the total number of locus points of the compressed data.
  • FIG. 23 is a flowchart of the movement trajectory group compression process of the second embodiment.
  • the movement trajectory group compression process is terminated.
  • a trajectory point imax that gives the maximum error value is obtained from trajectory points i satisfying ist ⁇ i ⁇ iend, and the trajectory point imax is registered in the trajectory compression data.
  • the movement trajectory group compression process 2302 is called with arguments (ist, imax).
  • the movement trajectory group compression process 2302 is called with arguments (imax, iend). Thereafter, the movement trajectory group compression process is terminated.
  • trajectory compression rule is a linear function (approximate line is a straight line) and only the compression point is recorded has been described.
  • An approximate line represented by a function may be generated.
  • time and space information and polynomial coefficients (t1, x1, y1, c11, c21) may be recorded for the trajectory compression data. If the locus compression rule is not compressed, no compression is performed.
  • FIG. 24 is a flowchart of the search process executed by the secondary storage search unit 406 of the second embodiment.
  • the rough determination and the detailed determination are executed, and the spatio-temporal compressed data stored in the secondary storage device 110 is searched as it is.
  • the movement trajectory is interpolated. The feature is that processing to supplement the data is performed.
  • symbol is attached
  • the movement trajectory interpolation unit 1801 reads the detailed determination result 1800 output from the detail determination unit 604, interpolates data according to the trajectory compression rule and interpolation frequency of the movement trajectory compression interpolation parameter 126, and stores the interpolated result as a secondary storage.
  • the search result 407 is output. Details of the movement locus interpolation processing will be described later with reference to FIG.
  • FIG. 25 is a flowchart of the movement trajectory interpolation process of the second embodiment.
  • the detailed determination result 1800 is read.
  • the movement locus compression interpolation parameter 126 is read.
  • the parameter n is set to the initial value 1, and the data with the oldest time in the detailed determination result 1800 is selected.
  • the nth compression point and the (n + 1) th compression point are selected.
  • an approximate line between the nth compression point and the n + 1th compression point is obtained according to the locus compression rule of the movement locus compression interpolation parameter 126.
  • processing 2505 an interpolation point is obtained on the obtained approximate line according to the interpolation frequency Hz1.
  • processing 2506 it is determined whether processing between all the compression points has been completed. When the process between all the compression points is completed, the movement trajectory interpolation process is terminated. On the other hand, if processing between some compression points is not completed, 1 is added to n in processing 2507 and the processing returns to processing 2503.
  • the data is transferred from the main storage device to the secondary storage device. Search efficiency can be improved.
  • the compression process is controlled by the compression rate and the compression accuracy, it is possible to perform compression as much as the user desires.
  • the compressed data is interpolated, the data can be presented with the granularity desired by the user.
  • the third embodiment is characterized by visualizing temporal and spatial trajectory data in addition to the configuration of the first embodiment.
  • FIG. 26 is a block diagram illustrating a hardware configuration of the spatiotemporal data management system according to the third embodiment.
  • the spatiotemporal data management system of the present embodiment has a spatiotemporal data visualization unit 137.
  • symbol is attached
  • FIG. 27 is a diagram illustrating an example of a screen 2705 generated by the spatiotemporal data visualization unit 137 according to the third embodiment.
  • a screen 2705 shown in FIG. 27 displays space-time data on the output device 150 such as a display in real time.
  • the screen shown in FIG. 27 displays the position of the object 2701 on the panel 2700 displaying the background of a map, satellite photograph, aerial photograph, street view, and the like. Further, a time 2702 is displayed on the panel 2700. The time displayed on the panel 2700 can be changed using a time slider 2703. The panel 2700 may be enlarged, reduced, moved, or rotated by an operation of a mouse, a touch panel, or the like.
  • the real time mode displays the latest data included in the spatiotemporal data management system of the present embodiment.
  • the bar of the time slider dynamically moves to a location indicating the current time.
  • FIG. 28 is a diagram for explaining another example of the screen 2805 generated by the spatiotemporal data visualization unit 137 of the third embodiment.
  • a screen 2805 shown in FIG. 28 displays the interpolated spatiotemporal data on the output device 150 such as a display.
  • the screen example shown in FIG. 28 is different from the screen example shown in FIG. 27, and the time width to be displayed can be changed by operating a mouse, a touch panel, or the like.
  • the time width is changed, the width of the slider on the scroll bar 2803 is changed, and the display of the time range 2802 is also changed.
  • a plurality of data of one object within the display time range may be displayed, and the direction of movement may be displayed with an arrow 2806.
  • the user may be able to confirm the type of data.
  • it may be possible to select whether to display actual data or interpolation data by operating the display switching button 2808.
  • spatiotemporal data can be presented to the user in an easy-to-understand manner.
  • areas for storing spatiotemporal data are provided in each of one main storage device 120 and one secondary storage device 110, but the present invention has this configuration.
  • the configuration is not limited, and any configuration may be used such as a plurality of storage areas on the main storage device 120 and / or a plurality of storage areas on the secondary storage device.
  • data is migrated between two storage areas, but data may be migrated between three or more storage areas in multiple stages.
  • spatio-temporal data having a high search frequency may be stored in the main storage device 120 as in a general cache technology.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 時空間領域に対応付けられる時系列データを管理する時空間データ管理システムであって、プログラムを実行するプロセッサと、前記プログラムを格納するメモリと、前記時系列データを格納する複数の記憶装置とを備え、前記プロセッサは、前記時空間領域を時間及び空間で分割して、複数の時空間分割領域を生成し、前記時空間分割領域の時間及び空間の近傍性を考慮して、前記複数の時空間分割領域の各々を一意に識別するための、一次元の整数値で表現される識別子を割り当て、前記割り当てられた識別子を用いて定められた範囲の時空間データについて、前記複数の記憶装置への配置を決定する。

Description

時空間データ管理システム、時空間データ管理方法、及びプログラム
 本発明は、時間及び空間に対応付けられる時空間におけるデータを管理する時空間データ管理システムに関する。
 近年の計測、通信技術の発達により、位置及び時刻の情報(時空間情報)を含むセンシングデータが安価かつ大量に取得可能になり、これらを活用した新たなサービスが生まれつつある。例えば、タクシーの位置及び時刻の情報から交通流を把握する技術が開発されている。
 これらのリアルタイムなサービスは、情報が古くなると、その価値が下がる。このため、位置及び時刻の情報を含むデータを高速に収集し、解析し、再配信することが求められる。
 これらの処理の中で、ハードディスクドライブのI/Oを必要とする、収集データのデータベースへの格納及び検索処理がボトルネックとなる。時空間情報のデータベースへの格納及び検索を高速化するために、いくつかの技術が開発されている。例えば、近年、揮発性半導体による主記憶装置上にデータベースを構築することによって処理を高速化する方法が注目されている。しかし、実際には、半導体メモリの現在の集積技術の制限から、一個の64ビットCPUに搭載される主記憶装置としての半導体メモリは、数十GB程度である。
 また、特許文献1では、揮発性半導体による主記憶装置及び不揮発性のハードディスクドライブを用いることによって、高速な主記憶装置上に記録できないデータを、低速だが大容量のハードディスクドライブに格納する技術が開示されている。
特開2009-32016号公報
 前述した特許文献1に記載された技術を、時間に従って連続的に変化する大量の時空間データに適用する場合、以下の問題がある。
 まず、記憶装置間で分散して格納した時空間データを検索する場合、複数のデータベースに跨って検索をするので、検索性能が悪化する問題がある。また、複数の記憶装置で同一の形式でデータを格納する必要があるため、記憶装置ごとに最適な格納形式を用いることができないという問題がある。
 本発明は、時空間データのリアルタイムに利用可能とすることを目的とする。
 本願において開示される発明の代表的な一例は以下の通りである。すなわち、時空間領域に対応付けられる時系列データを管理する時空間データ管理システムであって、プログラムを実行するプロセッサと、前記プログラムを格納するメモリと、前記時系列データを格納する複数の記憶装置とを備え、前記プロセッサは、前記時空間領域を時間及び空間で分割して、複数の時空間分割領域を生成し、前記時空間分割領域の時間及び空間の近傍性を考慮して、前記複数の時空間分割領域の各々を一意に識別するための、一次元の整数値で表現される識別子を割り当て、前記割り当てられた識別子を用いて定められた範囲の時空間データについて、前記複数の記憶装置への配置を決定する。
 本発明の代表的な実施例によると、時空間データのリアルタイム性を損わずに、データの格納及び検索を高速化することができる。
 前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
本発明の第1の実施例の時空間データ管理システムのハードウェア構成を示すブロック図である。 本発明の第1の実施例の時空間データ登録部によって実行されるデータ登録処理のフローチャートである。 本発明の第1の実施例の時空間データ移行部によって実行されるデータ移行処理のフローチャートである。 本発明の第1の実施例の時空間データ検索部によって実行される検索処理のフローチャートである。 本発明の第1の実施例の主記憶検索部によって実行される検索処理のフローチャートである。 本発明の第1の実施例の二次記憶検索部によって実行される検索処理のフローチャートである。 本発明の第1の実施例の二次記憶検索部による処理の概念を説明する図である。 本発明の第1の実施例の時空間ID計算処理のフローチャートである。 本発明の第1の実施例の代表的な登録前データの一例を説明する図である。 本発明の第1の実施例の時空間展開データの一例を説明する図である。 本発明の第1の実施例の時空間ID管理データの一例を説明する図である。 本発明の第1の実施例の時空間管理データの一例を説明する図である。 本発明の第1の実施例の時空間圧縮データの一例を説明する図である。 本発明の第1の実施例のデータ移行条件の一例を説明する図である。 本発明の第1の実施例の時空間IDの概念を説明する図である。 本発明の第1の実施例の時空間IDの概念を説明する図である。 本発明の第1の実施例の時空間IDグリッドの動的な変更の具体例を説明する図である。 本発明の第1の実施例の時空間IDグリッドの動的な変更の具体例を説明する図である。 本発明の第2の実施例の時空間データ管理システムのハードウェア構成を示すブロック図である。 本発明の第2の実施例の軌跡圧縮方法の概念を説明する図である。 本発明の第2の実施例の軌跡圧縮方法の概念を説明する図である。 本発明の第2の実施例の移動軌跡補間方法の概念を説明する図である。 本発明の第2の実施例の移動軌跡補間方法の概念を説明する図である。 本発明の第2の実施例の代表的な移動軌跡圧縮補間パラメータの例を示す。 本発明の第2の実施例の時空間データ移行部によって実行されるデータ移行処理のフローチャートである。 本発明の第2の実施例の移動軌跡圧縮処理のフローチャートである。 本発明の第2の実施例の移動軌跡グループ圧縮処理のフローチャートである。 本発明の第2の実施例の二次記憶検索部によって実行される検索処理のフローチャートである。 本発明の第2の実施例の移動軌跡補間処理のフローチャートである。 本発明の第3の実施例の時空間データ管理システムのハードウェア構成を示すブロック図である。 本発明の第3の実施例の時空間データ可視化部が生成する画面の一例を説明する図である。 本発明の第3の実施例の時空間データ可視化部が生成する画面の他の一例を説明する図である。
 <第1の実施例>
 以下、本発明の第1の実施例を、図面を参照して説明する。
 図1は、第1の実施例の時空間データ管理システムのハードウェア構成を示すブロック図である。
 本実施例の時空間データ管理システムは、中央処理装置100、二次記憶装置110、主記憶装置120、入力装置140及び出力装置150を有し、これらの構成がバスで接続された計算機である。
 中央処理装置100は、主記憶装置120に格納されたプログラムを実行するプロセッサである。
 二次記憶装置110は、例えば、磁気記憶装置、フラッシュメモリ等の不揮発性の記憶装置であり、プログラム実行時に中央処理装置100によって使用されるデータを格納する。具体的には、二次記憶装置110は、時空間圧縮データ111及び二次記憶時空間索引データ112を格納する。
 時空間圧縮データ111は、図13に示すように、時空間ID及び時系列データを含み、例えば、表形式の時空間テーブルによって構成される。時空間テーブルは、必要に応じて属性値の最小値及び/又は最大値を含んでもよい。時空間圧縮データ111は、時空間データのスキーマも含む。時空間データのスキーマは、図3に示すように、列名及びデータ型を含む。
 二次記憶時空間索引データ112及び主記憶時空間索引データ124は、時空間IDをキーとして時空間展開データ、時空間圧縮データ(レコード番号やレコードの格納アドレス)を検索するための索引であり、例えば、B-Treeインデックスを用いることができる。ここで時空間索引データ124を主記憶装置内に置くことによって、二次記憶装置内の時空間圧縮データ111の検索を高速化することもできる。
 主記憶装置120は、例えば、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶装置であり、オペレーティングシステム(OS)及びアプリケーションプログラムを格納する。中央処理装置100が、オペレーティングシステムを実行することによって、計算機の基本機能が実現され、アプリケーションプログラムを実行することによって、計算機が提供する機能が実現される。
 主記憶装置120は、二次記憶装置110と比べ、アクセス速度が速いので、頻繁にアクセスされるデータを配置するのに適する。一方、主記憶装置120は、二次記憶装置110と比べ、小容量なので、大量のデータを格納することができない。このため、本実施例では、時空間データ移行部134が、主記憶装置120に格納された時空間データを、二次記憶装置110に移行する(図3参照)。さらに、時空間データ検索部133が、主記憶装置120及び二次記憶装置110に格納された時空間データをシームレスに検索する(図4参照)。
 具体的には、主記憶装置120は、時空間管理データ121、時空間展開データ123、主記憶時空間索引データ124を格納する。また、主記憶装置120は、時空間データ管理部130を実装するためのプログラムを格納する。時空間データ管理部130は、時空間管理データ作成部131、時空間データ登録部132、時空間データ検索部133及び時空間データ移行部134を含む。
 時空間管理データ121は、時空間展開データ123及び時空間圧縮データ111を管理するためのデータであって、その詳細は図11に示す。
 時空間展開データ123は、図13に示すように、時空間ID及び時系列データを含み、例えば、表形式の時空間テーブルによって構成される。時空間テーブルは、必要に応じて属性値の最小値及び属性値の最大値を含んでもよい。時空間展開データ123は、時空間データのスキーマも含む。時空間データのスキーマは、列名及びデータ型を含む。
 時空間データ管理部130は、時空間圧縮データ111及び時空間展開データ123を管理する(例えば、データベースマネジメントシステムである)。時空間管理データ作成部131は、入力された時空間管理データから時空間管理データ121を作成する。時空間データ登録部132は、入力された時空間データから時空間展開データ123を作成する。
 時空間データ検索部133は、時空間圧縮データ111及び時空間展開データ123を参照して、検索処理(概略判定、詳細判定)を実行する。
 時空間データ移行部134は、時空間展開データ123に格納されているデータを時空間圧縮データ111に移行する。
 なお、二次記憶装置110が、中央処理装置100によって実行されるプログラムを格納してもよい。この場合、プログラムは、二次記憶装置110から読み出され、主記憶装置120にロードされて、中央処理装置100によって実行される。
 入力装置140は、キーボード、マウスなどのユーザインターフェースである。出力装置150は、ディスプレイ装置、プリンタなどのユーザインターフェースである。
 なお、時空間データ管理システムが、ネットワークに接続し、他の装置との通信を制御する通信インターフェースを有してもよい。この場合、時空間データ管理システムが通信インターフェースを介して端末と接続されており、該端末が入力装置140及び出力装置150を有し、時空間データ管理システムは、端末からの要求に従って時空間データを処理し、処理結果を端末に出力する。
 時空間データ管理システムは、物理的に一つの計算機上に構築されても、物理的には一つ又は複数の計算機上に構成された論理区画上に構築されてもよい。
 なお、中央処理装置100によって実行されるプログラムは、不揮発性の記憶媒体又はネットワークを介して計算機に提供される。このため、計算機は、記憶媒体(CD-ROM、フラッシュメモリ等)を読み込むインターフェースを備えるとよい。
 図2は、第1の実施例の時空間データ登録部132によって実行されるデータ登録処理のフローチャートである。
 本実施例では、リアルタイムでGPSなどによって収集される人や物の時空間データを、時空間に基づいた一塊のデータとして本システムに最終的に登録するために、主記憶上に時空間の属性を考慮したIDを付与し、データを登録する。本処理で主記憶装置120上に一時的に記録することによって、リアルタイムに大量に収集される時空間データを高速に登録及び検索をすることが可能となる。このため、リアルタイム性が要求されるアプリケーションが検索を要求した場合、検索結果をリアルタイムに返すことが可能となる。検索処理に関しては、図4に示す。
 時空間データ登録部132によって実行される処理の具体的な流れを以下に示す。
 まず、登録前データ読み込み部201が、登録前データ200を読み込む。登録前データ200は、csvなどのファイル形式のデータでも、データベースに格納されているデータでもよい。代表的な時空間データの例は、図9を用いて後述する。
 次に、登録用時空間ID付きデータ作成部202が、時空間管理データ121を用いて時空間の属性を考慮したIDを発行し、登録用時空間データ203を生成する。時空間のIDの発行方法は、図8を用いて後述する。
 その後、展開データ登録部206は、生成された登録用時空間データ203を時空間展開データ123に登録する。また、主記憶時空間索引データ作成部204は、生成された登録用時空間データ203から主記憶時空間索引データ124を作成する。さらに、時空間ID管理データ作成部208は、時空間ID管理データ122を作成する。時空間ID管理データ122は、時空間IDが表す時空間データの時刻区間、空間区間及び格納場所の情報である。なお、既に登録されている時空間IDは重複して登録をしない。時空間ID管理データ122の例は、図11を用いて後述する。
 展開データ登録部206で作成された時空間展開データ123は、主記憶装置120のテーブルに格納されるので、時空間ID管理データ122に含まれる格納場所は当該テーブルの格納場所を表す記号が格納される。
 なお、前述した処理は繰り返し実行される。つまり、前述の処理が終了した後、まだ登録が終了していないデータがある場合、登録前データ読み込み部201がデータを読み込み、その後の処理を実行する。また、登録前データが未だ到着していない場合、登録前データ読み込み部201は、データが到着するまで待機する。
 図3は、第1の実施例の時空間データ移行部134によって実行されるデータ移行処理のフローチャートである。
 時空間データ移行部134は、主記憶装置120上に時空間展開データ123として登録されているデータを二次記憶装置110上に圧縮して登録する処理を実行する。この処理によって、小容量の主記憶装置120上の容量が一杯になることを防ぐ。このため、時空間データ移行部134は、データ移行条件判定部301、移行データ検索部302、データ型変更部303、二次記憶時空間索引データ作成部305、圧縮データ登録部306、時空間ID管理データ作成部307及びデータ移行成否判定部308を含む。
 時空間データ移行部134によって実行される処理の具体的な流れを以下に示す。
 データ移行条件判定部301は、データ移行条件125を参照し、主記憶装置120に格納された時空間展開データ123から二次記憶装置110に移行すべき時空間IDがあるかを判定する。データ移行条件125の例は、図14を用いて後述する。
 データ移行条件判定部301が移行する時空間IDを決定した後、移行データ検索部302が、該当する時空間IDを含む時空間展開データ123を検索する。主記憶装置120上で移行データ検索部302が実行する展開データ検索処理は、主記憶検索部403が実行する展開データ検索処理と同じであり、図5を用いて後述する。
 その後、データ型変更部303は、検索されたデータの型を変更して、一つのレコードに同じオブジェクトの同じ時空間IDを持つデータを圧縮した圧縮データ304を作成する。圧縮データの例は、図13を用いて後述する。
 その後、圧縮データ登録部306は、生成された圧縮データ304を時空間圧縮データ111に登録する。また、二次記憶時空間索引データ作成部305は、生成された圧縮データ304から二次記憶時空間索引データ112を作成する。さらに、時空間ID管理データ作成部307は、生成された圧縮データ304から時空間ID管理データ122を作成する。時空間ID管理データ122は、時空間IDが表す時空間データの時刻区間、空間区間及び格納場所の情報である。なお、登録しようとする時空間IDは、既に時空間データ登録部132で時空間展開データ123を登録する際に、同じ時空間IDが登録されているので、この時空間IDを含むレコードを削除してから登録する。時空間データ移行部134によって作成された時空間圧縮データ111は、二次記憶装置110のテーブルに格納されるので、時空間ID管理データ122に含まれる格納場所は当該テーブルの格納場所を表す記号が格納される。
 データ移行成否判定部308は、圧縮データ304を作成してから、二次記憶時空間索引データ112、時空間圧縮データ111及び時空間ID管理データ122の更新が全て正常に行われているかを判定する。
 データ移行成否判定部308で移行が正常に終了していると判定された場合、コミット部309は、移行データ検索部302で検索された主記憶上の時空間展開データ123を削除する。一方、データ移行成否判定部308で移行が正常に終了していないと判定された場合、二次記憶時空間索引データ112、時空間圧縮データ111及び時空間ID管理データ122を更新の前の状態に戻す。
 これらの処理は繰り返し実行される。つまり、前述した処理が終了したら、データ移行条件判定部301が移行すべきデータがあるかを判定する。また、移行条件を満たしていない場合、データ移行条件判定部301は移行条件が真になるまで待機する。
 図4は、第1の実施例の時空間データ検索部133によって実行される検索処理のフローチャートである。
 時空間データ検索部133は、主記憶装置120と二次記憶装置110とに異なる形式で格納されているデータをシームレスに検索する。
 データ位置検索部401は、時空間データ検索条件400及び時空間ID管理データ122によって、検索する記憶領域を決定する。具体的には、検索対象の時空間を時空間ID管理データ122と比較することによって、検索対象の時空間を特定する時空間IDを抽出する。図11に示す例を用いると、時空間データ検索条件400が(2≦時刻<4 and (1.2,1.0)≦空間<(3.0、2.0))である場合、検索対象の時空間領域は、時空間ID{22,23,32,33}で特定される時空間領域に含まれている。このとき、各時空間IDのデータが格納されている場所が分かる。この場合、時空間ID{22,23}のデータの格納場所は”mem_table”であるので、このデータは主記憶装置120に格納されている。また、時空間ID{32,33}のデータの格納場所は”disk_table”であるので、このデータは二次記憶装置110に格納されている。
 以上の結果から、各格納場所について検索対象である時空間ID及び検索条件を求めた結果を、主記憶検索条件402及び二次記憶検索条件405とする。前述した例では、主記憶検索条件402は(時空間ID{22,23},2≦時刻<3 and (1.2, 1.0)≦空間<(3.0、2.0))となる。二次記憶検索条件405は(時空間ID{32,33},3≦時刻<4 and (1.2,1.0)≦空間<(3.0、2.0))となる。
 その後、主記憶検索部403は、主記憶検索条件402を用いて、時空間展開データ123及び主記憶時空間索引データ124を検索し、主記憶検索結果404を出力する。また、二次記憶検索部406は、二次記憶検索条件405を用いて、時空間圧縮データ111及び二次記憶時空間索引データ112を検索し、二次記憶検索結果407を出力する。主記憶検索部403によって実行される処理の詳細は図5を用いて後述し、二次記憶検索部406によって実行される処理の詳細は図6を用いて後述する。
 その後、検索結果マージ部408は、主記憶検索結果404及び二次記憶検索結果407を結合する。ここで、結合の際に、検索結果を時空間ID(又は、他の値)でソートしてもよい。検索結果はマージ検索結果409として出力される。
 ここでは、説明と簡単にするため、空間データ及び空間検索要求は矩形であり、x,yの最小値と最大値のペアで表現できる形式で説明するが、空間の表現方法は一般的なポリゴン形式でもよい。なお、空間条件が矩形以外のポリゴンである場合、例えば、ポリゴンを内包する外接矩形で検索し、検索結果がポリゴンに含まれるかを判定し、検索結果を求めればよい。また、このことは本特許の他の空間データにも同じである。
 図5は、第1の実施例の主記憶検索部403によって実行される検索処理のフローチャートである。
 主記憶検索部403は、主記憶検索条件402を用いて主記憶装置120に格納された時空間展開データ123を検索した結果を返す処理を行う。
 まず、クエリ文生成部500は、主記憶検索条件402を用いてクエリ文501を生成する。主記憶検索条件402では、時空間ID、時刻、空間及びオブジェクトIDの少なくとも一つが検索キーとなる。また、時空間展開データ123が他の属性情報を格納している場合、当該属性情報を検索キーとしてもよい。
 クエリ文実行部502は、生成されたクエリ文501及び主記憶時空間索引データ124を用いて、検索クエリに該当するレコードを時空間展開データ123から取得して、主記憶検索結果404として出力する。
 図6は、第1の実施例の二次記憶検索部406によって実行される検索処理のフローチャートである。
 二次記憶検索部406は、二次記憶検索条件405を用いて二次記憶装置110に格納された時空間圧縮データ111を検索した結果を返す処理を行う。
 また、二次記憶装置110では時空間データが圧縮されているので、図7に示すように、時空間ID及びオブジェクトIDを検索キーとした概略判定を実行した後、圧縮されたレコード内から二次記憶検索条件405に一致するデータを詳細判定を実行する2段階の検索処理を行う。
 二次記憶検索条件405では、時空間ID、時刻、空間及びオブジェクトIDの少なくとも一つが検索キーとなる。ただし、二次記憶検索条件405は、データ位置検索部401がデータの格納位置を検索するために用いた時空間IDをそのまま含んでいる。また、時空間圧縮データ111が他の属性情報を格納している場合、当該属性情報も検索キーとしてもよい。
 クエリ文生成部600は、二次記憶検索条件405を用いてクエリ文601を生成する。二次記憶検索処理では、最初に時空間ID及びオブジェクトIDを検索キーとした概略判定を実行するので、クエリ文生成部600は時空間ID及びオブジェクトIDを用いてクエリ文601を作成する。
 概略判定部602は、クエリ文601及び二次記憶時空間索引データ112を用いて、検索クエリに該当するレコードを時空間圧縮データ111から取得して、結果候補603として出力する。
 詳細判定部604は、結果候補603が二次記憶検索条件405に一致するかを判定する。詳細判定部604は、概略判定部602では用いられなかった詳細な検索条件(すなわち、時刻範囲、空間範囲、属性範囲)を用いて判定をする。詳細判定部604は、二次記憶検索条件405に一致すると判定したデータを、二次記憶検索結果407として出力する。
 図8は、第1の実施例の時空間ID計算処理のフローチャートである。
 まず、処理2001では、登録前データ200に含まれる時刻t、座標(x,y)を取得する。その後、処理2002において、この登録前データ200の時間軸の分割番号tidを計算する。分割番号tidは、この登録前データが時間軸方向で原点(開始時刻)からで何番目の時空間分割領域に含まれるかを示す。
 さらに、処理2003において、登録前データ200のx軸の分割番号xidを計算する。分割番号xidは、この登録前データが時x軸方向で原点(x軸上の最小値)から何番目の時空間分割領域に含まれるかを示す。さらに、処理2004においてこの登録前データ200のy軸の分割番号yidを計算する。分割番号yidは、この登録前データが時y軸方向で原点(y軸上の最小値)から何番目の時空間分割領域に含まれるかを示す。
 処理2001~2004において、TMINは時間軸上の開始時刻であり、twは時間軸上の分割幅である。また、XMINはx軸上の最小値であり、xwはx軸上の分割幅である。また、YMINはy軸上の最小値であり、ywはy軸上の分割幅である。
 次に、処理2005において、tidを指定ビット数Nbtで、2進数[tid]2で表現し、処理2006において、xidを指定ビット数Nbxで、2進数[xid]2で表現し、処理2007において、yidを指定ビット数Nbyで、2進数[yid]2で表現する。なお、[ ]nはn進数で表示された整数値を表す。
 その後、処理2008において、Nbビットの時空間IDを、上位Nbtビットと、下位(Nb-Nbt)ビットとに分け、上位ビットには[tid]2を、下位ビットには[yid]2と[xid]2を上位ビットから順に並べた[stid]2を生成する。
 最後に、処理2009において[stid]2を10進数に変換して、stidを算出する。
 図9は、第1の実施例の代表的な登録前データ200の一例を説明する図である。
 時空間データは、時間及び空間の値を持つデータである。具体的には、図9に示すように、登録前の時空間データの一つのレコードに、時間の値、空間の値及び属性値(例えば、オブジェクトID)を含む。図9は、空間が二次元の時空間データを例示するが、あらゆる次元が対象となる。また、時空間データは、時間及び空間と関係のデータとして属性値を含んでもよい。属性値としては、加速度、心拍等のオブジェクトの状態を示すものがある。
 図10は、第1の実施例の時空間展開データ123の一例を説明する図である。
 時空間展開データ123は、登録用時空間データ203をそのままの形式で登録したもので、両データの形式は同じである。
 登録用時空間データ203は、登録前データ200の各レコードに時空間IDが付与されたデータである。これによって、各データが時間及び空間に関連付けられた、より大きな単位にクラスタリングされる。つまり、時間的及び空間的に近いデータには同じ時空間IDが付与されており、時空間IDを用いて索引データを後に作成することが容易にできる。時空間展開データ123のデータ形式は、図10に示すように、一つのレコードに時空間ID、時刻の値、空間の値及び属性値(例えば、オブジェクトID)を含む。
 図11は、第1の実施例の時空間ID管理データ122の一例を説明する図である。
 時空間ID管理データ122は、時空間IDが付与されたデータが含まれる時間区間及び空間区間、及び、該データの格納場所を管理するためのデータである。具体的には、各レコードは、時空間ID、開始時間、終了時間、開始位置、終了位置及び格納場所を含む。
 ここでは、登録用時空間データ203に含まれる時空間IDの中で、既に時空間ID管理データに登録されていない時空間IDが表す時刻及び空間の端点を求め、時空間データが登録される格納場所及び求められた時刻及び空間の端点を時空間ID管理データ122に登録する。なお、時空間IDから、開始時間、終了時間、開始位置及び終了位置を求める際に、時空間ID作成処理(図8)と同じ処理を実行すればよい。
 図12は、第1の実施例の時空間管理データ121の一例を説明する図である。
 時空間管理データ121は、管理パラメータ及び値を含む。
 管理パラメータのうち、「時空間IDビット数」は、時空間IDが表現される整数値のビット数である。また、「空間次元」は、時空間データが置かれる時空間が二次元のxy平面であれば「2」、三次元のxyz空間であれば「3」である。
 時空間管理データ121から、時空間IDの空間ビット数(空間の各軸の分割数を表すために必要な最小のビット数)及び時間ビット数を求めることができる。例えば、図12に示す時空間管理データ121では、x軸方向に4分割なのでx軸で2ビット、y軸方向に4分割なのでy軸で2ビットとなり、空間ビット数は合計4ビットである。時間ビット数は、時空間IDビット数から空間ビット数を減じた値で、図12に示す時空間管理データ121の例では、4ビットである。
 時空間管理データ121は、時空間データ管理システムが稼働する際に設定されている必要がある。時空間管理データ121は、CSV形式などのファイルで入力されても、CUI又はGUIを用いてインタラクティブに入力されてもよい。また、時空間データ管理システムに予めデフォルト値を設定して、ユーザが入力しない場合はデフォルト値を用いてもよい。
 また、検索及び格納の履歴より、時空間管理データ121で管理している時空間領域の分割幅を動的に変更し、検索効率及び/又は格納効率を向上することもできる。例えば、一つの検索条件で検索される時空間領域を纏めて一つの時空間IDを付与してもよい。一つの時空間IDに纏めることによって、時空間IDの総数が減し、検索効率が向上する。
 また、稀にしか検索されない時空間領域を纏めて一つの時空間IDを付与してもよい。検索される確率が低い時空間領域を一つの時空間IDに纏めても、当該部分の検索効率への影響は小さいが、時空間IDの数が減るため全体の検索効率が向上する。
 また、分割幅を動的に変更した場合、既に格納されているデータを新しい時空間管理データ121に従って付与された新しい時空間分割領域に従って再格納し、時空間ID管理データ122を更新してもよい。なお、過去の時空間データはそのままにしてもよい。再格納した場合は元の時空間データを消去する。
 このような時空間IDの動的変更は、時空間ID管理データ122によって管理されているため可能となる。動的な時空間IDの変更の例は、図16を用いて後述する。
 図13は、第1の実施例の時空間圧縮データ111の一例を説明する図である。
 時空間圧縮データ111は、時空間ID、オブジェクトID及び時系列データを含む。時系列データは、時空間展開データ123において、同じオブジェクトID及び同じ時空間IDが付与されたデータを全て一つに纏めたものである。このとき、時系列データは、時刻、x座標及びy座標の組(t1,x1,y1)で構成され、時刻順に並べられる。また、時系列データで、同じx座標、y座標の組が続いた場合、同値圧縮によって、その間のデータのサイズを削減してもよい。また、時空間以外の属性情報(c1、c2)が含まれる場合、時空間情報の後に属性情報を置くことによって(t1,x1,y1,c11,c21)、属性情報を同じレコードに格納することができる。
 図14は、第1の実施例のデータ移行条件125の一例を説明する図である。
 データ移行条件125は、時空間データ移行部134において主記憶装置120に格納された時空間展開データ123を、二次記憶装置110に格納する時空間圧縮データ111に変換する際に使用される条件である。データ移行条件125は、CSV形式などのファイルで入力されても、CUI又はGUIを用いてインタラクティブに入力されてもよい。データ移行条件125は、データ移行ルール、容量、時間、移行元、移行先、移行元データ型、移行先データ型を含む。
 データ移行ルールには、主記憶装置120に格納された時空間展開データ123を、110に格納する時空間圧縮データ111に変換するための基本ルールが設定される。例えば、データ移行ルールは、容量及び時間がある。データ移行ルールで容量が選択された場合、主記憶装置120に格納される時空間展開データ123のデータ量が、容量の項目に設定されている容量(m1)以上である場合、データ量がm1以下になるまで変換をすることを定める。
 この時、時間の項目の値は移行ルールには用いられない。また、容量を、絶対容量によって定義しても、使用可能容量の割合によって定義してもよい。割合によって定義した場合、展開データのデータ量が全使用可能容量のm1%以上である場合、m1%以下になるまで変換をすることを定める。
 また、移行ルールが時間である場合、時間t1ごとに展開データに記憶されている時間t1分だけ移行することを定める。この時、容量の値は移行ルールには用いられない。
 移行元及び移行先の項目は、データの移行元と移行先のテーブルを特定し、移行元データ及び移行先データにアクセスするために用いられる。移行元及び移行先には、例えば、DB名、Table名、User名、などを用いることができる。
 移行元データ型及び移行先データ型の項目は、データが格納されている形式である。本実施例は最も単純な構成として、主記憶上の展開データから二次記憶上の圧縮データへの変換を例にしているので、移行元データ型のType1は「展開型」であり、移行先データ型のType2は「圧縮型」である。
 データ移行条件125の項目を変更することによって所望のデータの変換及び移行をすることができる。例えば、主記憶装置120に格納された時空間展開データから二次記憶装置110に格納される時空間展開データへの移行や、主記憶装置120に格納された時空間展開データから主記憶装置120上で時空間圧縮データを作成し、作成された時空間圧縮データを二次記憶装置110に格納するデータ移行も可能である。
 また、データの変換及び移行は、主記憶装置120に格納されている時空間展開データの中で、古い時刻の(小さい時空間IDが付与されている)データから移行するとよい。これは、時空間データ管理システムには、リアルタイムのデータを高速に処理することが求められており、新しいデータを、検索処理が高速な主記憶上になるべく長く残したいためである。
 また、空間的距離が近い時空間データに、近い時空間IDを付与するように、Zorderを用いて時空間IDが作成されている。このため、小さい時空間IDの時空間データから順に移行することによって、空間的に近い時空間データを二次記憶装置110において近い記憶領域に配置することができる。これによって、空間的に近いため一つの検索クエリで検索される可能性が高いデータが近い記憶領域に配置され、I/O処理がボトルネックになりやすい記憶装置(例えば、ハードディスクドライブ)を二次記憶装置110に用いた場合でも、高速に検索することができる。
 なお、移行ルールを別に設けることによって、古いデータから移行する以外の移行方法も可能である。例えば、頻繁に検索されている時空間IDを主記憶装置120に残してもよい。また、注目したい時間帯及び/又は空間領域を予め指定又は動的に指定して、それらの時間帯及び/又は空間領域を含む時空間IDのデータを主記憶装置120に残してもよい。例えば、日中の時間帯や、首都圏だけに注目したい場合などである。また、これらのルールは、複数同時に適用することも可能である。例えば、日中の首都圏だけを主記憶装置120に残すが、それでもデータ量がm1%となった場合、日中の首都圏データから古いデータを移行してもよい。
 図15A及び図15Bは、第1の実施例の時空間IDの概念を説明する図である。
 ここでは、説明を簡単にするため、空間が二次元+時間(一次元)の時空間について説明するが、n次元空間へ拡張することができる。
 時空間IDは、時間及び空間の属性を持つデータを、近い時間及び近い空間で纏めて扱うための識別子である。そのため、図15Aに示すように、時空間領域を直方体で分割する。分割する際に、まず時間軸方向で切断して、時刻ID(t1、t2、t3、t4)を割り当てる。次に、図15Bに示すように、同一時間帯においては空間的距離が近いデータに近い値が付与されるように、時空間IDを定める。時空間IDを計算するための具体的な処理は、図8を用いて後述する。。例えば、空間平面をZorderを用いて分割することができる。なお、Zorderは、空間平面を空間的な距離が近い順に辿る空間充填線の一手法であり、ヒルベルト線など他の空間充填線を利用してもよい。
 このように時空間IDを用いることによって、時空間的な近さを一次元で簡単に管理することができる。このため、本実施例で行う時空間IDを用いたデータの移行及びデータの圧縮において、空間的に近いデータを簡単に纏めて操作することができる。また、時空間的に近接していて、一緒に検索される可能性が高いデータをできるだけ同じ場所に配置し、検索効率を上げることができる。
 図16A及び図16Bは、第1の実施例の時空間グリッドの動的な変更の具体例を説明する図である。図16Aは時間方向の結合及び分割の例を示し、図16Bは空間方向の結合及び分割の例を示す。
 この時空間グリッドの動的な変更は、登録処理の頻度、検索処理の頻度及び前記時空間分割領域に含まれるデータ量の少なくとも一つに基づいて実行される。例えば、登録処理の頻度が高い時空間グリッドを複数の時空間グリッドに分割してもよい。また、検索処理の頻度が高い時空間グリッドを複数の時空間グリッドに分割してもよい。さらに、時空間グリッドに含まれるデータ量が多い場合、複数の時空間グリッドに分割してもよい。
 図16Aに示す例では、時間帯t3、t4の結合し、時間分割幅を2倍にする。結合された時空間グリッドには、小さい方の時間ID(t3)を付与するとよい。また、逆に、時間帯t3、t4を分割することができる。時間方向の結合は、時間帯t3、t4が一緒に検索されることが多い場合などに有効である。
 図16Bに示す例では、四つの時空間グリッドを結合し、空間分割幅を2倍にする。結合された時空間グリッドには、最小の空間IDを付与するとよい。また、逆に、時空間グリッドを空間方向で分割することができる。空間方向の分割は、空間検索範囲が予め想定された検索範囲より大きい場合などに有効である。
 以上に説明した時間方向及び空間方向の結合及び分割は、繰り返し実行してもよい。つまり、2倍2倍と領域を拡張してもよく、1/2倍1/2倍と領域を縮小してもよい。
 本実施例では空間ID、時間IDとも整数値を用いるので、時間及び空間のIDが0より小さくならないように、最初の時空間の分割幅を十分小さく設定するとよい。
 以上に説明したように、第1の実施例では、二次記憶装置に格納する前の主記憶装置に格納されるデータを検索することができ、時空間データのリアルタイム性を損わずに、データの格納及び検索を高速化することができる。
 また、データ移行条件に一致するデータを主記憶装置から二次記憶装置へ移動するので、主記憶装置の高速性と二次記憶装置の大容量性を生かしつつ、複数の記憶装置をまたがる検索を減らすことができる。特に、時空間ID毎にデータを移動するので、時間的及び空間的に近いデータは同じ記憶装置に格納され、多くの場合、一つの記憶装置内を検索すればよくなる。
 また、時空間ID毎に時空間データを纏めて、主記憶装置から二次記憶装置へデータを移行するので、主記憶装置及び二次記憶装置の特性に適した格納形式でデータを格納することができ、データの格納効率及び検索効率を向上することができる。
 また、検索時に、時空間データの格納場所を特定し、特定された格納場所毎に時空間データを検索し、検索結果を結合するので、複数の記憶装置間を跨って時空間データを検索することができる。
 また、時空間グリッドを動的に変更することによって、時空間データが特定の時空間グリッドに偏ることを防ぎ、検索を高速化することができる。
 <第2の実施例>
 以下に、本発明の第2の実施例の構成について説明する。
 第2の実施例は、第1の実施例の構成に加え、時空間の軌跡データの圧縮及び解凍を実行することを特徴とする。これによって、人や車の移動データのような、連続的かつ滑らかなデータのデータ量を少なくして、データの格納及び検索の効率を向上することができる。また、解凍する時間幅を指定することによって、ユーザが求める時間幅でデータを返すことが可能となる。
 図17は、第2の実施例の時空間データ管理システムのハードウェア構成を示すブロック図である。
 本実施例の時空間データ管理システムは、移動軌跡圧縮補間パラメータ126、移動軌跡データ圧縮部135及び移動軌跡データ解凍部136を有する。また、移動軌跡の圧縮及び補間をするので、時空間データ移行部134及び二次記憶検索部406の処理が、第1の実施例と異なる。なお、第1の実施例の時空間データ管理システムと同じ構成には、同じ符号を付し、説明を省略する。
 移動軌跡圧縮補間パラメータ126は、図20を用いて後述する。移動軌跡データ圧縮部135は、移動軌跡データを圧縮する。移動軌跡データ圧縮部135が実行する軌跡圧縮方法は、図18A及び図18Bを用いて後述する。移動軌跡データ解凍部136は、移動軌跡データを補間する。移動軌跡データ解凍部136が実行する軌跡補間方法は、図19A及び図19Bを用いて後述する。
 図18A及び図18Bは、第2の実施例の軌跡圧縮方法の概念を説明する図であり、図18Aは元の軌跡点を示し、図18Bは圧縮後の軌跡点を示す。
 なお、説明を分かりやすくするため近似線を直線で示しているが、近似線は2次以上の関数を用いた多項式でもよい。
 図18Aに示すように、始点と終点とを近似線で結ぶ。近似線は移動軌跡圧縮補間パラメータ126の軌跡圧縮ルールに従って生成される。次に、始点と終点との間の全ての点について近似線との誤差を計算し、計算された誤差と移動軌跡圧縮補間パラメータ126の圧縮精度とを比較することによって、近似線が軌跡点群を十分に表現しているかを判定する。その結果、誤差が大きく、近似線が軌跡点群を十分に表現していない場合、誤差が最も大きかった点を圧縮点に追加する。
 圧縮点を追加すると、図18Bに示すように、始点及び終点以外の点を含む圧縮点群が作成される。圧縮点を追加する処理は、近似線がこの軌跡点群を十分に表現するまで再帰的に実行される。
 軌跡圧縮によってデータ量を減少させることができ、データの格納効率及び検索効率を向上することができる。軌跡圧縮は、特に、軌跡点が直線上に並んでいる場合等に有効である。
 図19A及び図19Bは、第2の実施例の移動軌跡補間方法の概念を説明する図であり、図19Aは圧縮後の軌跡点を示し、図19Bは補間後の軌跡点を示す。
 図19Aに示す例では、圧縮後の三つの軌跡点がある。この三つの軌跡点を含む時空間領域が検索された場合、三つの圧縮点を返してもよいが、圧縮点間を補間した点を返してもよい。例えば、移動軌跡圧縮補間パラメータ126の補間頻度Hz1が2Hzである場合、圧縮時に用いた近似線で圧縮点間を結び、その近似線上を時空間において0.5秒進んだ毎に補間点を求めることができる。これにより、移動軌跡圧縮処理によって減らしたデータ量をユーザが望む細かさまで補間することができる。移動軌跡補間処理の詳細は、図25を用いて後述する。
 図20は、第2の実施例の代表的な移動軌跡圧縮補間パラメータ126の例を示す。
 移動軌跡圧縮補間パラメータ126は、軌跡圧縮ルール、軌跡圧縮下限ルール、圧縮率、圧縮精度及び補間頻度を含む。軌跡圧縮ルールは、近似線を生成する方法を定め、例えば、圧縮なし、一次関数、二次関数を選択可能である。軌跡圧縮下限ルールは、圧縮処理を終了するための条件の種類を定め、例えば、圧縮率、圧縮精度を選択可能である。圧縮率及び圧縮精度は、圧縮処理を終了するための条件となる、具体的な値である。補間精度は、補間点を設定する間隔を定める。
 移動軌跡圧縮補間パラメータ126は、CSV形式などのファイルで入力されても、CUI又はGUIを用いてインタラクティブに入力されてもよい。また、時空間データ管理システムに予めデフォルト値を設定して、ユーザが入力しない場合はデフォルト値を用いてもよい。
 図21は、第2の実施例の時空間データ移行部134によって実行されるデータ移行処理のフローチャートである。
 第1の実施例では、同じ時空間IDを持つデータを圧縮した圧縮データ304を登録したが、第2の実施例では、軌跡圧縮部1700が圧縮データ304から移動軌跡を圧縮した軌跡圧縮データ1701を生成し、軌跡圧縮データを登録する点が特徴である。なお、第1の実施例と同じ構成には、同じ符号を付し、説明を省略する。
 軌跡圧縮部1700は、移動軌跡圧縮補間パラメータ126を参照して、パラメータに従って軌跡を圧縮し、軌跡圧縮データ1701を生成する。軌跡圧縮処理は、図22を用いて後述する。
 その後、圧縮データ登録部306は、生成された軌跡圧縮データ1701を時空間圧縮データ111に登録する。また、二次記憶時空間索引データ作成部305は、生成された軌跡圧縮データ1701から二次記憶時空間索引データ112を作成する。さらに、時空間ID管理データ作成部307は、軌跡圧縮データ1701から時空間ID管理データ122を作成する。
 図22は、第2の実施例の移動軌跡圧縮処理のフローチャートである。
 まず、処理2300で圧縮データ304を読み込む。処理2301で移動軌跡圧縮補間パラメータ126を読み込む。処理2302で軌跡の始点及び終点を軌跡圧縮データに登録する。処理2304で移動軌跡グループ圧縮処理を引数(1、N)で呼び出す。ここで、Nは圧縮データの軌跡点の総数である。
 図23は、第2の実施例の移動軌跡グループ圧縮処理のフローチャートである。
 移動軌跡グループ圧縮処理は、引数(ist,iend)が入力されると、istからiendの間の軌跡点を圧縮する。まず、処理2400では、軌跡点ist及び軌跡点iendを近似線で結んだ場合、ist<i<iendを満たす軌跡点iの各々と近似線との誤差(距離)が、移動軌跡圧縮補間パラメータ126に設定されている圧縮精度より小さいかを判定する。
 判定が真であれば、移動軌跡グループ圧縮処理を終了する。一方、判定が偽であれば、処理2401において、ist<i<iendを満たす軌跡点iのうち、誤差の最大値を与える軌跡点imaxを求め、軌跡点imaxを軌跡圧縮データに登録する。処理2402において、移動軌跡グループ圧縮処理2302を引数(ist、imax)で呼び出す。さらに、処理2403において、移動軌跡グループ圧縮処理2302を引数(imax、iend)で呼び出す。その後、移動軌跡グループ圧縮処理を終了する。
 なお、説明を簡単にするため、軌跡圧縮ルールが一次関数(近似線が直線)であり、圧縮点だけを記録する例を説明したが、軌跡圧縮ルールが二次以上の関数である場合、当該関数で表される近似線を生成すればよい。この場合、軌跡圧縮データについて、時刻及び空間の情報、及び、多項式の係数(t1,x1,y1,c11,c21)を記録すればよい。また、軌跡圧縮ルールが圧縮無しの場合、圧縮は行わない。
 また、図23に示す移動軌跡グループ圧縮処理では、軌跡圧縮下限ルールに圧縮精度を指定した例を示したが、圧縮率を指定した場合、元の軌跡点の数と圧縮後の軌跡点の数との比が圧縮率Cmp1以下になるように引数を設定し、移動軌跡グループ圧縮処理を実行する。
 図24は、第2の実施例の二次記憶検索部406によって実行される検索処理のフローチャートである。
 第1の実施例では、概略判定及び詳細判定を実行して、二次記憶装置110に格納されている時空間圧縮データを、そのまま検索したが、第2の実施例では、移動軌跡を補間してデータを補う処理を行う点が特徴である。なお、第1の実施例と同じ構成には、同じ符号を付し、説明を省略する。
 移動軌跡補間部1801は、詳細判定部604から出力された詳細判定結果1800を読み込み、移動軌跡圧縮補間パラメータ126の軌跡圧縮ルール及び補間頻度に従って、データを補間し、補間された結果を二次記憶検索結果407として出力する。移動軌跡補間処理の詳細は、図25を用いて後述する。
 図25は、第2の実施例の移動軌跡補間処理のフローチャートである。
 処理2500では、詳細判定結果1800を読み込む。処理2501では、移動軌跡圧縮補間パラメータ126を読み込む。処理2502では、パラメータnを初期値1に設定し、詳細判定結果1800の中で最も古い時刻のデータを選択する。処理2503では、n番の圧縮点及びn+1番の圧縮点を選択する。処理2504では、移動軌跡圧縮補間パラメータ126の軌跡圧縮ルールに従って、n番の圧縮点間とn+1番の圧縮点との間の近似線を求める。
 処理2505では、求められた近似線上で補間頻度Hz1に従って補間点を求める。処理2506では、全ての圧縮点間の処理が終わったかを判定する。全ての圧縮点間の処理が終わったら、移動軌跡補間処理を終了する。一方、一部の圧縮点間の処理が終わっていなければ、処理2507でnに1を加え、処理2503に戻る。
 以上に説明したように、第2の実施例では、時空間データを間引くデータ圧縮処理によってデータ量を削減した後、主記憶装置から二次記憶装置へデータを移行するので、データの格納効率及び検索効率を向上することができる。
 また、圧縮率、圧縮精度によって圧縮処理を制御するので、ユーザが望む程度の圧縮をすることができる。
 また、圧縮されたデータを補間するので、ユーザが望む粒度でデータを提示することができる。
 <第3の実施例>
 以下に、本発明の第3の実施例の構成について説明する。
 第3の実施例は、第1の実施例の構成に加え、時空間の軌跡データを可視化することを特徴とする。
 図26は、第3の実施例の時空間データ管理システムのハードウェア構成を示すブロック図である。
 本実施例の時空間データ管理システムは、時空間データ可視化部137を有する。なお、第3の実施例の時空間データ管理システムと同じ構成には、同じ符号を付し、説明を省略する。
 図27は、第3の実施例の時空間データ可視化部137が生成する画面2705の一例を説明する図である。図27に示す画面2705は、時空間のデータをディスプレイ等の出力装置150にリアルタイムに表示する。
 図27に示す画面は、地図、衛星写真、航空写真、ストリートビュー等の背景を表示するパネル2700の上にオブジェクト2701の位置を表示する。また、パネル2700上には、時刻2702を表示する。パネル2700に表示される時刻はタイムスライダー2703を用いて変更するこができる。また、パネル2700はマウス、タッチパネル等の操作によって拡大、縮小、移動、回転ができるとよい。
 さらに、ボタン2704の操作によってリアルタイムモードに切り替えることが可能であり、リアルタイムモードは、本実施例の時空間データ管理システムに含まれる最新のデータを表示する。このとき、タイムスライダーのバーは動的に現在時刻を示す場所に移動する。
 図28は、第3の実施例の時空間データ可視化部137が生成する画面2805の他の一例を説明する図である。図28に示す画面2805は、補間された時空間データをディスプレイ等の出力装置150に表示する。
 図28に示す画面例は、図27に示す画面例と異なり、表示する時間幅を、マウス、タッチパネル等の操作によって変更することができる。時間幅が変更されると、スクロールバー2803上のスライダの幅が変化し、時刻範囲2802の表示も変わる。
 また、表示時刻範囲内の一つのオブジェクトの複数のデータを表示し、矢印2806で移動の方向を表示してもよい。このとき、実データの表示2801と補間されたデータの表示2807の態様を変えることによって、ユーザがデータの種類を確認できるようにしてもよい。このとき、表示切り替えボタン2808の操作によって、実データ、補間データを表示するかを選択可能としてもよい。
 さらに、ボタン2804の操作によってリアルタイムモードに切り替えることが可能でもよい。
 以上に説明したように、第3の実施例では、時空間データを分かりやすくユーザに提示することができる。
 以上に説明した第1から第3の実施例では、時空間データを格納する領域を一つの主記憶装置120及び一つの二次記憶装置110の各々に設けたが、本発明は、この構成に限定されたものではなく、主記憶装置120上の記憶領域及び/又は二次記憶装置上の記憶領域が複数であるなど、いかなる構成でもよい。また、各実施例では、二つの記憶領域間でデータを移行するが、三つ以上の記憶領域間で多段階的にデータを移行してもよい。また、各実施例では、一方向にデータを移行する例を説明したが、一般的なキャッシュ技術のように、検索頻度が高い時空間データを主記憶装置120に格納してもよい。
 以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。

Claims (11)

  1.  時空間領域に対応付けられる時系列データを管理する時空間データ管理システムであって、
     プログラムを実行するプロセッサと、前記プログラムを格納するメモリと、前記時系列データを格納する複数の記憶装置とを備え、
     前記プロセッサは、
     前記時空間領域を時間及び空間で分割して、複数の時空間分割領域を生成し、
     前記時空間分割領域の時間及び空間の近傍性を考慮して、前記複数の時空間分割領域の各々を一意に識別するための、一次元の整数値で表現される識別子を割り当て、
     前記割り当てられた識別子を用いて定められた範囲の時空間データについて、前記複数の記憶装置への配置を決定することを特徴とする時空間データ管理システム。
  2.  請求項1に記載の時空間データ管理システムであって、
     前記プロセッサは、前記決定された時空間データの配置に従って時空間データを記憶装置間で移行する際、前記時空間データの形式を変更することを特徴とする時空間データ管理システム。
  3.  請求項2に記載の時空間データ管理システムであって、
     前記プロセッサは、
     時間及び空間が近い時空間データが一つの時空間分割領域に含まれるように、前記識別子を前記時空間データに割り当て、
     同一の前記識別子が割り当てられた時空間データ毎に、前記時空間データの形式を変更することを特徴とする時空間データ管理システム。
  4.  請求項1に記載の時空間データ管理システムであって、
     前記プロセッサは、前記割り当てられた識別子を用いて、前記時空間データの格納場所を特定し、
     前記特定された格納場所毎に前記時空間データを検索し、
     前記検索の結果を結合することを特徴とする時空間データ管理システム。
  5.  請求項1に記載の時空間データ管理システムであって、
     前記プロセッサは、前記時空間データの登録処理の頻度、前記時空間データの検索処理の頻度及び前記時空間分割領域に含まれるデータ量の少なくとも一つに基づいて、前記時空間領域の分割を動的に変更することを特徴とする時空間データ管理システム。
  6.  請求項1に記載の時空間データ管理システムであって、
     前記プロセッサは、前記決定された時空間データの配置に従って時空間データを記憶装置間で移行する際、時間及び空間において連続的に変化する値を表す時空間データの時系列変化を近似して、前記時空間データを圧縮することを特徴とする時空間データ管理システム。
  7.  請求項6に記載の時空間データ管理システムであって、
     前記プロセッサは、圧縮前後のデータの誤差及び圧縮率の少なくとも一つに従って、前記時空間データの圧縮を制御することを特徴とする時空間データ管理システム。
  8.  請求項6に記載の時空間データ管理システムであって、
     前記プロセッサは、前記時空間データの連続性を考慮して、前記記憶装置に格納されていない点を補間することを特徴とする時空間データ管理システム。
  9.  請求項1に記載の時空間データ管理システムであって、
     前記プロセッサは、前記記憶装置に格納されている時空間データの中から、指定する時空間領域のデータを時系列に表示するためのデータを生成することを特徴とする時空間データ管理システム。
  10.  時空間領域に対応付けられる時系列データを管理するために時空間データ管理システムで実行される時空間データ管理方法であって、
     前記時空間データ管理システムは、プログラムを実行するプロセッサと、前記プログラムを格納するメモリと、前記時系列データを格納する複数の記憶装置とを有し、
     前記方法は、
     前記プロセッサが、前記時空間領域を時間及び空間で分割して、複数の時空間分割領域を生成するステップと、
     前記プロセッサが、前記時空間分割領域の時間及び空間の近傍性を考慮して、前記複数の時空間分割領域の各々を一意に識別するための、一次元の整数値で表現される識別子を割り当てるステップと、
     前記プロセッサが、前記割り当てられた識別子を用いて定められた範囲の時空間データについて、前記複数の記憶装置への配置を決定するステップとを含むことを特徴とする時空間データ管理方法。
  11.  時空間領域に対応付けられる時系列データを管理する計算機システムを下記の手段として機能させるためのプログラムであって、
     前記計算機システムは、プログラムを実行するプロセッサと、前記プログラムを格納するメモリと、前記時系列データを格納する複数の記憶装置とを有し、
     前記プログラムは、
     前記時空間領域を時間及び空間で分割して、複数の時空間分割領域を生成する手段と、
     前記時空間分割領域の時間及び空間の近傍性を考慮して、前記複数の時空間分割領域の各々を一意に識別するための、一次元の整数値で表現される識別子を割り当てる手段と、
     前記割り当てられた識別子を用いて定められた範囲の時空間データについて、前記複数の記憶装置への配置を決定する手段とを含むプログラム。
PCT/JP2012/079028 2012-11-08 2012-11-08 時空間データ管理システム、時空間データ管理方法、及びプログラム WO2014073081A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2012/079028 WO2014073081A1 (ja) 2012-11-08 2012-11-08 時空間データ管理システム、時空間データ管理方法、及びプログラム
JP2014545512A JP5879445B2 (ja) 2012-11-08 2012-11-08 時空間データ管理システム、時空間データ管理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/079028 WO2014073081A1 (ja) 2012-11-08 2012-11-08 時空間データ管理システム、時空間データ管理方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2014073081A1 true WO2014073081A1 (ja) 2014-05-15

Family

ID=50684218

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/079028 WO2014073081A1 (ja) 2012-11-08 2012-11-08 時空間データ管理システム、時空間データ管理方法、及びプログラム

Country Status (2)

Country Link
JP (1) JP5879445B2 (ja)
WO (1) WO2014073081A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016111002A1 (ja) * 2015-01-09 2016-07-14 株式会社日立製作所 データ管理装置及びデータ管理方法
WO2023013037A1 (ja) * 2021-08-06 2023-02-09 日本電信電話株式会社 点群データ処理装置、点群データ処理方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005056120A (ja) * 2003-08-04 2005-03-03 Nippon Telegr & Teleph Corp <Ntt> コンテンツ提供方法及びシステム及びコンテンツ提供プログラム
JP2005311881A (ja) * 2004-04-23 2005-11-04 Casio Comput Co Ltd 画像分類装置および、プログラム
JP2006331260A (ja) * 2005-05-30 2006-12-07 Sabo Frontier Foundation 位置方位付き写真提供システム及びそのプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005056120A (ja) * 2003-08-04 2005-03-03 Nippon Telegr & Teleph Corp <Ntt> コンテンツ提供方法及びシステム及びコンテンツ提供プログラム
JP2005311881A (ja) * 2004-04-23 2005-11-04 Casio Comput Co Ltd 画像分類装置および、プログラム
JP2006331260A (ja) * 2005-05-30 2006-12-07 Sabo Frontier Foundation 位置方位付き写真提供システム及びそのプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016111002A1 (ja) * 2015-01-09 2016-07-14 株式会社日立製作所 データ管理装置及びデータ管理方法
WO2023013037A1 (ja) * 2021-08-06 2023-02-09 日本電信電話株式会社 点群データ処理装置、点群データ処理方法及びプログラム

Also Published As

Publication number Publication date
JPWO2014073081A1 (ja) 2016-09-08
JP5879445B2 (ja) 2016-03-08

Similar Documents

Publication Publication Date Title
US20230084389A1 (en) System and method for providing bottom-up aggregation in a multidimensional database environment
JP6032467B2 (ja) 時空間データ管理システム、時空間データ管理方法、及びそのプログラム
US10262392B2 (en) Distributed and parallelized visualization framework
CN107423422B (zh) 基于网格的空间数据分布式存储及检索方法和系统
CN105556511A (zh) 用于提供位置信息的装置、系统和方法
JP2007233658A (ja) データ処理方法および装置並びにその処理プログラム
CN112559481A (zh) 一种基于分布式系统和关系数据库的数据存储方法及装置
JP2009199151A (ja) k最近傍検索方法、k最近傍検索プログラム及びk最近傍検索装置
CN111291016A (zh) 一种海量遥感影像数据分层混合存储与索引方法
JP2019045894A (ja) 検索プログラム、検索方法、及び、検索プログラムが動作する情報処理装置
US20060268406A1 (en) System and method for processing spatial data
Efentakis et al. Towards a flexible and scalable fleet management service
KR101757124B1 (ko) 시공간 키워드 질의를 위한 셀 기반 역리스트 인덱싱 기법
JP5879445B2 (ja) 時空間データ管理システム、時空間データ管理方法、及びプログラム
CN114443615A (zh) 数据库管理系统、相关装置、方法和介质
CN107341221B (zh) 索引结构的建立、关联检索方法、装置、设备及存储介质
Beilschmidt et al. An efficient aggregation and overlap removal algorithm for circle maps
JP6904724B2 (ja) 地図データベース作成装置及び地図データベース作成方法並びに地図データベース作成プログラム
KR20000040270A (ko) 전자지도상에서의 사용자 레이어 관리 장치 및 그 방법
Liu et al. Analysis of spatial indexing mechanism and its application in data management: A case study on spatialite database
CN114647633A (zh) 创建数据库状态树
Lee Integrating spatial and temporal relationship operators into SQL3 for historical data management
Cai et al. GPS trajectory clustering and visualization analysis
US20230289045A1 (en) Generating aggregate data geospatial grid cells for encoding in vector tiles
JP2004171139A (ja) データ階層化およびデータ再構成方法/装置/プログラム/記録媒体、データ記録媒体

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014545512

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12887924

Country of ref document: EP

Kind code of ref document: A1