A claim for priority under 35 U.S.C. §119 is made to Korean Patent Application No. 10-2015-0164927 filed Nov. 24, 2015, in the Korean Intellectual Property Office, the entire contents of which are hereby incorporated by reference.
Embodiments of the inventive concepts described herein relate to a user centric cache allocation (UCA) method for determining how many of caches are allocated to content in an infrastructure wireless mesh network (WMN) environment.
An infrastructure WMN is configured with mesh routers (MRs) as wireless-fidelity (Wi-Fi) access points (APs). Such MRs may be connected in a space such as a campus or office by a multi-hop. Expected transmission time (ETT) routing is mainly used in the WMN. When the ETT routing is performed, a network established by the multi-hop results in deterioration in throughput. Particularly, if a mobile terminal or a mobile user downloads popular content from a video on demand (VoD) server or shares peer-to-peer (P2P) content, a download delay may occur due to a collision between mobile terminals. Thus, there is a need for technologies of solving the download delay which occurs in the WMN.
Korean Patent No. 10-1404008 relates to an integrated P2P and cache apparatus about content services in WMNs and discloses technologies of finding a minimum path using an EET routing scheme.
Embodiments of the inventive concepts provide a user centric cache allocation (UCA) technology of determining how many of local caches in a mesh router (MR) to content in an infrastructure WMN environment.
Embodiments of the inventive concepts provide a generic algorithm-UCA (GA-UCA) technology of performing switching to move content between a cache in an MR and a storage such as a hard disc using a GA.
According to an aspect of an embodiment, a UCA method in an infrastructure WMN may include determining an allocation of a cache in a mesh router (MR) for content stored in the MR in an environment where mobile terminals and MRs establish the infrastructure WMN and allocating the cache to the content based on the determination allocation.
The determining of the allocation of the cache may include determining the allocation of the cache based on a cache cost generated as the MR operates a local cache, a download delay of content requested from the mobile terminal, and user satisfaction.
The mobile terminal which requests the content may access the closest MR from the mobile terminal among the MRs to receive the content.
The method may further include searching for the requested content based on expected transmission time (ETT) routing, if there is no the requested content in the accessed MR.
The MRs may share content information stored in a cache of each of the MRs.
The determining of the allocation of the cache may include correcting an ETT value for searching for the content requested from the mobile terminal using a genetic algorithm (GA).
The content stored in a storage of an MR may be stored in a cache of the MR by moving to the cache of the MR, if the MR which stores the content requested from the mobile terminal correspond to two hops or more from the mobile terminal.
The content requested from the mobile terminal may be stored in a storage of an MR adjacent to the mobile terminal by moving from a cache of an MR which stores the content to the storage of the MR adjacent to the mobile terminal.
The determining of the allocation of the cache may include determining the allocation of the cache for the content by repeatedly performing uniform crossover and mutation for the content requested from the mobile terminal, stored in at least one of the MRs.
According to another aspect of an embodiment, a UCA apparatus in an infrastructure WMN may include a determination unit configured to determine an allocation of a cache in a mesh router (MR) for content stored in the MR in an environment where mobile terminals and MRs establish the infrastructure WMN and an allocation unit configured to allocate the cache to the content based on the determination allocation.
The determination unit may determine the allocation of the cache based on a cache cost generated as the MR operates a local cache, a download delay of content requested from the mobile terminal, and user satisfaction.
The mobile terminal which requests the content may access the closest MR from the mobile terminal among the MRs to receive the content.
The apparatus may further include a search unit configured to search for the requested content based on expected transmission time (ETT) routing, if there is no the requested content in the accessed MR.
The MRs may share content information stored in a cache of each of the MRs.
The determination unit may determine the allocation of the cache for the content in consideration of a cache hit ratio.
The determination unit may correct an ETT value for searching for the content requested from the mobile terminal using a genetic algorithm (GA).
The content stored in a storage of an MR may be stored in a cache of the MR by moving to the cache of the MR, if the MR which stores the content requested from the mobile terminal correspond to two hops or more from the mobile terminal.
The content requested from the mobile terminal may be stored in a storage of an MR adjacent to the mobile terminal by moving from a cache of an MR which stores the content to the storage of the MR adjacent to the mobile terminal.
The determination unit may determine the allocation of the cache for the content by repeatedly performing uniform crossover and mutation for the content requested from the mobile terminal, stored in at least one of the MRs.
The above and other objects and features will become apparent from the following description with reference to the following figures, wherein like reference numerals refer to like parts throughout the various figures unless otherwise specified, and wherein:
Hereinafter, an embodiment will be described in detail with reference to the accompanying drawings.
An embodiment relates to technologies of allocating a local cache in each of mesh routers (MRs) which exist in an infrastructure wireless mesh network (WMN) environment to provide content. Particularly, an embodiment relates to technologies of determining how many of caches are allocated to content in consideration of satisfaction of a user who has a mobile terminal based on a popularity-based content request volume, a cache cost which is an operation cost which should be paid as a WMN provider operates a cache of an MR, and a download delay which occurs when searching for content of a mobile terminal using expected transmission time (ETT) routing.
Further, an embodiment relates to technologies of reducing a download delay by correcting an ETT value using a genetic algorithm (GA). If there is no content a mobile terminal wants in a first MR accessed by the mobile terminal, ETT routing should be performed to search for content. The ETT routing may have an influence on a download delay of the mobile terminal. Thus, an embodiment of the inventive concept relates to technologies of performing user centric cache allocation (UCA) in consideration of user traffic as mobile terminals which access an MR increase in number and content popularity. Particularly, an embodiment relates to technologies of determining an optimal cache allocation to be allocated to content stored in each of MRs using user characteristics such as content popularity and the increased number of mobile terminals.
In the specification, various equations are used to determine how many of local caches in an MR to content, and notations used for equations are shown in Table 1 below.
In the specification, the term “user centric” may indicate that a user profile is recognized. Satisfaction of a user used to calculate a cache allocation may indicate characteristics of content for a cache hit ratio, content popularity, and the number of mobile terminals. Herein, the cache hit ratio may indicate the ratio of the total number of times of accessing a cache of an MR to download content stored in the cache to the existence of desired content (i.e., content requested from a mobile terminal) in the cache.
In
Each of the mobile terminals such as a smartphone, a notebook, and a tablet personal computer (PC) may access MRs and may request content a user who has the mobile terminal wants. For example, each of the mobile terminals may access an MR located in the closest distance from the corresponding mobile terminal to request desired content. Herein, the content may include a moving image such as a movie or a music video, a still image such as a photo, a document of a text format, and the like. In this case, the mobile terminal may access an MR based on content popularity. The content popularity may be obtained based on a Zipf-like distribution.
In
According to
In step 310, the determination unit 210 may determine an allocation of a local cache in an MR for content stored in the MR in an infrastructure WMN environment. In this case, the determination unit 210 may determine the allocation of the cache for the content based on a cache cost, a download delay of the content, and user satisfaction with content requested from a mobile terminal. For example, the determination unit 210 may calculate a utility for determining an allocation of a cache based on Equation 1 below.
In Equation 1, η may represent a scalable factor. Ak may represent a chromosome vector which exists in kth content in each of MRs. pkj may represent popularity of the kth content requested from a jth mobile terminal. sk may represent a cache allocated for the kth content at each of the MRs. cca may represent a cache cost which is an operation cost paid to store content in a cache for each MR by a WMN provider. Herein, a cache hit ratio for the kth content may be represented as Hk(Ak) using Ak. An ETT for the kth content may be represented as ETTk(Ak). αki may refer to a gene which exists in the kth content stored in an ith MR.
Equation 1 above may be classified into a first portion to a third portion. The first portion may a portion indicating satisfaction of all mobile terminals for the cache sk allocated for the kth content and may be based on popularity of content. Herein, the satisfaction may be satisfaction of a user who has a mobile terminal with popularity-based content and may refer to satisfaction of the user with x when popularity of specific content is x. The second portion may indicate a cache cost per MR paid by the WMN provider. In this case, cache allocation for the kth content may be shared by all mobile terminals. For example, information about content for which a cache of an MR is allocated may be periodically shared at intervals of a time between MRs. Information about how many of caches are allocated for the kth content may be shared between mobile terminals and MRs. In an embodiment, it is assumed that the WMN provider pays a cache cost to provide high satisfaction to the user who has the mobile terminal since he or she considers using a cache based on an operation cost. The third portion may indicate an ETT of each of all mobile terminals based on Ak, that is, may refer to a content search delay of the mobile terminal using an ETT metric.
In other words, according to Equation 1, the determination unit 210 may calculate an optimal cache allocation of maximizing a utility which is a value obtained by subtracting all cache costs of each of MRs operated by the WMN provider and a content download delay of each of mobile terminals from the sum of satisfaction of users who have the mobile terminals. Herein, since the satisfaction is based on popularity of content, there may be a high probability that the satisfaction of the user will be higher when the popularity of the content is higher. There may be a high probability that the satisfaction of the user will be lower when the popularity of the content is lower. Thus, to determine a cache allocation for optimizing the satisfaction of the user, the determination unit 210 may determine the cache allocation to allocate more caches for content with high popularity than content with low popularity and allocate fewer caches for content with low popularity than content with high popularity.
In step 320, the allocation unit 220 may allocate a cache for the corresponding content based on the determined cache allocation. In other words, the corresponding content stored in a hard disc of an MR may be stored in the cache by being moved and copied to the cache based on the determined cache allocation. If content requested from a mobile terminal is stored in a cache of an MR accessed by the mobile terminal, the mobile terminal may reduce a download delay by downloading the content from the cache. In this case, if there is no the requested content in the cache of the MR, the search unit 230 may search MRs which exist in a WMN for the content.
Referring again to Equation 1, in the first portion of Equation 1, Hk(Ak) may be represented with Equation 2 below.
In Equation 2, NMR may denote the number of MRs in the WMN. In Equation 2, if all of αki are “1”, the cache hit ratio Hk(Ak) for the kth content is “1”. ETTk(Ak) included in the third portion of Equation 1 may have two paths like Equation 3 below.
In Equation 3, NU1 may denote the number of mobile terminals having a one-hop delay requested to search for content requested from the mobile terminal. NU2 may denote the number of mobile terminals having a two-hop delay requested to search for the content. ETTk may be
In this case, if there is content in a cache of an MR first accessed by a mobile terminal to request content, the mobile terminal may belong to NU1, and the other mobile terminals may belong to NU2. p may denote a probability that the kth content (or copied content) stored in a cache of an ith MR will fail in transmission. In other words, p may refer to the probability of unsuccessful transmission. B may denote a bandwidth of a link such as a raw data rate. Herein, the determination unit 210 may calculate the probability p of transmission failure based on Equation 4 below.
p=1−(1−pc)(1−pe), [Equation 4]
In Equation 4, pc may denote a collision probability. pe may denote an error probability. The collision probability pc and the error probability pe may be calculated using Equations 5 and 6 below.
p
c=1−(1−1/Wavg)N
In Equation 5, Wavg may denote an average backoff window size. NU may denote the number of mobile terminals in a WMN.
p
e=1−(1−Pb)L, [Equation 6]
In Equation 6, b may refer to a bit error rate (BER). L may refer to a maximum length of an A-medium access control (MAC) service data unit aggregation (A-MSDU) frame size. Herein, since it is assumed that the WMN has the uniform mesh structure, it may be assumed that ETT values between two links which exist between some MRs in the WMN are the same as each other. Each ETT may be accessed to solve an optimization problem using two methods. First, an optimization problem for a one-hop may be represented with Equation 7 below.
In case of a mobile terminal having a one-hop delay to search for content, an optimal cache allocation for the kth content in each MR may be calculated using Equation 8.
According to Equation 8, the determination unit 210 may calculate the optimal cache allocation based on a cache hit ratio, popularity of content, a cache cost, a gene which exists in the kth content, and a link bandwidth.
Finally, an optimization problem for one hop may be represented with Equations 9 and 10 below using Equation 8 above.
In case of a mobile terminal having a one-hop delay to search for content, an optimal cache allocation for the kth content may be represented with “a(sk)2+b(sk)+c=0”. Finally, the optimal cache allocation may be calculated based on Equation 12 below.
In Equation 11, a, b, and c may be represented with Equation 12.
In
For example, if the mobile terminal11 401 wants to find the CID4, it may access an MR4 402 located within the closest distance from it to find the CID4. A cache hit ratio of the CID4 may be 3/7. In this case, since there is no the requested CID4 in the MR4 402, ETT routing may be performed to find the CID4. The mobile terminal11 401 may perform routing from the MR4 402 to an MR7 403.
As such, in case of two hops, content may switch. For example, content stored in a storage of the MR7 403 corresponding to the two hops may move to a cache of the corresponding MR7 403 to be stored in the cache of the MR7 403. The mobile terminal11 401 may download the requested CID4 from the cache, thus reducing a download delay by a multi-hop. In
A description will be given of a process of performing UCA using the GA with reference to
Referring to
Referring to
Referring again to Table 2, all content may be stored in a cache or storage of an MR based on a previously given cache hit ratio Hk(Ak). For example, if αki is “1”, all the content may be stored in the cache. If αki is “0”, all the content may be stored in the storage such as a hard disc. In Table 2, assuming that the number of MRs is “7” and an initial solution is {1, 0, 1, 0, 1, 0, 1}, the cache hit ratio Hk(Ak) may be 4/7 based on Equation 2 above. Herein, assuming that the cache hit ratio Hk(Ak) is the fitness function of the GA, if the cache hit ratio Hk(Ak) is applied to the uniform crossover and the mutation, the cache hit ratio Hk(Ak) may be replaced if a cache allocation of a child αkoffspr is larger than that of a conventional parent αk. In other words, if a cache allocation of the child αkoffspr is larger than that of the parent αk, the child αkoffspr may have an optimal value. As such, as the uniform crossover and the mutation are repeatedly performed, sequences having the optimized parent αk value may be collected for each content (αk*={αk1offspr, . . . αkRoffspr}).
As described above, in
In
In
In
In
A left graph in
According to
A left graph in
According to
If the cache cost is high like the right graph, it may be verified that an optimal utility value (e.g., optimal points) exists if the number of mobile terminal is less than 20. It may be verified that more users are met when a cache hit ratio is high (6/7) than when the cache hit ratio is low (2/7).
As described above with reference to
The foregoing devices may be realized by hardware elements, software elements and/or combinations thereof. For example, the devices and components illustrated in the exemplary embodiments of the inventive concept may be implemented in one or more general-use computers or special-purpose computers, such as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), a programmable logic unit (PLU), a microprocessor or any device which may execute instructions and respond. A processing unit may implement an operating system (OS) or one or software applications running on the OS. Further, the processing unit may access, store, manipulate, process and generate data in response to execution of software. It will be understood by those skilled in the art that although a single processing unit may be illustrated for convenience of understanding, the processing unit may include a plurality of processing elements and/or a plurality of types of processing elements. For example, the processing unit may include a plurality of processors or one processor and one controller. Also, the processing unit may have a different processing configuration, such as a parallel processor.
Software may include computer programs, codes, instructions or one or more combinations thereof and may configure a processing unit to operate in a desired manner or may independently or collectively control the processing unit. Software and/or data may be permanently or temporarily embodied in any type of machine, components, physical equipment, virtual equipment, computer storage media or units or transmitted signal waves so as to be interpreted by the processing unit or to provide instructions or data to the processing unit. Software may be dispersed throughout computer systems connected via networks and may be stored or executed in a dispersion manner. Software and data may be recorded in one or more computer-readable storage media.
The methods according to the above-described exemplary embodiments of the inventive concept may be implemented with program instructions which may be executed through various computer means and may be recorded in computer-readable media. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. The program instructions recorded in the media may be designed and configured specially for the exemplary embodiments of the inventive concept or be known and available to those skilled in computer software. Computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as compact disc-read only memory (CD-ROM) disks and digital versatile discs (DVDs); magneto-optical media such as floptical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Program instructions include both machine codes, such as produced by a compiler, and higher level codes that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules to perform the operations of the above-described exemplary embodiments of the inventive concept, or vice versa.
According to embodiments, the UCA apparatus may reduce a download delay which occurs due to a decrease in throughput by a multi-hop in the infrastructure WMN environment by determining a cache allocation in consideration of a cache cost, a download delay of content, and user satisfaction.
Further, according to embodiments, the UCA apparatus may allocate more caches to mobile users by constructing a network at low cache costs by applying the 802.11 technology having an improved data rate to an MR in the infrastructure WMN environment.
Further, according to embodiments, the UCA apparatus may reduce a collision between mobile terminals by reducing a download delay when downloading popular content, as an MR uses a cache.
Therefore, other implements, other embodiments, and equivalents to claims are within the scope of the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2015-0164927 | Nov 2015 | KR | national |