Research Article Temporal Index Scheme Of Hyperledger Fabric System In IoT

1y ago
4 Views
2 Downloads
1.12 MB
15 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Esmeralda Toy
Transcription

HindawiWireless Communications and Mobile ComputingVolume 2021, Article ID 9945530, 15 pageshttps://doi.org/10.1155/2021/9945530Research ArticleTemporal Index Scheme of Hyperledger Fabric System in IoTYongqiang Lu ,1 Zhaobin Liu ,1 Shaoqi Wang,1 Zhiyang Li,1 Weijiang Liu,1and Xuhui Chen212School of Information Science and Technology, Dalian Maritime University, Dalian 116026, ChinaThe Key Laboratory of Internet of Things Application Technology, Xiamen University of Technology, Xiamen 361024, ChinaCorrespondence should be addressed to Zhaobin Liu; zhbliu@dlmu.edu.cnReceived 12 March 2021; Revised 12 May 2021; Accepted 28 June 2021; Published 12 July 2021Academic Editor: Zhuojun DuanCopyright 2021 Yongqiang Lu et al. This is an open access article distributed under the Creative Commons Attribution License,which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.As a large number of mobile terminals are connected to the IoT, the security problem of IoT is a challenge to the IoT technology.Blockchain technology has the characteristics of decentralization, data encryption, smart contract, and so on, especially suitable inthe complex heterogeneous network. However, sequential access based on block files in the blockchain hinders efficient queryprocessing. The problem is due to current blockchain solutions do not support temporal data processing. In this paper, wepropose two index building methods (TISD and TIF) to address this issue in Hyperledger Fabric System. TISD (temporal indexbased on state databases) segments the historical data by time interval in the time dimension and indexes events at the sametime interval. TIF (temporal index based on files) builds the index of files by the block transaction data, which is arranged inchronological order and is stored at a certain time interval. In the experimental part, we compare the query time on two datasetsand analyse the query performance. Experiments demonstrated that our two methods are relatively stable in overall timeperformance on different datasets in the Hyperledger Fabric System.1. IntroductionThe Internet of Things is made up of devices that generate,process, and exchange large amounts of security-critical data,so IoT devices are often the target of various cyberattacks [1,2]. Due to cost constraints and harsh application scenarios,most IoT devices have general functions and limited computing and storage capabilities [3]. These devices must use mostof their resources for computing and executing core applications, so they cannot consume too many resources in termsof security and privacy [4]. In terms of protecting user privacy, the existing IoT system has obvious defects, which willhinder the IoT application service program from providingnormal services. Therefore, the IoT needs a lightweight, scalable, and distributed security privacy-protection mechanism.Blockchain technology supports distributed, secure, andconfidential security mechanisms, which are suitable for providing security protection for the IoT.Blockchain is an accounting technique that is maintainedjointly by multiple parties and uses cryptography to ensurethe security of transmission and access [5]. It can achieveconsistent data storage and difficultly to tamper with andprevent denial. It is also known as a typically distributed ledger technology [6, 7]. The blockchain uses transaction signatures, consensus algorithms, and cross-chain technology toensure the consistency of the distributed ledgers of bothparties to the transaction and realize the automatic disclosureof information [8].In 2015, Linux Foundation led an open-source blockchain project—Hyperledger-developed Fabric [9, 10], Sawtooth, Burrow, and Iroha multiple blockchain projects. Oneof the most concerned is Fabric, different from the currencyand etheric fang public blockchain projects, such as Hyperledger Fabric as chain alliance specially designed for enterprise applications, introduced the members of the identityauthentication [11].

2Wireless Communications and Mobile ComputingBlockBlock headerBlockheaderPrev hashBlockheaderNonceRoot Tx3BlockFigure 1: Bitcoin blockchain structure.Root hash (H1, H2)H1: hash (T0, T1)H2: hash (T2, T3)T0: hash0T1: hash1T2: hash2T3: hash3Tx0Tx1Tx2Tx3Figure 2: Merkle Tree SSTableSSTableMajorcompactionFigure 3: LevelDB framework.The popularity and engagement of Fabric mainly comefrom its open-source and rapid iteration. At present, theframe has also undergone a relatively big change in the latest2.0 version [12]. The main technology is as follows: pluggableconsensus mechanism, more flexible intelligent contract, andparticipant identity-management mechanism [13].First, Fabric uses a pluggable consensus mechanism [14].More projects have different requirements on transaction

