600 likes | 825 Views
Information Design. Service Model: how user access service? Part IV: ... So the former design is not fit for web application! We should not blindly apply object ...
E N D
Slide 1:Bio-networking Architecture Design
Jiuyun Wang jywang@ics.uci.edu Netgroup 04/07/99
Slide 2:Outline
Part I: Overview Part II: Overall Design CyberEntity and SuperEntity Part III: Individual Design Class Hierarchy Bio-Net System Design System Control Mechanism System Services Distributed Event Model Bio-Net Application Design Service Design Information Design Service Model: how user access service? Part IV: some thoughts for thinking
Slide 3:Part IBio-Net System Overview
Slide 4:Bio-Networking Architecture
The systems running on the bio-net have features learned from biological system, in which the entities of the system demonstrate behavior such as communication, cooperation, competition migration, reproduction, death, adaptation Bio-Net System consists of three parts: system: bio-net platform / cyber-entity context application: cyber-entity provide service to user user
Slide 5:Key Characteristics of Bio-Net
scalable (to millions of users) adaptable (to heterogeneous and dynamic network environments) survivable (from hacker attacks) available (fault/failure-tolerant) autonomous (self-organized and less administration overhead) simple (easy to design and maintain)
Slide 6:Part IIOverall Design
Slide 7:The Essence of Design
Everything is a cyber-entity implement Bio-Net platform software in forms of cyber-entities implement applications in forms of cyber-entities individual user can also be treat as a cyber-entity in the cyber-space Envision: All kinds of cyber-entities with biological features cooperate with each other to provide other (e.g. user) c-e.s with desired services successfully and efficiently (emergent behavior of super-entity) Cyber-entities can interact / communicate with each other if permitted (in the way specified by cyber-entity developers) or communicated by distributed event model (provided by platform software provider)
Slide 8:Why everything is cyber-entities?
Cyber-entity verbally means any object existed in the cyber-space Give a generic view of any object (system, application, and user cyber-entity) in the cyber-space, no matter what they actually are So the system itself can exploit the features of Bio-networking as well.
Slide 9:***
1 super entity = 10 cyber entities 1 cyber entity = 1 web page (body, n-e code) + HTTP functions (body, e code)
Slide 10:Interface **to Behavior ICyberEntity
provideService (IService is); //providing **some kind of service, ->migration, ennergy exhange, etc. *** interface IService see later gainEnergy(int amount); //provide service to user to gain some energy loseEnergy(int amount); //lose energy due to leasing some service from other entities reproduce( ); //gain enough energy to reproduce / clone death( ); // run out of energy migrateTo (Address a); //address is generic class for different address: e.g. IP address or others suicide( ); //It is the only altruistic behavior which can transfer energy to other cyber-entity to protect the whole super-entity
Slide 11:class CyberEntity
----- implements ICyberEntity ID id ID superEntityID Object o; // the essential properties what this cyber-entity can do Energy e; Time t; //timeStamp of cyber-entity created Note: it can also implement certain kinds of eventListeners to handle certain events
Slide 12:interface ISuperEntity
provideService(IService is); //IService is a interface which provide all kinds of interface synchronizeAll( ); //synchronize all cyber-entity and make them consistent authorizeAccess(A B); denyAccess(Object o); other services (such **)
Slide 13:class SuperEntity
------- implements ISuperEntity ID; //distinguish itself from others Vector cyberEntities; //a list of cyber-entities Note: It is class CyberEntity that actually provides service to end-user, class SuperEntity is an class used by system service cyber-entity to register the service, to expedite system control cyber-entity to authorize user to access the service (refer to system service c-e and System control c-e). We never declare an instance of class SuperEntity!
Java Virtual Machine & Generic NetworkSlide 14:Bio-Net Overall Design (version 1)
Distributed Event Model***alternate to social networking *** Bio-Networking Architecture Cyber space Virtual application super-entity Virtual system super-entity Cyber-entities Resouce Cyber-entities Virtual application super-entity Cyber-entities Virtual user super-entity
Slide 15:**** alternative to social networking define the mechanism differentiate yours from existing ones social networking DNS, NDS, etc
Slide 16:Part IIIIndividual Design
Java Virtual Machine & Generic NetworkSlide 17:Bio-Net Overall Design (version 2)
Service CyberEntity e.g., serverEntity SysService CyberEntity Distributed Event Model Application cyber-entities Bio-Net platform software ( System cyber-entities ) SysCtrl CyberEntity Bio-Networking Architecture Cyber space Data CyberEntity e.g., webpages Virtual application super-entity Virtual system super-entity Administator CyberEntity EndUser CyberEntity Virtual user super-entity
Slide 18:***For now, use TS definition. One entity containing both: execution code, non e code (dont; worry about efficiency) later, if we need to optimzie for efficiency, we may separate two (e code, non e code)
Slide 19:explanation
Super-entity is virtual entity in the network cyber-space. It consists of a set of cyber-entities can provide a certain services to user There are 3 different categories of cyber-entities System cyber-entity System Service CyberEntity: e.g. lookup Service CyberEntity System Control CyberEntity: e.g. competition ctrl, access ctrl Application cyber-entity ServiceCyberEntity: e.g. WebServerEntity DataCyberEntity: e.g. WenPageEntity User cyber-entity administrator, end-user, manager, employee c-e
Slide 20:The rule of thumb in the design:Separation of concerns
Separation 3 categories of cyber-entity: system, application and user Separation of system service cyber-entity and system control cyber-entity Separation of service cyber-entity and data cyber-entity (e.g., webServer c-e and webPage c-e) Separation different user cyber-entities: (e.g, administrator and end-user c-e)
Slide 21:Why separation of concern?
different c-e addresses different aspect in the bio-net architecture, that is, different c-e have different role in the s-e different c-e have different behavior different c-e can be implemented with different priority follow divide-and-conquer approach will be explained in more details in the following individual sections
Slide 22:Section 1Bio-Net Class Hierarchy
Slide 23:Component / Class Hierarchy
ServiceEntity DataEntity ServerEntity IServer ITransaction DataBaseManager ResourceEntity WebServerEntity SuperEntity ISuperEntity CyberEntity ICyberEntity IService IPrint ISave ... Application cyber-entity UserEntity SysServiceEntity SysCtrlEntity lookupEntity EnergyEntity SecurityEntity EventListener EventGenerator Note: extends implements class interface contains uses System Cyber-entity (Bio-net Platform s.w.) User cyber-entity EndUser Administrator Event oo
Slide 24:**(*
not clear what each component does ***
Slide 25:Explanation
Super-entity is virtual entity consisting of a set of cyber-entities can provide a certain services to user There are many kinds of cyber-entities Service c-e and Control c-e in the system platform environment Server c-e and Data c-e which cooperate with each other implement service for super-entity User cyber-entity
Slide 26:Section 2System Design( platform design )
Slide 27:Outline and overview
System Control Mechanism System Services Distributed Event Model
Slide 28:Key point
Platform software itself is also (implemented in the form of) cyber-entity to take advantage of biological feature in the bio-net Separation of Control and Service cyber-entity
Slide 29:Section 2-1System Control / Management
Slide 30:System Control Mechanism
Implemented in a bunch of subclasses of the class (cyber-entity) SysCtrlEntity, which provide high level (coarse granularity) management of service note: low-level (fine-granularity) control is implemented in the application cyber-entity (see section 3 for Application cyber-entity design) through interact with user profile and application service c-e (such as server) to implement such control mechanism
Slide 31:Different categories of Control c-e
EnergyControl c-e
Slide 32:Section 2-2System Service
Slide 33:System Service
Implemented in the c-e SysServiceEntity
Slide 34:Different categories of SysService c-e
LookupService c-e
Slide 35:Why separate control and service in the system?
Different functionality control basically handle all kind of event in the system service basically provide system service (run-time environment for application cyber-entity)
Slide 36:Section 2-3Distributed Event Model
Slide 37:Overview
Distributed event model, need some special mechanism for event-dispatching and handing one destination event multiple destination event In every bio-net node there is maintain a priority queue of events, cyber-entity can also maintain a priority queue of events to be handled cyber-entity can implement interface EventGenerator, or / and EventListener to generate event and handle event as necessary event can be internal or external event, similar to os event and application event, which generated by system and user respectively
Slide 38:Event
Event: //generic event class member var Time t; //the time event being generated Object info; // contain some kind of information Object from; // eventGenerator Object to; //eventListener / eventHandler member method dispatchTo(Object to); //dispatch to object possible in other node dispatchTo(Object[] to); dispatchToAll( ); timeOut( ) isHandled( );
Slide 39:Event class Hierarchy
Java.lang.Object Event InternalEvent ExternalEvent RegisterEvent LoginEvent LogoutEvent AddServiceEvent RemoveServiceEvent RequestEvent
Slide 40:EventGenerator
create( )
Slide 41:EventListener
handle()
Slide 42:Section 3Application Design
Slide 43:Key point
Separation of Service and data cyber-entity why? Suppose in web application we only need to migrate necessary (related) portion of database along with server when the node where c-e migrate to already have serverEntity exist there, we only need to move corresponding webPageEntity benefit: lower traffic (bandwidth consumption) **For now, dont separate.***
Slide 44:class ServiceEntity
Provide service to end-user
Slide 45:Different categories of Service c-e
ServerEntity (e.g. WebServerEntity in Web application)
Slide 46:Class ServerEntity
---- extends CyberEntity implements IServer authorize(User u) setPrice(A) //A.setPrice($5) who sets the price of what value of price getPrice(X )// price = B.getPrice(); .. Note: implement any functionality that generic Server need to provide
Slide 47:class DataEntity
Object o; //information Note: Contains information (data) and provide service to end-user along withServiceEntity. For example webPageEntity in Web Appliation
Slide 48:Class WebPageEntity
---- extends CyberEntity Vector webpages; // contains a group of related webpages
Slide 49:Why separate service and data in the application?
It seems that such separation contradicts with Object-oriented (OO) approach? Why the following OO approach is not appropriate? (we take web application for example) server: object member method = functionality webpage: Object member variable = data problem in such approach: you bundle data with server, while such data in the server, usually is huge (more than 1GB), such object is really cumbersome in the network environment! So you cant treat the whole database as a value in the member variable. OK, you separate such huge database into several groups in which the web pages is closely related. But whenever you need a new group of web pages, you have to retransmit server again even though such server already exists in the destination node
Slide 50:Why separate service and data in the application? (cont.)
So the former design is not fit for web application! We should not blindly apply object approach to everything!
Slide 51:Section 4Service (access) ModelHow user access service in the Bio-net?
Slide 52:Step 1: Bio-net system set-up
Deploy bio-net platform software some OS / JVM related software system control cyber-entity e.g., securityCyberEntity system service cyber-entity e.g, accountingCyberEntity, lookupCyberEntity some auxiliary software e.g., event-model related software
Slide 53:Step 2: Application register in the bio-net cyber space
deploy applications cyber-entity service cyber-entity data (information) cyber-entity register them in the Bio-net CyberSpaces so it can provide service to user
Slide 54:Step 2: User register in the bio-net cyber space
User cyber-entity login to this cyber space with some task need to be finished register lookup the desire service carrying on the task paying the bill logout
Slide 55:Part IVSome thoughts for thinking
Slide 56:Server Application characteristics
Server is huge divide server into different component http Server ftp Server other database server Database behind the server is even larger (~GB) divide the information into transportable unit We need to design it in the way fit for network traffic pattern
Slide 57:Social Networking?
Apparently, not very efficient So need to find a way to circumvent it? The mechanism shown in this design (lookup cyber-entity is a dedicated c-e for register and lookup service maybe an alternative (in my opinion, better) to the social networking. Why? such mechanism have overhead too? But such overhead is amortized in the time the system idle, but not at the time we need it.
Slide 58:References:
Overview of Bio-Networking Architecture, M. Wang, T. Suda, Netgroup, 1999 Mobile Web Server, M. Wang, Netgroup, 1999 Jini Technology, Sun Microsystem, 1999 White paper Distributed event model lookup services NDS, Novell, 1999 AgentOS, Netgroup, 1999 Event model in JDK and other application ...
Slide 59:Former Design: Cyber-Entity
Behavior Attributes Body Stored Energy ID Type Age Non-Executable Data Executable Code Migration Replication Reproduction Protection Cyber-Entity ... Service Communication Pheromone Emission Super-entity ID
Slide 60:disclaim
This design is only represent my personal opinions. Inevitably, it will have a lot of inconsistency with Bio-networking architecture. What is more, it will have a lot of fallacies which is due to my lack of related knowledge.