{"title":"程序员控制的应用层多播","authors":"P. Dewan","doi":"10.4108/ICST.COLLABORATECOM.2014.257266","DOIUrl":null,"url":null,"abstract":"Group communication abstractions provide application-level multicasting to communicate information among distributed processes. A variety of such abstractions have been provided to implement synchronous collaborative applications but they do not allow control over the multicast of information to the selected group of processes. We have developed a new abstraction that overcomes this limitation. It defines a two-level grouping of distributed processes, with one level defining the users interacting with a specific collaborative application, and the other defining the set of collaborative applications a set of users is sharing simultaneously to perform some collaborative task. It allows information to be sent directly to the receiving processes or through a centralized relayer. In either case, programmer-choosable and replaceable send and receive filters provide consistency guarantees. The abstraction provides message passing rather than remote procedure calls, and supports asynchronous sending and receiving of messages. It is designed to support both centralized and replicated architectures. The abstraction has been implemented on top of the Java Remote Method Invocation layer and has been used to implement a broad range of collaboration functions.","PeriodicalId":432345,"journal":{"name":"10th IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing","volume":"18 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Programmer-controlled application-level multicast\",\"authors\":\"P. Dewan\",\"doi\":\"10.4108/ICST.COLLABORATECOM.2014.257266\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Group communication abstractions provide application-level multicasting to communicate information among distributed processes. A variety of such abstractions have been provided to implement synchronous collaborative applications but they do not allow control over the multicast of information to the selected group of processes. We have developed a new abstraction that overcomes this limitation. It defines a two-level grouping of distributed processes, with one level defining the users interacting with a specific collaborative application, and the other defining the set of collaborative applications a set of users is sharing simultaneously to perform some collaborative task. It allows information to be sent directly to the receiving processes or through a centralized relayer. In either case, programmer-choosable and replaceable send and receive filters provide consistency guarantees. The abstraction provides message passing rather than remote procedure calls, and supports asynchronous sending and receiving of messages. It is designed to support both centralized and replicated architectures. The abstraction has been implemented on top of the Java Remote Method Invocation layer and has been used to implement a broad range of collaboration functions.\",\"PeriodicalId\":432345,\"journal\":{\"name\":\"10th IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing\",\"volume\":\"18 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2014-11-11\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"10th IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.4108/ICST.COLLABORATECOM.2014.257266\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"10th IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4108/ICST.COLLABORATECOM.2014.257266","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Group communication abstractions provide application-level multicasting to communicate information among distributed processes. A variety of such abstractions have been provided to implement synchronous collaborative applications but they do not allow control over the multicast of information to the selected group of processes. We have developed a new abstraction that overcomes this limitation. It defines a two-level grouping of distributed processes, with one level defining the users interacting with a specific collaborative application, and the other defining the set of collaborative applications a set of users is sharing simultaneously to perform some collaborative task. It allows information to be sent directly to the receiving processes or through a centralized relayer. In either case, programmer-choosable and replaceable send and receive filters provide consistency guarantees. The abstraction provides message passing rather than remote procedure calls, and supports asynchronous sending and receiving of messages. It is designed to support both centralized and replicated architectures. The abstraction has been implemented on top of the Java Remote Method Invocation layer and has been used to implement a broad range of collaboration functions.