Wireless Communications and Mobile Computing3Client4135726Peer1Call chain code2Query history index3Return iterator4Determine whether k exists in iterator5Call the next function in iterator6Query block file location and parse block file7Parse the returned dataFigure 4: GHFK calling process.k, 𝜃𝜀(k, 𝜃){value(1), value(2),., value(n)}Figure 5: TISD structure.Input: key k and value eventOutput: index state1: if current θ still valid then2:Get current state of εðk, θÞ from StateDB3:Append event to εðk, θÞ4:Update εðk, θÞ to StateDB5: else6:Write hðk, θÞ, εðk, θÞi to block file7:Update εðk, θÞ to HistoryDB8:Generate new θ9:Append event to εðk, θÞ10: end if11: return stateferent block files. This has a great impact on the temporalquery in this state. With the continuous growth of transaction time, the corresponding data volume, and block filequantity increase, the speed of temporal query is bound todecline rapidly [20].If the IoT system uses the traditional temporal indexes ofthe Hyperledger Fabric System, the speed of the temporalquery will reduce in IoT [21, 22]. So we propose two indexbuilding methods (TISD and TIF). The TISD method isbuilding the temporal indexes based on state databases. TheTIF method is building the temporal indexes based on files.These two methods can solve slow query problems, and service deployment processes complicated problems in theHyperledger Fabric System. These two methods reduce thequery time and improve the efficiency of the query. Meanwhile, these two methods also solve the temporal index problem of the Hyperledger Fabric System in IoT. We comparedthe query times on two datasets and verified our method.Algorithm 1. TISD generate ðk, eventÞ.2. Related Workseffectiveness, timeliness, and throughput in different scenarios, so the requirements on consensus are different. In Fabric,different consensus algorithms (such as Solo, Kafka, Raft, andPBFT) are provided to adapt to different network and tradingenvironments and meet corresponding performancerequirements.Then, Fabric also expands and improves on the smartcontract, eliminating the need for a specific programminglanguage and virtual machine like Ethereum [15, 16]. Fabriccan support intelligent contracts written in C, Java, JavaScript, Go, and other languages and complete deploymentto reduce the difficulty of learning [17].Finally, according to the number and roles of the partiesinvolved in different usage scenarios, Fabric defines the rightsof users and ensures the security of private data, issues certificates, and controls the rights of users. It makes the deployment of intelligent contracts more secure and flexible.With the rapid development of blockchain technology, ithas a natural advantage in such industries as certificate storage and source tracing. At the same time, it also faces greatchallenges in the process of system construction and practicalapplication. In the Hyperledger Fabric System, querying historical data can only be done through the GetHistoryForKeyinterface [18, 19]. In the execution process, the chain code IDneeds to get the block location and transaction number fromhistory-DB, then parse out the corresponding value from dif-In this section, we will introduce the work related to the useof blockchain technology in IoT.2.1. Blockchain. The blockchain was used as the underlyingtechnology for Bitcoin in the early stage and applied to virtualmachines and intelligent contracts in Ethereum [23]. Now,the blockchain as the most widespread technology has beenimported into the Hyperledger Fabric System. Each stagerepresents the different stages of blockchain technologydevelopment, but each has the most basic chain structure,organized by block files in order, and each block is linkedin chronological order by hash value [24]. In Figure 1, blockfiles include the header section and the block body part. Theblock header contains the hash value of the last block header,Merkle Tree information, etc. Blocks recorded data related totrading, and each block file links from a chain structure inchronological order by hash value [25]. The blockchain, asa distributed ledger, needs to ensure to reach a consensusbetween the input and output values of the transaction inthe distributed environment. It also maintains the consistency of the data of all parties in the process of bookkeeping[26]. To solve this problem, Bitcoin proposed the concept ofconsensus algorithm; the algorithm is used to ensure the consistency of the data of each node, so as to achieve the stabledevelopment of the network in the presence of maliciousnodes to participate in transactions. The current consensus

