14  DTN Social Routing

emerging-paradigms
adhoc
dtn
social

14.1 Start Simple

Start with devices that have to pass useful data before any fixed network is guaranteed. In DTN Social Routing, the first question is not the protocol name; it is which neighbors, routes, failure signals, and degraded behaviors you would trust in the field.

14.2 Start With the Node That Usually Meets the Right People

Social routing starts from an observation: in many mobile systems, contacts are not random. Some devices, vehicles, people, or gateways regularly meet the communities that need the message.

For IoT deployments, that pattern can make forwarding more selective than flooding. Start with one carrier and one destination group. The routing question becomes whether past contact evidence is strong enough to trust the carrier with the next copy.

Chapter Roadmap

This chapter has four stops:

  1. First identify what social evidence means in a DTN: contact history, community structure, centrality, and resource state.
  2. Then turn that evidence into a forwarding record so a team can review why one carrier is trusted over another.
  3. Next calculate CAR and SocialCast utility scores, including the 0.405 versus 0.334 vehicle example and bounded gamma copies.
  4. Finally test the privacy, drift, and resource trade-offs before treating social routing as production-ready.

Checkpoints recap the route. Deep-dive sections and calculation panels are there for verification when you need the working.

In 60 Seconds

Context-aware routing (CAR) uses utility functions combining encounter probability, mobility patterns, and device resources to select optimal message carriers, reducing overhead to 200-350% while maintaining 88-93% delivery. SocialCast creates bounded replicas (gamma=5-10) that climb to higher-utility carriers over time. Social routing sacrifices ~7% delivery ratio compared to epidemic but uses 3-5x fewer resources – ideal for battery-constrained IoT with predictable mobility patterns.

Minimum Viable Understanding
  • Context-aware routing (CAR) uses utility functions combining encounter probability, mobility patterns, and resources to select the best message carriers, reducing overhead to 200-350% while maintaining 88-93% delivery
  • SocialCast creates a bounded number of message replicas (gamma=5-10) that “climb” to higher-utility carriers over time, exploiting social network structures for efficient publish-subscribe in DTN
  • The key trade-off: Social routing sacrifices ~7% delivery ratio compared to epidemic routing but uses 3-5x fewer resources, making it ideal for battery-constrained IoT devices with predictable mobility

“Instead of telling EVERYONE my message like in epidemic routing,” said Sammy the Sensor, “what if I only tell people who are LIKELY to meet the person I’m trying to reach?”

Max the Microcontroller snapped his fingers. “Like if you need to send a message to the school librarian, don’t give copies to random strangers – give it to kids who go to that school every day!”

“Exactly!” said Bella the Battery. “That’s social routing! Each person gets a ‘usefulness score.’ The kid who visits the library every day scores 0.9 out of 1.0. A random tourist scores 0.1. You only hand your message to high-scoring people!”

Lila the LED added, “And the best part is: you only make 5-10 copies instead of hundreds. Each copy finds its way to a better and better messenger until someone delivers it. It’s like your message ‘climbs’ toward the destination!”

The Squad’s math: Epidemic routing = 95% delivery but 1000% overhead (expensive!). Social routing = 88% delivery but only 200% overhead (5x cheaper!). For battery-powered sensors, that savings means years more battery life!

14.3 Learning Objectives

By the end of this chapter, you will be able to:

  • Apply Context-Aware Routing: Use utility functions based on mobility, colocation, and resources
  • Design SocialCast Protocols: Implement social network-based forwarding with bounded replication
  • Calculate Utility Functions: Combine colocation probability, mobility scores, and resource levels
  • Optimize Forwarding Decisions: Select carriers based on delivery likelihood rather than flooding
  • Evaluate Trade-offs: Balance delivery ratio, latency, and resource consumption

14.4 Overview: Choose Carriers With Evidence

If you only need the intuition, this layer is enough: social DTN routing avoids copying every bundle to every contact. It forwards toward carriers that have measured evidence of reaching the destination, community, or subscriber group.

