# A Hybrid SWIM Data Naming Scheme Based on TLC Structure
## 3 Naming Scheme of SWIM Data
### TLC Structure Polymerization  
The information of location needs to be aggregated. However, traditional prefix-based route aggregation is ineffective. Because content objects can be copied in multiple locations [29], and a node may not have location information for all content objects whose OID starts with a given prefix. The content starts with a given prefix, which leads to a suffix vulnerability. The TLC structure can adopt a better aggregation mechanism because the OID can be easily extended to carry summary information. In this paper, we apply Bloom filter [30] to the aggregated TLC elements to generate digest values and apply routers to its content objects to inform the prefix and digest values. Bloom filter is a computationally effective hash-based scheme that allows a certain probability of error [31; 32]. Suppose that the router in SWIM has the location information of certain content objects. The OIDs of these content objects start with the same institutionTLC, sortTLC, and subsortTLC, and use aggregated OID (sOID) to represent them. The sOID consists of an abstract of the organization TLC, sortTLC, and sub-category TLC (prefix) of these content objects, as well as its headTLC, formTLC, and segdivisionTLC (suffix). The format is organization TLC-category TLC-subcategory TLC-digest TLC-digest TLC3, in which the values in digestTLC1, digestTLC2 and digestTLC3 are generated by Bloom filters from content headTLC, formTLC and segdivisionTLC [33]. To generate the value field of digest TLC1, the Bloom filter is used in the title TLC of content objects, and the routing interfaces of these content objects will be aggregated [34; 35]. The router treats the headTLC element as a binary number in the process and does not need to know its meaning. To use a Bloom filter to generate a summary, you need to assign a bit array of bits, where all bits are initially set to 0, and you also need \(k\) independent hash functions, \(h_{1}\), \(h_{2}\),..., \(h_{k}\), to add elements to the summary, you need to provide it to \(k\) the hash function to get \(k\) array positions. Using any of the hashed elements in these functions gives a value between 1 and m, and the hash value indicates the position in the array. All corresponding bits are set to 1. The same process can be used to generate summary values for format and segmented TLC [36]. The generation of aggregate OID is shown in Figure 2[33; 36]. The format of the digest TLC is shown in Figure 3[33; 36]. Its type is \"well-known\" by all routers in SWIM. The content field of the digest TLC includes a fixed-size subfield that indicates the number of aggregate elements added to the digest, and the rest of the content field is used to store the digest value itself. Generally, the OID of a content object is composed of TLCs, TLC1-TLC2-TLC3... TLC. For content objects whose OID has the public first TLC (\(j+1\)), the router can use aggregate OIDs to represent them so that only a single routing state of these content objects is needed [22]. sOID is composed of the prefix (previous \(j\) public TLC) and (\(J-j\)) digest TLC, TLC1-... TLC\(j\) -DigestTLC (\(j+1\))... DigestTLC\(J\). The value in DigestTLC\(i\) (\(i\) = \(j+1\),..., \(J\)) is obtained by taking the first TLC from each OID and applying the Bloom filter on it. Figure 2: Generation of aggregate object identifiers (OID). The router in SWIM can flexibly control the degree of aggregation based on the popularity of the content object or the distance to the location where the content object resides [37]. For example, aggregation is not performed on the route advertisement messages of content objects residing in the local domain, but the gateway router publishes the digest OID of its content objects to the external domain. For example, the size of the prefix can be adjusted, that is, the number of nonaggregated TLCs in the sOID to balance between maintaining the routing state and the network resources required for information loss.