4Wireless Communications and Mobile ComputingTx1:[.]Tx2:[.]Tx3:[.].Transactionsk, 𝜃𝜀(k, 𝜃){value(1), value(2),., value(n)}kvalue(n).Block headerPayload:Tx1, Tx2, Tx3,.State nBlockfilek value(n 1)k, 𝜃𝜀(k, 𝜃){value(1), value(2),., value(n 1)}kvalue(n 1).State n 1Composite keyEmpty value.HistoryDBFigure 6: TISD construction process.Input: key k, time interval τOutput: list of events1: Events ϕ2: Get current θðkÞ3: for θðkÞ has next do4:if relationðθ, τÞ is Join or Inclusion then5:Append θ to oðθðkÞ, τÞ6:end if7: end for8: for j 0 ; j lengthðoðθðkÞ, τÞÞ ; j do9:res GHFKðoðθðkÞ, τÞ½j Þ10:for res has next do11:Timeporal Join with τ12:Delete event not in τ13:Add events in time interval τ to Events14:end for15: end for16: return EventsAlgorithm 2. TISD query ðk, τÞ.𝜃File name, file path, file stateFigure 7: TIF construction process.algorithms are mainly divided into three types: Proof ofWork (PoW [27]), Proof of Stake (PoS [27]), and traditionaldistributed consensus algorithm.On the block data structure, each blockchain platformuses the Merkle Tree to process transaction data [19]. MerkleTree is normally a full binary tree; as shown in Figure 2, thebottom of each leaf node represents a transaction data onthe blockchain. T 0 is the hash value of Tx0 ’s transaction data.T 1 is the hash value of Tx1 , H 1 is the hash value of T 0 and T 1 ,and T 2 is the hash value of Tx2 ’s transaction data. T 3 is thehash value of Tx3 , and H 2 is the hash value of T 2 and T 3 .After the hash computation of every layer, it can produce ahash and store in the block header.2.2. Hyperledger Fabric Framework. The Hyperledger projectwas established in 2015, led by the Linux Foundation, andattracted projects including IBM, Intel, and other companiescontributed several blockchain platforms like Fabric [28].Fabric is an open-source enterprise blockchain platform,which provides a highly modular and configurable architecture. It can be widely applied to multiple industries [29]. Atpresent, Fabric has been applied in many fields such as banking, financial institutions, and insurance.Fabric needs to be more flexible in the context of enterprise usage. So far, the following options are provided in different versions of Fabric: Solo, Kafka [30], SBFT [31], andRaft.Solo mode is the single-node communication mode. Inthis environment, there is only one sort of service node,and messages sent from Peer point are sorted by this node.The availability and scalability are limited, so it is not suitablefor production environment and is generally used for development and test environment.Kafka mode is the processing of sorting information provided by Kafka service. Kafka is an open-source project ofApache that mainly provides distributed message processingand distribution services. Each Kafka cluster is composed ofmultiple nodes and supports fault tolerance.SBFT is a simple Byzantine algorithm. Compared withKafka, it can tolerate fault nodes and a certain number ofmalicious nodes.In Fabric, there are four kinds of nodes participating inthe network: Peer node, Orderer node, Certificate Authoritynode, and Client node [32].The Peer node is divided into four nodes: accountingnode, endorsement node, master node, and anchor node.Each Peer node is a billing node in the channel, responsiblefor receiving and verifying data blocks sent from the sortingservice while maintaining a copy of the ledger.The Orderer node is received transactions containingendorsement signatures, packages them into blocks, andbroadcasts them to Peer nodes. It can ensure the logical orderof transactions and ensure that all nodes on the chain receivethe same message.Certificate Authority node is to issue identity informationto other nodes in the network, which is the certificate authority in Fabric.Client node is an entity directly operated by users. It participates in the communication of the blockchain network byconnecting to a Peer node or an Orderer node.

