System and method for describing and identifying abstract software modules in peer-to-peer network environments
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-009/46
G06F-015/16
출원번호
US-0369950
(2003-02-20)
등록번호
US-7484225
(2009-01-27)
발명자
/ 주소
Hugly,Jean Christophe
Abdelaziz,Mohamed M.
Pouyoul,Eric
Traversat,Bernard A.
Duigou,Michael J.
출원인 / 주소
Sun Microsystems, Inc.
대리인 / 주소
Kowert,Robert C.
인용정보
피인용 횟수 :
9인용 특허 :
16
초록▼
System and method for describing and identifying abstract software modules in peer-to-peer networking environments. A module class may have one or more module specifications. Each module specification may have one or more module implementations. A module class advertisement may be generated for the
System and method for describing and identifying abstract software modules in peer-to-peer networking environments. A module class may have one or more module specifications. Each module specification may have one or more module implementations. A module class advertisement may be generated for the module class. A unique module class identifier may be assigned to the module class. A role extension to the module class identifier may be generated for each instance of the module class that performs a different role in a context. A unique module specification identifier may be assigned to each module specification of the module class. In one embodiment, a module specification advertisement may be generated for each module specification. In one embodiment, there may be one or more module implementations for each module specification. In one embodiment, a module implementation advertisement may be generated for each module implementation.
대표청구항▼
What is claimed is: 1. A peer-to-peer network system, comprising: a plurality of computers configured to implement a plurality of peer nodes coupled to a network; a class of software module provided by one or more of the peer nodes; a module class advertisement for the class of software module, whe
What is claimed is: 1. A peer-to-peer network system, comprising: a plurality of computers configured to implement a plurality of peer nodes coupled to a network; a class of software module provided by one or more of the peer nodes; a module class advertisement for the class of software module, wherein the module class advertisement defines a local behavior and an Application Programming Interface (API) for each of a plurality of peer-to-peer bindings that supports the class of software module, wherein the module class advertisement includes a module class identifier that uniquely identifies the class of software module, and wherein the module class advertisement further includes a role extension to the module class identifier for distinguishing two or more instances of the class of software module configured to perform different roles in a context; and a plurality of module specification identifiers that each uniquely identifies one of a plurality of module specifications of the class of software module, wherein each module specification includes an indication of an expected on-wire behavior and an indication of one or more network protocols for a particular embodiment of the class of software module. 2. The peer-to-peer network system as recited in claim 1, further comprising a module specification advertisement for each module specification, wherein each module specification advertisement includes a corresponding module specification identifier. 3. The peer-to-peer network system as recited in claim 2, wherein each module specification advertisement further includes one or more mechanisms to invoke and use the class of software module. 4. The peer-to-peer network system as recited in claim 1, further comprising one or more module implementations for each module specification of the class of software module, wherein each module implementation is configured to execute within a particular execution environment. 5. The peer-to-peer network system as recited in claim 4, wherein two or more module implementations of the class of software module configured to execute within a particular execution environment are configured to provide a common programming interface for execution within the particular execution environment. 6. The peer-to-peer network system as recited in claim 1, wherein the class of software module is configured to express one or more dependencies via the module class identifier for an execution environment and module specification selected during configuration of the execution environment. 7. The peer-to-peer network system as recited in claim 1, wherein the plurality of peer nodes are configured to participate in a peer-to-peer network environment in accordance with one or more peer-to-peer platform protocols for enabling the peer nodes to discover each other, communicate with each other, cooperate with each other to form peer groups, and to discover and access modules in the peer-to-peer network environment. 8. A system, comprising: a processor; and a memory comprising program instructions, wherein the program instructions are executable by the processor to: generate a module class advertisement for a class of software module hosted by the system on a peer-to-peer network, wherein the module class advertisement defines a local behavior and an Application Programming Interface (API) for each of two or more peer-to-peer bindings that supports the class of software module; assign a module class identifier to the class of software module that uniquely identifies the class of software module; generate a role extension to the module class identifier for distinguishing two or more instances of the class of software module configured to perform different roles in a context; include the role extension to the module class identifier in the module class advertisement; and assign a different module specification identifier to each of a plurality of module specifications of the class of software module, wherein each module specification identifier uniquely identifies a corresponding module specification, and wherein each module specification indicates an expected on-wire behavior and one or more network protocols for a particular embodiment of the class of software module. 9. The system as recited in claim 8, wherein the program instructions are further executable by the processor to include the module class identifier in the module class advertisement. 10. The system as recited in claim 8, wherein the program instructions are further executable by the processor to generate a module specification advertisement for each module specification, wherein each module specification advertisement includes a corresponding module specification identifier. 11. The system as recited in claim 10, wherein each module specification advertisement indicates one or more mechanisms to invoke and use the class of software module. 12. The system as recited in claim 8, wherein the program instructions are further executable by the processor to generate one or more module implementations for each module specification of the class of software module, wherein each module implementation is configured to execute within a particular execution environment. 13. The system as recited in claim 12, wherein the program instructions are further executable by the processor to provide a common programming interface for two or more module implementations of the class of software module configured to execute within a particular execution environment. 14. The system as recited in claim 8, wherein the class of software module is configured to express one or more dependencies via the module class identifier for an execution environment and module specification selected during configuration of the execution environment. 15. The system as recited in claim 8, wherein system is configured to participate as a peer node on the peer-to-peer network with one or more other peer nodes in a peer-to-peer network environment in accordance with one or more peer-to-peer platform protocols for enabling the peer nodes to discover each other, communicate with each other, cooperate with each other to form peer groups, and to discover and access modules in the peer-to-peer network environment. 16. A method for describing and identifying abstract software modules, comprising: one or more of a plurality of peers in a peer-to-peer network environment hosting a class of software module; generating a module class advertisement for the class of software module, wherein the module class advertisement defines a local behavior and an Application Programming Interface (API) for each of a plurality of peer-to-peer bindings that supports the class of software module; assigning a module class identifier to the class of software module that uniquely identifies the class of software module; generating a role extension to the module class identifier for distinguishing two or more instances of the class of software module configured to perform different roles in a context; including the role extension to the module class identifier in the module class advertisement; and assigning a different module specification identifier to each of a plurality of module specifications of the class of software module, wherein each module specification identifier uniquely identifies a corresponding module specification, and wherein each module specification indicates an expected on-wire behavior and one or more network protocols for a particular embodiment of the class of software module. 17. The method as recited in claim 16, further comprising including the module class identifier in the module class advertisement. 18. The method as recited in claim 16, further comprising generating a module specification advertisement for each module specification, wherein each module specification advertisement includes a corresponding module specification identifier. 19. The method as recited in claim 18, wherein each module specification advertisement further includes one or more mechanisms to invoke and use the class of software module. 20. The method as recited in claim 16, further comprising generating one or more module implementations for each module specification of the class of software module, wherein each module implementation is configured to execute within a particular execution environment. 21. The method as recited in claim 20, further comprising providing a common programming interface for two or more module implementations of the class of software module configured to execute within a particular execution environment. 22. The method as recited in claim 16, wherein the class of software module is configured to express one or more dependencies via the module class identifier for an execution environment and module specification selected during configuration of the execution environment. 23. The method as recited in claim 16, wherein the plurality of peers are configured to participate in the peer-to-peer network environment in accordance with one or more peer-to-peer platform protocols for enabling the peers to discover each other, communicate with each other, cooperate with each other to form peer groups, and to discover and access modules in the peer-to-peer network environment. 24. A computer-accessible storage medium, comprising program instructions, wherein the program instructions are computer-executable to implement: generating a module class advertisement for a class of software module hosted by one or more of a plurality of peers in a peer-to-peer network environment, wherein the module class advertisement defines a local behavior and an Application Programming Interface (API) for each of a plurality of peer-to-peer bindings that supports the class of software module; assigning a module class identifier to the class of software module that uniquely identifies the class of software module; generating a role extension to the module class identifier for distinguishing two or more instances of the class of software module configured to perform different roles in a context; including the role extension to the module class identifier in the module class advertisement; and assigning a different module specification identifier to each of a plurality of module specifications of the class of software module, wherein each module specification identifier uniquely identifies a corresponding module specification, and wherein each module specification indicates an expected on-wire behavior and one or more network protocols for a particular embodiment of the class of software module. 25. The computer-accessible storage medium as recited in claim 24, wherein the program instructions are further computer-executable to implement including the module class identifier in the module class advertisement. 26. The computer-accessible storage medium as recited in claim 24, wherein the program instructions are further computer-executable to implement generating a module specification advertisement for each module specification, wherein each module specification advertisement includes a corresponding module specification identifier. 27. The computer-accessible storage medium as recited in claim 26, wherein each module specification advertisement further includes one or more mechanisms to invoke and use the class of software module. 28. The computer-accessible storage medium as recited in claim 24, wherein the program instructions are further computer-executable to implement generating one or more module implementations for each module specification of the class of software module, wherein each module implementation is configured to execute within a particular execution environment. 29. The computer-accessible storage medium as recited in claim 28, wherein the program instructions are further computer-executable to implement providing a common programming interface for two or more module implementations of the class of software module configured to execute within a particular execution environment. 30. The computer-accessible storage medium as recited in claim 24, wherein the class of software module is configured to express one or more dependencies via the module class identifier for an execution environment and module specification selected during configuration of the execution environment. 31. The computer-accessible storage medium as recited in claim 24, wherein the plurality of peers are configured to participate in the peer-to-peer network environment in accordance with one or more peer-to-peer platform protocols for enabling the peers to discover each other, communicate with each other, cooperate with each other to form peer groups, and to discover and access modules in the peer-to-peer network environment. 32. A peer-to-peer network system, comprising: a plurality of computers configured to implement a plurality of peer nodes coupled to a network; a class of software module provided by one or more of the peer nodes; a module class advertisement for the class of software module, wherein the module class advertisement defines a local behavior and an Application Programming Interface (API) for each of a plurality of peer-to-peer bindings that supports the class of software module, wherein the module class advertisement includes a module class identifier that uniquely identifies the class of software module, and wherein the module class advertisement further includes a role extension to the module class identifier for distinguishing two or more instances of the class of software module configured to perform different roles in a context; a plurality of module specification advertisements for the module class advertisement, wherein each module specification advertisement describes a different module specification including an expected on-wire behavior and a protocol of the class of software module; and one or more module implementation advertisements for each module specification advertisement, wherein each module implementation advertisement describes a particular module implementation of a corresponding module specification, wherein the module implementation is configured to execute within a particular execution environment. 33. The peer-to-peer network system as recited in claim 32, wherein each module specification advertisement further describes one or more mechanisms to invoke and use the corresponding class of software module. 34. The peer-to-peer network system as recited in claim 32, wherein each module specification advertisement includes a module specification identifier that uniquely identifies the module specification corresponding to the module specification advertisement. 35. The peer-to-peer network system as recited in claim 32, wherein each module implementation advertisement includes a module specification identifier that uniquely identifies the module specification implemented by the module implementation advertisement. 36. The peer-to-peer network system as recited in claim 32, wherein each module implementation advertisement includes information indicating a mechanism for accessing code of the particular module implementation. 37. The peer-to-peer network system as recited in claim 32, wherein each module implementation advertisement is discoverable by peer nodes on the peer-to-peer network, and wherein the module implementation advertisements are configured for use by the peer nodes to implement corresponding module specifications in particular execution environments of the peer nodes. 38. The peer-to-peer network system as recited in claim 32, wherein the plurality of peer nodes are configured to participate in a peer-to-peer network environment in accordance with one or more peer-to-peer platform protocols for enabling the peer nodes to discover each other, communicate with each other, cooperate with each other to form peer groups, and to discover and access modules in the peer-to-peer network environment. 39. A system, comprising: a processor; and a memory comprising program instructions, wherein the program instructions are executable by the processor to: generate a module class advertisement for a class of software module hosted by the system, wherein the module class advertisement defines a local behavior and an Application Programming Interface (API) for each of a plurality of peer-to-peer bindings that supports the class of software module, wherein the module class advertisement includes a module class identifier that uniquely identifies the class of software module, and wherein the module class advertisement further includes a role extension to the module class identifier for distinguishing two or more instances of the class of software module configured to perform different roles in a context; generate a plurality of module specification advertisements for the module class advertisement, wherein each module specification advertisement describes a different module specification including an expected on-wire behavior and a protocol of the class of software module; and generate one or more module implementation advertisements for each module specification advertisement, wherein each module implementation advertisement describes a particular module implementation of a corresponding module specification, wherein the module implementation is configured to execute within a particular execution environment. 40. The system as recited in claim 39, wherein each module specification advertisement further describes one or more mechanisms to invoke and use the corresponding class of software module. 41. The system as recited in claim 39, wherein each module specification advertisement includes a module specification identifier that uniquely identifies the module specification corresponding to the module specification advertisement. 42. The system as recited in claim 39, wherein each module implementation advertisement includes a module specification identifier that uniquely identifies the module specification implemented by the module implementation advertisement. 43. The system as recited in claim 39, wherein each module implementation advertisement includes information indicating a mechanism for accessing code of the particular module implementation. 44. The system as recited in claim 39, wherein each module implementation advertisement is discoverable by one or more peer nodes on the peer-to-peer network, and wherein the module implementation advertisements are configured for use by the peer nodes to implement corresponding module specifications in particular execution environments of the peer nodes. 45. The system as recited in claim 39, wherein the system is a peer node configured to participate with other peer nodes in a peer-to-peer network environment in accordance with one or more peer-to-peer platform protocols for enabling the peer nodes to discover each other, communicate with each other, cooperate with each other to form peer groups, and to discover and access modules in the peer-to-peer network environment. 46. A method for describing and identifying abstract software modules, comprising: one or more of a plurality of peers in a peer-to-peer network environment hosting a class of software module; generating a module class advertisement for the class of software module, wherein the module class advertisement defines a local behavior and an Application Programming Interface (API) for each of a plurality of peer-to-peer bindings that supports the class of software module; generating a module class identifier that uniquely identifies the class of software module; generating a module specification identifier that uniquely identifies the module specification; generating a role extension to the module class identifier for distinguishing two or more instances of the class of software module configured to perform different roles in a context; including the module class identifier and the role extension to the module class identifier in the module class advertisement; generating a plurality of module specification advertisements for the module class advertisement, wherein each module specification advertisement describes a different module specification including expected on-wire behavior and protocol of the class of software module; and generating a module implementation advertisement for each module specification advertisement, wherein the module implementation advertisement describes a module implementation of a respective module specification configured to execute within a particular execution environment. 47. The method as recited in claim 46, wherein each module specification advertisement further describes one or more mechanisms to invoke and use the class of software module. 48. The method as recited in claim 46, further comprising, for each module specification: including the module specification identifier in a corresponding module specification advertisement; and including the module specification identifier in the module implementation advertisement for the module specification advertisement. 49. The method as recited in claim 46, wherein each module implementation advertisement is discoverable by peers on the peer-to-peer network, and wherein the module implementation advertisements are configured for use by the peers to implement corresponding module specifications in particular execution environments of the peers. 50. The method as recited in claim 46, wherein the plurality of peers are configured to participate in the peer-to-peer network environment in accordance with one or more peer-to-peer platform protocols for enabling the peers to discover each other, communicate with each other, cooperate with each other to form peer groups, and to discover and access modules in the peer-to-peer network environment. 51. A computer-accessible storage medium, comprising program instructions, wherein the program instructions are computer-executable to implement: one or more of a plurality of peers in a peer-to-peer network environment hosting a class of software module; generating a module class advertisement for the class of software module, wherein the module class advertisement defines the local behavior and Application Programming Interface (API) for each of two or more peer-to-peer bindings that supports the class of software module; generating a module class identifier that uniquely identifies the class of software module; generating a module specification identifier that uniquely identifies the module specification; generating a role extension to the module class identifier for distinguishing two or more instances of the class of software module configured to perform different roles in a context; including the module class identifier and the role extension to the module class identifier in the module class advertisement; generating a plurality of module specification advertisements for the module class advertisement, wherein each module specification advertisement describes a different module specification including expected on-wire behavior and protocol of the class of software module; and generating a module implementation advertisement for each module specification advertisement, wherein the module implementation advertisement describes a module implementation of a respective module specification configured to execute within a particular execution environment. 52. The computer-accessible storage medium as recited in claim 51, wherein each module specification advertisement further describes one or more mechanisms to invoke and use the class of software module. 53. The computer-accessible storage medium as recited in claim 51, wherein the program instructions are further computer-executable to implement, for each module specification: including the module specification identifier in a corresponding module specification advertisement; and including the module specification identifier in the module implementation advertisement for the module specification advertisement. 54. The computer-accessible storage medium as recited in claim 51, wherein each module implementation advertisement is discoverable by peers on the peer-to-peer network, and wherein the module implementation advertisements are configured for use by the peers to implement corresponding module specifications in particular execution environments of the peers. 55. The computer-accessible storage medium as recited in claim 51, wherein the plurality of peers are configured to participate in the peer-to-peer network environment in accordance with one or more peer-to-peer platform protocols for enabling the peers to discover each other, communicate with each other, cooperate with each other to form peer groups, and to discover and access modules in the peer-to-peer network environment.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (16)
Gary Mousseau CA; David Yach CA; Herb A. Little CA, Apparatus and method for dynamically limiting information sent to a viewing device.
Bilansky, Mark Alan; Huang, Kevin Chuang-Chi; Ryder, James William; Stavana, Edward James, Dual communication services interface for distributed transaction processing.
Gu, Ye; Ford, Peter S.; Knight, Holly; Goland, Yaron Y.; Leach, Paul J., Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages.
Sistanizadeh, Kamran; Kamali, Masoud M., Operations and provisioning systems for service level management in an extended-area data communications network.
Hunt,Galen C.; Hydrie,Aamer; Welland,Robert V.; Tabbara,Bassam; Levi,Steven P.; Rehof,Jakob, System and method for logical modeling of distributed computer systems.
Larvet, Philippe, Device and method for automatically building applications from specifications and from off-the-shelf components selected by semantic analysis.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.