The word "social" does not mean the protocol guesses from labels such as friend, worker, or student. It means the forwarding decision uses observed contact structure: who meets whom, how recently, how often, for how long, and with what spare storage or battery. A campus shuttle, clinic nurse, field technician, or market bus can become a better carrier because the contact record shows repeated access to the destination group.

The practical benefit is selectivity. Epidemic routing asks whether another node lacks the bundle. Social routing asks whether that node is a better future carrier than the current one, or whether an extra copy is justified by the replica budget. If the peer has weaker evidence, the correct action may be to keep the bundle and wait. That restraint is what saves energy and buffer space.

A useful overview therefore names the destination context as well as the carrier. Forwarding to "a central node" is incomplete; forwarding to a node that reliably reaches the clinic community, the maintenance team, or the bus depot is a measurable claim. The routing record should make that claim visible.

Context-aware DTN routing diagram showing a source comparing candidate carriers by encounter history, mobility, resource score, and total utility before forwarding to the highest-utility carrier for the destination.
Social DTN forwarding should choose the carrier with better measured utility, not the next random contact or every contact.
Mobile summary: score candidate carriers by contact history, mobility, and resource state, then forward only when the peer has stronger evidence of reaching the destination.

Contact history

Past encounters estimate whether a carrier is likely to meet the destination again.

Community structure

Nodes that regularly meet the same group can carry messages into that group more efficiently.

Bounded copies

Protocols such as SocialCast keep the replica count limited so energy and buffer use remain controlled.

14.5 Forwarding Record

A social-routing design should record why one carrier is better than another. A utility score is useful only when the team can explain the measurement window, weighting, privacy limits, and resource constraints behind it.

Start by writing the score as a reviewable equation or decision table. Each input needs a unit, a sampling window, a decay rule, and a tie-breaker. For example, recent encounters with the destination may outrank older encounters, but a node with a nearly full buffer may still refuse the transfer. The record should state whether the protocol uses destination-specific utility, community membership, centrality, subscriber interest, or a combination of those signals.

Then test the rule with counterexamples. A highly central carrier may be useful for many destinations but overloaded; a familiar carrier may meet the destination often but have a weak battery; a privacy policy may forbid sharing raw encounter histories. The field acceptance run should replay at least one normal contact pattern, one schedule change, one full-buffer event, and one privacy-restricted contact trace before the score is trusted.

The forwarding record also needs a minimum-improvement rule. Transferring to a peer whose utility is only slightly higher can waste the contact window and create duplicate storage pressure. Many deployments require a threshold, such as "forward only when the peer score is higher by a configured margin" or "forward only when the peer reaches a community the current node rarely reaches." The exact number is local, but the rule must be explicit.

Utility inputs

Name the contact-history, mobility, centrality, similarity, battery, and buffer signals used by the score.

Forwarding rule

State when to transfer, keep, duplicate, expire, or refuse a bundle during a contact.

Replica budget

Record the gamma or copy limit, why it is acceptable, and what traffic gets priority when storage is tight.

Privacy boundary

Define what contact history can be stored, shared, anonymized, aggregated, or deleted.

Blueprint BinaCheckpoint: Evidence Before Forwarding

You now know:

  • Social routing does not forward to every contact; it forwards only when measured evidence says the peer is a better carrier.
  • A useful record names the sampling window, decay rule, resource limits, tie-breaker, and privacy boundary behind the score.
  • Old contact evidence can drift, so history decay and minimum-evidence rules matter as much as the utility formula.

14.6 Why Social Evidence Drifts

Social routing depends on patterns that can change. A strong carrier this month can become weak after a schedule change, event season, battery limit, buffer pressure, privacy policy, or community split.

