WO1998026355A1 - Systeme d'exploitation decentralise - Google Patents

Systeme d'exploitation decentralise

Info

Publication number
WO1998026355A1
WO1998026355A1 PCT/AU1997/000840 AU9700840W WO9826355A1 WO 1998026355 A1 WO1998026355 A1 WO 1998026355A1 AU 9700840 W AU9700840 W AU 9700840W WO 9826355 A1 WO9826355 A1 WO 9826355A1
Authority
WO
WIPO (PCT)
Prior art keywords
topic
topics
library
operating system
instance
Prior art date
Application number
PCT/AU1997/000840
Other languages
English (en)
Inventor
Russell Brockhurst
Original Assignee
Quantum Networks Pty. Ltd.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Quantum Networks Pty. Ltd. filed Critical Quantum Networks Pty. Ltd.
Priority to CA002274544A priority Critical patent/CA2274544A1/fr
Priority to AU52181/98A priority patent/AU706157C/en
Priority to JP52191198A priority patent/JP3355194B2/ja
Priority to EP97946964A priority patent/EP0956529A1/fr
Publication of WO1998026355A1 publication Critical patent/WO1998026355A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements

Definitions

  • This invention concerns a distributed operating system.
  • Operating systems are the master control programs that run computers. They are an important component of a computer system, because they set the standards for the application programs that run in it. All programs must "talk to" the operating system.
  • each Operating System defines a single name space for the data and applications managed by the system.
  • the name space defined by an operating system would include a File System or Directory Structure used to locate files, the identifiers for open files, common software components, and other network resources.
  • the file is the basic unit of storage for information.
  • a specific file either contains a unit of data or it contains a function (an application or a software component).
  • the Operating System associates an appropriate application with each file so that the contents of the file can be viewed or updated.
  • Applications are built by integrating sets of Object Oriented software components. These Object Oriented software components may be custom built for a specific application or designed for use as a common component in many different applications.
  • the Compound File was developed so that the various Object Oriented components within an application could read and write data independently within a single file. While the Compound File is an effective means for storing the various objects (units of data) that make up a unit of information (a document), it can be difficult and time consuming to distribute a large Compound File over a network. For this reason, industry standards (such as HTML and Java) that build Internet (or Intranet) documents by breaking them down into sets of smaller files are increasing in popularity.
  • a physical address called a Path
  • the path is used for two conflicting purposes: to locate information, and to organise information. Files must be moved to reorganise information within a Directory Structure, and moving files changes the Paths that applications use to locate information.
  • a Local Area Network extends the individual File Systems on a group of computers to include the shared File Systems on one of more LAN servers. Files on the LAN servers can be viewed and updated from any of the computers connected to the LAN.
  • the LAN represents a logical evolutionary step from the stand-alone computer system as it extends the name space defined by an operating system to include selected resources on the LAN servers.
  • the basic problem with the LAN is that each of the computers connected to the LAN define different name spaces. A new name must be constructed in order to map the resotirces on one computer into the name space defined for another computer.
  • a LAN can be very difficult to maintain if each workstation defines a different name for a set of common network resources.
  • the solution to this problem is to define broad corporate standards for the configuration of LAN workstations. Maintaining these standards involves a great deal of corporate overhead and often frustrates end users. A more severe limitation of the LAN is that corporate standards can only be effectively enforced within a relatively small workgroup.
  • Each Server Domain Name defines a distinct name space for a set of Internet (or Intranet) resources.
  • a Server Domain Name provides a map to the name space defined by a stand-alone computer (or a LAN) connected to the Internet (or Intranet).
  • the addressing mechanism used on the Internet (or Intranet) is called a Universal Resource Locater (URL) and is constructed by concatenating a Server Domain Name with a Path.
  • URL Universal Resource Locater
  • the Internet represents a logical evolutionary step from the LAN since it could be defined as a LAN that uses a consistent global standard for naming network resources.
  • the URL is an effective tool for information exchange if each unit of information exists exclusively within the name space defined by a single Server Domain Name, and the information associated with each Server Domain Name is not re-organised.
  • everyone that uses the Internet knows that it is already littered with out-of- date links even though it has only been in use for a few years. Further, the URL does not provide any mechanism for recognising information that is duplicated across multiple Server Domains.
  • complex (and specialised) applications must be implemented to manage the distribution of information across an Internet (or Intranet).
  • One of the objectives of the Object Oriented software development methodology is to define a set of standard software components that can be integrated to form complex applications.
  • the idea is to bring to the software industry the same sort of modular engineering discipline that has been the foundation of the computer hardware industry for many years.
  • One of the fundamental barriers to the realisation of this goal for the software industry is the fact that modern Operating Systems do not use consistent naming conventions. As a result, there can be no reliable method for finding a specific software component within a Directory Structure.
  • the Windows 95 System Registry uses a single globally unique identifier, called a "CLSID", to locate common software components.
  • CLSID's used in the Windows 95 System Registry has the following limitations : CLSID's are only defined for software components. Since data files are not able to create or maintain entries in the System Registry there is no way to use the System Registry to locate data files.
  • the System Registry acts as an addressing mechanism by associating a CLSID for a software component with a resource name (such as a Path) within an Operating System's name space.
  • the System Registry is of limited use for building distributed systems since the addressing mechanism it defines is only useful within the scope of an individual Operating System. Even if you could read the entries in the System Registry defined for another Operating System, the results would not be meaningful.
  • a CLSID identifies the top-level object within a software component, so that an instance of the object can be instantiated. While the CLSID provides a method for locating and instantiating a component, it does not identify all of the resources (mostly files) that make up the component. For this reason, the CLSID is of limited use for managing the distribution of information across a network.
  • Microsoft's OLE and ActiveX protocols are the methodologies that Microsoft has defined for the integration of software components. Both protocols are based on Microsoft's Component Object Model (called "COM"), the OLE protocol has been optimised for the development of functions and applications that operate within a single Operating System, while the ActiveX protocol has been optimised for the development of Internet (or Intranet) sites.
  • COM Microsoft's Component Object Model
  • the OLE and ActiveX protocols support two basic services: a set of functions that allow an application to activate a software component, and a set of functions that allow applications to create, read, and update compound files. These protocols use the System Registry to locate individual software components, and are therefore constrained by the limitations of the System Registry as previously described, the protocols are also very complex.
  • the OLE and ActiveX protocols perpetuate the view of a network as the architectural equivalent of a large Operating System.
  • Microsoft's notion of Local/Remote Transparency is essentially a methodology for mapping a set of distributed resources into an Operating System's name space. COM assumes that every component of the system exists in one and only one location on the network, and that applications are built by connecting together these distributed components.
  • Database technologies consist of a set of files and a common software component.
  • the common software component implements a specific database access method that allows other applications to access the information that has been stored in the files.
  • One way to describe a database is as an encapsulated name space for a collection of information.
  • the success of the Relational Database can largely be attributed to the fact that the relational access method allows every piece of data stored in the database to be used as a name for other data.
  • a Lotus Notes (recently renamed as "Lotus Domino") network consists of a Lotus Notes server and a number of clients. Both the server and the clients must run the proprietary software and databases can be stored either on the client or the server machine. Lotus Notes provides an environment in which groups of individuals can share information with each other. To view or edit a document within this environment, the user just points and clicks. Access to documents not created in the Notes environment is limited to applications supporting Object Linking and Embedding. Notes does, however, provide a front end to some of the more common databases but this facility is restricted to certain platforms.
  • the Lotus Notes environment is a closed, categorised and indexed reference to organisational information. It allows individuals to work as part of a team with provision for multi-user access to single documents and co- authoring facilities.
  • Each database icon represents a collection of logically related documents sorted by some key item. These documents are added by individuals who wish to share information with other users within the organisation.
  • Lotus Notes For individuals and groups within an organisation, Lotus Notes provides visibility of information and the opportunity to comment, edit and update documents. It also provides a facility for logically grouping documents. It does, however, tend to restrict users to organisational networks.
  • Lotus Notes and most other workgroup systems are essentially database technologies that have been designed to support a specific suite of workgroup applications. While these workgroup applications support an impressive range of features, they cannot overcome the limitations of their underlying database technologies: most workgroup systems are expensive to implement and maintain. Because of the associated costs, most workgroup systems can only be cost justified for use in support of high-volume and repetitive business activities.
  • Network management tools essentially automate the otherwise labour intensive process of visiting each workstation to install software updates. While these tools reduce the total cost associated with software distribution, they do not overcome the other limitations of the traditional software distribution process. For instance, Network management tools must be installed and managed by a central IT support group, and the central support group must maintain a hardware and software inventory for each of the workstations attached to the LAN. Because of the costs associated with the central support group, the network management tools can only be applied cost effectively for applications that are widely used throughout a corporation.
  • Network management tools don't have any unique knowledge concerning the applications they are distributing. The tools simply copy the updated files that make up the application and then make selected updates to any associated configuration files. Network management tools cannot support applications that require a highly customised distribution process.
  • Network management tools are only designed to distribute information that is installed on a large number of workstations, and that is static over time. Network management tools cannot be used to distribute documents, since documents are created and updated at unpredictable places and times across a network.
  • the invention provides a distributed operating system for a network, comprising a collection of libraries each of which exists at some physical location and is associated with a collection of instances of different topics.
  • Each topic is an encapsulated set of system resources and has a file system containing applications, databases, software components, or any other collection of logically related files. Only one instance of a topic may exist in any given library at any given time.
  • Instances of the same topic may exist in different libraries.
  • An Addressing Standard which requires a first and second globally unique identifier is applied to the libraries and topics.
  • the first globally unique identifier is used to identify each library.
  • the second globally unique identifier is used to identify each topic. Every instance of a Topic will have the same topic identifier no matter which library it is in.
  • Communications protocols exist outside the libraries to enable interaction between the applications, software components, and documents stored as Topics in different libraries.
  • the principle advantage is that information, such as documents and common software components, produced independently can be combined to form integrated systems without the need for complex address translations.
  • the invention also allows for the identity of information to be retained as it is copied from one system to another.
  • the ability to recognise how information has been distributed across a network will dramatically reduce the complexity of network maintenance activities such as software distribution and inventory control.
  • the invention will also allow for the development of a new class of applications that mutate in useful ways as they are distributed.
  • a topic may be a document.
  • Each instance of a document may contain the latest version of the document and might contain one or more older versions of the document. Updates to the various instances of the document are distributed as required.
  • a topic may be an application (or a software component). Each instance of an application contains a complete copy of the application.
  • a topic may be a forum.
  • One instance of a forum contains a complete copy of the forum. The other instances allow end users to review and add comments to the forum across a Network.
  • a topic may be a database. As with forums, one instance of the
  • Topic contains a complete copy of the database while the other instances allow end users to access the database across a Network.
  • a topic may be an image archive.
  • the various instances of the Topic manages the collection and distribution of document images for a project.
  • Incremental updates are distributed to each instance of the Image Archive as required.
  • Each application is encapsulated within a Topic.
  • an application may use a set of Library services to reference the appropriate resources within the Topic containing the software component. If the Library determines that the referenced Topic is located within another Library, then a similar set of Network services may be used to forward the request to the remote Library. Using this process, neither the application nor the software component needs to make any special provisions to support remote Topic references.
  • Topic ID is a globally unique identifier for a distributed application
  • an application may let the Library (or Network) search for an instance of a specific Topic ID. If an instance of the database is available within the local Library, then the local instance may be used to satisfy the reference. If the local instance of the database cannot satisfy the request directly, then the local instance may act as a proxy for a remote instance of the database. If a local instance of the Topic cannot be found, then the Library may search through an ordered list of corporate Libraries to find an appropriate remote instance of the database.
  • Topics may be organised into hierarchical structures with a root topic and descendant topics.
  • Libraries may organise Topics into any structure (hierarchical, matrix, and so on) since the Addressing Standard does not rely on the Library structure to locate Topics.
  • a Library could even support multiple organisational structures simultaneously in order to offer various end users a customised "view" of the Library.
  • a particular end user's view of a Library could exclude any Topics for which the end user did not have a sufficient level of access authority. Separate access levels could be defined for addressing Topics and for viewing organisational structures. While a Topic containing a software component might not appear in an end user's view of a Library, the end user might still be allowed to use an application that referenced the software component.
  • Versions may be created by copying Topics, or version control may be implemented within Topics.
  • version control may be implemented within Topics.
  • dependent relationships may be defined between the various versions of a Topic to simplify the associated coordination effort.
  • a Topic may contain a document with version control.
  • a specific version of the document may be contained within a single compound file, or a single sub-directory.
  • new versions of the document may be stored in additional compound files or subdirectories within the same Topic.
  • the Topic may also be used to consolidate and store any comments submitted with respect to the various versions of the document. The distribution of such a Topic may create a new instance (or update an existing instance) containing the latest version of the document, the older versions of the document, and any associated comments.
  • Version control for software components may be handled differently.
  • a software development environment may be set up as a Library that generates new Topics to contain new software components and applications. Multiple versions of each software component (or application) may then be supported within each individual Topic. The distribution of such a Topic may create a new instance (or upgrade an existing instance) to contain the latest version of the software component (or application).
  • all of the source code, exec itable modules, documentation, and installation procedures for a specific software component may be encapsulated within a single Topic. This approach simplifies the development of test environments and improves component reliability since the Topic ID and name associated with each software component may be constant from its first implementation through to its distribution.
  • Topics may identify Topics either as "Trusted Topics" or "Suspect Topics".
  • a Topic may be identified as a Trusted Topic if it was distributed from a Trusted Topic on a Trusted Library (or otherwise identified as a Trusted Topic by an authorised end user).
  • Each Library may maintain a short list of Trusted Libraries from which it accepts the distribution of trusted applications and software components.
  • the set of Trusted Libraries defined by a Library is the Trusted Domain for the Library. Any Topic that was not distributed from a Trusted Topic on a Trusted Library is identified as a Suspect Topic.
  • a Suspect Topic is allowed to modify the resources contained within its own name space and within the name spaces of any Topics that list the Suspect Topic as a Named Dependent.
  • each topic can implement a set of functions, called “Methods”, to control its own distribution. It is not necessary for all of the Topic Methods be defined for every Topic. All of the methods and Library services used by a Topic are executed within the context of that specific Topic. Topics may inherit Library functions (and Operating System functions) from their associated Libraries.
  • the Copy Topic method defined for the Topic is called.
  • the Copy Topic method creates a new Topic and initialises the contents of the new Topic.
  • a method defined for the new Topic is called to complete the initialisation process.
  • the Move Topic method implemented for the Topic is called.
  • the Move Topic method removes the Topic as a direct descendent of its current ancestor, and installs the Topic as a direct descendent of a second Topic.
  • a method is then called for all of the Topics that were moved. Note that when a Topic is moved, all of its descendants are also moved.
  • Topics do not delete themselves because many Operating Systems do not allow a function to delete the file from which the function was loaded.
  • the Open Topic method is used to activate the application or software component that is associated with a Topic.
  • the Publish Topic method is used to distribute a Topic to another Library.
  • the Publish Topic method assumes that the original instance of the Topic should remain on the source Library and that a copy should be distributed to the target Library.
  • the PublishTopic method assumes that the PublishTopic methods for each Named Dependent have already been executed.
  • the PublishTopic method will check the target Library to see if an instance of the Topic already exists. If an instance of the Topic already exists on the target Library then the BeforePublishTopic method implemented for the existing instance is called, and the contents of the existing Topic are updated. If an instance of the Topic cannot be found on the target Library, then an instance of the Topic is added to the target Library.
  • the Restore Topic method is identical to the Publish Topic method except that it restores a Topic to a previous version instead of updating the Topic to a more recent version.
  • the Restore Topic method is designed to work with the Publish Topic method so that Topics may be backed-up and recovered by "publishing" the Topics to another library and then "restoring" them as necessary. For example, if the original instance of a Topic were corrupted or deleted, the Restore Topic method could be used to regenerate the original instance of the Topic from a published instance. The Restore Topic method will not be supported when a published instance of a Topic contains insufficient information to regenerate the original instance.
  • the Update Topic method is used to control the automatic distribution of updates for Topics.
  • the Topic checks to see if an update is available for distribution. If an update is available, the location of the instance of the Topic containing the update is returned so that the Publish Topic method may be executed to complete the update process.
  • the Route Topic method is used to distribute a Topic to another Library.
  • the Route Topic method assumes that the original instance of the Topic should be moved to the target Library, and a copy of the Topic should be left on the source Library.
  • the RouteTopic method implemented for the Topic is called.
  • the RouteTopic method assumes that the PublishTopic methods for each Named Dependent have already been executed.
  • the RouteTopic method will check the target Library to see if an instance of the Topic already exists. If an instance of the Topic already exists on the target Library then the BeforeRouteTopic method implemented for the existing instance is called, and the contents of the existing Topic are updated. If an instance of the Topic cannot be found on the target Library, then an instance of the Topic is added to the target Library.
  • a global address is defined for each instance of a Topic as the combination of a Library ID, and a Topic ID.
  • addresses may be defined in two other basic formats: Relative Addresses and Named Dependents. Compound Addresses are formed by chaining together global addresses, Relative Addresses and Named Dependents.
  • Each resource within a Topic has a name that is only valid within the context (or name space) defined by the Topic. Resources in other Topics are referenced by using the global address (or compound address) for the Topic as a prefix.
  • a Relative Address may be used by a Topic to identify other topics in the active view. Note that there is no way to define a Relative Address for a direct descendent since there is generally more then one direct descendent defined for each Topic.
  • a Topic is said to be dependent on a second Topic if the second
  • Topic is defined by the first Topic as a Named Dependent, where a Named Dependent is a relationship between a name and a compound address.
  • the Compound Addresses identified as Named Dependents describe a set of Topics on which the active Topic is dependent.
  • the name associated with a Named Dependent may be used as an address.
  • a Tag is a relationship between a name and a short text phrase.
  • the following standard Tags may be defined for all Topics:
  • a Named File is a relationship between a name and a path.
  • a Named File identifies a file that is encapsulated within a Topic but has not yet been embedded within the Topic's File System. Copies of any Named Files are embedded within the remote instances of the Topic, when the Topic is Published or Routed.
  • Named Files are also used to generate HTML links for encapstilated files. For example, an HTML link will be generated for a text file that has been identified as a Named File so that the contents of the file may be viewed or edited through an Internet or Intranet.
  • Embodiments of the invention are particularly useful in supporting the automation of high-value and strategic projects which are typically one- off efforts of a relatively short duration.
  • Such embodiments may include an Intranet publishing tool to support the automation of Outsourcing Sales Efforts and Due Diligence Studies for Corporate Acquisitions. Brief Description of the Drawings
  • Figure 1 is an organisational diagram of a Network embodying the present invention
  • Figure 2 is an organisational diagram showing the relationship between libraries and topics
  • Figure 3 is an organisational diagram showing a distributed topic
  • Figure 4 is an organisational diagram showing a hierarchical view of a library. Best Modes for Carrying out the Invention
  • a Network 1 contains a number of Operating Systems, or Libraries 2, which in turn contain a number of encapsulated sets of system resources, or Topics 3.
  • Each individual Topic 3 contains a File System 4, and the File Systems 4 may contain an application, a database, a software component, or any other collection of logically related files 5.
  • the network 1 supports a set of communications protocols so that Topics 3 in different Libraries 2 can interact.
  • the name spaces defined by the Libraries 2 is limited to the Topics 3.
  • each Library 2 exists at a specific physical location on the Network 1 and is assigned a unique global identifier, a "Library ID".
  • This identifier could be a Server Domain Name defined for the Internet (or for an Intranet), or it could be a random number that has a very high probability of being unique (such as the Open Software Foundation's UUID or Microsoft's GUID).
  • Topic ID Each distinct Topic on the Network is also assigned a globally unique identifier, or "Topic ID”. Topics that appear in more than one Library, are said to have multiple "instances”. The various instances of a Topic will always be assigned the same Topic ID. Topic ID's could be defined as UUID's or as GUID's, or could be built from the Library ID of the Library in which the first instance of the Topic was created.
  • the Addressing Standard is defined by concatenating a Library ID with a Topic DD.
  • FIG. 1 Another way to define the Addressing Standard is to describe a Network 1 as two distinct sets: a set of Libraries 2, and a set of Topics 3, as shown in Figure 2.
  • a Network is constructed by associating a set of Topics 3 with each Library 2 .
  • Each Library 2 is then constructed by adding instances of the associated Topics 2 to the Library. Note that this approach clearly shows that two instances of the same Topic cannot appear in a single Library. This is an acceptable restriction because it really doesn't make sense to have two copies of an application, a software component, or a document in a single Library.
  • new Topics can be created by copying an instance of an existing Topic as required.
  • Topics can easily be located (since they are all assigned identical Topic ID's), and may be integrated to form a distributed application 6, as shown in Figure 3.
  • Topics are not necessarily an identical copy of a Topic.
  • the content and behaviour of each instance of a Topic will vary for different Topics.
  • an Intranet publishing tool could include the following Topics:
  • Forums - One instance of a forum contains a complete copy of the forum. The other instances allow an end user to review and add comments to the forum across a Network.
  • Dependent relationships can be defined for each Topic. For example, a document that was created using a specific word processing application would ordinarily be dependent on that word processing application. Through the use of dependent relationships, the software installed in a Library can be kept up-to-date and reconfigured as required to support the activities of an end user. Incremental Implementation
  • Libraries and Topics may be built as a layer on top of existing, or "legacy”, Operating Systems and applications. Initially applications will be implemented that make the greatest possible use of the features of the invention, additional functions would later be implemented using the invention and the dependence on legacy systems would be reduced.
  • Microsoft's Component Object Model which is used as the basis for the OLE and ActiveX protocols is based on the notion of Local/Remote Transparency.
  • the idea is that an application should use a consistent method for integrating software components, and should not have to make any special provisions for software components running within other processes or on remote network servers.
  • Microsoft implements the notion of Local/Remote Transparency by associating remote software components with "Handlers" or "Proxies”. While this approach works well from the perspective of an application, it makes the development and installation of a software component quite complex. The costs associated with the additional complexity that must be built into software components can be justified because software components are developed once and then used many times.
  • the invention uses a different method to realise the goal of
  • Each application is encapsulated within a Topic.
  • an application uses a set of Library services to reference the appropriate resources within the Topic containing the software component. If the Library determines that the referenced Topic is located within another Library, then a similar set of Network services are used to forward the request to the remote Library. Using this process, neither the application nor the software component needs to make any special provisions to support remote Topic references. It is still possible to implement proxies and handlers within the embodiment by designing an instance of a software component that will act as a proxy for another remote instance of the software component.
  • Topic ID is a globally unique identifier for a distributed application
  • an application can let the Library (or Network) search for an instance of a specific Topic ID. For example, an application could reference a database containing customer information by using only the related Topic ID. If an instance of the database were available within the local Library, it would be used to satisfy the reference. If the local instance of the database could not satisfy the request directly, then the local instance could act as a proxy for a remote instance of the database. If a local instance of the Topic could not be found, then the Library could search through an ordered list of corporate Libraries to find an appropriate remote instance of the database. Platform Independence
  • a "resource class” is defined as a coherent and consistent set of system resources such as a specific set of Operating System services, a specific LAN interface, or the set of Internet (or Intranet) documents.
  • the invention allows a single Topic to encapsulate various resources belonging to an arbitrary set of resource classes.
  • a platform independent resource class is the set of Internet (or Intranet) documents.
  • Anyone with an appropriate WWW browser can view any Internet (or Intranet) document regardless of the platform on which it was developed.
  • the popularity of the WWW has clearly demonstrated the value of platform independent resource classes.
  • the embodiment also envisages provisions for the distribution of Topics to Libraries that are implemented on incompatible platforms (in this regard a "platform" may be described as an integrated set of resource classes).
  • One solution is to define a platform independent standard for Topics. Such a standard is defined by limiting the resources encapsulated within a Topic to a set of platform independent resource classes. For example, a platform independent standard might require that all of the active components of a Topic be developed using Java (Sun Microsystem's platform independent language).
  • Topics that reconfigure themselves as they are published from one platform to another. From the perspective of the end user, such Topics would appear to be platform independent. However, by actively reconfiguring themselves for various platforms, these Topics could optimise their performance for the unique resource classes associated with each platform. For example, a Windows 95 gateway could be created by publishing an instance of a database on a mainframe Library to a Windows 95 Library.
  • the invention would also allow for individual Topics to be configured as virtual machines. Each library could then support several different types of virtual machines; some that were platform independent and some that were platform specific. Topics defined to run within platform independent virtual machines could be published or routed across heterogeneous platforms. Resources within the Topic would operate within a consistent virtual environment on all physical platforms. The boundary around the Topic (used to encapsulate the associated resources) would map the internal (virtual) resources to external (real) resources. The boundary could map the Topic's internal file structure into the platform's file structure, or map the Topic's internal methods ino a set of distributed methods. For example, the OpenTopic method is designed to provide a consistent external entry point to a selective set of a Topic's internanal methods. Library Organisation
  • Libraries will be built to serve some purpose within some corporate context.
  • the purpose and the corporate context associated with a Library define a natural organisational structure for the Topics contained within the Library at any specific point in time, but both the purpose and the corporate context for the Library may change over time.
  • the invention allows Libraries to organise Topics into hierarchical structures as shown in Figure 4.
  • the root 7 of a hierarchical structure is a Topic containing the core components and the configuration files for the Library itself (in this respect a Library is just another common software component).
  • Topics 8, 9, 10 and 11 are organised as descendants of the root Topic (the Library) according to the purpose and the corporate context of the Library, as shown in Figure 6.
  • the term "Ancestor” is used to identify the parent of a Topic, and the term “Direct Descendent” is used to describe a child of a Topic.
  • the invention allows Libraries to organise Topics into any structure (hierarchical, matrix, and so on) since the Addressing Standard does not rely on the Library structure to locate Topics.
  • a Library could even support multiple organisational structures simultaneously in order to offer various end users a customised "view" of the Library. For example, an end user's view of a Library could exclude any Topics for which the end user did not have a sufficient level of access authority. Since the Addressing
  • Versions may be created by copying Topics, or version control may be implemented within Topics.
  • the idea of copying a Topic to create a new version is the rough equivalent of copying a file to create a new version.
  • a considerable effort must be devoted to the coordination of the various versions of the Topic (either manually or through the implementation of a specialised application). If this approach is used, dependent relationships may be defined between the various versions of a Topic to simplify the associated coordination effort.
  • a simpler alternative is to implement version control within a Topic.
  • a Topic may contain a document with version control.
  • a specific version of the document is contained within a single compound file, or a single sub-directory. As new versions of the document are created they are stored in additional compound files or sub-directories within the same Topic.
  • the Topic is also used to consolidate and store any comments submitted with respect to the various versions of the document. The distribution of such a Topic creates a new instance (or update an existing instance) containing the latest version of the document, the older versions of the document, and any associated comments.
  • Version control for software components is handled differently.
  • a software development environment is set up as a Library that generates new Topics to contain new software components and applications. Multiple versions of each software component (or application) are then supported within each individual Topic. The distribution of such a Topic creates a new instance (or upgrade an existing instance) containing the latest version of the software component (or application).
  • All of the source code, executable modules, documentation, and installation procedures for a specific software component are encapsulated within a single Topic. This approach simplifies the development of test environments and improves component reliability since the Topic ID and names associated with each software component is constant from its first implementation through to its distribution.
  • Java Silicon Microsystems platform independent language
  • Java is an example of an Internet (or Intranet) technology that builds a fire-wall within an Operating System.
  • Java is an interpreted language that requires the interpreter installed on each platform to include a security fire-wall.
  • the expanding popularity of Java shows how the implementation of security barriers within an Operating System can facilitate information exchange.
  • the problem with Java is that the fire -wall implemented within the Java interpreter is only effective for Java applications. The Java fire-wall cannot be used to isolate malicious applications written in other languages.
  • the invention supports an alternative method for the implementation of security barriers within Operating Systems that works equally well for all sorts of applications.
  • Libraries could identify Topics either as “Trusted Topics" or "Suspect Topics".
  • a Topic will be identified as a Trusted Topic if it was distributed from a Trusted Topic on a Trusted Library (or otherwise identified as a Trusted Topic by an authorised end user).
  • Each Library maintains a short list of Trusted Libraries from which it accepts the distribution of trusted applications and software components.
  • the set of Trusted Libraries defined by a Library is the Trusted Domain for the Library. Any Topic that was not distributed from a Trusted Topic on a Trusted Library is identified as a Suspect Topic.
  • a Suspect Topic is allowed to modify the resources contained within its own name space and within the name spaces of any Topics that lists the Suspect Topic as a Named Dependent. However, the Suspect Topic is not allowed to update the resources contained in any other Topic. These restrictions effectively minimise the damage done to a Library, or to a Network by a malicious Topic.
  • Suspect Topics it is also possible to identify some trusted applications as Suspect Topics to contain known security exposures within an application.
  • a WWW browser implemented as a Suspect Topic could enable support for active components (Java, ActiveX, and so forth) that pose a known security risk.
  • active components Java, ActiveX, and so forth
  • the security risks would be limited to the name space associated with the WWW browser (which could easily be deleted and re-constructed if it was maliciously corrupted).
  • Topics The ability to automate the construction of distributed applications is achieved by allowing each Topic to manage its own distribution. To this end, a traditional object oriented approach is used to manage the distribution of Topics. In addition to the resources encapsulated within Topics, each Topic implement a set of functions (called "Methods") to control its own distribution. These functions manage the replication of the Topic within a Library, and the distribution of Topics to other Libraries. Methods are implemented for Topics to automate the following basic activities:
  • QNID is used to describe a Compound Address.
  • the instances of a specific Topic may define a distributed application designed to manage a workgroup forum. While it should be possible to copy the instance of the Topic that contains the forum, there is no reason to copy an instance that merely provides a point of access for the forum since it would not make sense to have two points of access to the same forum within a single Library.
  • Each Topic in a network may act as a component of a distributed application, and manage its own distribution. Because of the unique characteristics of a Topic, new Topics cannot be created by a Library without some sort of template.
  • the "Copy Topic" method allows any existing Topic to be used as a template for the creation of a new Topic.
  • the Topic is dependent on a common software component that supports many different types of forums, and contains an appropriate set of configuration parameters for a sales forum.
  • the Copy Topic method implemented for the sales forum produces a sales forum for another sales effort.
  • the new sales forum is also dependent on the common software component, and inherits the appropriate configuration parameters from the existing sales forum.
  • Common software components could also be used as a template for one or more classes of Topic. Since there is no reason to keep two copies of a software component within a single Library, the Copy Topic method implemented for a software component could be used to produce dependent Topics.
  • the Copy Topic method for a common software component could create several different classes of forums.
  • the Copy Topic method is implemented in two parts:
  • BOOL CopyTopic ( const char* cQNID, char* cNewQNH), DWORD iSizeofNewQNID ); BOOL InitAfterCopyTopic( const char* cOldQNID );
  • a cQNID is the QNID of the Ancestor for the new Topic
  • cNewQNID is a buffer to hold the QNID generated by the Copy Topic method for the new Topic
  • iSizeofNewQNID is the length of the cNewQNID buffer
  • cOldQNID is the QNID of the original Topic.
  • the Move Topic method is vised to change the hierarchical structure associated with a Library.
  • the Move Topic method is implemented in two parts:
  • a cQNID is the QNID of the new Ancestor for the Topic
  • cOldQNID is the QNID of the Topic that was moved.
  • the Move Topic method To move a Topic, the Move Topic method implemented for the Topic is called.
  • the Move Topic method removes the Topic as a direct descendent of its current ancestor, and installs the Topic as a direct descendent of the Topic identified by cQNID.
  • the UpdateAfterMoveTopic method is then called for all of the Topics that were moved. Note that when a Topic is moved, all of its descendants are also moved. Delete Topic
  • the Delete Topic method is used to delete a Topic and all of its descendants.
  • the Delete Topic method is implemented in two parts: BOOL BeforeDeleteTopic( void );
  • cQNID is the QNID of the Topic to be deleted.
  • the DeleteTopic method implemented for the Topic's ancestor is called.
  • the BeforeDeleteTopic function is then called for all of the Topics to be deleted. If no errors are found, the Topic and all of its descendants are then deleted. Topics do not delete themselves because many Operating Systems do not allow a function to delete the file from which the function was loaded. Topics can still use the BeforeDeleteTopic method to perform any required processing before they are deleted. By returning an error code, the BeforeDeleteTopic method can also be used by a Topic to block its own deletion. Open Topic
  • the Open Topic method is used to activate the application that is associated with a Topic.
  • the Open Topic method for a document with version control could activate a application designed to manage the various versions of the document.
  • eole req is a structure which describes how the Topic should be opened (eole req will vary based on the value of iMethod)
  • eole int is a structure in which the pointer(s) to the opened Topic are returned (eole int will vary based on the value of iMethod).
  • Publish Topic The Publish Topic method is vised to distribute a Topic to another
  • the Publish Topic method assumes that the original instance of the Topic should remain on the source Library and that a copy should be distributed to the target Library.
  • the Publish Topic method is actually implemented in four parts: BOOL BeforePublishTopic( QN NEW TOPIC DATA* );
  • cLocation is the location of the target Library (cLocation will vary based on the value of iMethod)
  • cQNID is the QNID of the default ancestor for the published Topic
  • cNewLocation is the location of the Topic that was created or updated by the PublishTopic method
  • iSizeofNewLocation is the size of the buffer allocated for cNewLocation
  • QN NEW TOPIC DATA is a structure defined as follows: typedef struct ⁇
  • bExistingTopic is TRUE if an instance of the Topic exists on the target Library and FALSE is an instance does not exist on the target Library
  • cName is the name of Topic on the target Library (this name may be different from the name of the original Topic)
  • cTargetLocation is the location associated with the instance of the Topic in the target Library
  • cSourceLocation is the location associated with the instance of the Topic in the source Library
  • cQNIDAncestor is the QNID of the ancestor to the Topic on the target Library (this would be the default ancestor if iExistingTopic is FALSE or the ancestor of the existing instance if iExistingTopic is TRUE).
  • the PublishTopic method implemented for the Topic is called.
  • the PublishTopic method assumes that the PublishTopic methods for each Named Dependent have already been executed.
  • the PublishTopic method will then check the target Library to see if an instance of the Topic already exists. If an instance of the Topic already exists on the target Library then the BeforePublishTopic method implemented for the existing instance is called; the contents of the existing Topic are updated; and UpdateAfterPublishTopic method for the updated Topic is called.
  • InitAfterPublishTopic method is called for the new Topic; and then the UpdateAfterPublishTopic method is called.
  • the InitAfterPublishTopic function is used to add the new Topic to the target Library.
  • a Library cannot update the configuration files of another Library directly since different Libraries may be implemented on different platforms and may use different formats for their configuration files.
  • the Restore Topic method is identical to the Publish Topic method except that it restores a Topic to a previous version instead of updating the Topic to a more recent version.
  • the Restore Topic method is designed to work with the Publish Topic method so that Topics may be backed-up and recovered by "publishing" the Topics to another library and then "restoring" them as necessary. For example, if the original instance of a Topic were corrupted or deleted, the Restore Topic method could be used to regenerate the original instance from a published instance.
  • the Restore Topic method will not be supported when a published instance of a Topic contains insufficient information to regenerate the original instance.
  • the Restore Topic method is actually implemented in four parts:
  • BOOL RestoreTopic ( const DWORD iMethod, const char* cLocation, const char* cQNID, TCHAR* cNewLocation, DWORD iSizeofNewLocation) ; BOOL InitAfterRestoreTopic( QN NEW TOPIC DATA* );
  • iMethod is the method to be used to restore the Topic
  • cLocation is the location of the target Library (cLocation will vary based on the value of iMethod)
  • cQNID is the QNID of the default ancestor for the restored Topic
  • cNewLocation is the location of the Topic that was created or updated by the Restore Topic method
  • iSizeofNewLocation is the size of the buffer allocated for cNewLocation
  • QN NEW TOPIC DATA is a structure in the format specified for the Publish Topic method.
  • Update Topic The Update Topic method is used to control the automatic distribution of updates for Topics.
  • Update Topic method When the Update Topic method is executed, the Topic checks to see if an update is available for distribution. If UpdateTopic returns TRUE then iMethod, cLocation and cQNID identify the remote instance of the Topic containing the update so that the Publish Topic method may be executed to complete the update process.
  • the Update Topic method is implemented as follows:
  • iMethod is the method to be used to restore the Topic
  • cLocation is the location of the source Library (cLocation will vary based on the value of iMethod)
  • iSizeofLocation is the size of the buffer allocated for cLocation
  • cQNID is the QNID of the source Topic
  • iSizeofQNID is the size of the buffer allocated for cQNID.
  • the Route Topic method is vised to distribute a Topic to another Library.
  • the Route Topic method assumes that the original instance of the Topic should be moved to the target Library, and a copy of the Topic should be left on the source Library.
  • iMethod is the method to be used to route the Topic
  • cLocation is the location of the target library (cLocation will vary based on the value of iMethod)
  • cQNID is the QNID of the default ancestor for the routed Topic
  • cNewLocation is the location of the Topic that was created or updated by the RouteTopic method
  • iSizeofNewLocation is the size of the buffer allocated for cNewLocation
  • QN NEW TOPIC DATA is a structure in the format specified for the Publish Topic method.
  • the RouteTopic method implemented for the Topic is called.
  • the RouteTopic method assumes that the PublishTopic methods for each Named Dependent have already been executed.
  • the RouteTopic method will check the target Library to see if an instance of the Topic already exists. If an instance of the Topic already exists on the target Library then the BeforeRouteTopic method implemented for the existing instance is called; the contents of the existing Topic are updated; and UpdateAfterRouteTopic method for the updated Topic is called.
  • InitAfterRouteTopic method is called for the new copy; and then the UpdateAfterRouteTopic method is called.
  • the InitAfterRouteTopic function is used to add the new Topic to the target Library.
  • a Library cannot update the configuration files of another Library directly since different Libraries may be implemented on different platforms and may use different formats for their configuration files.
  • a global address is defined for each instance of a Topic as the combination of a Library ID, and a Topic ID.
  • Two forms of global addresses are defined: a Relative QNID in which the Library ID defaults to the local Library, and an Absolute QNID in which the Library ID is stated explicitly.
  • addresses are defined in two other basic formats: Relative Addresses and Named Dependents. Compound Addresses are formed by chaining together global addresses, Relative Addresses and Named Dependents.
  • Relative Address may be used for this purpose Perhaps the most common use of Relative Addresses will be for the generation of Internet (or Intranet) documents. Relative Addresses can be used to generate Internet documents that support end user navigation through the active views defined for a Library. The following Relative Addresses will be defined for hierarchical views: ⁇ -Topic> - The active Topic.
  • ⁇ -Ancestor > - The ancestor for the Topic in the active view.
  • ⁇ -Library > - The root Topic of the active view. Note that there is no way to define a Relative Address for a direct descendent since there is generally more then one direct descendent defined for each Topic.
  • a Topic is said to be dependent on a second Topic if the second Topic is defined by the first Topic as a Named Dependent, where a Named Dependent is a relationship between a name and a compound address.
  • the name associated with a Named Dependent may be used as an address.
  • a Topic has been defined as an encapsulated set of system resources.
  • Each resource within a Topic has a name that is only valid within the context (or name space) defined by the Topic.
  • each Topic could contain a file named "index.htm" that served as an entry point for its associated Internet (or Intranet) documents.
  • the Topic references the "index.htm” file contained in the other Topic.
  • Resources in other Topics are referenced by using the compound address for the Topic as a prefix.
  • a link to the Internet (or Intranet) documents associated with a Topic's ancestor is defined as follows: ⁇ ancestor > ⁇ ndex.htm. Special Purpose Resource Classes
  • Named Dependents are a relationship between a name and a Compound Address.
  • the Compound Addresses identified as Named Dependents describe a set of Topics on which the active Topic is dependent.
  • a Topic containing a document ordinarily includes a word processing system as a Named Dependent.
  • a Tag is a relationship between a name and a short text phrase. Tags are used primarily by applications to define short text phrases that are to be inserted into the Internet (or Intranet) documents generated for a Topic. The following standard Tags will be defined for all Topics: Name - the name of the Topic.
  • a Named File is a relationship between a name and a path. In a full implementation, all of the files associated with a Topic will be encapsulated within the Topic and there would be no need for Named Files. However, when the invention is implemented on top of a legacy system, there may be a need to include one or more files within a Topic without actually moving the files.
  • a Named File identifies a file that is encapsulated within a Topic but has not yet been embedded within the Topic's File System. Copies of any Named Files are embedded within the remote instances of the Topic, when the Topic is Published or Routed.
  • the following method will be used to embed the Named Files defined for a Topic: BOOL EmbedNamedFiles( void );
  • name space management is a fairly simple matter since there is no need to translate names.
  • implementations that are built on top of legacy systems will need to continually convert names from the Topic's name space to one or more legacy name spaces.
  • Name translations are made even more complex since legacy names (such as LAN based Directory Structures) often vary according to a specific end user's workstation configuration.
  • BOOL SetNamedItem ( const char* cRClass, const char* cTopicName, const char* cValue);
  • cRClass is the name of a specific Resource Class
  • cTopicName is the name of a resource defined in the Topic's name space
  • iSizeofName is the size of the buffer defined for cTopicName
  • cReferenceName is required as a reference point for some name space translations
  • cValue is the value associated with cTopicName
  • iSizeofValue is the size of the buffer defined for cValue.
  • the following resource classes will be supported:
  • Relative QNID the short form QNID used within Libraries. Absolute QNID - the long form QNID used within Networks. Tag - relationships between names and short text phrases. Named Dependent - relationships between names and dependent
  • Direct Descendent - a direct descendent associated with a Topic.
  • Named File relationships between names and files.
  • Relative Path - a path for a file that is relative to a reference path.
  • Absolute Path - a fully qualified path for a file.
  • the GetNamedltem and SetNamedltem methods will not be defined for a Topic's Direct Descendants. Also, the SetNamedltem method will not be defined for Relative Paths, Absolute Paths, Relative QNID's, or Absolute QNID's. At least for the initial implementations, the items returned by GetFirstNamedltem and GetNextNamedltem will not include items with standard names. For example, the items returned by GetFirstNamedltem and GetNextNamedltem for the "Tag" resource class will not include the Name, Address, E-mail Address or any other standard Tag defined for a Topic.
  • Internet (or Intranet) Documents As previously discussed, the initial implementations will include the set of Internet (or Intranet) documents as a platform independent resource class. This will allow Libraries to be used as platform dependent Intranet publishing tools. The idea is that users with no special expertise in Intranet technologies could produce Intranet documents as a natural by-product of their day-to-day activities. Also, since Topics can contain applications of arbitrary complexity, the implementation should not reduce the productivity of these users.
  • Styles are sets of Internet (or Intranet) documents that include Pre-processor Commands.
  • Each Library includes a preprocessor that integrates Library organisation, Topic Styles, and content to produce a set of Internet (or Intranet) documents for a Topic.
  • the Pre-processor Commands are defined as follows:
  • the initial implementations will automatically run the pre-processor for each Topic when the contents of the Topic are updated, or the organisation of the Library is changed.
  • This approach will produce a set of static Internet (or Intranet) documents that may be viewed at any time by existing Internet (or Intranet) browsers. This is a satisfactory approach given that the initial implementations will only support a single view for each Library. It would be impossible to coordinate all the different versions of the static Internet (Intranet) documents that would be required to support multiple views.
  • An alternative approach supports multiple views.
  • One such alternative approach, called Dynamic Pre-processing requires that the preprocessor be run as individual documents are accessed across the network.
  • the ProcessStyles method takes the styles that have been defined for a Topic and uses them to generate a set of Internet (or Intranet) documents for the Topic.
  • the UpdateStyles method replaces the styles that have been defined for a Topic with the default styles for that class of Topic.
  • the default styles are stored with the Template that was used to create the Topic.
  • UpdateTemplate method replaces the Templates associated with a Topic with the default Templates for that class of Topic. These Templates are used to create and update Topics through the CopyTopic and PublishTopic methods.
  • the invention allows the Styles and Templates for a Topic to be customised to meet the specific requirements of an individual author.
  • the UpdateStyles and UpdateTemplate methods provide a means to undo these custom changes.
  • the UpdateStyles and UpdateTemplate methods also provide a means to distribute enhanced Styles and Templates that would not otherwise be distributed through the PublishTopic method.
  • the invention has been described with reference to a preferred embodiment it should be appreciated that it could be embodied in other forms.
  • the invention could be embodied as a general purpose corporate network, a public network (similar in scope to the World Wide Web (WWW)), or a network of low cost dynamically reconfigured workstations (commonly called "Network Computers").

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Système d'exploitation décentralisé pour un réseau, comprenant une collection de bibliothèques, chacune d'entre elles étant dans une implantation quelconque et étant associée à une série d'exemples concernant diverses matières. Chaque matière est un ensemble encapsulé de ressources du système et possède un système de fichiers contenant des applications, des bases de données, des composants logiciels ou toute autre série de fichiers reliés de façon logique. Il ne doit exister qu'un seul exemple par matière dans n'importe quelle bibliothèque donnée et à n'importe quel moment donné. Il peut y avoir des exemples concernant la même matière dans des bibliothèques différentes. Une norme d'adressage qui nécessite un premier et un deuxième identificateurs globalement uniques est appliquée aux bibliothèques et aux matières. Le premier identificateur globalement unique est utilisé pour identifier chaque bibliothèque. Le deuxième est utilisé pour identifier chaque matière. Tous les exemples d'une Matière auront le même identificateur de matières, quelle que soit la bibliothèque dans laquelle ils se trouvent. Il existe des protocoles d'accès en dehors des bibliothèques pour permettre l'interaction entre les applications, les composants logiciels et les documents mémorisés en tant que Matières dans des bibliothèques différentes.
PCT/AU1997/000840 1996-12-12 1997-12-10 Systeme d'exploitation decentralise WO1998026355A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CA002274544A CA2274544A1 (fr) 1996-12-12 1997-12-10 Systeme d'exploitation decentralise
AU52181/98A AU706157C (en) 1996-12-12 1997-12-10 A distributed operating system
JP52191198A JP3355194B2 (ja) 1996-12-12 1997-12-10 分散オペレーティング方法
EP97946964A EP0956529A1 (fr) 1996-12-12 1997-12-10 Systeme d'exploitation decentralise

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AUPO4188A AUPO418896A0 (en) 1996-12-12 1996-12-12 A distributed operating system
AUPO4188 1996-12-12

Publications (1)

Publication Number Publication Date
WO1998026355A1 true WO1998026355A1 (fr) 1998-06-18

Family

ID=3798496

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU1997/000840 WO1998026355A1 (fr) 1996-12-12 1997-12-10 Systeme d'exploitation decentralise

Country Status (6)

Country Link
EP (1) EP0956529A1 (fr)
JP (1) JP3355194B2 (fr)
CN (1) CN1246186A (fr)
AU (1) AUPO418896A0 (fr)
CA (1) CA2274544A1 (fr)
WO (1) WO1998026355A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002084527A1 (fr) * 2001-04-12 2002-10-24 Fifth Web Limited Systeme et procede facilitant des transformations d'informations
WO2011064616A1 (fr) * 2009-11-25 2011-06-03 Freescale Semiconductor, Inc. Procédé et système permettant d'accéder à une fonctionnalité fournie par des ressources à l'extérieur d'un environnement de système d'exploitation

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1299519C (zh) * 2004-01-12 2007-02-07 华为技术有限公司 一种utran协作寻呼中的分布式数据存储处理方法
CN103761151B (zh) * 2013-12-31 2017-01-11 上海华为技术有限公司 一种多模通信设备的资源管理系统及方法
CN111684766A (zh) * 2019-05-23 2020-09-18 深圳市大疆创新科技有限公司 分布式系统中通信协议版本号的更新
CN115543661B (zh) * 2022-10-26 2023-08-11 科东(广州)软件科技有限公司 数据分发装置及分发方法、车辆电子操作系统的架构

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992021186A1 (fr) * 1991-05-24 1992-11-26 Bell Atlantic Network Services, Inc. Procede et systeme d'acces aux ressources reparties dans un reseau numerique a integration de services (rnis)
US5471615A (en) * 1991-12-26 1995-11-28 International Business Machines Corporation Distributed data processing system having front-end and back-end computers with different operating systems

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62284439A (ja) * 1986-06-02 1987-12-10 Fujitsu Ltd 通信ネツトワ−ク装置
EP0520749B1 (fr) * 1991-06-28 1996-12-18 Digital Equipment Corporation Méthode et appareil pour la gestion de groupes de systèmes d'ordinateurs d'un réseau
EP0520709A3 (en) * 1991-06-28 1994-08-24 Digital Equipment Corp A method for providing a security facility for remote systems management
JPH07114519A (ja) * 1993-10-19 1995-05-02 Hitachi Ltd 異種業務管理方法
SE515344C2 (sv) * 1994-02-08 2001-07-16 Ericsson Telefon Ab L M Distribuerat databassystem
JP3484779B2 (ja) * 1994-10-12 2004-01-06 富士ゼロックス株式会社 名前サービス方式及び名前サービス方法
JPH08255105A (ja) * 1995-03-16 1996-10-01 Hitachi Ltd ステージングファイルの作成方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992021186A1 (fr) * 1991-05-24 1992-11-26 Bell Atlantic Network Services, Inc. Procede et systeme d'acces aux ressources reparties dans un reseau numerique a integration de services (rnis)
US5471615A (en) * 1991-12-26 1995-11-28 International Business Machines Corporation Distributed data processing system having front-end and back-end computers with different operating systems

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PROCEEDING OF THE 12TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, Published: Los Alamitos, CA, USA, 1992, IEEE COMPUTER SOCIETY PRESS, "Naming & Addressing of Objects without Unique Identifiers", pp. 581-588. *
PROCEEDINGS OF THE SECOND INTERNATIONAL WORKSHOP ON OBJECT ORIENTATION IN OPERATING SYSTEMS, Published: Los Alamitos, CA, USA, 1992, IEEE COMPUTING SOCIETY PRESS, "Distribution + Persistence = Gbbal Virtual Memory, A Position Paper", pp. 96-99. *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002084527A1 (fr) * 2001-04-12 2002-10-24 Fifth Web Limited Systeme et procede facilitant des transformations d'informations
WO2011064616A1 (fr) * 2009-11-25 2011-06-03 Freescale Semiconductor, Inc. Procédé et système permettant d'accéder à une fonctionnalité fournie par des ressources à l'extérieur d'un environnement de système d'exploitation
US9063805B2 (en) 2009-11-25 2015-06-23 Freescale Semiconductor, Inc. Method and system for enabling access to functionality provided by resources outside of an operating system environment

Also Published As

Publication number Publication date
JP2000505921A (ja) 2000-05-16
CN1246186A (zh) 2000-03-01
CA2274544A1 (fr) 1998-06-18
AUPO418896A0 (en) 1997-01-16
JP3355194B2 (ja) 2002-12-09
EP0956529A1 (fr) 1999-11-17

Similar Documents

Publication Publication Date Title
KR100959473B1 (ko) 저장 플랫폼과 애플리케이션 프로그램 사이의 애플리케이션프로그래밍 인터페이스
KR101024730B1 (ko) 항목 기반 저장 플랫폼 내에서 데이터 모델링하기 위한시스템 및 방법
US7555497B2 (en) Systems and methods for separating units of information manageable by a hardware/software interface system from their physical organization
US7428546B2 (en) Systems and methods for data modeling in an item-based storage platform
US7483915B2 (en) Systems and method for representing relationships between units of information manageable by a hardware/software interface system
US8131739B2 (en) Systems and methods for interfacing application programs with an item-based storage platform
US7739316B2 (en) Systems and methods for the implementation of base schema for organizing units of information manageable by a hardware/software interface system
US7349913B2 (en) Storage platform for organizing, searching, and sharing data
US6484177B1 (en) Data management interoperability methods for heterogeneous directory structures
EP0987636A2 (fr) Interaction avec un service au moyen de propriétés attachées à des documents
US20050050053A1 (en) Systems and methods for the implementation of a core schema for providing a top-level structure for organizing units of information manageable by a hardware/software interface system
US20050055354A1 (en) Systems and methods for representing units of information manageable by a hardware/software interface system but independent of physical representation
Van Der Hoek et al. A testbed for configuration management policy programming
KR20070083241A (ko) 하드웨어/소프트웨어 인터페이스 시스템에 의해 관리가능한정보 단위들에 대한 동기화 스키마들의 구현을 위한시스템들 및 방법들
EP0956529A1 (fr) Systeme d'exploitation decentralise
AU706157C (en) A distributed operating system
AU706157B2 (en) A distributed operating system
JP4394644B2 (ja) データの編成、検索、および共有のためのストレージプラットフォーム
AU727275B2 (en) Computer software

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 97181762.6

Country of ref document: CN

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 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 AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AT BE CH DE DK ES FI FR GB GR IE IT

WWE Wipo information: entry into national phase

Ref document number: 52181/98

Country of ref document: AU

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1997946964

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2274544

Country of ref document: CA

Ref document number: 2274544

Country of ref document: CA

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 09331080

Country of ref document: US

WWG Wipo information: grant in national office

Ref document number: 52181/98

Country of ref document: AU

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 1997946964

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1997946964

Country of ref document: EP