The Fruit Game WIP

Meta Description


This activity can be used to demonstrate the basic concepts of computer networks and explain how messages are relayed from one computer to another.

Learning Objectives


Understanding how computer networks are used to send and receive information through an interactive game.

Exercising cooperative problem solving.

Learning how to reason logically to solve problems.

Key Terms


Information packet
Any message which is sent over a computer network.

Network
A computer system which links two or more individual system together.

Router
A device which connects multiple electronic devices  in a network and manages how data is transferred between them.

Routing
A method used by routers in a computer network in order to decide on the best path to use for the delivery of a message from one computer to another.

Routing table
A database stored on a router which contains all the addresses (locations) of other devices connected to it on the network and the different routes to reach them.

 

Server
This is essentially a computer which has the ability to connect other computers and form a network. It oversees communication between all the computers on the network it is associated with.

Step 1
Sit the participants in a circle, as a group.

Step 2
Give two random fruits to each individual except for one, who must be given only one fruit – this ensures that there is always one individual who has an empty hand. Recall that each individual must be given a unique pair of fruits, for example no two individuals can both be given an apple and an orange, but another individual could be given an orange and a lemon.

Step 3
Instruct the students that the participant with the empty hand can receive a fruit from the participants on either side of them. Individuals not sitting beside the participant with the empty hand are not allowed to pass on their fruit to him/her.

Step 4

The game continues like this until all the participants have a pair of the same fruit in their own hand. Encourage participants to work together and communicate in order to reach their aim.

(Set a good example and eat the fruit after performing the experiment!)

 

  • After the original activity is completed, the activity could be repeated with a larger group.
  • The individuals could organise themselves in a different shape, such as a straight line instead of a circle.
  • The students could also decide to include additional rules such carrying out the activity without talking.
  • The game could be played with just oranges by marking pairs of oranges with the same letter. Each pair of oranges can be labelled as A, B, C, D, E, etc.
  • Instead of using actual fruits, paper cut-outs of the fruits or pictures of the fruits could be used instead.
  1. One individual must always have an empty hand in order for the activity to be a success.
  2. The demonstrator should be aware of any students with food allergies before handing out fruit randomly.
  3. If pictures of fruits are used, they can be carefully stored for reuse in a future game. If the pictures are no longer required, recycle the paper.
  4. Wash the fruit thoroughly with warm water prior to eating.

Students are asked to imagine the internet as a complicated network of busy roads. The cars on the road represent the packets of information which were sent by users and are travelling towards their destination. Increasing the number of cars increases the probability of congestion which slows the traffic down. Road engineers need to carefully design the road network to provide the best routes to connect major towns and they must set up roundabouts and traffic lights to help manage complicated junctions. When a road is blocked or shut down for road works, road engineers must suggest the best diversions for traffic to take. In a similar way, computer network engineers must construct computer networks at a hardware and software level to ensure efficient connections between computers. Routers and routing protocols are used to manage network traffic like roundabouts, traffic lights and traffic diversions are used to control the flow of traffic on the computer network even when parts of the network are closed for maintenance or are unresponsive due to some failure in the infrastructure.  

Why are networks used ?
To share information and data to multiple users.

Can you give an example of a network ?
The internet.

What do the fruits represent ?
Information packets.

What do the students represent ?
Individual computers forming part of a network.

Why does one student have an empty hand ?
This individual represents storage of the information.

This game illustrates the basic concepts of a computer network.(Video). In the game, the fruits are used to represent packets of information. The students represent individual computers and the students altogether represent a network. The students must pass along the information (fruit) to and from each other until all the information (i.e. a pair of the same type of fruit) is received at the intended computers (student).

Students communicate with one another in order to locate the best paths for fruits to be passed around their network. This is an analogy for the routing process which occurs in an actual computer network. In this process the best path for information to be transmitted to the required location is selected. The optimum path is chosen based on a range of criteria including the delays incurred, path complexity, current traffic in different parts of the network and the reliability of the paths available, amongst other criteria.

The routing process is carried out by devices called routers. When a network router receives an information packet it identifies the destination address of the packet and decides where it will be sent next – this migration from one router to another router or computer is called the next hop in the route. A router may be able to send a packet of information to a large number of routers or computers. It decides which computer is the next best hop based on the routing table stored in its memory. A routing table documents the possible routes available for the data packet to reach its destination together with the delays (latencies) associated with each path. Thus, the router can decide on the most efficient route for the packet to reach its destination. Routers can be implemented in both hardware and software.

Routing tables are used to decide the paths for information travelling over a network which uses to internet protocol (IP).  They contain the routes available for the packet to reach its final destination. Typically, for each route, the table would contain the IP address of the destination node, the IP (Internet Protocol) address of the next devices the packet will be forwarded to and a metric which defines the cost of each candidate route (cost is calculated by the protocol depending on factors such as latency, overhead expenses and reliability). Routing tables are used by routers and switches in an IP network.