Many social DTN protocols can be understood as local graph estimators. SimBet-style forwarding combines similarity to the destination's neighborhood with betweenness-like bridge value. Bubble Rap-style forwarding separates global centrality from community membership. CAR-style forwarding combines contact probability, mobility, and resource context. In constrained IoT nodes, these values are often approximated from encounter tables rather than computed from a complete graph.

That approximation creates drift. A node may look central because it used to meet everyone during a shift pattern that no longer exists. A community detector may lag after people move teams or a transport route changes. A resource score may be stale if battery and buffer readings are not refreshed before contact. Under the hood, the routing stack needs aging, confidence, and minimum-evidence rules so old social evidence cannot dominate new observations indefinitely.

Privacy controls also affect the algorithm. Raw contact graphs can reveal routines and relationships even when payloads are encrypted, so deployments may hash identifiers, aggregate counts, keep only local scores, or shorten retention windows. Those protections are useful, but they reduce what the routing layer can know. A defensible design records the resulting accuracy trade-off instead of pretending the privacy-preserving score is identical to an unrestricted encounter graph.

Failure handling closes the loop. When delivery drops, the investigation should compare the old score distribution with recent contact logs, not simply increase the replica budget. More copies can hide a stale utility model temporarily while draining the same resources social routing was chosen to protect.

  • History decay: recent contacts should usually matter more than old contacts.
  • Local approximation: practical nodes often estimate centrality from local or two-hop evidence, not a perfect global graph.
  • Replica discipline: bounded replication works only when transfer, expiry, and priority rules are enforced.
  • Privacy exposure: contact graphs can reveal movement and relationship patterns even when payloads are encrypted.

14.7 Prerequisites

Before diving into this chapter, you should be familiar with:

  • Social Routing: DTN routing exploiting human social patterns (community membership, centrality, contact frequency) for efficient message delivery
  • Social Centrality: Node’s position in a social network graph; highly central nodes (hubs) interact with many others and make better message carriers
  • Community Detection: Identifying groups of nodes that frequently contact each other; used in bubble routing and community-based routing
  • SimBet Routing: Combines social similarity (common contacts) and betweenness centrality to select next-hop carriers
  • Bubble Routing: Messages stay in source community until a node with higher global centrality can carry them to the destination community
  • Contact History: Past encounter records used to predict future contacts; stored in encounter tables indexed by node ID and time
  • Betweenness Centrality: Fraction of shortest paths in the social graph passing through a node; high-betweenness nodes are good message relays
  • Homophily: Tendency for people to contact socially similar others; enables community-based routing to outperform random routing

14.8 For Beginners: Social Routing

Social Routing - The Smart Strategy:

Instead of telling everyone (epidemic routing), tell people who are likely to meet the destination. Like asking “Can you deliver this message?” only to people who work near the recipient’s office.

SocialCast uses social patterns:

  • If Node A frequently encounters Node B, A has high “utility” for delivering to B.
  • Forward messages only to higher-utility carriers.
  • Bounded replication creates only 5-10 copies, not unlimited copies.
  • Result: high delivery with much lower overhead than epidemic flooding when contact patterns are predictable.

Key terms:

  • PRoPHET: forwards to nodes with stronger encounter history, like asking someone who often sees the recipient.
  • Utility function: scores delivery likelihood, like estimating which courier is most likely to reach an address.
  • Context-aware routing: uses location, mobility, relationships, and resources instead of forwarding blindly.

DTN Series:

Background:

Learning:

14.9 Context-Aware Routing

Time: ~12 min | Difficulty: Intermediate | Unit: P04.C01.U03

When node mobility is predictable or observable, smarter forwarding decisions can be made using context information.

14.9.1 Context-Aware Routing (CAR) Concept

Rather than blindly replicating packets, CAR uses utility functions to select best carriers based on:

  1. Mobility patterns: Where do nodes typically move?
  2. Colocation history: Which nodes frequently encounter destination?
  3. Social relationships: Friend networks, interest groups
  4. Resources: Battery, buffer space

14.9.2 Utility Function Design