Wireless Communications and Mobile n)},{k:value(n 1)}State nk value(n 1)k, 𝜃.kvalue(n 1).𝜃 fileState n 1𝜃{key1:value(1)},{key2:value(2)},. {keyn:value(n)},{k:value(n 1)}MemoryFigure 8: TIF construction process.Input: transaction key and valueOutput: index state1: if current θ still valid then2:if cache full then3:Write cache data to θ file4:Update state ðθ, f ileÞ5:Index state write key value to cache6:else7:Index state write key value to cache8:end if9: else10:Generate new θ11:Update θ12:Index state Generate index based on file ðkey, valueÞ13:end if14:return Index stateAlgorithm 3. TIF generate ðkey, valueÞ.Fabric’s data is stored in block file and database, respectively. Block file mainly stores transaction information,including hash value and block packaging time. For the database, from the perspective of database type, it can be dividedinto Couch DB [33] and LevelDB [34], which can be specifiedthrough the configuration file, and LevelDB is selected bydefault. From the perspective of database usage, there is a ledger index for storing account ID, a block index for storingblock, a state database for the current latest state of transactions on the storage chain, and a history database for storingvalid parts of the transaction information [35].2.3. Level DB. LevelDB is a key-value storage engine developed by Google. LevelDB, like most KV systems, also has asimple operation interface and basic operations that includewriting record, reading record, and deleting record [36].LevelDB is widely used in various projects. The general architecture of LevelDB is shown in Figure 3.Memtable is a storage mode in memory, with the datastructure of skip table as the default mode [37]. When per-forming a data write, it writes to Memtable first, and immutable Memtable changes to read-only Memtable when its datasize reaches the threshold; and then, compression threads inthe background change immutable Memtable to an SSTablefile for storage on disk.SSTable is a data persistence file, which is an orderlyarrangement of keys within the file [38]. The first part ofthe file is the data, followed by the metadata for the index.MANIFEST file contains the key range and the hierarchy.The version of MANIFEST file is changed when the databaseis reopened. If the database is opened, a new file will be generated each time.CURRENT file is the file name of MANIFEST files [39].CURRENT file can be used to locate the MANIFEST file torestore the database in the event of a failure, such as a poweroutage.LOCK file is used to control multiprocess access to thedatabase [37]. When a process opens the database, an exclusive file lock will be added to the file. If the process finishes,the lock will be automatically released.

