WO2014014906A2 - A method and process for enabling distributing cache data sources for query processing and distributed disk caching of large data and analysis requests - Google Patents

A method and process for enabling distributing cache data sources for query processing and distributed disk caching of large data and analysis requests Download PDF

Info

Publication number
WO2014014906A2
WO2014014906A2 PCT/US2013/050673 US2013050673W WO2014014906A2 WO 2014014906 A2 WO2014014906 A2 WO 2014014906A2 US 2013050673 W US2013050673 W US 2013050673W WO 2014014906 A2 WO2014014906 A2 WO 2014014906A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
pneuron
distributed
disk
cache
Prior art date
Application number
PCT/US2013/050673
Other languages
French (fr)
Other versions
WO2014014906A8 (en
WO2014014906A3 (en
Inventor
Simon Byford MOSS
Elizabeth Winters ELKINS
Douglas Wiley BACHELOR
Raul Hugh CURBELO
Thomas C. FOUNTAIN
Original Assignee
Pneuron Corp.
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 Pneuron Corp. filed Critical Pneuron Corp.
Priority to EP13819950.0A priority Critical patent/EP2873008A4/en
Priority to CA2918472A priority patent/CA2918472C/en
Publication of WO2014014906A2 publication Critical patent/WO2014014906A2/en
Publication of WO2014014906A8 publication Critical patent/WO2014014906A8/en
Publication of WO2014014906A3 publication Critical patent/WO2014014906A3/en
Priority to IL236764A priority patent/IL236764A0/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/463File

Definitions

  • the present invention relates to enabling
  • distributing cache data sources for processing large data and analysis requests and more particularly, relates to providing a distributed caching model to enable the management of distributed cache files on multiple servers or virtual machines and facilitating multiple distributed processing operations simultaneously.
  • the system and method of the present invention implements an Adapter Pneuron that interacts within its distributed processing infrastructure for large data
  • the disk cache files are distributed across one to many servers or virtual machines (VMs).
  • the distributed disk cache files are accessed by participating Pneuron applications to perform operations selectively on the distributed disk data.
  • Disk cache files are removed automatically using a high-low disk evaluation model to remove disk cache files based on server disk utilization and automatic evaluation aging for disk cache files.
  • the present invention enables the ability to quickly access target systems and data sources and generate distributed disk cache files, to simultaneously perform real-time operations by other Pneuron programs and to federate the results together. These activities occur without requiring preparation of the data.
  • FIG. 1 is a comparison of the prior art process execution with the distributed cache model according to one embodiment of the present invention
  • FIG. 2 is an overview of the dynamic memory mapping tree according to one embodiment of the present invention.
  • FIG. 3 is an overview of distributed disk cache removal model scenarios according to one embodiment of the present invention.
  • FIG.4 is a block diagram of a system on which may be implemented the present invention.
  • the present invention features a system and method for large data processing and requesting reconstruction.
  • the system 100, FIG. 4 and method includes the capacity for large data processing considerations (targeting record, queries and responses of 1 million and higher results).
  • the invention provides for the ability to access and acquire information from large data files 102 (greater than 1 million records) and rapidly provide the information to subsequent Pneurons for processing combined with the ability to extract and render large queries from databases 102 without impacting system of records processing and rapidly provide the
  • the system also has the ability for multi-threaded processing by multiple distributed pneurons 104 of large input/record sets files, enabling of storage and access to large historical results and the ability to handle large inputs.
  • invention provides the ability to store or persist large result sets. For example, a million plus raw data evaluation may generate a very large array of intelligence results that need to be persisted for future use, which might occur with time-series data with multiple month-years and multiple intelligence results for each intelligence record. Further, the invention is able to deal with sequential as well as asynchronous parallel processing, is able to address large unstructured data; web logs, email, web pages, etc. and is able to handle failures to large block processing.
  • Adaptor/Cache Pneuron 14 and distributed disk cache files 30, 32 Second, the dynamic mapping tree 50, Fig. 3. Third, the distributed disk cache file cleanup Fig. 4. Each function will be described in greater detail below.
  • Adaptor/Cache Pneuron 14 and/or distributed adaptor/cache pneurons 104) and distributed disk cache files 34 address the problem of extremely large record set
  • the present invention solves these problems by extracting large record sets from target systems 102 and data sources and converting them into distributed disk cache files 34.
  • the disk-based intermediate cache files and processing is coordinated by and across multiple Pneurons 104 to perform multiple simultaneous operations on the information
  • FIG. 1A distributed disk cache files 34.
  • FIG. IB distributed cache model of the present invention
  • the cache file based system 10 of the present invention will store the large requests within self- describing ASCII files and make these files (the data within them) available to any Pneuron that needs to access them.
  • Large data requests 12 are received and processed by the Adapter Pneuron 14.
  • the Adapter Pneuron 14 transforms the large data requests into ASCII file content (extended CSV format - including the attribute type definition) , and saves the ASCII file content on the local host hard drive.
  • the Adapter Pneuron 14 will send to all its associated Pneuron connections 104 a special message that will announce that new work is available and the data can be accessed from the referred files from the target disk cache location 30, 32 on the file system.
  • the Adapter Pneuron 14 maintains context of each distributed cache file and provides system context to each participating Pneuron. Context includes the definition of the cached file format and information elements and location of the file. Participating Pneurons are able to parse the cached/adaptor Pneuron information and perform different operations.
  • the Adapter Pneuron 14 will send to subsequently connected Pneurons 104 a special message 15 that will announce to all configured and
  • the system includes a utility that enables the calling Pneurons 104 to transform to and from XmlMessage to the target extended CSV extended file format.
  • the invention greatly simplifies the access and operations on the distributed disk cache data and provides a common abstraction layer and interface for the Pneurons to access and perform operations on the data.
  • the Pneurons only need to read the referred file content and transform the information into usable XmlMessage Type data.
  • the Pneurons can filter and extract only the necessary attributes as vectors or other objects and optimize the memory management resources.
  • This invention therefore provides many critical transformational benefits.
  • the data is accessed and managed at targeted server 106 locations on the respective filing system 30, 32 such that requests do not need to be
  • the system ability to process very large amounts of data is significant and unconstrained. Within the actual memory processing, the information is streamlined. Only reference and common messages and pointers are included.
  • the distributed cache file model enables a planning mechanism to be implemented to optimize the resources and synchronize distributed cache file access and processing. The messages do not require any complex logical operations that will require the file structure to change.
  • the system will be fully capable of handling the CRUD operations (create - add new entry/record; read - record; update - record; and delete - record) . This solution will work for all cases where the entity (large request - as a whole) will retain its
  • the dynamic mapping tree model shown for example i FIG. 2 is implemented to support the Adaptor Pneuron.
  • the memory mapping enables a large data processing request transaction to retain its processing integrity from
  • Data representation defines the metadata characteristics of the information, including the way that the data is stored on the file system, the number of files, file types, data definition (attribute definition) , request references etc.
  • the invention In order to manage the distributed disk caching model, the invention enables the following operations to be performed on the disk cache files: Create - add new record within the large request; Read - access one or more records from the large request; Update - update/modify the data for one or more records; and Delete - delete one or more records Given the synchronization and management complexities, the invention restricts the following functions: batching, duplicate batches and conditional batches.
  • the invention To manage the distribution complexity of multiple disk cache files, the invention maintains and adjusts the system context dynamically. This model enables automatic changes to the data representation and structure.
  • programmatic change history tracking is maintained, which keeps track of changes applied to the disk cache file(s). This feature enables automatic reconstruction of the disk cache file at any given time to support a Pneuron initiated operation and request.
  • the present invention has implemented a programmatic process to decompose large data sets into request into smaller batches. The batches are organized into parallel execution requests and configured as part of the Pneuron Networks definition.
  • a dynamic memory tree map is implemented to manage the distributed cache process across multiple Pneurons .
  • the dynamic tree maintains and provides system context for the entire distributed processing model and plan. The entire processing life cycle is maintained.
  • Each node/leaf within the dynamic tree will contain a file reference or a position/index reference and then point the Pneuron request message to the corresponding memory area.
  • the dynamic memory tree map establishes a breadcrumb trail. Using this approach, the system is able to reconstruct the request with the new values by traversing the memory tree. The system merges and reconstructs the disk cache results based on the specific request. The same logic and approach is also applied for the Large Request Reconstruction, which enables a generic distributed disk cache operation model to be applied at the Pneuron Base Level.
  • the split information will be appended to the current flag, which will be done for each split/sub batch.
  • the Pneuron will be able to establish the context based on the amount of information that it receives, and the Pneuron will be ready to create an execution tree, such as the one detailed in Figure 2.
  • This approach is based on the fact that when the Final Pneuron receives a batch request, it will be able to trace it and complete (or start if it is the first batch from a large request) based on the defined execution tree. Any sub-batch that is received is able to communicate with the Pneuron of all the tree node parents and also the number of "leafs" per split. With this approach the Final Pneuron will be able to map out what it should receive, also the information that it receives can be ordered.
  • the Idle or Dead Time interval evaluates each past request and the elapsed time when the last batch was received and the execution trigger .
  • the distributed disk cache file clean up portion of the process 28, Figure 3 provides users with the capability of caching data, within the entire system, on all the hosts 106 that are running the platform (distributed pneuron 104) .
  • the cache is a file system 34 based mechanism that transforms and stores them indefinitely making them available to one or more worker process pneurons . Since the invention is dealing with a highly distributed system that provides value by providing the users with parallel computing capabilities, all the resources that are used within this computing process must be available at each host level (that takes part of the parallel execution) . In doing so, each host will own a copy for each cache data that it will process. This creates a big problem because the hardware resources, hard drive space in this case is not unlimited, and since each host must have a local copy of the cached job the system does not deal with replication (duplicate
  • the present invention has implemented a High-Low distributed disk cache removal model.
  • the invention configures properties for each host 106 (either a physical server or virtual server machine) .
  • the host Max Available Space property establishes the amount of bytes (megabytes or even gigabytes) that can be used by the caching system 34 on that specific server 106. Once this max threshold is reached, the system will delete existing cache files based on the size and age of the distributed cache file. This model will eliminate past files and enable new disk files to be established and used.
  • the cache file system will be bounded with these rules; in this case the only rule/limitation that we need is to have a maximum level of space that it can be used in order to store the working cache files. This maximum level of space that can be used will be stored within the Softwarerx .
  • Properties file 36 from CFG directory because this is a centralized storage point for all the properties and attributes that must or can't be stored within the database .
  • Pneuron issues a request 38 to save data into the cache data file system 34.
  • the request reaches the SAN (Storage Area Network or Cache System/process) 40.
  • the system checks the Max Space configured value 36.
  • the system 28 compares the Max Space with the actual available space on the local hard drive, which is the hard drive where the host system 106 is running, or more exactly where the "cache" directory file system 34 is found. In this first example there is
  • the system 28 will save the information 42 with the provided data (reference name/file name) in the file system 34.
  • a save cache data request is requested and max space has been reached.
  • a Pneuron issues a request to save data into the cache data system.
  • the request reaches the SAN (Storage Area Network or Cache System) .
  • the system checks the Max Space configured value.
  • the system compares the Max Space with the actual available space on the local hard drive, which is the hard drive where the system is running, or more exactly where the "cache" directory is found.
  • the system determines 44 there is NO sufficient space to save the information.
  • the system orders the existing cache data in descending order based upon the creation date. Then a loop occurs, which deletes the oldest file 46 and then re-checks to see if there is
  • a save cache data request is requested and max space has been reached, however the system is unable to make sufficient space.
  • a Pneuron issues a request to save data into the cache data system.
  • the request reaches the SAN (Storage Area Network or Cache System) .
  • the system checks the Max Space configured value.
  • the system compares the Max Space with the actual available space on the local hard drive, which is the hard drive where the system is running, or more exactly where the "cache" directory is found.
  • the system finds there is NO sufficient space to save the information.
  • the system orders the existing cache data descending based upon the creation date. A loop is created, such that the oldest file is deleted and then the system re-checks to see if there is sufficient space.
  • the system deletes all old files 46 and checks again for sufficient space and determines that there is not sufficient space and there is nothing else to delete, thereby ending the loop.
  • the system does not have sufficient space to save and the system will register a failure.
  • a system is able to get cache data when a local copy is available.
  • the cache system receives a request 48 to get a specific data.
  • This request can be issued by any Pneuron Instance that is supposed to use the cached data and needs to get a reference to the local file copy in order to read and parse/analyze or otherwise utilize the necessary information.
  • the system receives a request to get cache data 48.
  • the system process cache 50 checks to see if the cached data is found within the local file system 34.
  • the cache data is found to exist 52 within the local file system. Return reference to cache data 54. The caller will then be able to use the data.
  • the cache system 30, 32 receives a request to get specific data 48.
  • This request can be issued by any Pneuron Instance that is supposed to use the cached data and needs to get a reference to the local file copy in order to read and parse/analyze or otherwise utilize the necessary information.
  • the system receives a request to get cache data 48.
  • the system cache process 50 checks to see if the cached data is found within the local file system 34a.
  • the Current Cache System asks the other registered host 32 by calling their associated cache system process 50a which check for existence of the data.
  • a loop is created, such that the Foreign Cache file system 34b of server 32 is checked for data 56, then the data is found, and then the data is copied locally 58.
  • the loop ends when there are no more hosts/cache systems to search or once the cache data is found. Return reference to cache data 58.
  • the caller host 30 will then be able to use the cached data.
  • a system is unable to get cache data because a local copy is not available anywhere.
  • the cache system receives a request to get a specific data. This request can be issued by any Pneuron Instance that is supposed to use the cached data and needs to get a reference to the local file copy in order to read and parse the necessary information.
  • the system receives a get cache data request. The system checks to see if the cached data is found within the local file system. The system determines that cache data DOES NOT EXIST within the local file system.
  • the Current Cache System asks the other registered host by calling their associated cache systems 32 and checking for the data existence.
  • a loop is created, wherein the system checks the Check Foreign Cache System for data and determines that the data is not found. The loop ends once there are no more hosts/cache systems to check and no cache data has been found. The system determines that the data was not found. A failure has occurred.
  • the present invention enables the realtime generation, management, and synchronization of
  • the process deconstructs and organizes large data sets acquired from disparate systems and data sources across an unlimited number of physical servers and virtual machines.
  • An abstraction layer is applied across all distributed disk cache files. Multiple distributed Pneurons perform simultaneous operations across one or more disk cache files. Processing is synchronized automatically.
  • the system maintains an in-memory mapping tree to maintain distributed interactions and provides the ability to
  • the distributed cache model enables synchronized federation of selected information from multiple distributed cache files automatically and as part of the Pneuron processing.
  • the invention allows Pneuron to use existing client disk capacity and obtain and utilize targeted large data cache files on demand and without preparing aggregated data stores. As a result, businesses benefit by foregoing large data preparation activities.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A method and system for large data and distributed disk cache processing in a Pneuron platform (100). The system and method include three specific interoperable but distributed functions: the adapter/cache Pneuron (14) and distributed disk files (34), a dynamic memory mapping tree (50), and distributed disk file cleanup (28). The system allows for large data processing considerations and the ability to access and acquire information from large data files (102) and rapidly distribute and provide the information to subsequent Pneurons (104) for processing. The system also provides the ability to store large result sets, the ability to deal with sequential as well as asynchronous parallel processing, the ability to address large unstructured data; web logs, email, web pages, etc., as well as the ability to handle failures to large block processing.

Description

A METHOD AND PROCESS FOR ENABLING DISTRIBUTING CACHE DATA SOURCES FOR QUERY PROCESSING AND DISTRIBUTED DISK CACHING OF LARGE DATA AND ANALYSIS REQUESTS
TECHNICAL FIELD
[ 0001 ] The present invention relates to enabling
distributing cache data sources for processing large data and analysis requests and more particularly, relates to providing a distributed caching model to enable the management of distributed cache files on multiple servers or virtual machines and facilitating multiple distributed processing operations simultaneously. BACKGROUND INFORMATION
[ 0002 ] Accessing geographically dispersed multiple systems and large datasets and being able to operate on this
information to perform multiple simultaneous operations is very difficult. Combining and federating distributed operation results together compounds the problems. Most companies utilize an aggregated data warehouse with multiple feeder data sources and extraction, transformation, and loading (ETL) routines to organize distributed data together. The data preparation cost and time are signification.
[ 0003 ] Therefore, what is needed is a distributed cache evaluation and processing model that operates across multiple servers simultaneously. The system should function such that multiple analytic and business operations occur, while the system should also enable sampling and evaluation with collection and recording of results. Furthermore, the invention should provide for distributed cache creation and orchestration of coordinated distributed data access and generation of iteration results from other distributed applications. All distributed cache files operations should be coordinated together into unified processing models.
SUMMARY OF THE INVENTION
[ 0004 ] The system and method of the present invention implements an Adapter Pneuron that interacts within its distributed processing infrastructure for large data
processing. The Adapter Pneuron enables the real-time acquisition of data from different types of application data sources, including service application programming interface (API), database, and files. Data is acquired and transformed into self-describing ASCII disk cache files with an
associated definition of the structure. The disk cache files are distributed across one to many servers or virtual machines (VMs). The distributed disk cache files are accessed by participating Pneuron applications to perform operations selectively on the distributed disk data.
Multiple operations are performed simultaneously by the different Pneurons with results evaluated and subsequent iteration operations applied. Evaluated results are
concatenated and federated together across the different disk cache files simultaneously.
[ 0005 ] Disk cache files are removed automatically using a high-low disk evaluation model to remove disk cache files based on server disk utilization and automatic evaluation aging for disk cache files. The present invention enables the ability to quickly access target systems and data sources and generate distributed disk cache files, to simultaneously perform real-time operations by other Pneuron programs and to federate the results together. These activities occur without requiring preparation of the data. BRIEF DESCRIPTION OF THE DRAWINGS
[ 0006 ] These and other features and advantages of the present invention will be better understood by reading the following detailed description, taken together with the drawings wherein:
[ 0007 ] FIG. 1 is a comparison of the prior art process execution with the distributed cache model according to one embodiment of the present invention;
[ 0008 ] FIG. 2 is an overview of the dynamic memory mapping tree according to one embodiment of the present invention;
[ 0009 ] FIG. 3 is an overview of distributed disk cache removal model scenarios according to one embodiment of the present invention; and
[ 0010 ] FIG.4 is a block diagram of a system on which may be implemented the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[ 0011 ] The present invention features a system and method for large data processing and requesting reconstruction. The system 100, FIG. 4 and method includes the capacity for large data processing considerations (targeting record, queries and responses of 1 million and higher results). The invention provides for the ability to access and acquire information from large data files 102 (greater than 1 million records) and rapidly provide the information to subsequent Pneurons for processing combined with the ability to extract and render large queries from databases 102 without impacting system of records processing and rapidly provide the
information to subsequent Pneurons for processing. The system also has the ability for multi-threaded processing by multiple distributed pneurons 104 of large input/record sets files, enabling of storage and access to large historical results and the ability to handle large inputs. The
invention provides the ability to store or persist large result sets. For example, a million plus raw data evaluation may generate a very large array of intelligence results that need to be persisted for future use, which might occur with time-series data with multiple month-years and multiple intelligence results for each intelligence record. Further, the invention is able to deal with sequential as well as asynchronous parallel processing, is able to address large unstructured data; web logs, email, web pages, etc. and is able to handle failures to large block processing.
[ 0012 ] The design considerations of the present invention are focused on maximizing distributed processing workload (volumes, results and requests) without running out of resources; e.g. hardware resources, including memory and CPU. The solution consists of essentially three specific
interoperable but distributed functions. First, the
Adaptor/Cache Pneuron 14 and distributed disk cache files 30, 32. Second, the dynamic mapping tree 50, Fig. 3. Third, the distributed disk cache file cleanup Fig. 4. Each function will be described in greater detail below.
[ 0013 ] The Adaptor/Cache Pneuron 14 (and/or distributed adaptor/cache pneurons 104) and distributed disk cache files 34 address the problem of extremely large record set
processing which presents different technology challenges. Some of the current problems in the prior art include:
loading all information into memory will exceed hardware server resources; and breaking up large requests presents complexities in consolidating and synchronizing the
information results together and multiple operations may be required at different times by different programs across one or more large record sets .
[ 0014 ] The present invention solves these problems by extracting large record sets from target systems 102 and data sources and converting them into distributed disk cache files 34. The disk-based intermediate cache files and processing is coordinated by and across multiple Pneurons 104 to perform multiple simultaneous operations on the information
(distributed disk cache files 34). A comparison of the prior art system of process execution (FIG. 1A) and the distributed cache model of the present invention (FIG. IB) is shown in Figure 1.
[ 0015 ] The cache file based system 10 of the present invention will store the large requests within self- describing ASCII files and make these files (the data within them) available to any Pneuron that needs to access them. Large data requests 12, are received and processed by the Adapter Pneuron 14. The Adapter Pneuron 14 transforms the large data requests into ASCII file content (extended CSV format - including the attribute type definition) , and saves the ASCII file content on the local host hard drive. Once a request is received, the Adapter Pneuron 14 will send to all its associated Pneuron connections 104 a special message that will announce that new work is available and the data can be accessed from the referred files from the target disk cache location 30, 32 on the file system. This process will perform in the same manner even if the request is composed from multiple batches, thereby allowing the request to be reconstructed. All of the Pneurons will interact with this model approach. The Adapter Pneuron 14 maintains context of each distributed cache file and provides system context to each participating Pneuron. Context includes the definition of the cached file format and information elements and location of the file. Participating Pneurons are able to parse the cached/adaptor Pneuron information and perform different operations.
[0016] Once the data has been cached, the Adapter Pneuron 14 will send to subsequently connected Pneurons 104 a special message 15 that will announce to all configured and
associated Pneurons that new work is available and the
Pneurons can execute their operations on the disk cache files. The system includes a utility that enables the calling Pneurons 104 to transform to and from XmlMessage to the target extended CSV extended file format.
[0017] As a result, the invention greatly simplifies the access and operations on the distributed disk cache data and provides a common abstraction layer and interface for the Pneurons to access and perform operations on the data. The Pneurons only need to read the referred file content and transform the information into usable XmlMessage Type data. In addition, the Pneurons can filter and extract only the necessary attributes as vectors or other objects and optimize the memory management resources.
[0018] This invention therefore provides many critical transformational benefits. The data is accessed and managed at targeted server 106 locations on the respective filing system 30, 32 such that requests do not need to be
reconstructed, which saves processing time and reduces complexity. The system ability to process very large amounts of data is significant and unconstrained. Within the actual memory processing, the information is streamlined. Only reference and common messages and pointers are included. The distributed cache file model enables a planning mechanism to be implemented to optimize the resources and synchronize distributed cache file access and processing. The messages do not require any complex logical operations that will require the file structure to change. The system will be fully capable of handling the CRUD operations (create - add new entry/record; read - record; update - record; and delete - record) . This solution will work for all cases where the entity (large request - as a whole) will retain its
integrity/structure .
[0019] The dynamic mapping tree model shown for example i FIG. 2 is implemented to support the Adaptor Pneuron. The memory mapping enables a large data processing request transaction to retain its processing integrity from
initiation through completion of an execution. By retaining processing integrity, the representation and all the data characteristics will be retained and accessible during the request life cycle. Data representation defines the metadata characteristics of the information, including the way that the data is stored on the file system, the number of files, file types, data definition (attribute definition) , request references etc.
[0020] In order to manage the distributed disk caching model, the invention enables the following operations to be performed on the disk cache files: Create - add new record within the large request; Read - access one or more records from the large request; Update - update/modify the data for one or more records; and Delete - delete one or more records Given the synchronization and management complexities, the invention restricts the following functions: batching, duplicate batches and conditional batches.
[0021] To manage the distribution complexity of multiple disk cache files, the invention maintains and adjusts the system context dynamically. This model enables automatic changes to the data representation and structure. A
programmatic change history tracking is maintained, which keeps track of changes applied to the disk cache file(s). This feature enables automatic reconstruction of the disk cache file at any given time to support a Pneuron initiated operation and request. The present invention has implemented a programmatic process to decompose large data sets into request into smaller batches. The batches are organized into parallel execution requests and configured as part of the Pneuron Networks definition.
[ 0022 ] A dynamic memory tree map, Figure 2, is implemented to manage the distributed cache process across multiple Pneurons . The dynamic tree maintains and provides system context for the entire distributed processing model and plan. The entire processing life cycle is maintained. Each node/leaf within the dynamic tree will contain a file reference or a position/index reference and then point the Pneuron request message to the corresponding memory area. The dynamic memory tree map establishes a breadcrumb trail. Using this approach, the system is able to reconstruct the request with the new values by traversing the memory tree. The system merges and reconstructs the disk cache results based on the specific request. The same logic and approach is also applied for the Large Request Reconstruction, which enables a generic distributed disk cache operation model to be applied at the Pneuron Base Level.
[ 0023 ] The system will apply different solutions based on the context and type of operation. Dead (empty) messages are still sent out through the network. When a batch gets split in two or more sub-batches they are flagged. By doing this the system will be able to track the messages. The final Pneuron should have a max dead time interval, which will represent the time that it will wait for more batches. This time is checked/validated with the last batch arrival time. Each time a batch gets split the characteristic flag is appended with additional information meant to inform about the split. Example: 1/1-3/15-1/3-6/7-4/4. SPLIT is defined as [Position/Number Of Message/Batch] / [Total Number Of Messages] . Each time a batch gets split request, the split information will be appended to the current flag, which will be done for each split/sub batch. By the time the message reaches the Final Pneuron, the Pneuron will be able to establish the context based on the amount of information that it receives, and the Pneuron will be ready to create an execution tree, such as the one detailed in Figure 2. This approach is based on the fact that when the Final Pneuron receives a batch request, it will be able to trace it and complete (or start if it is the first batch from a large request) based on the defined execution tree. Any sub-batch that is received is able to communicate with the Pneuron of all the tree node parents and also the number of "leafs" per split. With this approach the Final Pneuron will be able to map out what it should receive, also the information that it receives can be ordered.
[ 0024 ] There are scenarios where the requesting Pneuron is unable to interact with the distributed cache disk. Examples could include: (1) The target data source or system is not available for access by the Adapter Pneuron and the disk file cache cannot be created; and (2) The file system where the disk cache file is stored is not available. An Idle or Dead Time interval model can be implemented to manage this scenario, such that the Idle or Dead Time interval
establishes a periodic mechanism to compose the message and send it further (or execute the request) . The Idle or Dead Time interval evaluates each past request and the elapsed time when the last batch was received and the execution trigger .
[ 0025 ] Finally, the distributed disk cache file clean up portion of the process 28, Figure 3, provides users with the capability of caching data, within the entire system, on all the hosts 106 that are running the platform (distributed pneuron 104) . The cache is a file system 34 based mechanism that transforms and stores them indefinitely making them available to one or more worker process pneurons . Since the invention is dealing with a highly distributed system that provides value by providing the users with parallel computing capabilities, all the resources that are used within this computing process must be available at each host level (that takes part of the parallel execution) . In doing so, each host will own a copy for each cache data that it will process. This creates a big problem because the hardware resources, hard drive space in this case is not unlimited, and since each host must have a local copy of the cached job the system does not deal with replication (duplicate
resources - at different host levels) .
[ 0026 ] Therefore, the present invention has implemented a High-Low distributed disk cache removal model. The invention configures properties for each host 106 (either a physical server or virtual server machine) . The host Max Available Space property establishes the amount of bytes (megabytes or even gigabytes) that can be used by the caching system 34 on that specific server 106. Once this max threshold is reached, the system will delete existing cache files based on the size and age of the distributed cache file. This model will eliminate past files and enable new disk files to be established and used. The cache file system will be bounded with these rules; in this case the only rule/limitation that we need is to have a maximum level of space that it can be used in order to store the working cache files. This maximum level of space that can be used will be stored within the Softwarerx . Properties file 36 from CFG directory, because this is a centralized storage point for all the properties and attributes that must or can't be stored within the database .
[ 0027 ] The following examples are intended to provide details on how the distributed disk file clean up functions in the present system. In a first example, a save cache data request 38 is requested/received and max space has not been reached on the host server 30/32. In this scenario, a
Pneuron issues a request 38 to save data into the cache data file system 34. The request reaches the SAN (Storage Area Network or Cache System/process) 40. The system checks the Max Space configured value 36. The system 28 compares the Max Space with the actual available space on the local hard drive, which is the hard drive where the host system 106 is running, or more exactly where the "cache" directory file system 34 is found. In this first example there is
sufficient space to save the information; therefore the system 28 will save the information 42 with the provided data (reference name/file name) in the file system 34.
[ 0028 ] In a second example, a save cache data request is requested and max space has been reached. In this scenario, a Pneuron issues a request to save data into the cache data system. The request reaches the SAN (Storage Area Network or Cache System) . The system checks the Max Space configured value. The system compares the Max Space with the actual available space on the local hard drive, which is the hard drive where the system is running, or more exactly where the "cache" directory is found. The system determines 44 there is NO sufficient space to save the information. The system orders the existing cache data in descending order based upon the creation date. Then a loop occurs, which deletes the oldest file 46 and then re-checks to see if there is
sufficient space. The loop ends once sufficient space is cleared or if there is nothing else to delete. If the system has sufficient space to save, then the information is saved 42 with the provided data (reference name/file name).
[ 0029 ] In a third example, a save cache data request is requested and max space has been reached, however the system is unable to make sufficient space. In this scenario, a Pneuron issues a request to save data into the cache data system. The request reaches the SAN (Storage Area Network or Cache System) . The system checks the Max Space configured value. The system compares the Max Space with the actual available space on the local hard drive, which is the hard drive where the system is running, or more exactly where the "cache" directory is found. The system finds there is NO sufficient space to save the information. The system orders the existing cache data descending based upon the creation date. A loop is created, such that the oldest file is deleted and then the system re-checks to see if there is sufficient space. In this example, the system deletes all old files 46 and checks again for sufficient space and determines that there is not sufficient space and there is nothing else to delete, thereby ending the loop. In this example, the system does not have sufficient space to save and the system will register a failure.
[ 0030 ] In a fourth example, a system is able to get cache data when a local copy is available. In this scenario, the cache system receives a request 48 to get a specific data. This request can be issued by any Pneuron Instance that is supposed to use the cached data and needs to get a reference to the local file copy in order to read and parse/analyze or otherwise utilize the necessary information. The system receives a request to get cache data 48. The system process cache 50 checks to see if the cached data is found within the local file system 34. The cache data is found to exist 52 within the local file system. Return reference to cache data 54. The caller will then be able to use the data.
[ 0031 ] In a fifth example, a system is unable to get cache data because a local copy is not available. In this
scenario, the cache system 30, 32 receives a request to get specific data 48. This request can be issued by any Pneuron Instance that is supposed to use the cached data and needs to get a reference to the local file copy in order to read and parse/analyze or otherwise utilize the necessary information. The system receives a request to get cache data 48. The system cache process 50 checks to see if the cached data is found within the local file system 34a. The system
determines that the cache data DOES NOT EXIST within the local file system. The Current Cache System asks the other registered host 32 by calling their associated cache system process 50a which check for existence of the data. A loop is created, such that the Foreign Cache file system 34b of server 32 is checked for data 56, then the data is found, and then the data is copied locally 58. The loop ends when there are no more hosts/cache systems to search or once the cache data is found. Return reference to cache data 58. The caller host 30 will then be able to use the cached data.
[ 0032 ] In a sixth example, a system is unable to get cache data because a local copy is not available anywhere. The cache system receives a request to get a specific data. This request can be issued by any Pneuron Instance that is supposed to use the cached data and needs to get a reference to the local file copy in order to read and parse the necessary information. The system receives a get cache data request. The system checks to see if the cached data is found within the local file system. The system determines that cache data DOES NOT EXIST within the local file system. The Current Cache System asks the other registered host by calling their associated cache systems 32 and checking for the data existence. A loop is created, wherein the system checks the Check Foreign Cache System for data and determines that the data is not found. The loop ends once there are no more hosts/cache systems to check and no cache data has been found. The system determines that the data was not found. A failure has occurred.
[ 0033 ] In summary, the present invention enables the realtime generation, management, and synchronization of
distributed disk caches within a highly distributed
processing environment. The process deconstructs and organizes large data sets acquired from disparate systems and data sources across an unlimited number of physical servers and virtual machines. An abstraction layer is applied across all distributed disk cache files. Multiple distributed Pneurons perform simultaneous operations across one or more disk cache files. Processing is synchronized automatically. The system maintains an in-memory mapping tree to maintain distributed interactions and provides the ability to
dynamically construct and deconstruct the distributed cache files into any form. The distributed cache model enables synchronized federation of selected information from multiple distributed cache files automatically and as part of the Pneuron processing. The invention allows Pneuron to use existing client disk capacity and obtain and utilize targeted large data cache files on demand and without preparing aggregated data stores. As a result, businesses benefit by foregoing large data preparation activities.
[ 0034 ] Modifications and substitutions by one of ordinary skill in the art are considered to be within the scope of the present invention, which is not to be limited except by the allowed claims and their legal equivalents.

Claims

CLAIMS The invention claimed is:
1. A method for processing large data and analysis
requests, said method comprising the following acts:
acquiring data in real-time from one or more application data sources by a data processing pneuron, said data
processing pneuron configured for operating under control of a computer program product, said computer program product comprising a computer program;
transforming said data into self-describing ASCII disk cache files by said data processing pneuron;
distributing said disk cache files across one or more servers or virtual machines by an adaptor cache pneuron;
allowing access to said distributed disk cache files by participating applications, wherein said applications are configured to perform operations on said distributed disk data; and
removing said disk cache files automatically using a high-low disk evaluation model to remove said distributed disk cache files based on server disk utilization and automatic evaluation aging for said distributed disk cache files .
2. A system for processing large data and analysis
requests, said system comprising:
a pneuron server configured for operating under control of a computer program product, said computer program product comprising a computer program, for deploying a data
processing pneuron for acquiring data in real-time from one or more application data sources, said data processing pneuron for transforming said data into one or more self- describing ASCII disk cache files;
said pneuron server configured for deploying one or more adaptor cache pneuron, said adaptor cache pneuron operating under control of a computer program product, said computer program product comprising a computer program, for
distributing said one or more disk cache files across one or more servers or virtual machines;
said one or more servers configured for allowing access to said distributed disk cache files by one or more
distributed worker pneurons, wherein said distributed worker pneurons are configured to perform operations on said distributed disk data; and
said one or more worker pneurons configured removing said disk cache files automatically using a high-low disk evaluation model to remove said distributed disk cache files based on server disk utilization and automatic evaluation aging for said distributed disk cache files.
3. The system of claim 2 wherein said one or more worker pneurons configured removing said disk cache files are configured for removing disk cache files prior to storing disk cache files received from said adaptor pneuron.
PCT/US2013/050673 2012-07-16 2013-07-16 A method and process for enabling distributing cache data sources for query processing and distributed disk caching of large data and analysis requests WO2014014906A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP13819950.0A EP2873008A4 (en) 2012-07-16 2013-07-16 A method and process for enabling distributing cache data sources for query processing and distributed disk caching of large data and analysis requests
CA2918472A CA2918472C (en) 2012-07-16 2013-07-16 A method and process for enabling distributing cache data sources for query processing and distributed disk caching of large data and analysis requests
IL236764A IL236764A0 (en) 2012-07-16 2015-01-18 A method and process for enabling distributing cache data sources for query processing and distributed disk caching of large data and analysis requests

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261672028P 2012-07-16 2012-07-16
US61/672,028 2012-07-16

Publications (3)

Publication Number Publication Date
WO2014014906A2 true WO2014014906A2 (en) 2014-01-23
WO2014014906A8 WO2014014906A8 (en) 2014-04-10
WO2014014906A3 WO2014014906A3 (en) 2014-05-30

Family

ID=49949358

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/050673 WO2014014906A2 (en) 2012-07-16 2013-07-16 A method and process for enabling distributing cache data sources for query processing and distributed disk caching of large data and analysis requests

Country Status (4)

Country Link
EP (1) EP2873008A4 (en)
CA (1) CA2918472C (en)
IL (1) IL236764A0 (en)
WO (1) WO2014014906A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017089105A1 (en) 2015-11-27 2017-06-01 Asml Netherlands B.V. Metrology target, method and apparatus, computer program and lithographic system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110145363A1 (en) 2009-12-16 2011-06-16 International Business Machines Corporation Disconnected file operations in a scalable multi-node file system cache for a remote cluster file system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003269798A1 (en) * 2002-02-01 2004-01-06 John Fairweather A system for exchanging binary data
US7689599B1 (en) * 2005-01-31 2010-03-30 Symantec Operating Corporation Repair of inconsistencies between data and metadata stored on a temporal volume using transaction log replay
US8266237B2 (en) * 2005-04-20 2012-09-11 Microsoft Corporation Systems and methods for providing distributed, decentralized data storage and retrieval
US8626844B2 (en) * 2007-03-26 2014-01-07 The Trustees Of Columbia University In The City Of New York Methods and media for exchanging data between nodes of disconnected networks
KR101285078B1 (en) * 2009-12-17 2013-07-17 한국전자통신연구원 Distributed parallel processing system and method based on incremental MapReduce on data stream

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110145363A1 (en) 2009-12-16 2011-06-16 International Business Machines Corporation Disconnected file operations in a scalable multi-node file system cache for a remote cluster file system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017089105A1 (en) 2015-11-27 2017-06-01 Asml Netherlands B.V. Metrology target, method and apparatus, computer program and lithographic system
US9977344B2 (en) 2015-11-27 2018-05-22 Asml Netherlands B.V. Metrology target, method and apparatus, computer program and lithographic system

Also Published As

Publication number Publication date
EP2873008A2 (en) 2015-05-20
EP2873008A4 (en) 2016-06-29
CA2918472C (en) 2018-05-29
WO2014014906A8 (en) 2014-04-10
CA2918472A1 (en) 2014-01-23
WO2014014906A3 (en) 2014-05-30
IL236764A0 (en) 2015-03-31

Similar Documents

Publication Publication Date Title
US10684990B2 (en) Reconstructing distributed cached data for retrieval
US11816126B2 (en) Large scale unstructured database systems
US11403321B2 (en) System and method for improved performance in a multidimensional database environment
JP6697392B2 (en) Transparent discovery of semi-structured data schema
US9507807B1 (en) Meta file system for big data
US11977532B2 (en) Log record identification using aggregated log indexes
US20220114064A1 (en) Online restore for database engines
CA2910211A1 (en) Object storage using multiple dimensions of object information
US10909143B1 (en) Shared pages for database copies
US20170371928A1 (en) Data arrangement management in a distributed data cluster environment of a shared pool of configurable computing resources
Merceedi et al. A comprehensive survey for hadoop distributed file system
CN118069712A (en) Data life cycle management method and device, electronic equipment and storage medium
US11341159B2 (en) In-stream data load in a replication environment
US9275059B1 (en) Genome big data indexing
CA2918472C (en) A method and process for enabling distributing cache data sources for query processing and distributed disk caching of large data and analysis requests
US20220092194A1 (en) Smart Direct Access
Ismail et al. HopsFS-S3: Extending Object Stores with POSIX-like Semantics and more (industry track)
Xu et al. VSFS: A versatile searchable file system for HPC analytics
US20240104074A1 (en) Location-constrained storage and analysis of large data sets
Rao et al. HDFS memory usage analysis
Qian et al. Review of the Basic Technology of Big Data on Analysis and Storage Applied in Power Grids
Mayuri et al. A Study on Use of Big Data in Cloud Computing Environment
Johnson et al. Big data processing using Hadoop MapReduce programming model
CN117495288A (en) Data asset full life cycle management system and method
Santamaria Mateu A staging area for in-memory computing

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

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 236764

Country of ref document: IL

WWE Wipo information: entry into national phase

Ref document number: 2013819950

Country of ref document: EP

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

Ref document number: 13819950

Country of ref document: EP

Kind code of ref document: A2

ENP Entry into the national phase

Ref document number: 2918472

Country of ref document: CA