Basic Utility Function:

\[ U(X, D) = \alpha \cdot P_{colocation}(X, D) + \beta \cdot Mobility(X) + \gamma \cdot Resources(X) \]

Where: - \(U(X, D)\) = Utility of node X for delivering to destination D - \(P_{colocation}(X, D)\) = Probability X will encounter D - \(Mobility(X)\) = Mobility score (higher = visits more locations) - \(Resources(X)\) = Battery level, buffer space - \(\alpha, \beta, \gamma\) = Weighting parameters

For a delivery vehicle passing city hall 3 times/day versus once/week, the encounter probability scales linearly: \(P_{daily} = 3/24 = 0.125\) per hour versus \(P_{weekly} = 1/168 = 0.006\) per hour. With \(\alpha=0.6\), \(\beta=0.3\), \(\gamma=0.1\) and typical freshness/battery values of 0.8/0.9:

\[U_{vehicle} = 0.6(0.125) + 0.3(0.8) + 0.1(0.9) = 0.075 + 0.24 + 0.09 = 0.405\]

versus pedestrian (once/week):

\[U_{pedestrian} = 0.6(0.006) + 0.3(0.8) + 0.1(0.9) = 0.004 + 0.24 + 0.09 = 0.334\]

The 21% utility advantage (\(0.405 / 0.334 = 1.21\)) means messages preferentially climb to vehicle carriers, reducing delivery time from 7 days to ~8 hours despite only 21% better utility.

Blueprint BinaCheckpoint: CAR Utility

You now know:

  • CAR combines colocation probability, mobility, and resources into one reviewable utility score.
  • With weights alpha=0.6, beta=0.3, gamma=0.1, the delivery vehicle scores 0.405 while the pedestrian scores 0.334.
  • A higher score justifies forwarding only when the rule and improvement threshold are explicit enough to audit.

Colocation Prediction (Kalman Filter):

CAR can use a Kalman filter or another time-series predictor to estimate future encounters from past history:

def predict_colocation(node_x, node_d, history):
    """
    Predict probability node_x will encounter node_d
    based on past encounter history using Kalman filter
    """
    # Historical encounter frequency
    encounters = sum(1 for t in history if met(node_x, node_d, t))
    total_windows = len(history)

    # Kalman filter state
    # (Simplified - real implementation more complex)
    predicted_rate = encounters / total_windows

    # Adjust for time since last encounter
    time_since_last = time_now() - last_encounter_time(node_x, node_d)
    decay_factor = exp(-time_since_last / DECAY_CONSTANT)

    return predicted_rate * decay_factor

14.9.3 CAR vs Epidemic Routing

Example Scenario:

Comparison of epidemic routing and context-aware routing showing epidemic routing with many message copies and high delivery, and CAR with selective forwarding, fewer copies, slightly lower delivery, and lower energy use
Figure 14.1: CAR versus epidemic routing trade-off for disconnected IoT networks

Performance comparison in the example trace:

  • Delivery ratio: epidemic reaches about 95%; CAR reaches about 88%.
  • Copy overhead: epidemic creates about 15 copies per delivered message; CAR creates about 3.
  • Average latency: epidemic is faster in this trace, about 450 seconds versus 520 seconds.
  • Energy per delivery: epidemic is high because many nodes carry copies; CAR is medium because it forwards selectively.

Trade-off:

  • CAR: Slightly lower delivery ratio, much lower overhead
  • Best when: Resources constrained, predictable mobility
Quick Check: Context-Aware Routing

14.10 SocialCast: Social-Based DTN Routing

Time: ~15 min | Difficulty: Advanced | Unit: P04.C01.U04

SocialCast workflow showing a publisher creating a bounded set of replicas, carriers forwarding only to higher-utility nodes, and subscribers receiving matching content
Figure 14.2: SocialCast bounded-replication workflow for DTN publish-subscribe delivery

SocialCast extends CAR by exploiting social network structures for packet dissemination.

