A method for establishing and using a set of cooperating endpoints for multipath communication, the method comprising: with a client device having first and second network interfaces: establishing a first communication channel over the first network interface to a first endpoint, said first communication channel carrying application layer messages in accord with an application layer protocol running on top of a first transport layer connection; establishing a second communication channel over the second network interface to a second endpoint, said second communication channel carrying application layer messages in accord with the application layer protocol running on top of a second transport layer connection; after establishing the first and second communication channels, the client device designating a set of two or more cooperating endpoints so as to enable the two or more cooperating endpoints to communicate with one another about each of the two or more cooperating endpoints serving content to the client device, the cooperating endpoints including the first and second endpoints, the designation comprising one or more of: (i) the client device sending a message to the first endpoint that identifies the second endpoint, (ii) the client device sending a message to the second endpoint that identifies the first endpoint; (iii) the client device sending a message to a remote host, the message identifying the first and second endpoints and instructing the remote host to notify both the first endpoint and the second endpoint of the designation; and, responsive to the client device's designation of the set of two or more cooperating endpoints, the client device receiving a cancellation from at least one of the first and second endpoints, the cancellation effective to cancel membership of the at least one of the first and second endpoints in the set of two or more cooperating endpoints. establishing a first communication channel over the first network interface to a first endpoint, said first communication channel carrying application layer messages in accord with an application layer protocol running on top of a first transport layer connection; establishing a second communication channel over the second network interface to a second endpoint, said second communication channel carrying application layer messages in accord with the application layer protocol running on top of a second transport layer connection; after establishing the first and second communication channels, the client device designating a set of two or more cooperating endpoints so as to enable the two or more cooperating endpoints to communicate with one another about each of the two or more cooperating endpoints serving content to the client device, the cooperating endpoints including the first and second endpoints, the designation comprising one or more of: (i) the client device sending a message to the first endpoint that identifies the second endpoint, (ii) the client device sending a message to the second endpoint that identifies the first endpoint; (iii) the client device sending a message to a remote host, the message identifying the first and second endpoints and instructing the remote host to notify both the first endpoint and the second endpoint of the designation; and, responsive to the client device's designation of the set of two or more cooperating endpoints, the client device receiving a cancellation from at least one of the first and second endpoints, the cancellation effective to cancel membership of the at least one of the first and second endpoints in the set of two or more cooperating endpoints.