6Wireless Communications and Mobile ComputingInput: key k, time interval τOutput: list of events1: Events ϕ2: Get θ from StateDB3: for θ has next do4:if relationðθ, τÞ is Join of Inclusion then5:Append θ to oðθ, τÞ6:end if7: end for8: for j 0 ; j lengthðoðθ, τÞÞ ; j do9:s GetState ðθÞ10:if s! nil then11:Read file to memory12:Parse file13:Events temporal14:else15:Read memory16:Events temporal join17:end if18: end for19: for i 0 ; j lengthðEventsÞ ; i doif Events ½i not belong to k then20:21:Remove Events ½i from Events22:end if23: end for24: return EventsAlgorithm 4. TIF query ðk, τÞ.2.4. IoT System. The IoT system connects the Internet andinformation-sensing equipment to achieve intelligent controland management of all objects. It can be divided into threelayers: Perception Layer [40], Network Layer, and Application Layer. Perceptual Layer is responsible for object collection and data processing. Network Layer is responsible fortransmitting the collected data. Application Layer providesIoT-based applications [41].The IoT system usually includes embedded devices withresource constraints. As an important part of IoT, sensorswill face some technical challenges in practical applications[42]. First, due to the limitations of low cost, low power consumption, and small size of sensors, these limit sensors’ computing, storage, and communication capabilities, therebyaffecting the expansion capabilities of the network [43]. Second, most sensors are deployed in unattended areas, so sensor security issues are particularly prominent. Third, sincethe monitoring and recording capabilities of sensors are oftenopaque, when sensors share data information, they will causedata information leakage. The IoT system is being integratedwith various technologies to solve various problems, such asLiang W who proposed a fast defogging image recognitionalgorithm based on bilateral hybrid filtering to solve IoTimage issues in foggy weather [44].Blockchain has significant cryptographic security andimmutability [8]. With its characteristics of decentralization,consensus mechanism, and nontamper ability, IoT can usethe advantages of blockchain to solve its security and scalability issues [45]. The decentralization of blockchain enablesIoT devices to directly obtain information without a centralserver, which reduces the problem of high operating costsfor central institutions. But the IoT system uses the traditional temporal indexes that cannot meet IoT’s needs. Wepropose two index building methods to solve this issue.3. Efficient Temporal IndexFabric distinguishes between the historical state and the current state of the data [46]. The data of transactions are storedin LevelDB in the form of key-value pairs. For each key in thetransaction, there are multiple states corresponding to it. Thelatest state is called the current state, and other states arecalled historical state [47].The state database stores the current state of the key,while the history database stores only the index location ofthe historical data on the block file, which is stored on disk[48]. The historical data is inserted in chronological orderand distributed in different block files, so the efficiency ofprocessing the historical data is relatively low.In Fabric, there is no interface for temporal queries in thesystem. When we need to analyse the historical data, we callthe GHFK function to get an iterator. Through the dataobtained by iterator that is connected with the correspondingtime interval in memory, we realize the temporal query.GHFK function can return all the history data for the committed valid k. The calling process is shown in Figure 4.For example, there is many trading information in thetime interval ½0, T 1 . If we want to query the transactioninformation in the time interval ½0, T 2 ðT 2 T 1 Þ, we needto call GHFK function to access large amounts of data, deserialize the block file, and connect the data to the time interval.If we want to query the transaction information in the timeinterval ½T 2 T 1 , we should connect the data to the timeinterval ½0, T 1 . In other words, the data is useless in the timeinterval ½0, T 2 . It is a waste to read and deserialize the data inthe time interval ½0, T 2 .As time goes on, the block file that needs to be deserialized is increasing by transaction volume and data volume[49]. It will inevitably lead to the decline of query efficiencywith the change of query interval.In this part, we propose two methods which are temporalindexes based on state database and file in Fabric to solve thisproblem. It can improve the efficiency of temporal query inHyperledger Fabric.3.1. Temporal Index Based on State Databases. The reason forthe low efficiency of Fabric temporal query is greatly relatedto the number of reads and writes to the database and thenumber of accesses to the file; especially, when the query volume is relatively large, the efficiency will significantlydecrease. In our method, we divide the transaction into corresponding intervals according to such criteria as time intervals and add indexes to the intervals to speed up the temporalquery. In this section, we will introduce how to create a temporal index (TISD: temporal index based on state databases).In the process of constructing a temporal index, let t 1 bethe starting time of the temporal index and t 2 be the startingtime of the next build process. For each entity k in the transaction, we divide ½t 1 , t 2 into many time frames θðkÞ fθ1 ,

Wireless Communications and Mobile Computing71016091408120Execution time (s)Execution time (s)76541008060340220100010203040506070Query time interval (ks)FIFE8090100010203040506070Query time interval (ks)8090100FabricDIM1Figure 9: Dataset UD, network structure T1, and TISD query time.θ2 , , θm g, and every time frame θi is adjacent. We buildtemporal index for every k in every time frame θi .In Figure 5, for entity k, let εðk, θÞ represent a set of eventsthat relate to k and occur in time frame θ. Let the key-value ðk, θÞ, εðk, θÞ insert the state database, where ðk, θÞrespresents the composite value and εðk, θÞ represents thevalue. It is useful to speed up the temporal index.When the data is submitted to the state database, webuild an index of the time state of the data. The constructionprocess of the index is as shown in Algorithm 1. First, youneed to determine the current time interval θn to verify andthe current time interval is valid. If θn is valid, we use GetStateð k, θn Þ to obtain εðk, θn Þ and update the currentstatus.As shown in Figure 6, the status of k, θn is updatedfrom n to n 1; it also means the current event valuen 1 isadded to εðk, θn Þ. At the same time, the value of k is updatedfrom valuen to valuen 1 . If θn satisfies the separation condition, it will generate a new time interval θn 1 . If θn is invalid,the status of k, θn will update to k, θn , }} and generatea new event ðk, θn 1 Þ, εðk, θn 1 Þ .Algorithm 1: TISD generate ðk, eventÞ.Input: key k andvalue eventOutput: index state1: if current θ still valid then2:Get current state of εðk, θÞ from StateDB3:Append event to εðk, θÞ4:Update εðk, θÞ to StateDB8:Generate new θ9:Append event to εðk, θÞ10:end if11:return stateDuring index building, we need to divide the time intosome time intervals θ, the time intervals are continuous,and all data events are included. We use three times intervalsegmentation methods: FI (fixed time interval), FE (fixedevent number), and DI (dynamic interval).FI: In the total length of time, it builds a temporal indexin the fixed time interval. Each entity may match a differentnumber of events in each time interval by different tradingsituations. Therefore, the efficiency may be erratic.FE: In this model, time intervals θ are determined only bya fixed event number. The length of temporal index may havea big gap in each entity by different trading situations. Forfrequently updated entity values, the index is also frequentlyupdated. There may be multiple time intervals in a shortperiod of time, and the database may be accessed multipletimes during the query.DI: The time interval is determined by calculating thetime and measuring the number of events. A time intervalor several events are fixed, and the time interval must bedetermined in one of two ways. One is that the number ofevents must equal or exceed the specified number of eventswhen the time interval is equal to a fixed value. Another isthat the interval must be at least fixed when the number ofevents is equal to a fixed value, so it is able to avoid thatevents occur too much or too little in a time interval.5: else6:Write hðk, θÞ, εðk, θÞi to block file7:Update εðk, θÞ to HistoryDB3.2. TISD Query Process Analysis. To illustrate the query process, we define four relations: temporal joined relation, temporal connected relation, temporal included relation, and