14.10.1 SocialCast Concepts

Key Insight: People with similar interests tend to be colocated periodically.

Application: Publish-subscribe in DTN - Publishers: Generate content - Subscribers: Want to receive content matching interests - Carriers: Mobile nodes with high utility transport messages

SocialCast creates a fixed number of replicas at publication time. Each replica moves only when the encountered node has higher delivery utility, so the copy count stays bounded while messages drift toward likely subscribers.

14.10.2 SocialCast Protocol

Message Replication Strategy:

  1. Create gamma replicas at publisher
  2. Forward only to “better” carriers:
    • Better = utility(neighbor) > utility(self)
  3. Carriers hold messages until:
    • Finding even better carrier, OR
    • Encountering subscriber
  4. Replicas never increase (bounded replication)
  5. TTL prevents infinite lifetime

Key Properties:

  • Bounded replicas: Only gamma copies exist (doesn’t grow like epidemic)
  • Selective forwarding: Only to higher-utility nodes
  • Upgrade path: Replicas “climb” to better carriers over time
  • Subscriber participation: Subscribers with high utility can act as carriers

14.10.3 SocialCast Performance

Delivery and overhead vs replicas:

Chart summarizing how SocialCast delivery improves with gamma from 2 to 10 replicas while copy overhead also rises, with the 5 to 10 replica range highlighted as the usual operating zone
Figure 14.3: SocialCast delivery and overhead trade-off as gamma increases

More replicas improve delivery because more carriers can discover useful contacts. The benefit flattens after roughly 5-10 replicas, while storage, bandwidth, and energy cost continue to rise.

Optimal Configuration:

  • gamma = 5-10 for most scenarios
  • Balance: 88-93% delivery with 200-350% overhead
  • Compare to epidemic: 95% delivery with 800-1200% overhead

TTL Impact:

Longer TTL values usually improve delivery in sparse networks because a copy has more time to encounter a better carrier or subscriber. The trade-off is buffer pressure: every extra hour of TTL keeps stale data in constrained devices longer.

SocialCast Utility Calculation

Scenario: A smart city deploys sensors on delivery vehicles for air quality monitoring. Calculate which vehicle should carry pollution alerts to city hall.

Given:

  • Vehicle A: Delivers to suburbs, encounters city hall area 1x/week
  • Vehicle B: Downtown route, passes city hall 3x/day
  • Vehicle C: Mixed route, passes city hall 1x/day
  • Current carrier: Vehicle A (utility U_A = 0.43 after calculation)
  • Message: PM2.5 alert for city hall environmental office

Steps:

  1. Calculate utility for each vehicle:
    • Utility formula: U(X, Dest) = alpha x P_encounter + beta x Freshness + gamma x Battery
    • Weights: alpha=0.6 (encounter probability), beta=0.3 (data freshness), gamma=0.1 (resources)
  2. Compute encounter probabilities:
    • P_A = 1/week = 0.14/day: U_encounter_A = 0.14
    • P_B = 3/day = 3.0/day: U_encounter_B = min(1.0, 3.0) = 1.0
    • P_C = 1/day = 1.0/day: U_encounter_C = 1.0
  3. Calculate total utilities:
    • U_A = 0.6(0.14) + 0.3(0.9) + 0.1(0.8) = 0.08 + 0.27 + 0.08 = 0.43
    • U_B = 0.6(1.0) + 0.3(0.7) + 0.1(0.9) = 0.60 + 0.21 + 0.09 = 0.90
    • U_C = 0.6(1.0) + 0.3(0.8) + 0.1(0.7) = 0.60 + 0.24 + 0.07 = 0.91
  4. Apply SocialCast forwarding rule:
    • Current: U_A = 0.43
    • Vehicle A encounters B: U_B (0.90) > U_A (0.43): Forward to B
    • Vehicle A encounters C: U_C (0.91) > U_A (0.43): Forward to C
    • Both B and C are “better carriers” - forward to whichever encountered first

