A novel and efficient source-path discovery and maintenance method for application layer multicast