1 / 63

Wade Hong Carleton University May 26, 2003

Enabling User Control of CA*net 4 Lightpath Cross-Connect Devices: A Service Oriented Architecture and Distributed Coordination-based Approach. Wade Hong Carleton University May 26, 2003. Service Oriented Architecture. a service is a service is a service

baris
Télécharger la présentation

Wade Hong Carleton University May 26, 2003

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Enabling User Control of CA*net 4 Lightpath Cross-Connect Devices: A Service Oriented Architecture and Distributed Coordination-based Approach Wade Hong Carleton University May 26, 2003

  2. Service Oriented Architecture • a service is a service is a service • comprised of interactions between three distinct actors • provider (service) • registry (broker) • requestor (client) • actor role interactions • publishing information about a service • locating which services are available • binding to services

  3. Provider • considered the owner of the service • network accessible software asset • by definition • service has a description • concrete implementation encapsulating its behaviour • description of the service and how to access it is published to a registry • e.g.: software agent controlling a network element

  4. Registry • manages repositories of information regarding available services • typical information • descriptions of the services • details regarding how to bind to or access the services • e.g.: Jini lookup service

  5. Requestor • consumer of a service • discovers and invokes services from one or more providers • obtains service descriptions from a registry through a specialized set of APIs • binding • uses the service description to send a message to the provider directly or indirectly • e.g.: bulk transfer grid application requesting end-to-end lightpath

  6. Taxonomy of Coordination Models (from Cabri et al. 2000)

  7. Generative Communication • communication occurs via a tuple space • tuples and antituples are generated and submitted to the tuple space • originates from Linda, a high level coordination paradigm for parallel computing (Gelernter 1985)

  8. Space-based Programming • views an application as a set of processes coordinated through the flow of objects into and out of one or more Spaces • Space • shared, network accessible repository of objects used by distributed processes for object storage and exchange • distributed persistent (transient) shared memory • blackboard or working memory model

  9. Space-based Programming • processes (requestors and providers) • perform simple write, read and take operations utilizing value-matching lookup • interact indirectly and asynchronously through a Space • are loosely coupled spatially and temporally • applications tend to be more flexible, scalable and reliable • easier to build • Javaspaces is a Jini service which implements a space-based communications model

  10. Software Architecture • use Jini technology to build a scalable service oriented multi-agent framework • construct a Jini community of services around one or more CA*net 4 Lightpath cross-connect device • modular approach • develop and construct one Jini community • replicate for additional devices • Jini communities interact using Javaspaces as the communications substrate

  11. Multi-Agent Architecture • trend in computing is towards more ubiquitous, interconnected computer systems • agent software paradigm is a strong candidate for exploiting the potential of such systems • multiple interacting autonomous intelligent processes • key behaviours • autonomy • inter-agent communication • collective behaviour is emergent • “the whole is greater than the sum of the parts”

  12. Definition of an Agent “An agent is a computer system that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objective” (Wooldridge and Jennings 1995)

  13. The End of Protocols “……. agents as a replacement for hard-to-provision protocols is one of the most practical uses. With the widespread use of Java and the newer Jini technology, mobile agents should become the major way of deploying new services in the years ahead. This change will mark the beginning of the end of the Internet as a world of protocols and the beginning of the era of the agent-based Internet.” (Bill Joy 2000)

  14. The Agents Core Agents • Optical Network Element agent • LightSpan agent • Cross Connect agent • Event agents • Network Element agent • Lightpath agent • Routing agent • Switching agent • Lightpath Service agent

  15. Optical Network Element Agent • CA*net 4 Lightpath device is key element for which services are to be exposed • physical device is not yet Jini capable • situated autonomous software agent as a Jini surrogate

  16. Optical Network Element Agent • upon instantiation, the ONE agent discovers one or more Jini lookup services to register a set of services • proxies for the services are published to the lookup service • services are then part of the respective Jini community • registration is a lease and must be renewed continually (self healing)

  17. ONE Services • initial ONE services • partitioning service • an authorized client can partition the switching fabric of the CA*net 4 Lightpath cross-connect device • persistent state information regarding ownership of ports and STS channels at a port is maintained by the ONE agent • cross connect service • creates or deletes a cross connection between ports and STS channels • service interfaces to the ONS15454 via the craft interface using TL1 or UNI-C (UVA)

  18. ONE Services • initial ONE services • status service • provides state information about the CA*net 4 Lightpath device • information includes performance and alarm information, ownership of ports and STS channels at a port

  19. Optical Network Element Agent

  20. Optical Network Element Agent • a Jini community may include several ONE agents • each with ONE agent will have its own instances of the partitioning, cross connect and status service

  21. Optical Network Element Agent

  22. LightSpan Agent • agent responsible for handling the advertisement of available lightspans • definition • a span is the optical segment which connects any two ONEs • a lightspan is a sub channel of the span • if a lightspan is not cross connected across the ONE, the resource is considered available • the resource is typically available only to the ascribed owner

  23. LightSpan Agent • upon instantiation, determines the free lightspans for all the ONEs within a Jini community • uses the status services for the respective ONEs • policies needed to determine which and when lightspans are advertised • initially all free lightspans will be advertised • periodic monitoring of ONEs • notification of lightpath teardown Space events • evolutionary process

  24. LightSpan Agent

  25. LightSpan Agent • a Space is used for publishing lightspan availability • a lightspan object representing a span is written into the CA*Net 4 Lightpath Space • a Jini Entry object • matchable fields are public • with a specified lease period

  26. LightSpan Agent

  27. public class LightSpan implements Entry { public String OriginatingAS; public String OriginatingONE; public String OriginatingSlot; public String OriginatingPort; public String OriginatingSTSChannel; public String DestinationAS; public String DestinationONE; public String DestinationSlot; public String DestinationPort; public String DestinationSTSChannel; public String Bandwidth; // e.g. STS-24 public String Owner; public String Group; public String Status; // public String Direction; // e.g. 2-way public Integer SubLeasePeriod; // e.g. 10080 (min) public String Subdivisable; // e.g. Yes …………… } LightSpan Object

  28. Cross Connect Agent • performs the task of creating and deleting cross connects on member ONEs • between a port and a port, a port and an STS channel on a port, or an STS channel on a port and an STS channel on a port • interacts directly with the CA*net 4 Lightpath Space • template matches for create and delete cross connect objects intended for the member ONEs • locates the ONE cross connect service and through its proxy initiates the cross connect action

  29. Cross Connect Agent

  30. public class CreateCrossConnect implements Entry { public String AS; public String ONE; public String OriginatingSlot; public String OriginatingPort; public String OriginatingSTSChannel; public String DestinationSlot; public String DestinationPort; public String DestinationSTSChannel; public String Bandwidth; // e.g. STS-24 public String Owner; public String Group; public String Status; // public String Direction; // e.g. 2-way public Integer SubLeasePeriod; // e.g. 10080 (min) ……….. } public class DeleteCrossConnect implements Entry { public String AS; public String ONE; public String OriginatingSlot; public String OriginatingPort; public String OriginatingSTSChannel; public String DestinationSlot; public String DestinationPort; public String DestinationSTSChannel; public String Bandwidth; // e.g. STS-24 public String Owner; public String Group; public String Status; // public String Direction; // e.g. 2-way public Integer SubLeasePeriod; // e.g. 10080 (min) ……….. } Cross Connect Objects

  31. Cross Connect Agent • transactionable methods • groups a number of cross connect actions as a transaction • two phase commit • creating and removing an end-to-end lightpath as a single transaction is important • ensures reliability and consistency • capability will be evolved as the agent is developed

  32. Network Element Agent • interacts with active network devices such as routers or switches • typically, edge devices at the ingress and egress of the requested lightpath • upon instantiation, the NE agent discovers one or more Jini lookup services to register a set of services

  33. Network Element Agent • initial NE services • ASPATH service • for a router NE between the end host and the CA*net 4 Lightpath cross connect device, this service returns the current BGP ASPATH between a given source and destination AS • provides network path topology • Re-routing service • permits an authorized client to modify the routing of traffic across the router or layer 3 device • typically, this will involve injection of a static route • the new route is the end-to-end lightpath bypass

  34. Network Element Agent • initial NE services • VLAN service • for a L2 switch NE between the end host and the CA*net 4 Lightpath cross connect device • Reconfigures the L2 switch to place the respective ports on the same 802.1p/q VLAN • status service • provides state information about the edge network element devices • information includes port configuration, performance and alarm information

  35. Network Element Agent

  36. Network Element Agent • use ssh or telnet over the LAN interface to connect to the NE • end users connected to established lightpaths in two ways • directly • host to host • single hop end-to-end lightpath • NE not required and ORANs are transparent • indirectly • through edge Linux routers (Zebra) • ORANs in this scenario are also transparent

  37. Lightpath Agent • transient agent created by the Lightpath Services agent • lightpath creation or deletion request conveyed through a Lightpath Provisioning or Deprovisioning Request entry in the CA*net 4 Lightpath Space • instance of a lightpath agent is created to act on behalf of each grid-based application • interacts with the CA*net 4 Lightpath Space to locate and construct an end-to-end lightpath • similar in behaviour to the end-to-end co-reservation agent in GARA (Globus Architecture for Reservation and Allocation)

  38. LightPath Agent

  39. Lightpath Agent • searches the CA*net 4 Lightpath Space with template matching to locate lightspan objects which can be concatenated together to construct an end-to-end lightpath • matches may have varying granularity satisfying given constraints such as bandwidth, period of availability, etc • creates a set of cross connect objects and groups them into one atomic transaction • if the transactions succeed, the respective cross connect objects and lightspan objects removed from the Space • the end-to-end lightpath is now provisioned!

  40. Lightpath Agent

  41. Lightpath Agent • however, to utilize the end-to-end lightpath, traffic must be re-routed across it • creates routing or switch request entries and injects them into the CA*net 4 Lightpath Space • two requests, one for each terminus form a transaction • when the application completes, the resources can be released • deprovisioning entails writing a set of delete cross connect objects into the CA*net 4 Lightpath Space and grouping as a single atomic transaction • routing or switch entries to delete the injected route or teardown the created VLAN are injected into the CA*net 4 Lightpath Space

  42. Lightpath Agent • may also monitor events on behalf of the grid-based application and forwards them to the application • listens for specific remote events in the CA*net 4 Lightpath Space

  43. Routing Agent • performs the task of adding, modifying or deleting routes on respective NEs • retrieves the routing request entry from the CA*net 4 Lightpath Space • locates the the re-routing service for the NE • performs the re-routing • may be performed as part of a transaction

  44. Routing Agent

  45. Switching Agent • performs the task of creating or deleting VLANs on respective NEs • retrieves the switch request entry from the CA*net 4 Lightpath Space • locates the the VLAN service for the NE • performs the switching • may be performed as part of a transaction

  46. Switching Agent

  47. Event Agents • source of events or alarms of interest • CA*net 4 Lightpath cross connect devices and connected edge devices • a set of agents is envisaged to interact with the status service of the ONEs and the NEs • more can be added as required • inserts remote event entries into the CA*net 4 Lightpath Space

  48. Event Agents

  49. Event Agents • other agents will be notified of the event if it had registered interest • a lightpath agent for example, will want to be notified if an end-to-end lightpath is down • events of interest will be identified as the realization of this architecture evolves • in parallel the status service for the ONE and the NEs will evolve

  50. Lightpath Service Agent • a grid service instance created by the Lightpath Grid Service factory • recursively behaves as a factory to create a corresponding Lightpath agent • intermediary between the external Grid Services façade and the internal Jini/Javaspace implementation • similar to the Double Agent in Cisco’s Scalable Infrastructure (SI) • speaks protocol (grid services) and speaks Space

More Related