Result: Message forwarded from Vehicle A to Vehicle B (or C), moving the alert from a weekly contact opportunity to a daily route past the destination.

Key Insight: SocialCast’s “utility climbing” ensures messages naturally flow toward nodes with better access to the destination. The delivery vehicle example shows how urban mobility patterns create predictable utility scores that SocialCast can exploit.

Blueprint BinaCheckpoint: SocialCast Discipline

You now know:

  • SocialCast creates gamma replicas once, then moves existing copies toward higher-utility carriers instead of growing the copy count like epidemic routing.
  • The usual 5-10 replica range aims for 88-93% delivery with 200-350% overhead, not epidemic-style 800-1200% overhead.
  • The forwarding rule is simple to state but strict to operate: transfer only when the neighbor’s utility is higher than the current carrier’s utility.

Test Your Understanding

Question 1: In context-aware routing, what is the primary purpose of the utility function U(X, D)?

  1. To encrypt messages for secure delivery
  2. To calculate the probability that node X will successfully deliver a message to destination D
  3. To measure the physical distance between two nodes
  4. To compress data for efficient transmission

b) To calculate the probability that node X will successfully deliver a message to destination D. The utility function combines colocation probability (how often X encounters D), mobility patterns, and available resources (battery, buffer) into a single score. Messages are forwarded only to nodes with higher utility scores, ensuring they “climb” toward better carriers over time.

Question 2: Why does SocialCast use bounded replication (gamma copies) instead of unlimited replication like epidemic routing?

  1. Bounded replication provides higher delivery ratios
  2. Bounded replication limits resource consumption while maintaining good delivery (88-93%)
  3. SocialCast cannot create more than one copy
  4. Unlimited replication is impossible in mobile networks

b) Bounded replication limits resource consumption while maintaining good delivery. SocialCast creates only gamma copies (typically 5-10), which is sufficient for 88-93% delivery but uses 3-5x fewer resources than epidemic routing’s unlimited copies. For battery-constrained IoT devices, this resource efficiency is critical. The slight reduction in delivery ratio (from 95% to 88%) is an acceptable trade-off.

Question 3: A delivery vehicle (Vehicle B) passes city hall 3 times per day. Another vehicle (Vehicle A) passes it once per week. Using SocialCast’s forwarding rule, what happens when Vehicle A carrying a message for city hall encounters Vehicle B?

  1. Vehicle A keeps the message since it was the original carrier
  2. Vehicle A forwards the message to Vehicle B because B has higher utility for city hall
  3. Both vehicles keep a copy of the message
  4. The message is dropped because neither vehicle is at city hall

b) Vehicle A forwards the message to Vehicle B because B has higher utility. SocialCast’s core rule is: forward only to nodes with utility(neighbor) > utility(self). Vehicle B’s encounter rate with city hall (3/day) is much higher than Vehicle A’s (1/week), giving B a higher utility score. The message “climbs” to the better carrier, dramatically increasing delivery probability from 14% to nearly 100% per day.

14.11 SocialCast Utility Function Explorer

Adjust the weights and node parameters to see how the utility score changes:

14.12 SocialCast Advantages for IoT

Why SocialCast Works Well:

  1. Interest-based grouping: IoT devices often have natural clusters

    • Smart home devices in same household
    • Wearables owned by same person
    • Sensors monitoring same phenomenon
  2. Predictable mobility: Many IoT devices follow patterns

    • Wearables: user’s daily routine
    • Vehicles: repeated routes
    • Drones: scheduled flight paths
  3. Resource efficiency: Bounded replication suits energy-constrained IoT

  4. Scalability: Local utility decisions scale better than global knowledge

Example IoT Applications:

  • Smart city: Traffic sensors publish updates, delivered to vehicles in area
  • Wildlife monitoring: tracking collars exchange data via high-mobility carriers
  • Wearable health: Health data from many users aggregated via mobile phone carriers