8Wireless Communications and Mobile Computing1016091408120Execution time (s)Execution time (s)7654100806034022010010203040506070Query time interval (ks)809001000DIM1FIFE102030405060Query time interval (ks)708090100708090100FabricFigure 10: Dataset UD, network structure T2, and TISD query time.2201009020080Execution time (s)Execution time y time interval (ks)70809010002030405060Query time interval (ks)FabricDIM1FIFE10Figure 11: Dataset ZD, network structure T1, and TISD query time.no temporal relation [50]. Let8Join Connection relation θi , θ j Inclusion :Noneθi θi ϕ θm θi θm ϕ, θm θi ϕθi θiotherwise,ð1Þwhere Join represents temporal joined relation, Inclusionrepresents temporal included relation, Connection representstemporal connected relation, and None represents no relation between two intervals.The query process is shown in Algorithm 2, εðk, τÞ is allevents about k in the time interval τ. The algorithm queriesk and time interval θðkÞ by the iterator returned of GetStateByRange and obtains oðθðkÞ, τÞ, where oðθðkÞ, τÞ representsan interval that has temporal joined relation or temporalincluded relation between θðkÞ and the target query interval.There is a temporal connected relation between the first θand the last θ in oðθðkÞ, τÞ.Algorithm 2: TISD query ðk, τÞ.Input: key k, time interval τOutput: list of events1:Events ϕ2:Get current θðkÞ3:forθðkÞ has next do4:ifrelationðθ, τÞ is Join or Inclusion then

Wireless Communications and Mobile Computing92201009020080Execution time (s)Execution time ery time interval (ks)8090100DIM1FIFE010203040506070Query time interval (ks)8090100FabricFigure 12: Dataset ZD, network structure T2, and TISD query time.Table 1: TISD data insertion time comparison 255.63DatasetUDZDFabric227.26228.59Table 2: TISD data insertion space comparison 80191.78DatasetUDZD5:6:Fabric103.5103.5Append θ to oðθðkÞ, τÞend if7: end for8: forj 0 ; j lengthðoðθðkÞ, τÞÞ ; j do9:10:res GH FKðoðθðkÞ, τÞ½j Þfor res has next do11:Timeporal Join with τ12:Delete event not in τ13:Add events in time interval τ to Events14:end for15:end for16:return EventsFor each θ in oðθðkÞ, τÞ, GHFKð k, θ Þ is performed.The block file is parsed through the returned iterator. Forthe interval with temporal included relation, the data parsedby the iterator is appended to the result sets. For the intervalwith temporal joined relation, the data returned by the iterator is traversed to remove the data not in the interval τ.In the temporal query process, the efficiency of the queryis mainly measured by the query time, which depends on therate of events, the size of the index interval, and the size of thequery interval. Therefore, how to choose the appropriateindex interval becomes a key problem.For the temporal query performed by Fabric, T qkτ is usedto represent the query time of the historical state of the keyword k in the time interval τðt s , t e Þ, which can be expressed asT qkτ numðEðk, τÞÞ T it ,ð2Þwhere EðkÞ represents events about the keyword k and numðÞ represents the number of events in the query time.In the normal process of data insertion, we use V k to represent the insertion rate of events related to the keyword k,which can be expressed asVk numðEðk, T ÞÞ,Tð3Þwhere T represents the total length of time the event inserted.Since the first transaction in the system needs to be iterated in the Fabric query process, T can be expressed as aperiod of time, starting from the initial transaction point t 0and ending at a larger time point in the target query intervalτ. SoT qkτ V k T T it V k ðmax ðt s , t e Þ t 0 Þ T it :ð4ÞFor the FI method, the index construction is determinedby a fixed time length. For the total time length T and the

