

User uploads data using a targeted P2P protocol.
Traffic shaper detects uploading.
Traffic shaper identifies user.
Traffic shaper sends e-mail notification to user.
At set intervals, computer program connects to traffic shaper to retrieve data about uploads, including associated IP addresses. (We use an interval of 10 minutes.)
Program determines if IP in question belongs to targeted user base.
Program determines if detected traffic exceeds established threshholds. (Below this threshhold, traffic is not likely to be P2P file sharing.)
Program identifies MAC address.
Program identifies user.
Program inserts detection record.
Program detects if user has opted out of BAYU. If so, it proceeds to next IP address.
Program detects if user has received BAYU e-mail notification within designated time period. If so, it proceeds to next IP address.
We use a 10-minute interval between computer runs. You may wish to use a different time interval between runs, depending on your equipment and the number of records you want the program to parse, as this can potentially affect the capacity of the program to complete each run within the allotted time.
Program inserts e-mail notification record and sends e-mail notification to user.
Also, we only send one e-mail notification to a given individual in a 24-hour period. You may wish to use a different timeframe for sending e-mail notifications. Our particular program has no built-in limit to the number of e-mail notifications that can be sent to a given individual, but we decided that once a day was just the right amount.
For a text overview of the BAYU process, see the BAYU Technical Overview (33KB DOC).
To understand the separate tasks required to make the program work, review the List of Tasks in the BAYU Requirements document.
To accomplish these tasks, you will need a way to
Detect apparent P2P uploads
Identify users related to the apparent uploading
Notify users that they have been detected apparently uploading
We wanted to implement BAYU as quickly as feasible and at the lowest possible cost. Accordingly, we decided to use products that we already owned or for which we had licenses.
Alternative products exist, as the table shows.
| Function | Product | Brand/Company | Alternative Brands/Companies |
|---|---|---|---|
| Recognize and report types of traffic flowing through network (specifically, uploading) | Traffic shaper | PacketShaper (from Packeteer) | NetEqualizer (NetEnforcer from Allot Communications) |
| Connect the traffic reports to the rest of the system | Operating system for server | Linux | Windows |
| Program the system to interpret data and act on it | Programming language | Perl | Python, C# |
| Store data as needed or desired | Database software | Oracle | MS SQL, MySQL |
You will want to choose the products you use based on your own needs and resources. However, if you use the same products as we do, we will be better prepared to help you if you need it.
The traffic shaper model will vary, depending on your situation. Work with your network administrator to connect the traffic shaper to your network.
Configure traffic shaper to detect P2P protocols in network traffic and report IP addresses associated with targeted P2P activity.
Construct a program to identify detected users, send BAYU notifications, and manage data. (See the flowchart in Understand the Process.)
We will make our source code for this step available in the near future
Construct an opt-out option, if desired, for users who do not wish to receive the service. (We have set BAYU so that a person must receive at least one BAYU notification before being able to opt out. The opt-out status is valid for one term.)
We will make our source code for this step available in the near future