14.13 Knowledge Check

Quiz: SocialCast Protocol

14.14 Community Mesh Routing

Case Study: Community-Managed Mesh Links

Community Wi-Fi mesh networks are not automatically DTNs, and they are not formal SocialCast deployments. They are still useful design analogies because administrators often route content through people and links they trust to be available at predictable times.

How the analogy maps to social routing:

  • Utility function: local operators know which rooftop links, relays, or users are reliable.
  • Encounter probability: evening usage windows and scheduled maintenance create predictable contact opportunities.
  • Bounded replication: popular files are cached on a small number of reliable mirrors instead of copied everywhere.
  • Utility climbing: content moves from peripheral nodes toward better-connected local hubs before crossing weak links.

Design lesson: social routing should be treated as an engineering trade-off, not a magic replacement for connectivity. It works best when contact patterns are predictable, resources are scarce, and forwarding decisions can be made from recent local evidence. Before using SocialCast-like logic in production, collect trace data from the target environment and validate delivery, latency, energy, and privacy impact.

14.15 Concept Relationships

  • Utility functions select carriers by combining encounter probability, mobility patterns, and resource state.
  • SocialCast bounded replication creates limited copies that climb toward higher-utility carriers.
  • Context-aware routing reduces overhead compared with epidemic flooding by forwarding selectively.
  • Colocation prediction uses past encounter history to estimate future contact probability.
  • Social network structure matters only when contact patterns are stable enough to support intelligent forwarding decisions.

14.16 See Also

Interactive Quiz: Match Concepts

Interactive Quiz: Sequence the Steps

Common Pitfalls

Social routing relies on contact history as a predictor of future contacts. Work schedules, commuting patterns, and social behavior change over weeks and months. Routing decisions based on stale contact history (months old) may be less accurate than routing based on current network state. Implement contact history decay to weight recent contacts more heavily.

Betweenness centrality requires global network graph knowledge – knowing all nodes and their interconnections. In a distributed DTN, this information is unavailable. Practical social routing uses local approximations (encounter counts, two-hop neighbor counts) that underestimate true centrality.

Social routing exploits human mobility patterns (workplace, home, social events). Animal tracking, vehicle networks, or robot swarms have different mobility patterns that may not exhibit the community structure social routing exploits. Always validate that the target environment exhibits social-like contact patterns before applying social routing.

Social routing requires nodes to share and track contact history. This creates detailed records of who met whom and when – personal location data. Deployments must consider privacy implications and anonymization techniques. Publishing contact graphs can reveal sensitive information about individuals’ movements.

Label the Diagram

Code Challenge

14.17 Summary

This chapter covered context-aware and social-based DTN routing:

  • Context-Aware Routing (CAR): Uses utility functions combining colocation probability, mobility patterns, social relationships, and resources to make intelligent forwarding decisions, reducing overhead to 200-350% while maintaining 88-93% delivery
  • Utility Function Design: The formula U(X, D) = alpha * P_colocation + beta * Mobility + gamma * Resources provides a mathematical framework for carrier selection
  • Colocation Prediction: Kalman filters use past encounter history to predict future contact probabilities, enabling “smart” forwarding
  • SocialCast Protocol: Creates bounded gamma replicas that “climb” to higher-utility carriers over time, exploiting social network structures for publish-subscribe in DTN
  • Performance Optimization: gamma = 5-10 replicas typically achieves 88-93% delivery with 200-350% overhead, compared to epidemic’s 95% delivery with 800-1200% overhead
  • IoT Suitability: SocialCast works well for IoT due to natural device clustering, predictable mobility patterns, resource efficiency, and local decision scalability

14.18 What’s Next

14.19 Key Takeaway

Social routing uses repeated contact patterns, communities, or central nodes to improve DTN forwarding. It only works when those patterns are real, measured, and acceptable from a privacy and governance standpoint.