10Wireless Communications and Mobile Computing1016091408120Execution time (s)Execution time (s)76541008060340220100010203040506070Query time interval (ks)80901000DIM1FIFE10203040506070Query time interval (ks)8090100FabricFigure 13: Dataset UD, network structure T1, and TIF query time.210807220064Execution time (s)Execution time ry time interval (ks)8090100DIM1FIFE010203040506070Query time interval (ks)8090100FabricFigure 14: Dataset ZD, network structure T1, and TIF query time.given fixed time length T f , letnumðθ, T Þ total length of time, soT,Tfð5Þwhere θ represents the time interval divided, numðÞ represents the number of partitions for all time intervals.The

2.2. Hyperledger Fabric Framework. The Hyperledger project was established in 2015, led by the Linux Foundation, and attracted projects including IBM, Intel, and other companies contributed several blockchain platforms like Fabric [28]. Fabric is an open-source enterprise blockchain platform, which provides a highly modular and configurable .

Related Documents:

Amendments to the Louisiana Constitution of 1974 Article I Article II Article III Article IV Article V Article VI Article VII Article VIII Article IX Article X Article XI Article XII Article XIII Article XIV Article I: Declaration of Rights Election Ballot # Author Bill/Act # Amendment Sec. Votes for % For Votes Against %

process in a database with temporal data dependencies and schema versioning. The update process supports the evolution of dependencies over time and the use of temporal operators within temporal data dependencies. The temporal dependency language is presented, along with the temporal

Abbreviations xxix PC Carli price index PCSWD Carruthers, Sellwood, Ward, and Dalén price index PD Dutot price index PDR Drobisch index PF Fisher price index PGL Geometric Laspeyres price index PGP Geometric Paasche price index PH Harmonic average of price relatives PIT Implicit Törnqvist price index PJ Jevons price index PJW Geometric Laspeyres price index (weighted Jevons index)

S&P BARRA Value Index RU.S.sell Indices: RU.S.sell 1000 Growth Index RU.S.sell 2000 Index RU.S.sell LEAP Set RU.S.sell 3000 Value Index S&P/TSX Composite Index S&P/TSX Venture Composite Index S&P/TSX 60 Canadian Energy TrU.S.t Index S&P/TSX Capped Telecommunications Index Sector-based Indices: Airline Index Bank Index

temporal edges, where each edge has a timestamp. For example, Fig.1Aillustrates a small temporal network with nine temporal edges between five ordered pairs of nodes. Our analytical approach is based on generalizing the notion of network motifs to temporal networks. In static networks, network

in such context, temporal social network (TSN), is mean-ingful. We propose three kinds temporal queries in social network, aiming to explore temporal dimension in users, re-lationships and social activities. A storage model is designed to logically and physically represent TSN, and then we pro-pose two index structures, TUR-tree and TUA-tree .

database management systems (a.b.a. DBMSs) have re-emerged as a research hotspot. In this paper, we present a lightweight yet e cient built-in temporal implementation in Tencent’s distributed database management system, namely TDSQL. The novelty of TDSQL’s temporal implementation includes: (1) a new temporal data model with the extension

Article 27 Article 32 26 37 Journeyman Glazier Wages Article 32, Section A (2) 38 Jurisdiction of Work Article 32, Section L 43 Legality Article 2 3 Mechanical Equipment Article 15, Section B 16 Out-of-Area Employers Article 4, Section B 4 Out-of-Area Work Article 4, Section A 4 Overtime Article 32, Section G 41