WO2000052593A1 - Systeme d'exploitation de reseau de collaboration virtuel a n niveaux - Google Patents
Systeme d'exploitation de reseau de collaboration virtuel a n niveaux Download PDFInfo
- Publication number
- WO2000052593A1 WO2000052593A1 PCT/US2000/005232 US0005232W WO0052593A1 WO 2000052593 A1 WO2000052593 A1 WO 2000052593A1 US 0005232 W US0005232 W US 0005232W WO 0052593 A1 WO0052593 A1 WO 0052593A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- collective
- services
- node
- network
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/505—Clust
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/508—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
- H04L41/5093—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to messaging or chat services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Definitions
- the invention relates generally to large networks or wide area networks (WANs) comprising of computers and smaller network enabled electronic devices. More specifically, the invention is concerned with the set of problems that arise in interconnected networks of allowing users to access their data, applications and computer services from any network connected computing device. These devices may take the form of Personal Computers, Personal Digital Assistants (PDA), cellular phones and cable set top boxes.
- PDA Personal Digital Assistants
- cellular phones and cable set top boxes.
- a computer network is simply a collection of autonomous computers connected together to permit sharing of hardware and software resources, and to increase overall reliability.
- the qualifying term "local area” is usually applied to computer networks in which the computers are located in a single building or in nearby buildings, such as on a college campus or at a single corporate site. When the computers are further apart, the terms “wide area network” or “long haul network” are used, but the distinction is one of degree and the definitions sometimes overlap.
- a bridge is a device that is connected to at least two LANs and serves to pass message frames or packets between LANs, such that a source station on one LAN can transmit data to a destination station on another LAN, without concern for the location of nhe destination.
- Bridges are useful and necessary components, principally because the total number of stations on a single LAN is limited. Bridges can be implemented to operate at a selected layer of protocol of the network.
- bridges The basic function of a bridge is to listen "promiscuously,” i.e. to all LANs to which it is connected, and to forward each message it hears onto other LANs other than the one from wnich the message was heard. Bridges also maintain a database of station locations, derived from the content of the messages being forwarded. Bridges are connected to LANs by paths known as "links.” After the bridge has been in operation for sometime, it can associate practically every station with a particular link connection the bridge to a LAN, and can then forward messages in a more efficient manner, transmitting only over the appropriate link. The bridge can also recognize a message that does not need to be forwarded, because the source and destination stations are both reached through the same link. Except for its function of "learning" station locations, or at least station directions, the bridge operates as a message repeater.
- the spanning tree algorithm is executed periodically by the bridges on the interconnected network, to ensure that the tree structure is maintained, even if the pnysical configuration of the network changes.
- tne ondges execute the spanning tree algorithm by sending special messages to watch other bridges to establish the identity of a "root" bridge.
- the root bridge is selected, for convenience as the one with the smallest numerical identification.
- the algorithm determines which links of the bridges are to be active and which are to oe inactive, i.e. disabled, in configuring the tree structure.
- One more piece of terminology is needed to understand how the algorithm operates.
- Each LAN has a "designated" link, w7h ⁇ ch means that one of the links connectable to the LAN is designated to carry traffic toward and away from the root bridge.
- the basis for this decision is similar to the basis for selecting the root bridge.
- the designated link is the one providing the least costly (shortest) path to the root bridge, with numerical bridge identification being used as a tie-breaker.
- the algorithm chooses two types of links to be activated or closed: first, for each LAN its designated link is chosen, and second, for each bridge is chosen, i.e. a link througn which the bridge received a message giving the identity of the root bridge. All other links are inactivated. Execution of the algorithm results n interconnection of the LANs and bridges in a tree structure, i.e. on having no closed loops.
- the Internet is a collection of networks, including Arpanet, NSFnet, ana regional networks at a number of university and research institutions, and a number of military networks.
- the protocols generally referred to as TCP/IP were originally developed for use only through Arpanet and have subsequently become widely used in the industry.
- the protocols provide a facility to support services that permit users to communicate with each other across the entire Internet.
- the services supported by these protocols include file transfer, remote log-in, remote execution, remote printing, computer mail, and access to network file systems.
- TCP Transmission Control Protocol
- An application protocol such as computer mail
- TCP keeps trac of what is sent, and retransmits anything that does not get to its destination correctly. If any message is too long to be sent as one "datagram, " TCP will split the message into multiple diagrams and makes sure that they arrive correctly and are reassembled for the application program at the receiving end.
- TCP simply hands IP a datagram with an intended destination; IP is unaware of any relationship between successive datagrams, and merely handles routing of each datagram to its destination. If the destination is a station connected to a different LAN, the IP makes use of routers to forward the message.
- a router like a bridge, is a device connected to two or more LANs. Unlike a bridge, however, a router operates at a network layer level, instead of the data link layer level. Addressing at the network layer level makes use of a 32-bit address field for each host and the address field includes a unique network identifier and a host identifier within the network. Routers make use of the destination network identifier m a message to determine an optimum path from the source network to the destination network. Various routing algorithms may oe ⁇ sed by routers to determine tne optimum paths. Typically, routers exchange information about the identities of the networks to which they are attached.
- Data link layer addresses are 48 bits long and are globally unique, i.e. no two hosts, wherever located, have the same data link layer address.
- ARP address resolution protocol
- each router maintains a database table from which it can look up the data link layer address, out f a destination nost is in this ARP database, the router can transmit an ARP request.
- This message basically means: "will the host with the following network layer address please supply its data link layer address.” Only the addressed destination host responds, and the router is then able to insert the correct data link layer address into the message being forwarded, and to transmit the message to its final destination.
- OOP Object-oriented programming
- An object is a software "packet" containing a collection of data elements and a set of procedures that are the only valid operations on that data. Those operations are called access methods, accessor methods, or simply methods.
- oojects can be used as basic data types within a program.
- An object has a state, presents an interface, and exhibits a behavior. The state is determined by the value of the object's internal data, vnich results rrom the operations performed on that data by cnanging its state.
- the variables representing the internal state of an object are called instance variables.
- the collection of methods determines the object's interface and behavior. Objects exist independently of each other, have rules for communicating with other objects and for other objects to perform tasks.
- Application software ⁇ esigned and written in an object orientated fashion improves software maintainability and reduces development costs by managing the intellectual complexity of modern software systems.
- Most computers do the same kinds of things or tasks. For example, they store and retrieve files, run application software, and display information on their screens. Internally, different types of computers perform these tasks differently. These internal differences prevent software that runs on one kind of computer from running on other types of computers. The internal differences are so distinct that they cannot be addressed in the same ways by the same software application or program. This means that a program must be written for a specific type of computer, and that programs written for one type of computer cannot run on other types of computer .
- a virtual machine is a layer of software that can reside on one type of computer and accept and use applications designed for another.
- the virtual macnine translates the internal commands from tne foreign computer into internal commands the host computer understands. In effect a virtual copy of the foreign computer resides in the host computer.
- This concept is currently use ⁇ to run WindowsTM emulators on Sun or Macintosh computers, allowing applications developed for WindowsTM to run without modification on Sun and Macintosh computers.
- Java is a general-purpose concurrent object-oriented programming language. Its syntax is similar to C and C++, but omits many of the complexities of C and C++. Java was initially developed to address the problems of building software for networked consumer devices. It was designed to support multiple electronic device architectures and to allow secure delivery of software components. To meet these requirements, Java applications had to survive transport across networks, operate on any client, and assure the client that it was safe to run.
- Java is a general purpose OOP programming language and provides extensions that support graphical user interface, or GUI, application development.
- a graphical user interface gives a user access to program and data features (objects) via pictorial or graphical representations of those features. Examples include a picture of a printer for printing, or arrows or elevator bars for screen navigation. Users interact with a GUI with a mouse instead of using keyboard commands.
- JAVA also supports the development of client/server applications over local and wide-area networks. It is often referred to as a combination of constructs and features from other OOP programming languages.
- the Java Virtual Machine is the cornerstone of Sun's Java programming language. It is the component of the Java technology responsible for Java's cross-platform delivery, the small size of its compiled code, and Java's ability to protect users from malicious programs.
- the Java Virtual Machine is an abstract computing machine. Like a real computing machine, it has an instruction set and uses various memory areas. It is reasonably common to implement a programming language using a virtual machine; the best-known virtual machine may be the P-Code macnine of UCSD Pascal.
- Java Virtual Machine knows nothing of the Java programming language, only of a particular file format, the class file format.
- a class file contains Java Virtual Machine instructions (or bytecodes) and a symbol table, as well as ancillary information.
- virtual machine is a term used oy Sun Microsystems, developers of the Java programming language and runtime environment, to describe software that acts as an interface between compiled Java binary code and the microprocessor (or "hardware platform") that actually performs the program's instructions.
- any Java program (which, after compilation, is called bytecode) can run on that platform.
- Distributive computing can be thought of breaking down an application into individual computing agents that can be spread out over a network of computers, working together to do cooperative tasks.
- Distributed computing or applications are often used to solve the following types of problems. Computing things m parallel by breaking a problem down into smaller pieces enables users to solve large problems without resorting to large, bulky, expensive computers, by distributing the tasks among many smaller networked computers. Certain applications may be so computationally demanding that no single computer can perform the computations necessary in a reasonable timeframe, however the same task may be distributed across a network of computers for adequate speed. Redundant processing agents on multiple networked computers can be used by systems that need fault tolerance. For example, even if a machine crashes, the ob can continue on a redundant processing agent. Produces systems that can handle increased workload without being redesigned.
- a distributed application is built upon several layers. At the lowest level, a network connects a group of host computers together so that they can talk to each other. Network protocols like TCP/IP let the computers send data to each other over the network by providing the ability to package and address data for delivery to another machine. Higher-level services can be defined on top of the network protocol, such as directory services and security protocols. Finally, the distributed application itself runs on top of these layers, using the mid-level services and network protocols as well as the computer operating system to perform coordinated tasks across the network.
- a distributed application can be thought of as being made up of multiple computing "Agents", whose actions are coordinated such that they work together to accomplish some goal. These agents can be thought of as being significant and self contained functional elements of the overall application or system. They may be distributed across multiple hosts and may comprise multiple programs and/or objects, each one communicating with one or more agents on the same or different machines.
- a distributed application can be thought of being made up of processes, objects and agents.
- a process is a running program on a host computer. Resources (such as CPU time and I/O devices) needed for the program to do its work are provided through the computers operating system.
- Objects are a made up of a set of data, methods which perform operations on the set of data belonging to the object.
- a process can be made up of one or more objects.
- Agents are a functional element of a distributed application. Eacn agent may comprise of multiple objects and/or processes. Agents perform specific objectives for the distributed application, e.g., an agent may search and analyze information contained in a database.
- Object orientation improves software maintainability and reduces development costs by managing the intellectual complexity of modern software systems, while distributed processing makes available far more computer power to solve complex problems at high speed. Both technologies improve the scalability of systems by allowing components to be changed or added without redesigning other components.
- Network software is typically device specific. This is because application software has been developed for end user device operating systems. Network operating systems have acted primarily as routing and communication extensions of device operating systems. If a new type of electronic device is developed, it generally is introduced with a new type of operating system. To run on the new device, existing applications need to be rewritten to run on the new operating system. This process is called porting an application. If the new device needs to be connected to a network, the network operating system needs new extensions to connect the device to the network and handle its network communication needs.
- the Internet is vastly underutilized. It is the global network, far greater in size than any private network.
- the legacy of the Internet is that it was designed for information exchange, not for data manipulation.
- the three most common uses of the Internet are browsing, message exchange (e.g. e-mail), and chatting. In all three cases, static information is either collected or distributed.
- users cannot use the Internet the way they would use a LAN.
- the Internet lacks the operating system software and security services to allow users to run applications or access a large space for personal or shared data storage.
- One of the objects of the present invention is to provide a collaborative virtual network operating system that would provide a uniform application interface and allow application developers to create applications that would not need to independently address the native processor or operating system of any device.
- Another object of the invention is to provide secure inter device communications.
- the network includes a plurality of computers.
- Each of the plurality of computers has a memory and is connected to the network, and includes node software comprising a plurality of parts. The parts are distributed across and stored in the memories of selected of the plurality of computers.
- the computers execute the node software to implement a plurality of services. These services include routing services, storage services, security services, administrative services and application services.
- the storage services include a list of member profiles, one for each member permissioned for access to the collective.
- First a member's computer device is connected to the network to transmit an identification of the member to the security services.
- the security services permissions the member by comparing the member's authentication information with a list of authentication informations of those members permitted access to the virtual collective. If the member is permissioned, the member profile of the permissioned member is downloaded from the security service and provides the member's computer device access to the collective.
- a reconfigurable collective is established upon a network.
- the network includes a plurality of computers.
- Each of the plurality of computers has a memory and is connected to the network.
- the collective comprises node software, which comprises a plurality of parts.
- the parts are distributed across and stored in the memories of selected of the plurality of computers.
- the selected computers execute the distributed software parts to form the collective, whereby each distributed software part becomes a node of the collective.
- a collective administrative system that selects and transmits one of a plurality of objects to designated ones of the collective nodes, whereby each of the plurality of objects sets the particular configuration of its designated collective nodes .
- a collective is adapted to be accessed by a member's computer device.
- the member's computer device includes a device memory and a device program stored in the memory.
- the device program runs on the member's computer device to generate and to apply to the collective a member's message bearing an I.D. indicative of the member.
- the collective is established on a network, which includes a plurality of computers. Each -of the computers has a network memory and is connected to the network.
- the member's computer device has a given processing power that is limited in comparison with the processing power of the collective.
- the collective comprises a node software, which includes a plurality of parts, that are parts distributed across and stored in the memories of selected of the plurality of computers, and a plurality of computers that execute the node software to implement a plurality of services including security services, storage services and other services.
- the collective includes security services which respond to the member's message to compare its I.D. with a list of I.D.s of members who have been granted permission to access the collective. If there is a match, a profile is downloaded from the storage services and is applied to the member computer device, whereby the profile instructs the member's computer device to download an interface from the collective bearing an indication of those services that may be accessed by the member. Thus, the member may access the services selected from the interface.
- FIG. 1A depicts a generic electronic device capable of communicating with a network
- FIG. IB shows two computers and an electronic device connected to a network
- FIG. 2 shows several networks linked together to form a wide area network, or WAN;
- FIG. 3 is a conceptual depiction of a Collective, a logical or virtual entity formed from groups of computers running node software and communicating with one another with interdependent services;
- FIG. 4 illustrates a node manger, a software component that runs on the computers running node software
- FIG. 5A shows a configured Client Node
- FIG. 5B shows a configured Service Node
- FIG. 5C shows a configured Broker Node
- FIG. 6 illustrates a pouch, a messaging object used in the transport of data and applications between collective components
- FIG. 7 illustrates the services that make up a Collective and the components that make up the individual services
- FIG. 8 shows several Collective nodes and the course of a pouch between an applet of a client node and the service of a service node;
- FIG. 9 shows seve-i-ai Collective nodes and the course of a pouch between the service of one service node and another service on a different service node
- FIG. 10 shows several Collective nodes and the course of a pouch between an applet on one client node and another applet on a different client node;
- FIG. 11 shows that the administrative service component, the registrar is comprised a number of modules that communicate with each other via a central component, the engine, and shows the registrar's links with other collective elements and with Universal Time Co-ordinate (UTC) time servers on the Internet;
- UTC Universal Time Co-ordinate
- FIG. 12 shows all the possible routes that the pouch can take within a collective. This can be seen from the perspective of the registrar and is called the PCM (pouch communications mechanism) view;
- FIG. 13 illustrates how collective components are managed. It can also be seen from the perspective of the registrar, and is called the ACM or administrative communications mechanism view;
- FIG. 14 shows the components of the collective seen from the persistence manager service and is called a PM view, and shows the components of the collective visible to a member, and illustrates how a member view is a subset of the persistence manager or PM view;
- FIG. 15 shows how every running software component in the collective can be seen from a session manager, and is called a session manager view and
- FIG. l ⁇ is a graphical representation of the entire collective. It is called the Universal Model, and it shows the interrelationships among the five views illustrated in FIGs. 12 through 16.
- CPU central processing unit
- FIG. 1A shows a generic electronic device 23 capable of interfacing with a network.
- the generic electronic device 23 is meant to illustrate a variety of present and future devices that can connect with other electronic devices via a network 26, as shown in FIG. IB.
- the network 26 can be any of an assortment of network types, including a local area network, a wide area network, an intranet or the Internet.
- the electronic device 23 comprises a central processing unit 25, an input/output or I/O device 33, some form of memory 27, and a network interface 29.
- a computer 20 is a more detailed instance of the electronic device 23.
- a television set with modem or cable modem connectivity can also be a wide variety of other devices, including a television set with modem or cable modem connectivity, a cell phone that is capable of communicating with the Internet, a home alarm or monitoring system that can communicate with a an alarm monitoring station, a personal digital assistant, or PDA.
- PDA personal digital assistant
- the only requirements for the current invention are a central processing unit 25, a means for I/O 33, memory 27, and a network interface 29.
- FIG. IB shows a plurality of computers 20 and a generic electronic device 23 that are connected to the network 26.
- Each of the computers 20 is capable of running one or more software applications 22 in their memory and/or on their physical storage media 21 or hard disks.
- a connection 24 e.g., a modem
- each computer 20 can connect to the network 26 using, for example, a telephone circuit.
- the connection 24 may take the form of a network interface card, which allows the computer 20 to be physically connected to the network or LAN 26 using a fiber optic cable or various types of copper-based cables.
- Other illustrative examples of the network connection 24 include wireless, microwave, and infrared.
- the software applications 22 running on the computers 20 and electronic device 23 if so designed, can communicate with the network 26 using the computer's connection 24 to the network.
- FIG. 2 illustrates how computers 20 are connected together by a plurality of LANs 26-1,-2, ..n.
- the networks 26 are connected to each other by routers 28.
- the routers 28 are connected to one another by digital data communication links 30a, b, ...n, as are well known in the art.
- a combination of networks 26 connected to one another by routers 28 make up a wide area network or WAN 32.
- An illustrative example of the largest WAN 32 is the Internet.
- computers 20 scattered on the WAN 32 running node software 34 can communicate with each other over their network 26 via cables to connect to other computers 20, performing in a distributive computing environment.
- a collective 36 As shown in FIG. 2, groups of computers 20 and other electronic devices 23 running distributed node software 34 communicating with one another, form a logical or virtual entity called a collective 36 as shown in FIG. 3. When computers 20 and other electronic devices 23 are running node software 34, they become nodes 34 of the collective 36.
- the collective 36 is comprised of a collection of software implemented services 38-46, parts of which are distributed across one or more computers 20 on the network 26, each distributed part comprising one of the plurality of the pieces of the node software 34.
- these services 38-46 can be broken up into five major categories: 1) software implemented routing services 38 that direct data within the collective 36 enabling users, or members, to use certain services, which in turn use other services; 2) storage services 40 that store and retrieve data that members or services may wish to access or store; 3) security services 42 that control access to the collective's services 38-46 and resources and restrict access for both members and services; 4) administrative services 44 that configure, start and stop services on the computers 20; and 5) member services 46 that are typically provided by third parties. Fax services or a RolodexTM service are two illustrative examples of member services 46 that could be supplied within the context of the invention. Other types of services could be contact management, file access, calendaring, data base management, and LAN management, for example.
- FIG. 2 Two instances of the collective 36 are shown in FIG. 2.
- Each of the plurality of LANs 26a-n that are part of the WAN 32 comprises several computers 20 or electronic devices 23 that can communicate with each other on their own LAN 26.
- Each of these computers 20 may or may not have privileges to communicate with computers 20 on other LANs 26, within the WAN 32.
- computers 20-2e, 20-3a, and 20-4d are running respectively node software 34-2, 34-3, and 34-4, and form one instance of the collective.
- a second instance of the collective comprises computers 20-nc, 20-na, and 20-ld running node software 34-nc, 34-na, and 34-ld.
- LAN 26-1 This could be in an illustrative embodiment of this invention a LAN within a home. It comprises illustratively one computer 20-ld and four electronic devices 23-la, 23-lb, 23-lc, and 23-le. These devices 23 could illustratively be a PDA, a cell phone, a television, or a home security monitoring station. Were they to run node software 34, they would be part of the collective 36 too.
- FIG. 4 illustrates a node manager 48, which is a sub-component of the node software 34 that runs on computers 20, as shown in FIG. 2, that make up the collective 36.
- the node manager 48 has three defined functions. First, the node manager 48 communicates with the administrative services 44 on the collective 36 over the network 26 and receives from the administrative services 44 configuration objects 56 containing configuration data for software components.
- the configuration object 56 contains configuration information for the node manager 48 and a set of other software components 58a, b...n or applications that the node manager 48 must manage.
- the configuration object 56 is a software instruction set that instructs the node manager 48 what role it is to take on and how to perform that role.
- the node manager 48 manages the software components 58 or applications under its control as defined by the configuration object.
- the node manager 48 retrieves software components 58 from the storage service 40, and starts, stops, and configures them.
- the node manager 48 provides the software components 58 or applications under the node manager's 48 control with some basic services.
- the node manager 48 determines the collective or UTC (universal time coordinate) time 52, a standard synchronized time used throughout the collective 36 and all collective communications.
- the node manager 48 provides an event and error logging facility 54 that records, stores and forwards logs of events and errors that occur within the components 58 under the node manager's 48 control. These logs 54 are sent to the administrative services 44 on a periodic basis, as defined by the configuration object 56. If a critical error is encountered, the node manager 48 will send the critical error followed by all other logs 54 to the administrative services 44 immediately.
- nodes 34 can be configured to be a client node 34a (FIG. 5A) , a service node 34b (FIG. 5B) , or a broker node 34c (FIG. 5C) .
- Each node's 34 role depends on which components 58 the node manager 48 is told to run by the configuration data stored in the configuration object 56.
- the configuration data is sent over the network 26 by the administrative services 44 as in FIG. 4.
- a client node 34a comprises a simplified node manager 48a responsible for starting one required component.
- the first is a foundation container 60, a subcomponent of the routing service 38 as shown in FIG. 7, which provides the basis for the communications between the components on the client node 34a and a service running in the collective 36 over the network 32, as shown in FIG. 4.
- the second component, a container 62 is the user's interface with the collective 36 and is downloaded form the collective storage service 40 based on a user's or member's preference settings or member profile.
- the container 62 typically provides members with mechanisms to access the collective's 36 resources.
- An applet 64 is downloaded from the collective storage service 40 and runs under the control of the container 62.
- An applet 64 is any software or service provided through the collective 36. Applets are illustratively produced by third parties and can include for example software like a RolodexTM program, a word processor, a spreadsheet, a database, a Fax viewer, or a contact management program.
- One or more containers 62 can run on the client node 34a controlling one or more applets 64. Only for the duration that the member is logged into the collective 36, is the client node 34a active.
- the service node 34b runs one or more of the collective's services: storage 40, security 42, administrative 44 or user 46 services.
- the service node 34b is made up of three required components 58 (FIG. 4) .
- the first component is the node manager 48b, responsible for starting a distributor component 66, a subcomponent of the routing services 38 as shown in FIG. 7 and a service manager component 68.
- the distributor 66 on the service node 34b communicates with other collective routing services 38, components 58 over the WAN 32, as shown in FIG. 2.
- the distributor 66 in FIG 5B sends data from the service manager 68 to the routing services 38, components 58 to another applet 64 residing on a client node 34a or to another service 70 via its service manager 68. This process is described in greater detail further below.
- Multiple service managers 68 can run on a service node 34b. These service managers 68 are responsible for managing one or more services 70. Examples of these services 70 are authentication services 70c, session manager services 70b, registrar services 70d, persistence manager services 70a, and third party services 70e, which are discussed below with respect to FIG. 7.
- Service managers 68 send data from one of the services 70 to the distributor 66 and from the distributor 66 to other nodes.
- Each of the service 70 may take the form of an application that performs a specific task, such as a fax service, RolodexTM service, financial portfolio calculator, regional weather service, news service, or storage service 40. Each such service 70 communicates with a specific service manager 68.
- a broker node 34c is among the simplest nodes.
- the broker node 34c is comprised of a node manager 4C and a broker component 72.
- the broker component 72 provides routing services 38, as described further below, within the collective 36.
- a plurality of client nodes 34a and service nodes 34b send and receive data across the collective 36.
- the broker component 72 receives the data over the network 26, as shown in FIG. 2, from a client node 34a or service node 34b and forwards the data to the appropriate recipient node.
- each pouch 74 comprises three pieces: the header 76, the body 78 and the footer 80.
- the header 76 is composed of two pieces: a routing label 82 and an information component 84.
- the routing label 82 contains the pouch's 74 route history, its following destination, and the pouch's 74 final destination within the collective 36.
- the information component 84 is a general storage location for miscellaneous data.
- the body 78 contains a JEMStone 86 which comprises the data and applications that client nodes 34a and the service nodes 34b send to one another via routing services 38, and components through the collective 36 over a network 26.
- JEMStones 86 are like postal letters. Just as letters get placed into envelopes, JEMStones 86 are placed into pouches 74 and are routed through the collective 36 to the proper destination, much like the Post Office routes private mail. Since JEMStones 86 are private exchanges among applets 64 and services 70, no collective 36 component is inherently capable of interrogating JEMStones 86.
- JEMStones 86 can contain, for example, data, applications, error information, control information, etc.
- the footer 80 contains information to ensure data integrity.
- the pouches 74 are sent through a pouch communications mechanism or PCM communications, the general means of communication throughout the collective 36.
- PCM communications links 88 are depicted in FIGs. 8, 9, 10 and 12.
- routing services 38 are responsible for delivering pouches 74 to their correct locations and updating the pouch's 74 history.
- Routing services 38 are provided by the core collective 36 components. As shown in FIG. 7, the routing services 38 are made up of three core collective 36 components, namely the foundation container 60 of FIG. 5A, the distributor 66 of FIG. 5B, and the broker 72 of FIG. 5C.
- the broker 72 is the primary routing layer.
- the distributor 66 and the foundation container 60 make up the intermediate routing layer.
- the broker 72 routes the pouches 74 between the distributors 66 and the foundation containers 60.
- the pouches 74 may be routed from the applet 64 to the service 70 or the service 70 to the applet 64 (FIG. 8), from one service 70 to another service 70 (FIG. 9) or from one applet 64 to another applet 64 (FIG. 10) .
- FIG. 8, FIG. 9, and FIG. 10 show the same five nodes 34a-l, 34a-2, 34b-l, 34b-2, and 34c. These figures differ only in the pouch paths 88 they illustrate. Although only three nodes are needed in each figure, all five nodes are retained to illustrate the modularity and variety of the collective and to emphasize the key role of the broker node 34c in pouch communications.
- FIG. 8 illustrates the PCM links 88 of the pouch 74, from the applet 64-1 of the client node 34a-l to the service 70-1 of the service node 34b-l vice versa.
- the applet 64-1 in the client node 34a-l forwards the data to the container 62-1.
- the container 62-1 puts the data into a JEMStone 86 in the pouch 74, as shown in FIG. 6, and sends the pouch 74 to the foundation container 62-1.
- the foundation container 62-1 then sends via one of the PCM links 88 the pouch 74 to the broker 72 of the broker node 34c.
- the broker 72 forwards the pouch 74 to the appropriate distributor 66-1 of the service node 34b-l.
- the distributor 66-1 determines the appropriate service manager 68-1 of the service node 34b-l from the information in the routing label 82 of the transmitted pouch 74 and sends the pouch 74 to the appropriate service manager 68-1.
- the service manager 68-1 then removes the data from the pouch 74 and forwards via link 88 the data to the service 70-1.
- the links 88 of the pouch 74 are simply reversed.
- the service 70-1 sends the data to the service manager 68-1, which places the data in the pouch 74 and forwards the pouch 74 to the distributor 66-1.
- the distributor 66-1 routes the pouch 74 to the broker 72 of the broker node 34c, which then routes the pouch 74 via link 88 to the appropriate foundation container 60-1.
- the foundation container 60-1 sends the pouch 74 to the appropriate container 62-1, which removes the data and forwards the data to the applet 64-1.
- FIG. 9 illustrates how the PCM links 88 are interconnected to convey pouches 74 from the service 70-1 on the service node 34b-l to another service 70-2a or 70-2b on a different service node 34b-2.
- the service 70-1 on the service node 34b-l sends the data to the service manager 68-1.
- the service manager 68-1 places the data into the JEMStone of the pouch 74 and sends the pouch 74 to the distributor 66-1.
- the distributor 66-1 routes the pouch 74 according to the information in the routing label 82 of the header 76 to the broker 72 of the broker node 34c, which forwards the pouch 74 to the appropriate distributor 66-2 of the service node 34b-2.
- the pouch 74 is routed to the appropriate service manager 68-2a or 68-2b, which removes the JEMStone 86 containing the data from the pouch 74 and sends the data off to the service 70-2a or 70-2b.
- the procedure is simply reversed for alternate communication.
- the data travels from the service 70-2a or 70-2b to the service manager 68-2a or 60-2b, which packages the data into a JEMStone 86 of a pouch 74.
- the pouch 74 is sent by the distributor 66-2 via the broker 72 and the distributor 66-1 to the service manager 68-1, which removes the data from the pouch 74 and forwards the data to the service 70-1.
- the pouch 74 follows a slightly different set of links 88.
- the service 70-2a sends the data to the service manager 68-2a, which places the data in the pouch 74 and sends the pouch 74 to the distributor 66-2.
- the distributor 66-2 routes the pouch 74 to the appropriate service manager 68-2b, which removes the data and forwards the data to the service 70-2b. This course of the pouch 74 is reversed to send the data from the service 70-2b to the service 70-2a.
- FIG. 10 illustrates how the PCM links 88 are interconnected to transmit the pouch 74 from the applet 64-1 on the client node 34a-l to another applet 64-2a on a different client node 34a-2.
- the applet 64-1 on the client node 34a-l sends the data to the container 62-1.
- the container 62-1 places the data into the JEMStone of the pouch 74 and sends the pouch 74 to the foundation container 60-1.
- the foundation container 60-1 routes the pouch 74 using the information in the routing label 82 of the header 84 to the broker 72 of the broker node 34c, which forwards the pouch 74 to the foundation container 60-2 of the client node 34a-2.
- the pouch 74 is routed to the appropriate container 62-2a, which removes the JEMStone 86 containing the data from the pouch 74 and sends the data to the appropriate applet 64-2a.
- the procedure is simply reversed for th» return communication.
- the data travels from the applet 64-2a to the container 62-2a, which packages the data into a JEMStone 86 of a pouch 74.
- the pouch 74 is sent via the foundation container 60-2, the broker 72, and the foundation container 60-1, to the container 62-1, which removes the data from the pouch 74 and forwards the data to the applet 64-1.
- the pouch 74 follows a slightly different course.
- the applet 64-2a sends the data to the container 62-2a, which places the data in the pouch 74 and sends the pouch 74 to the foundation container 60-2.
- the foundation container 60-2 routes the pouch 74 to the appropriate container 62-2b, which removes the data and forwards the data to the applet 64-2b.
- This path established by the links 88 is reversed to send the pouch 74 from the applet 64-2b to the applet 64-2a.
- the storage services 40 are comprised of one or more service nodes 34b running a persistence manager service 70a.
- the persistence manager service 70a is the service 70 that accepts requests from the collective's 36 members and services 70 to create, modify, read, delete, copy and move files, directories, view links and grant member access permission.
- the persistence manager 70a stores the request, along with the time and date, in one of transaction logs 54 of the service node's node manager 48b.
- the request or transaction is executed, and the data is stored or retrieved to or from the service node's 34b physical storage media 21, typically a hard disk drive as shown in FIG. IB.
- the persistence manager 70a may need to access data residing on another persistence manager 70a. In that case, the persistence manager 70a will send a request to the other persistence manager 70a via PCM communications.
- the security services 42 as shown in FIG. 7 have three broad functions: 1) the security services 42 validate the authenticity of members accessing the collective 36; 2) the security services 42 allow and restrict members' access to resources within the collective 36; and 3) the security services 42 allow members to view their outstanding tasks.
- the security services 40 are comprised of an authentication service 70c and a session manager 70b.
- the collective 36 contains one or more of each security service 42.
- the authentication service 70c allows the member access if the member I.D. and password, which a member enters from a client node 34a to access the collective 36, match an I.D. and password previously entered in an encrypted database or denies access if the member I.D'. and password do not match. Only the session manager 70b accesses the authentication service 70c.
- Each session manager 70b has three functions. First, login when a member logs into the collective 36 and his/her login request is sent to the session manager 70b, which in turn forwards the member I.D. and password to the authentication service 70c to validate the member. Upon successful validation, the authentication service 70c informs the session manager 70b to allow the member entry to the collective 36. Second, the session manager 70b allows other resources in the collective 36, such as the broker 72, to verify if the member is given access to the collective 36. Third, the session manager 70b allows members to view applications they are currently running in the collective 36.
- the session manager receives information from client notes 34a regarding which members are running or exiting which software components, i.e., applets 64-fa or containers 62-la, and creates objects in the session directory 104 for the members 104g in the persistence manager service 70a-l.
- software components i.e., applets 64-fa or containers 62-la
- FIG. 7 also illustrates that the member services 46 are third party services 70e that are accessed by members of the collective 36 via PCM communications.
- member services 46 include an e-mail service, an area weather service, a contact management service, and a calendaring service. The member accesses his service 46 through an applet 64 on the container 62 of a client node 34a.
- a member service 46 is a RolodexTM service where an applet 64 recalls names stored in the member's RolodexTM. This example also shows how the member services 46 can utilize the collective's core services 38-42.
- the RolodexTM service stores the member's data in the persistence manager 70a of the storage services 40.
- the request is sent to the RolodexTM service, which runs a service node 34b using the routing services 38.
- the security services 42 verify the member's I.D. in order to allow access to this service 70.
- the administrative services 44 are responsible for managing the collective's services 38-46 and member access to the collective 36. As shown in FIG. 7, these tasks are performed by a specialized service 70 called the registrar 70d.
- the collective 36 may contain one or more registrars 70d for load balancing and redundancy.
- Each node 34 in the collective 36 is assigned to a specific set of one or more registrars 70d.
- the node manager 48 residing on each node 34 is responsible for sending and receiving data to and from the registrar 48.
- the node manager 48a-l of each client node 34a sends event and error logs 54 to the registrar 70d as shown in FIG. 4 via PCM communications.
- the node manager 48b-l as shown in FIG.
- each node manager 48 receives the configuration object 56 containing configuration information from the registrar 70d.
- the administrative configuration information includes 1) node 34 configuration information, such as whether the node will act as a broker node 34c or client node 34a or service node 34b; 2) the components 58 the node manager 48 needs to run (for example, if it is a service node 34b, it can run a service manager component 68 (see FIG. 5B) , a distributor component 66 (see FIG.
- each node manager 48 determines the collective or UTC time 52 by passing time information between the node manager 48 and the registrar 70d. The time information takes the form of time stamps.
- Each node manager 48 uses the time stamps to determine the difference between the local time on the computer 20 that the node 34 is running on, shown in FIG. 2, and the collective time, as determined by the registrars 70d subcomponent time plug-in 100c as will be explained with respect to Fig 11.
- This calculation of the time difference or offset is performed by the node managers 48 time plug-in 52 as shown in FIG. 4.
- the time offset is calculated through the use of algorithms and allows each node manager 48 to determine the collective time 52 by subtracting the time difference from the local time of the computer.
- each node manager 48 sends event and error logs 54 to the registrar 70d.
- ACM communications are a simpler form of communications than PCM communications.
- ACM communications are point to point, eliminating the use of the pouch 74 and the routing services 38.
- FIG. 11 illustrates the registrar 70d, comprised of multiple sub-components.
- the central sub-component is an engine 98.
- the engine 98 facilitates data exchange between other sub-components of the registrar 70d.
- the other sub-components are multiple plug-ins 100, since the other sub-components communicate in a well-defined, standardized method via the engine 98.
- One plug-in 100 cannot communicate with another plug-in 100 directly.
- the engine 98 is capable of many simultaneous transactions, and allows the collective 36 to be configured to any size or functionality needed. For example, if additional data storage is needed by the collective 36, additional storage plug-ins lOOh might be added to manage these resources.
- third parties may supply the collective 36 with new functionality such as a contact management service, a data base service, or a local weather service.
- Each such new service potentially may have a plug-in lOOi to manage its functionality.
- Plug-ins 100 can be added and removed from a live collective 36 without the need to interrupt the operation of the collective 36.
- Each plug-in 100 may communicate with other resources outside of the registrar 70d. These resources include software components 22 within or outside of the collective 36, network resources or the host computer's resources. Pluralities of plug-ins 100 are used to manage and use specific collective 36 components and resources.
- the ACM queue manager 100a sends and receives data to and from each service node 34b and broker node 34a via ACM communications.
- the PCM queue manager 100b sends and receives data to and from the collective 36 via PCM communications.
- the time plug-in 100c communicates with a UTC time server 102 on the Internet using UTC time protocols to ensure the exact time.
- the time plug-in 100c then provides each service node 34b and each broker node 34c with the correct collective or UTC time 52 through the time stamp exchange. These communications are sent from and received by the ACM queue manager 100a via ACM communications.
- the two log plug-ins lOOd-e receive error and event logs 54 from the node manager 48a-l of each client node 34a through the PCM queue manager 100b via PCM communications, and from the node manager 48b-l of each service node 34b and the node manager 48b-3 of each broker node 34c through the ACM queue manager 100a via ACM communications.
- the log plug-ins lOOd-e process the errors and events and notify other plug-ins 100 when necessary.
- Error and event logs 54 are sent to the storage services 40 of the collective 36 by the PCM queue manager 100b via PCM communications.
- the configuration plug-in lOOf assembles configuration objects 56 in the registrar 70d and then sends the configuration objects 56 via the ACM queue manager 100a and its ACM communications to various nodes, as shown in FIG. 13.
- the configuration objects 56 are instructions to each node 34 on what role it is to play in the collective 36.
- the node manager 48 determines whether it is to act as a client node 34a, a broker node 34c, or service node 34b, and how it is to manage the collective components it controls.
- the security plug-in lOOg creates and modifies user I.D.s and passwords for collective 36 members and stores the user I.D.s and passwords in the storage services 40 of the collective 36 by use of the PCM queue manager 100b via PCM communications.
- the security plug-in lOOg also provides session I.D.s to the configuration plug-in lOOf for starting new service nodes 34b in the collective 36. Each service node 34b running in the collective 36 must have a valid session I.D. created by the security plug-in lOOg.
- the storage plug-in lOOh generates that portion of the configuration object 56 specifically associated that part of the persistence manager service 70a that is associated with a physical storage media 21 of a computer 20. This configuration information is then sent to the configuration plug-in lOOf where it is incorporated in the configuration object 56 for the service node 34b running the persistence manager service 70a.
- the third party plug-ins lOOi allows optional or custom third party services 70e to be added to the collective 36.
- the third party service plug-in lOOi generates the configuration information for the custom services 70e.
- the configuration information is then sent to the configuration plug-in lOOf where the configuration information is incorporated in the configuration object 56 for the service node 34b running the third party service 70e.
- the registrar 70d is comprised of all the above mentioned sub-components 98-100i.
- the subcomponents 98-100i allow for the complete monitoring and management of the collective 36.
- the registrar 70d is able to manage other registrars 70d.
- a registrar 70d is simply a service 70 running on a service node 34b, since registrars 70d resides on selected service nodes 34b and communicates via the PCM links 88 shown in FIG. 12.
- the registrar 70d and all of the registrar's 70d sub-components 98-100i are managed by one of the applets 64, which is typically provided by the administrator's user interface for monitoring and configuring the components of the collective 36.
- the registrar 70d user interface presents the system administrator with six distinct views of the collective.
- FIGs. 8, 12, and 13 The links shown in FIG. 8 and FIG. 12 are the same, i.e., they are PCM 88 links.
- FIG. 8 shows one possible PCM path from an applet 64-1 to a service 70-1.
- FIG. 12 shows all possible PCM links 88 for a particular instance of the collective 36.
- FIG. 12 represents member data flows and is a PCM view of the collective 36.
- FIG. 13 is an ACM view of the collective 36 and represents all possible pathways of the administrative communications mechanism (ACM) for the transmission of configuration objects 56, and administrative data such as logs, in a particular instance of the collective 36.
- ACM administrative communications mechanism
- Two client nodes 34a are represented in FIG. 13. They are represented by node managers 48a, foundation containers 60, containers 62, and applets 64. Client nodes 34a are only capable of PCM communications. Yet the node managers 48a are administrative components of the client nodes 34a. They must occasionally transmit logs and other administrative information to registrars 70d. To do this, the node manager 48a-l acts as an applet 64 and transmits the log or other administrative information to container 62-la, which passes it on to foundation container 60-1. The foundation container 60-1 places the log or other administrative information as a JEMStone 86 in a pouch 74 and composes a header 76 to route the pouch to registrar service 70d-3 via broker 72-1 and PCM links 88. The registrar service 70d accepts the data via its PCM queue manager plug-in 100b and passes it to the engine 98 for processing as shown in FIG. 11.
- PCM communications represent all the possible pouch 74 communications between the components of the collective 36.
- FIGs. 8-10 represent the routes that the pouch 74 takes within the collective 36. All the components of the collective 36 capable of PCM communications are drawn on a single diagram shown in FIG. 12, and are connected to one another via permissible pouch 74 transfer. This illustrates all the possible courses of pouch 74 travel within the collective 36. This diagram is known as the PCM view.
- a member might use the collective 36 to access the service 70e in the following manner.
- the member would use an electronic device 23 as shown in FIG. 1A or a computer 20 as shown in FIG. IB.
- the member would interact with the device via some input/output or I/O device 33.
- the I/O device 33 could illustratively be a touch screen and stylus.
- the I/O device 33 could illustratively be a key pad, but could also include the processors that translate the member' s analog voice sounds into a digital signal and translate incoming digital signals into analog voice sounds for the member to hear.
- the I/O mechanism could illustratively be a keyboard, mouse, and screen combination.
- Other devices 23 would have other I/O devices 33. This example assumes the member is using either a computer 20 or an electronic device 23 such as a PDA.
- the container 62 is a member interface to the collective 36.
- a screen (not shown), it could be a graphical interface like a window or menu bar in which different icons may represent access to a member's data files 108, as will be explained with respect to FIG. 14, and services 70.
- the node software 34 would only display an icon for the collective 36. The member would click on the icon and be prompted to supply a member I.D. and password, to allow access to the resources contained within the collective 36 that the member wishes to access.
- This feature of the invention means that the programmed device 23 or the client node 34a requires a minimal amount of software, just enough to ask for a member I.D. and communicate the log-in request to the collective 36. All the other software the member needs, i.e., node software, application software, and data files, are downloaded from the collective 36 upon successful log-in.
- the collective 36 can thus operate in very small devices 23.
- the devices 23 need no large permanent storage, just sufficient memory for running the member's applications.
- the member I.D. and password are sent via PCM links 88 from the container 62-2 to the session manager service 70b-2 of the security services 42 (FIG. 7) via the routing services 38.
- the container 62-2 transmits the member I.D. and password to the foundation container 60-2, which places them in a pouch 74 and transmits the pouch 74 to the broker 72-2, which transmits it via distributor 66-3 and the service manager 68-3 to the session manager service 70b-2.
- the session manager service 70b-2 retrieves the member's profile from the persistence manager 70a-3 (FIG. 12) of the storage services 40 (FIG. 7).
- the session manager service 70b-2 (FIG.
- the authentication service 70c-2 validates the member and notifies the session manager service 70b-2, which generates a session I.D. and transmits this back to the foundation container 60-2 via the service manager 68-3, the distributor 66-3, and the broker 72-2.
- the session manager service 70b-2 accesses the member's container 62-2 from the persistence manager service 70a-3 and sends it to the foundation container 60-2, providing the member with the same interface to the collective 36 that the member is accustomed to. This could be a graphic interface like a window or menu bar with icons for all the applications the member was authorized to run and icons accessing all the member's files.
- authentication confirmation would most likely use a password.
- authentication could be effected by voice recognition, a retinal scan, fingerprint, or any other unique and secure identifier.
- the member would click on or point to the icon displayed by the graphic interface for that service within his/her container 62 of his client node 34a-2.
- the RolodexTM service is a client/server application which provides the member with an interface for locating, viewing, creating, and editing records, while the bulk of the application operates on the collective 36 and all the data resides there as well.
- Other applications like word processors, could be downloaded to the memory 27 of the client device 23.
- the container 62-la of the client node 34a-l would generate a request for the RolodexTM applet and pass it to the foundation container 60-1.
- the foundation container 60-1 would package the request as a JEMStone 86 in a pouch 74 and pass it on to a broker 72-1.
- the broker 72-1 would forward the pouch 74 to the persistence manager service 70a-l via the distributor 66-1 and the service manager 68-1.
- the broker 72-1 would first check that the member had authorization to contact the persistence manager service 70a-l, before passing the pouch 74 to the distributor 66-1 of the service node on which the persistence manager service 70a-l is running.
- the persistence manager service 70a-l would check to determine that the member was authorized to access the RolodexTM applet or service 70e-2a, and if so, access the RolodexTM service 70e-2a and send this service or applet to an applet 64-la via the service manager 68-1, distributor 66-1, broker 72-1, foundation container 60-1 and container 62-la.
- the applet 64-la would then become the member interface to access information stored in the RolodexTM service. If the member were querying the RolodexTM service via the applet 64-la for a phone number, the member would have a screen that would allow him/her to enter or find a name.
- This data i.e., the name of the person whose phone number the member wanted, would then be transmitted back to the RolodexTM service 70e-2a via the container 62-la where it would be incorporated in a pouch 74, forwarded via the foundation container 60-1, the broker 72-1, and the distributor 66-1 to the service manager 6 «-l.
- Tne poucn' s 11 contents i.e., the JEMStone 86 (FIG. 6) would be passed to the RolodexTM service 70e-2a.
- the RolodexTM service would then find the desired phone number and return it to the member in another pouch 74 via the same set of PCM links 88.
- FIG. 12 there are two instances of a RolodexTM service, 70e-2a and 70e-2b. In a robust collective 36, there might be more.
- the broker 72-1 is capable of communicating with any of them.
- the broker 72-1 acts like a dispatcher or traffic policeman. In addition to checking whether members have authorization for the requests they make, the broker 72-1 has the ability to choose the most available instance of a requested service. If RolodexTM service 70e-2a were slow to respond, or off line, or if distributor 66-1 or service manager 68-1 failed to respond, broker 72-1 would automatically route the RolodexTM service requests to RolodexTM service 70e-2b.
- a member mainly sees his/her container 62, or interface and the applets 64 that he/she has running. He/she can also see his/her files directory 104 and the files 108 therein. If desired, the member could query his/her sessions directory 104k to view and manipulate his/her sessions. For example, from container 62-la, which runs applets 64-la, 64-lb, and 64-lc, the member could query the sessions directory 104k and see containers 62-lb and 62-2 and the applets they are running.
- the member could get a status report from applet 64-3b or shut it down, even though container 62-2 was on a device 23 or a computer 20 disposed in a different location.
- the management of the collective 3b is merarcnica .
- This hierarchy is represented by the ACM view illustrated in FIG. 13.
- the registrar service 70d-l is the uppermost management component.
- the node managers 48b-l and 48b-3 communicate directly with the registrars 70d-3 and 70d-2 (not shown in FIG. 13) , respectively via ACM communication links 90. It is configuration information from the registrar services 70d that controls the broker 34c and service nodes 34b and the services they run.
- Client nodes 34a-l and 34a-2 are not configured by registrars 70d and do not communicate with them directly.
- Client nodes 34a-l and 34a-2 mainly use PCM links 88, as their primary purpose is member data manipulation.
- FIG. 13 shows not only the ACM communications over links 90 between the plurality of the registrars 70d and the plurality of the node managers 48, but also the distribution of the configuration information from the plurality of the node managers 48 over the PCM links 88 to the components and sub-components of the collective 36.
- the client node 34a-l does not communicate directly with the registrar 70d-3, its node manager 48a-l is an administrative component of the client node 34a-l and needs to send management communications, such as logs, to the registrar 70d-3. It does this by posing as an applet 64 of the container 62-la or 62-lb and informing the foundation container 60-1 that it has data to transmit.
- the foundation container 60-1 can only perform PCM communications, so it takes the data from the node manager 48a-l and places it in a pouch 74 and routes it to the registrar 70d-3 through the broker 72-1 and the PCM links 88.
- client nodes 34a-l and 34a-2 By limiting client nodes 34a-l and 34a-2 to PCM communications, the client node 34a-l and 34a-2 and spared the computational overhead of managing two ⁇ irrerent communications systems. It is also a much more secure network device.
- PCM communications are a secure communication mode, since none of the routing software on the collective 36, brokers 72 and distributors 66 are capable of reading the contents of the pouch 74.
- client nodes 34a are much more acceptable as devices to be used on the secure side of firewalls. Most corporate security managers would look in askance at devices that required two means of communication through the corporate firewalls.
- the foundation container 60-1 automatically attempts to connect to the next available broker 72 from a list of available brokers 72 that the foundation container 60-1 is configured to use.
- the broker 72-2 does not know if the client node 34a-l is validated to the collective 36.
- the broker 72-2 does not forward any information to the services 70.
- the broker 72-2 sends the client node's 34a-l information to the session manager 70b-l of the security services 42 (FIG. 7), and asks the session manager 70b-l if the client node 34a-l has a valid session I.D. If the client node 34a does have a valid session I.D., then all communications proceed as normal.
- Service 70 replication ensures that if one service 70 becomes unavailable, there is another instance of that service
- the collective 36 may have multiples of the same service 70 running, e.g., authentication services 70c-l and 70c-2, as shown in FIG. 12. If the service 70 becomes unavailable, the request is forwarded to the next available service 70.
- FIG. 12 shows that data is routed from the foundation container 60-1 of the client node 34a-l to the broker 72-1 where its sent to two different instances of the persistence manager service 70a-l and 70a-2.
- Each of the persistence manager services 70a-l and 70a-2 copies the data into its transaction log. From the transaction logs, the data is saved on the physical media storage 21 shown in FIG. 1 of each persistence manager service 70a-l and 70a-2.
- Each of the persistence managers 70a-l and 70a-2 notifies the other that the data has been stored.
- each of the persistence manager services 70a-l and 70a-2 sends an acknowledgment back saying that the notification has been received and also forwards the acknowledgments via the broker 72-1 to the client node 34a-l via its foundation container 60-1. If this process is not completed, an error log 54 is generated and sent to the registrar 70d.
- FIG. 13 shows three registrar services, 70d-l, 70d-2, and 70d-3.
- registrar service 70d-l is the root or primary registrar service and can give administrative instructions to the rest of the collective 36 via registrar service 70d-2, and through it to registrar service 70d-3, and all the nodes and services they control. Should registrar service 70d-3 fail, its responsibilities would be assumed by registrar service 70d-2, and should that fail, registrar service 70d-l would assume full control of the collective 36.
- registrar service 70d-l would immediately send configuration objects 3b to tne nuut--- managers 48b-4 and 48b-2 to have them create other registrar services 70d.
- registrar service 70d-l could fail. In this case, its responsibilities would be assumed by registrar service 70d-2.
- FIG. 13 also illustrates that registrar services 70d, like all services 70 run under the control of service managers 68. Even though registrar service 70d-l is the primary service for the administrative control of the network 32, it is a creation of service manager 68-1. Similarly, registrar service 70d-2 is a creation of service manager 68-2b and registrar service 70d-3 of service manager 68-3.
- FIG. 14 illustrates an inverted tree directory structure for storing and retrieving data objects within the collective 36, and how the directory structure is linked via persistence manager (PM) links 94 to the persistence manager service 70a of the storage services 40 (FIG. 7). This is the persistence manager 70a or PM view of the collective 36.
- PM persistence manager
- the persistence manager service 70a-l saves and retrieves a plurality of files 108 and applications, tracks their locations, and tracks which members 104g-j are associated with them. If a portion of the hierarchy, from a file to several branches within the tree, needs to be moved from one physical device to another, the persistence manager service 70a is responsible for maintaining the abstract directory hierarchy, so that the data objects can be accessed from within the collective 36 in a consistent and reliable fashion.
- member view 105g illustrates an object hierarchy for a member 104g. There are shown files 108, the files directory 1041, and a sessions directory 104k which is a view of the applets 64, containers 62, and sessions 104n-o, which the member is running on the collective 36.
- Member's view 105g of the collective 36 is also a subset of the persistence manager service 70a as shown in FIG. 14.
- a member interacts with the collective 36 via a container 62, which is member interface software running on a node 34.
- a window is an example of a container 62.
- Within the container 62 are access icons for a member' s 104g applets 64-la to -3b, and an interface for access to his files 108. It is important to note that when applets 64 or files 108 are invoked by means of a graphical interface, the user, e.g., the member 104 in the case of the collective 3b, is freed from being required to know the physical location of the objects being invoked.
- the mapping of storage locations is handled internally by brokers 72 and persistence manager services 70a as shown in FIG. 12. If storage locations need to be changed by the system administrators, member 104 interfaces do not need to be modified.
- the view of the member 104 of his/her files 108 and applets 64 is always the same, no matter where the member 104 is or what electronic device 23 the member 104 uses to access his applets 64 and files 108 on the collective 36.
- a view 105j of another member 104j of the collective 36 is also shown in FIG. 15.
- FIG. 15 illustrates how the session manager service 70b-2b tracks the members 104g-j on the collective 36 and the sessions 104n-o that are currently active.
- Each of the sessions 104n-o is an instance of a member 104 accessing the collective 36.
- Each of the sessions 104n-o remains active until the member 104g-j properly terminates it by logging out.
- the corresponding member 104g-j may interact with one or more of the applets 64 available to him through his containers 62.
- the member can also manipulate the sessions 104n-o, containers 62, and applets 64 by manipulating these components in a session's directory 104k.
- the session manager service 70b parallels the persistence manager service 70a illustrated in FIG. 14. A major difference, however, is that the session manager service 70b does not track data files, while the persistence manager service 70a does.
- FIG. 15 shows that member 104g has accessed via session links 96 the collective 36 twice, in session 104n and session 104o. This would normally imply the member 104g was using two separate electronic devices 23 to access the collective 36, but this need not be the case.
- the member 104g is using two different containers or interfaces 62-la and 62-lb. With container 62-la, the member 104g has invoked three separate applets 64-la, while the member 104g has used container 62-lb to invoke only one applet 64-lb.
- the member 104g has used container 62-2 to invoke two applets 64-2a and 64-2b.
- sessions 104n-o are tracked by a sessions directory 104k, which can restore the member's 104g access to either or both sessions 104n and 104o and their respective containers 62 and applets 64 if the member's 104g connectivity is disrupted or improperly terminated.
- the session manager service 70b-2b is the collective's 36 means of tracking a large number of members 104g-j who are interacting with the collective 36.
- FIG. 15 displays this as the view of the session manager service 70b of the collective 36. It is a depiction of what is running on the collective 36 and which member 104 is running it. In FIG.
- a Universal Model is shown as a depiction of the collective 36 in terms of the interrelationships of the views depicted in Figs. 12 though 16. It clarifies that sessions 104n-o are running under the control of both the session manager 70b-l and the member 104g. It also shows that the foundation container 60-2 supports the container 62-2 and its applets 64-3a and 64-3b that are running in the session 104o controlled by the session manager 70b-l. The same foundation container 60-2 is used by the container 62-2 and its applets 64-3a and b to send and receive information over the collective 36 via PCM links 88 to the broker 72-2 and distributors 66-2 and 66-3. The same foundation container 60-2 and its container 62-2 and applets 64-3a and 64-3b can also be controlled by the registrars 70d-l and 70d-2 via ACM links 90.
- the Universal Model is a fundamental concept to the invention.
- the structured interrelationships of the components of the collective 36 allow for easy (drag and drop) administrative control and security management. From an administrative point of view (ACM) , the interconnections are traceable and can be moved about without breaking any of the connections.
- the member's access interface or container 62-1 gives the member 104 a consistent view of the collective 36, irrespective of his physical location or access device or changes in storage locations or routing devices made by the administrators of the collective 36.
- the collective 36 handles the problem of connecting a member 104 with his/her files 108 and applications 104d.
- the container 62 of the member 104g is his/her view of the collective 36, and that container 62 is supplied by the collective 36 each time the member I04g connects. This makes for a resilient and fault tolerant environment. If the collective 36 is set up with a modest amount of redundancy so that the withdrawal of any device from service for maintenance or failure would be transparent to all members 104, who would be unaware of the changes
- member 104g is running session 104o with container 62-2 from an electronic device 23 such as a PDA.
- the container 62-2 is the member's interface with the collective 36.
- Two instances of the foundation container 60 are shown for member 104g to indicate that he has two open connections to the collective 36.
- the member With one of the foundation containers 60-1 the member has logged in twice and has two containers 62-la and 62-lb. However, the appearance of these containers 62 is identical.
- the member 104g has only one interface and therefore only one view of the collective 36.
- the administrative and mapping concerns of the collective 36 are not part of the member's view and not a member concern.
- the member 104g controls two applets 64-3a and 64-3b and the files 108a and 108b. This control is tracked by session manager 70-bl and persistence manager 70a-3. If the member's electronic device 23 fails or the member 104g drops it and destroys it, session manager 70b-l and persistence manager 70a-3 note that the session 104o was interrupted, but not properly terminated. These managers will maintain the state of the session exactly where it was at the point of interruption. The member 104g could go to his laptop computer 20 and reconnect to the collective 36. After an authentication service 70c-l authorized the member's access, the member would again be presented with container 62-2, the same view of the collective 36 the member had on his PDA device 23.
- the member 104g could query his sessions directory 104k and session manager 70b-l, and the persistence manager 70a-2 would reestablish his connection with his applets 64-3a and 64-3b and files 108a and 108b exactly where the member left off.
- the collective 36 is capable of automatically bypassing failed or out of service components. Should a distributor 66 or member service 46 become unavailable, the broker 72 is capable of querying the collective 36 for an alternate component in a manner transparent to the members. System administrators can actively restructure the network 32 for purposes of load balancing or hardware maintenance.
- System administrators are members with sufficient privileges to manage the collective 36. Like ordinary members, system administrators can access the collective 36 from any point from which they can establish connectivity. However, the container 62 that an ordinary member 104 receives from the persistence manager 70a limits the member's view of the collective 36 to his own files 108, applets 64, and sessions 104.
- the system administrator has access illustratively to all of the components of the network 32 and can view on a suitable display the Universal Model, enabling the system administrator to control the entire collective 36.
- System administrators use registrar services 70d to establish new service nodes 34b and reconfigure old ones. Because the collective 36 is designed to be controlled by graphical interfaces, services 70 and other components can easily be moved from one node 34 to another by dragging and dropping.
- Session managers 70b know what is running at any given time, and which members 104 are accessing which applications.
- Persistence managers 70a know the directory structure for all member files 108, applications, and system logs, and how these map to physical storage media 21 on the collective 36. Persistence managers 70a also know which members 104 have privileges to access any of these files 108 and applications. When files 108 and applications need to be moved to other storage media 21 for load balancing, system maintenance, or other administrative purposes, these dependencies can be tracked and modified accordingly.
- the collective 36 allows both hot swapping and mirroring, and since the user interfaces that are maintained by the containers 62 do not require members 104 to know the structure of the collective 36, these changes are always transparent to members 104. Because the collective 36 components track these dependencies, the management of resources remains simple irrespective of how large and complex the collective 36 becomes .
- the invention can be thought of as an n-tiered collaborative virtual distributed network operating system. While the invention retains the concept of "client" for end user functionality, the capabilities of the invention require several new constructs.
- “collective” is used to describe an instance of the invention itself along with all of the devices and software that interact with the invention.
- Computers are one kind of device that can interact with a collective. However, a large number of other electronic devices, given the proper communications capability, and with an appropriate portion of the collective software, could also be part of a collective. Examples of these kinds of devices include PDAs, cell phones, television sets and VCRs, and home monitoring and security systems.
- the term collective is used to escape the concept of a fixed array of devices connoted by the term network.
- a collective is a dynamic structure that changes as devices and software are added and subtracted from it.
- software refers to the distributed components of the operating system itself and to applications and services provided by third parties to add to the functionality of the collective.
- Individual devices operating in the context of the collective are called nodes.
- a collective is a dynamic set of capabilities with collaborative features that enhance member productivity.
- An alternate embodiment of a collective is a set of computing resources accessible to members in a secure manner from any network, for example the Internet, capable device. From the member's perspective the collective is the set of available computing resources. It is location independent; it looks the same from every member's network access device.
- the invention is a distributed collaborative virtual network operating system. It eliminates the need for application software storage on the client nodes, or electronic devices, members use to access their collective. It also requires very little electronic device or client node storage for itself.
- the portion of the invention permanently stored on an client node is just large enough to communicate with the rest of the collective, and small enough to fit in common consumer electronic devices like personal digital assistants and cell phones.
- the remaining portion of the invention is distributed over other nodes in a collective.
- the invention also stores user or member data remotely, eliminating the need for storage on client nodes. This accomplishes a number of benefits. Members are guaranteed device independent access to their data from anywhere they can access the network that supports their collective, be it a LAN, WAN, or the Internet. Additionally, members no longer have to maintain copies of their data and applications on every device they use. Nor do they have to worry about coordinating modifications of the data or upgrades of the applications on every device they use, since they will no longer maintain multiple copies of their applications or data. Any device capable of accessing the invention grants a member access to the member's current data and applications. Further, if the member's device is lost, stolen, or fails, the member' s data and software remain secure and accessible because they did not reside on the lost device.
- the collective-based installation of applications software greatly facilitates the distribution of application software. Not only can one installation of an upgrade suffice for all members, but the installation can be handled by professional system administrators who maintain the collective. This eliminates the need for members to install software on every device they use. Further, all members of a collective will always be using the same version of application software. User reluctance to install new software and/or upgrade the software they already have will no longer inhibit the widespread adoption of innovation.
- the invention is not limited to the paradigm of password authorization. Instead, it is organized around the concept of member verification: access is granted after a member's identity is verified.
- the verification routine can be a password, but could also be voice recognition, fingerprint matching, retinal scanning, or any set of verification schemes that administrators of the collective choose to implement.
- a second form of security arises from the invention' s form of information transfer.
- As information among various components of the collective a small portion is encrypted and can only be decrypted by another recognized component of the collective.
- Information sent between two components is time sensitive so as to deny opportunities for unauthorized devices to pose as legitimate components of the collective and spoof it.
- Complete data encryption is also available for circumstances that justify the computational burden that complete encryption/decryption imposes.
- a third level of security is available at the application level.
- Application developers can add application level security with additional encryption and authorization verification.
- Routing services are able to organize themselves with an awareness of the entire collective. If the collective is set up to maintain primary and secondary copies of all software resources, it is automatically fault tolerant. When access to a primary instance of a resource fails, the routing services will automatically reroute to the back up resource.
- This capability enables system administrators to redistribute the locations of files and applications and adjust the corresponding internal access paths with relative ease. This makes load balancing, even in large collectives, so simple an exercise that there will no longer be a need for an abundant redundancy of collective components. This ease of rerouting also makes the collective highly hardware and software fault tolerant, as failures are quickly bypassed or routed around, even while the collective is live. This hot swap capability also facilitates the withdrawal of hardware resources for servicing.
- This feature of the invention also frees members from concern over data and application mapping.
- a member's view of the collective would be constant and location independent. Members could concentrate on using the features of the collective rather than learning and remembering its structure. This "learn once, run anywhere" capability would even extend to yet to be invented hardware because the virtual environment in which the collective runs is device independent.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IL14520000A IL145200A0 (en) | 1999-03-01 | 2000-03-01 | N-tiered virtual collaborative network operating system |
| AU35073/00A AU3507300A (en) | 1999-03-01 | 2000-03-01 | N-tiered virtual collaborative network operating system |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12230799P | 1999-03-01 | 1999-03-01 | |
| US60/122,307 | 1999-03-01 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2000052593A1 true WO2000052593A1 (fr) | 2000-09-08 |
Family
ID=22401940
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2000/005232 Ceased WO2000052593A1 (fr) | 1999-03-01 | 2000-03-01 | Systeme d'exploitation de reseau de collaboration virtuel a n niveaux |
Country Status (3)
| Country | Link |
|---|---|
| AU (1) | AU3507300A (fr) |
| IL (1) | IL145200A0 (fr) |
| WO (1) | WO2000052593A1 (fr) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2006006051A1 (fr) * | 2004-07-06 | 2006-01-19 | Nortel Networks Limited, | Agent d'utilisateurs combine pour clients de communication par paquets |
| WO2007033955A1 (fr) * | 2005-09-19 | 2007-03-29 | Sony Ericsson Mobile Communications Ab | Terminaux de communication comportant une pluralite de processeurs et leurs procedes de fonctionnement |
| CN1953412B (zh) * | 2005-10-18 | 2011-08-17 | 国际商业机器公司 | 执行应用的系统和方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5367635A (en) * | 1991-08-29 | 1994-11-22 | Hewlett-Packard Company | Network management agent with user created objects providing additional functionality |
| US5706516A (en) * | 1995-01-23 | 1998-01-06 | International Business Machines Corporation | System for communicating messages among agent processes |
| US5790789A (en) * | 1996-08-02 | 1998-08-04 | Suarez; Larry | Method and architecture for the creation, control and deployment of services within a distributed computer environment |
-
2000
- 2000-03-01 WO PCT/US2000/005232 patent/WO2000052593A1/fr not_active Ceased
- 2000-03-01 AU AU35073/00A patent/AU3507300A/en not_active Abandoned
- 2000-03-01 IL IL14520000A patent/IL145200A0/xx unknown
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5367635A (en) * | 1991-08-29 | 1994-11-22 | Hewlett-Packard Company | Network management agent with user created objects providing additional functionality |
| US5706516A (en) * | 1995-01-23 | 1998-01-06 | International Business Machines Corporation | System for communicating messages among agent processes |
| US5790789A (en) * | 1996-08-02 | 1998-08-04 | Suarez; Larry | Method and architecture for the creation, control and deployment of services within a distributed computer environment |
Non-Patent Citations (2)
| Title |
|---|
| BERGHOFF J.: "Agent-based configuration management of distributed applications", CONFIGURABLE DISTRIBUTED SYSTEMS, 1996, PROCEEDINGS, THIRD INTERNATIONAL CONFERENCE ON, 1996, IEEE,, 1996, pages 52 - 59, XP002930646 * |
| IRAQI Y.: "Configurable multi-agent system for QOS control in WATM", GLOBAL TELECOMMUNICATIONS CONFERENCE, 1998, GLOBECOM 1998, THE BRIDGE TO GLOBAL INTEGRATION, IEEE,, vol. 5, 1998, pages 2882 - 2887, XP002930647 * |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2006006051A1 (fr) * | 2004-07-06 | 2006-01-19 | Nortel Networks Limited, | Agent d'utilisateurs combine pour clients de communication par paquets |
| US8116286B2 (en) | 2004-07-06 | 2012-02-14 | Rockstar Bidco, LP | Combined user agent for packet-based communication clients |
| US8320349B1 (en) | 2004-07-06 | 2012-11-27 | Rockstar Consortium Us Lp | Combined user agent for packet-based communication clients |
| WO2007033955A1 (fr) * | 2005-09-19 | 2007-03-29 | Sony Ericsson Mobile Communications Ab | Terminaux de communication comportant une pluralite de processeurs et leurs procedes de fonctionnement |
| CN1953412B (zh) * | 2005-10-18 | 2011-08-17 | 国际商业机器公司 | 执行应用的系统和方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| AU3507300A (en) | 2000-09-21 |
| IL145200A0 (en) | 2002-06-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5594921A (en) | Authentication of users with dynamically configurable protocol stack | |
| Champine et al. | Project athena as a distributed computer system | |
| US6031977A (en) | Object-oriented distributed communications directory service | |
| Karnik | Security in mobile agent systems | |
| US8447963B2 (en) | Method and system for simplifying distributed server management | |
| US5548726A (en) | System for activating new service in client server network by reconfiguring the multilayer network protocol stack dynamically within the server node | |
| EP1523152B1 (fr) | Passerelle de connection | |
| US7774485B2 (en) | Dynamic service composition and orchestration | |
| JP2002351829A (ja) | オンラインネットワークコンピューティング環境を介したコンピューティングサービスの提供 | |
| CA2777647A1 (fr) | Systeme d'outillage avec approvisionnement mobile | |
| Watson | Chapter 2. Distributed system architecture model | |
| EP1872523B1 (fr) | Système et procédé d'enregistrement dispositif-à-serveur | |
| WO2000052593A1 (fr) | Systeme d'exploitation de reseau de collaboration virtuel a n niveaux | |
| WO2002011357A2 (fr) | Procede et dispositif de gestion de cle de chiffrement a l'aide d'une interface de programmation url | |
| CN117527840A (zh) | 一种居民服务用一卡通管理平台系统 | |
| BryerJoyner et al. | Secure Local Area Network Services for a High Assurance Multilevel Network | |
| RU2361366C1 (ru) | Способ гарантированного доведения информации в неоднородной вычислительной сети | |
| Paulino | A mobile agent systems’ overview | |
| Conde | Mobile agents in java | |
| Ramm et al. | Exu: A System for Secure Delegation of Authority on an Insecure Network. | |
| Winsor | Solaris 8 Advanced System Administrator's Guide | |
| Stanek | Internet Information Services (IIS) 7.0 Administrator's Pocket Consultant | |
| Stanek | Web Server Administration: The Personal Trainer for IIS 7.0 and IIS 7.5 | |
| Sirbu | The design of a metacomputing environment | |
| Greenwood | A Cohesive, Secure Mechanism for Structuring Distributed Agent Populations in Managed Networks |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM HR HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| WWE | Wipo information: entry into national phase |
Ref document number: 145200 Country of ref document: IL |
|
| REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
| 122 | Ep: pct application non-entry in european phase |