Routing tables can either be static or dynamic. Static routing tables  are permanently stored in the memory of the router and contain a set of fixed routes on which data can be transmitted across the network. These tables are programmed into the router manually and thus rarely change. They are used in networks or sections of networks where the paths do not change frequently. For example, a static routing table can be used to ensure that two computers on a network always communicate directly with each other, ensuring a direct connection, which is more secure.

Unlike static routing tables, dynamic routing tables do not require manual intervention in order to be updates. Dynamic tables are constructed and maintained by the routers themselves using protocols specifically for routing. These protocols enable routers to identify all the viable paths in the network and decide which is the optimum route for a data packet being sent to a particular destination. Routes are compared based on a number criteria. One of these criteria is the delay introduced by the path – every path introduces some latency in the delivery of a message and the  network must find the quickest affordable way to send a message. Another method for evaluation is the the  complexity of the route – the longer and more complex routes may be more likely it is  to result in lost information. Routing protocols thus limit the maximum number of hops in any route. The protocols also compare routes based on reliability: some links in a network tend to malfunction more often than others and sophisticated algorithms can monitor this activity and factor it in their routing decisions. Finally, routes are compared based on the traffic currently present on them. This is because every medium used to transfer data – be it a fibre optic cable, a Category 5 cable or a coaxial cable – has a finite amount of traffic it can support at any one time. As the medium becomes saturated with traffic, it slows down and collisions are more likely to occur, resulting in loss of data. Dynamic tables are continuously and automatically updated, enabling the router to keep up to date with the current topology of the network. This is an essential feature in networks which are continuously changing, such as the Internet.

Both types of routing have advantages and disadvantages. Static routing is time consuming and costly to initially set up, and maintenance must be carried out manually.  The manual update process creates a number of issues: it is prone to human error, particularly when the network is large or complicated, and it limits the scalability of the network since,  as the network grows, maintenance becomes a significant challenge. For large, constantly changing networks, dynamic routing is the method of choice. However, in certain cases, static routing offers some benefits over dynamic routing. For example, it can offer secure routes between computers and these routes can be kept private on the network. Also, when used in small networks, it offers network engineers full control over the data flow.

Routing protocols are not the only kind of protocol used on a network. Data transfer protocols also play an important role in data transfer on a network by ensuring data is transferred efficiently and with minimum risk of corruption. These protocols prepare data for transmission by compressing them. They can also perform error detection and error correction.

Developments in parallel computing (defined in the Applications section)  could lead to the possibility of thousands of computers being combined together in a network configured such that they act as a single powerful computer. This lead to the advent of mainframes and supercomputers amongst other more powerful systems.

Applications
The internet is the largest computer network in the world. Since the computers and routing devices connected to the internet is continuously changing, dynamic routing is generally used to decide on the best paths to transfer data.

The internet is a wide area network (WAN) which connects computers over a wide geographical area. Smaller networks known as local area networks (LANS) are used to connect  computers in a limited geographic area – typically much less than 1km in radius. These computer networks are used to connect computers in an office building, home or small university campus. An example of a LAN is a domestic WIFI system where users can connect multiple laptops, tablets and phones to the same router.  Wi-Fi, known as Wireless Fidelity in full, is a type of WLAN (Wireless Local Area Network) that gives us the ability to connect to the internet without the need of wires and ethernet connections.

Parallel computing is a networking scheme which is being used to combine together thousands of computers such that they are able to function as a single, more powerful computer. In such a system instructions in a computer program are processed by multiple processors at the same time with the aim of improve processing speed.

Research
In a research project conducted from 2014 to 2017 by the Technische Universitaet Berlin, the research team in question collaborated with various universities and network companies to tackle various questions regarding the future of the internet. The ultimate goal of the project was to investigate how performance and content delivery could be improved and enhanced with relation to future internet architecture.

 

Computer scientists keep investigating ways on how to improve the quickness and efficiency of different systems by improving algorithms and functions used in network communications. 

  • It is possible that the activity could be made more challenging by including additional regulations such as a no communication rule where students are banned from communicating with each other, making the activity much more complex. Another rule could be to assign each student with a specific type of fruit. This means that student A must have 2 oranges at the end of the game whilst student B must have 2 apples at the end of the game.
  • The students could also be split into two groups and made to compete with each other such that the group how finishes the problem first wins. Of course, both groups must be following the same set of rules.
Download as PDF

Time Required

  • ~30 minutes

  • Preparation: 2 minutes

  • Conducting: 20 minutes

  • Clean Up: 1 minute

Recommended Age

Number of People

Supervision

Location

Materials

2 apples for participant A

2 peaches for participant B

2 pears for participant C

A pair of identical fruit for each participant. The pairs must all be of a different type of fruit.  e.g. for participants A, B and C there should be:

 

Real fruits, pictures of fruits or flashcards can be used.

Contributors


First published: September 28, 2017
Last modified: October 30, 2017

Was this experiment helpful?

 Yes
 No

We can always improve. Tell us how.