WO2009030490A1 - Computerimplementiertes system und verfahren zum strukturierten speichern von informationen - Google Patents

Computerimplementiertes system und verfahren zum strukturierten speichern von informationen Download PDF

Info

Publication number
WO2009030490A1
WO2009030490A1 PCT/EP2008/007277 EP2008007277W WO2009030490A1 WO 2009030490 A1 WO2009030490 A1 WO 2009030490A1 EP 2008007277 W EP2008007277 W EP 2008007277W WO 2009030490 A1 WO2009030490 A1 WO 2009030490A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer
objects
implemented
base
information
Prior art date
Application number
PCT/EP2008/007277
Other languages
English (en)
French (fr)
Inventor
Christof Dallermassl
Christian Erich Fessl
Original Assignee
Unycom Information Technology Services Gmbh
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 Unycom Information Technology Services Gmbh filed Critical Unycom Information Technology Services Gmbh
Publication of WO2009030490A1 publication Critical patent/WO2009030490A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data

Definitions

  • the invention relates to a computer-implemented system and method for the structured storage of information in order to process it further.
  • the invention relates to the field of creation, processing, structuring and distribution of information, in particular in the form of knowledge, by means of computers and software.
  • An important field of application for the solution according to the invention is that of business applications or business applications in the client-server area, ie in that area in which individual users (clients) access a central computer (server) in order to exchange or further process information.
  • An example of such a business application would be the management program of a large insurance company through which employees can exchange customer data.
  • Further fields of application are applications which are operated purely on personal computers (PCs) and / or operating systems for such personal computers and other computers.
  • the invention is based on the object of providing a computer-implemented system and method for the structured storage of information, in which the above-mentioned problems have been overcome.
  • the system and method are intended to provide software products to a plurality of users who have very short database access times and can handle a large amount of information within applications without the information breach described above occurring.
  • the object is achieved with a computer-implemented system according to claim 1, according to claim 7 and claim 9.
  • the object is achieved with a computer-implemented method according to claim 19, according to claim 25 and claim 27.
  • a computer-implemented system and method for the structured storage of information in order to be able to further process it, in which all the information is or are structured based on base objects or a single type of base object, each of which is assigned a unique identifier which may each be stored in a computer-implemented manner, each of which may respond to a computer-implemented request, and of which at least one base object may assume at least one capability during the operation of the computer-implemented system and may discard that capability.
  • the at least one base object can assume and store the ability to carry and / or be assigned information and / or to understand and / or secure its change and / or be evaluated and / or processed.
  • the at least one base object has been made more adaptive to a task by accepting and dropping capabilities during operation of the computer-implemented system, in particular to an object containing other objects, to a content-bearing object, to an object having only properties, to an object joining two objects or to an object managing a task.
  • the at least one base object can also carry a property and / or a capability which represents an adaptation of a more general property or capability.
  • the at least one base object has been assembled from a plurality of objects, which together provide increased benefit, in particular has been assembled from a plurality of different basic elements.
  • the at least one base object may carry a property and / or capability which represents a combination of several more general properties or capabilities.
  • the computer-implemented system and method according to the invention for the structured storage of information in order to be able to further process it, in which all the information is structured on the basis of basic objects to which a unique identifier is assigned, which can each be computer-implemented stored, each on a computer-implemented
  • a unique identifier is assigned
  • the computer-implemented system and method for the structured storage of information in order to be able to further process it, in which all the information is structured on the basis of basic objects to which a unique identifier is assigned, which can each be computer-implemented stored, each on a computer-implemented
  • At least one base object which is developed into a connection object and can connect two or more basic objects.
  • the at least one connection object may accept and deposit the ability to be addressed, secured, rated, weighted, carrying information, tracking its change, being monitored for its change and / or expiration to be subject.
  • a computer-implemented system and method for structured storage of information in order to be able to further process it, in which all the information is structured on the basis of basic objects, each assigned a unique identifier, which can each be stored computerimplemented, depending on a computer-implemented
  • Answer request according to the invention with at least one Basisob- designed to change another base object during operation of the computer-implemented system.
  • a user of the computer-implemented system is represented with the at least one "active" base object.
  • the at least one base object according to the invention is furthermore preferably designed so that it is subject to a predefined sequence during the operation of the computer-implemented system.
  • Each relevant step of the predefined sequence is thereby preferably defined by means of at least two states and at least one status transition, of which the states are or are mapped on the basis of base objects which carry information and the status transition is or will be based on a base object that connects two basic objects as a connection object.
  • the at least one base object is inventively preferably configured to log its use during operation of the computer-implemented system.
  • each relevant action of the use can be logged starting from a base object which connects the used base object and its user as a connection object.
  • a plurality of base objects are also arranged to be arranged according to the assumed ability, the way in which they are composed of a plurality of objects, the way in which several general properties are compiled, their predefined sequence and / or their logged use.
  • an evaluation with regard to the resulting orders is preferably possible, in particular as to which order results between basic objects representing users.
  • a tool for cooperation between users of the computer-implemented system can be represented.
  • the tasks in software development resulting in the field of database technology and knowledge management are solved according to the invention starting from a novel perspective.
  • the view can be reduced according to the invention to some basic basic features which allow new and different access to the development of computer-implemented systems and methods, in particular of software products.
  • the solution according to the invention is based on the recognition that many computer-implemented systems and methods, in particular many complex business applications, basically almost always consist of simple applications whose basic functions and their behavior are usually very similar or the same.
  • Some of these "basic applications” include, for example, managing documents, searching for documents, processing forms in a workflow, creating a calendar or list of tasks, reviewing and sharing information, and managing access rights.
  • the basic applications of known systems repeatedly behave in different ways and with different user interfaces, even if they are offered by just one manufacturer. This makes the users unnecessary to learn and leads to more errors, especially if the basic applications are just a little bit different. The reason for this often lies in the fact that the basic applications are repeatedly reprogrammed with each computer-implemented system. Often the programming of software products is oriented too close to the current customer requirements and then even "simple" functions of storing and retrieving data from databases, the management of users and their access rights or the administration of documents and tasks are reprogrammed.
  • the solution according to the invention pursues the approach of working with less and thus better to be surveyed program code, in which, in particular, the implemented basic applications are easier to survey. Furthermore, according to the invention, it will be easier to fix new errors altogether Integrate functions and distribute these tasks among multiple programmers. Development time can be saved, automatic tests developed and the quality of the program code can be increased in the long term. At the same time, the costs of further development and maintenance of the resulting software products can be reduced in the long term.
  • the solution according to the invention rejects the classical approaches of software development and system architecture. Because even with a clean modeling of a layer model for data persistence in a database, a business logistics and a user interface, only the desired goal can not be achieved.
  • objects are considered to be something that has predetermined properties and methods and can be derived to be further developed.
  • these possibilities of conventional objects of a database ultimately lead to the problems mentioned above and not to their solution.
  • the solution according to the invention structures objects within a data structure differently.
  • This different object structure makes it possible to map all information and, in particular, all information exchange within a computer-implemented system and method.
  • the computer-implemented system and method according to the invention also makes it possible to take account of information which has arisen purely through the use of data.
  • FIG. 1 shows a first diagram of the so-called principal feature Capability
  • FIG. 2 shows a second diagram of the so-called principal feature Capability
  • FIG. 3 shows a diagram of the so-called fundamental characteristic Evolution
  • FIG. 4 shows a first diagram of the so-called principal feature Composition 5 shows a second diagram for the so-called principal feature Composition
  • FIG. 6 shows a third diagram for the so-called principal feature Composition
  • FIG. 7 shows a first diagram for the so-called principal feature Connection
  • FIG. 8 shows a second diagram for the so-called principal 9 shows a first diagram for the so-called principal feature Usage
  • FIG. 10 shows a second diagram for the so-called basic characteristic Usage
  • FIG. 11 shows a third diagram for the so-called principal characteristic Usage
  • FIG. 12 shows a fourth diagram for the like 13 is a first diagram of what is known as the basic feature Swarm
  • Fig. 14 is a second diagram of the so-called principal feature Swarm
  • Fig. 15 is a diagram of the
  • An exemplary embodiment of a computer-implemented system according to the invention and method for structured storage of information in order to be able to further process it is designed in the form of an object-oriented database software product which is stored on a storage medium, such as a memory chip of a server or personal computer or a portable data carrier is.
  • the system and method provide an executable software application in combination with a server and / or personal computer.
  • all information is structured from base objects (which we call base objects), one each a unique identifier that can be stored per computer implemented, each of which can respond to a computer-implemented request, and of which at least one base object (which we refer to as Capabilities or Capabilites) and at least one base object during operation of the computer-implemented system and can also take off an ability
  • the single base object is an indivisible unit that has certain capabilities that it can acquire and lose. It is important that the individual base object has not assigned a property or a method, but an ability. It is also important that it not only be able to accept the capability, but also be able to take it down while operating the computer-implemented system. Thus, it is possible according to the invention to define a set of capabilities that can be used differently, combined with each other, acquired and lost again.
  • the set of capabilities is initially independent of the base objects, resulting in a novel situation within the software structure of the computer-implemented system. Namely, within the structure, the basic objects are not programmed to have capabilities fixedly assigned to them, but to be able to assign capabilities to them. The actual capabilities are programmed "in parallel" in a catalog of abilities, so that the modulated objects are first created by assigning individual abilities to the base objects.This assignment can now be predefined by the programmer of the computer-implemented system and method or by another This results in a considerably greater variability of the computer-implemented system and method according to the invention.
  • all the information originates of basic objects, each of which is assigned a unique identifier, which can each be stored in a computer-implemented manner, which can each respond to a computer-implemented request and of which at least one base object can connect two or more other base objects as a connection object.
  • connection objects defined in this way (which correspond in their basic structure to a base object and thus have, for example, the same programming basis as objects which carry information), it is achieved according to the invention in particular that a single base object knows another base object. Furthermore, the connection objects defined in this way form a connection function (which we call a connection), by means of which basically everything can enter into one another and communicate with one another.
  • This connection function is particularly preferably realized on the basis of the first-mentioned embodiment according to the invention by assigning the ability to be able to establish a connection to a base object.
  • a computer-implemented system and method for structured storage of information is provided in order to further process this, in which all information is structured based on basic objects, each of which is assigned a unique identifier, which are each stored computer-implemented which can each respond to a computer-implemented request and of which at least one base object may change another base object during operation of the computer-implemented system.
  • composition All complex structures are built by merging simple objects without being able to define objects that are not based on abilities associated with at least one base object (this principal feature is called composition).
  • connections are also programmed on the basis of a base object (this basic feature we call, as already mentioned Connection).
  • the process structure of the exemplary embodiment is advantageously depicted by assigning a life cycle with a precisely defined sequence to the base objects (this basic feature is called a lifecycle).
  • the base objects may also have the ability to leave their mark on behavior and, as indicated above, affect other base objects (this principal feature is called usage).
  • Another principal feature is that a set of several to many base objects can take on (and discard) their own abilities, making this set behave like a swarm known from nature (we call this principal feature Swarm).
  • the units communicating with each other can also be enabled to work toward a common goal (we call this principal feature collaboration).
  • the principal feature Capabilities describes a set of different capabilities that can be assigned to any base object in any combination, used by him arbitrarily and finally lost again.
  • the single ability is a kind of basic method that is generally described and independent of other abilities.
  • the individual ability is therefore programmatically independent and each basic object can embrace this ability in any variation.
  • This structuring of a computer-implemented system and method is particularly advantageous, since it makes it possible to add an additional capability to an object, for example a data object within a database, both during programming of the software product and during its use, and also to reuse it to take. For example, it may be useful to add the ability to "carry a note" and conversely, to simplify the programming or data structure, it may be useful to take that ability back into the data object as well.
  • An associated property includes a name of the property and its value or values.
  • Preferred properties are that the base object can bear a name, it can remember its creator and its creation date, or it can bear a name that can have multiple values. Such a property is advantageous, for example, to provide the title of an object in multiple languages.
  • properties of other base objects can also be automatically adopted during the creation or modification of a software product (we call this Derived Properties).
  • properties of another object can be read very easily (we call these shape properties) because the structure of such properties is uniform.
  • a user can be allowed to add and remove new (possibly self-defined properties) at runtime of any instance of any object (we call these Free Defined Properties).
  • Each property can be coupled to a well-defined type of user interface for viewing or editing the current value of the property.
  • This provides a predefined set of user interfaces or input options whose appearance and behavior depend on the type of the property itself.
  • a property can advantageously be a simple, single-line input field, a rule-based input field that allows only a number, a date or a time, a multiline input field, an input field for protected input (eg passwords), a selection option from a list (select box, Dropdown), a choice from a hierarchy (Taxonomy, Menu, Treeview) or an input field for pictures, audio or videos.
  • content of any form is assigned the ability to "carry content".
  • content is assigned the ability to "carry content".
  • An example of such content is a text, image, audio or video.
  • Order means any assignment to another base object or a set of base objects, whereby, as will be explained below, this set itself can be defined as a modified base object.
  • the order structure preferred according to the invention is achieved in a first variant of the exemplary embodiment by simply connecting a base object to another base object (we call this connecting).
  • the connection itself is preferably also a base object whose outstanding ability is to be able to link two other base objects with one another. The possibilities that result from this are described in more detail below for the so-called principal feature Connection.
  • a further variant of the embodiment consists of being able to add private or public tags to the user of each base object.
  • the tags offer the possibility of tagging all objects (we call this tagging).
  • the application possibilities and the use of such tags on the basis objects are described in more detail below for the so-called principal characteristic Usage.
  • a base object may advantageously have the ability to be subjected to a version control, so that it is possible to access an older version or to compare several versions with each other (we call this Version Control).
  • the version control advantageously results in a table that contains all versions with engineer and date and can be called a history.
  • a so-called audit trail is preferably created which allows a backlash-free traceability of all user actions carried out and changes to a base object.
  • This is according to the invention very easily possible by automatically after each change of a base object stored a new version, in particular coupled via a connection object with the old version. In order to still keep the amount of data low, it is preferred that only the use of a base object be recorded (we call this logging). This writing can also be done preferably by coupling the change information via a connection object to a base object.
  • a kind of "question" of the base object to its user is preferably possible (we call this confirming), for example if the user has to manually confirm a content. This ability of confirming makes it possible to distinguish whether a user merely considered or accepted a content.
  • the base objects can also advantageously be hedged. In particular, this is very easily possible by assigning them the capabilities of visibility and / or changeability of their information (we call this Access Rights and Access Control).
  • each user can be assigned exactly one role for each base object. This association preferably again takes place via connection objects, whereby the individual user himself is likewise regarded as a base object. If a user has not assigned a role to a base object, he can not see that base object and therefore can not use it.
  • information including a base object may be signed (we call this signing) to ensure that they have not been subsequently changed.
  • the signature is inventively preferably connected via a connection object with the information of the base object (property or content) and secures in this way a change attempt.
  • information of the base object can be stored encrypted (we call this Encrypting). This is possible in a particularly simple manner in that a connection to a public key of a key pair of a user is established on the encrypted content by means of a connection object, while a private key of the key pair is coupled to the user himself.
  • an object can be switched to visible or invisible by all its administrators for certain periods of time for all other users. This is particularly easy to realize by assigning the object an indication in the form of a base object, when the object is visible and when the object is invisible. Invisibility means that the object can also be found by a search function only by the administrators of this object.
  • Figure 1 there are a total of four ways in which the visibility of an object can be controlled. On a timeline 10 is in a first possible a time 12 indicated, to which the associated object is visible. This is followed by a time interval 14 at which the object remains visible until a time 16 at which the visibility of the object is again changed so that the object is invisible again at the subsequent time interval 18.
  • an object in a second possibility, can be switched to invisible for a single time interval 14.
  • an object in a third possibility, can be made permanently visible at a certain point in time 12, while finally, according to the fourth possibility, an object can be permanently made invisible at a point in time 16.
  • a score can be added to a base object.
  • This evaluation is advantageously carried out in the form of a number which is within a system-wide uniform and normalized number range (for example 0-100).
  • a user can rate an object as often as desired. To calculate a current overall score, however, only the last value of each user is used. Older evaluations can be stored in correspondence with the traceability as versions of an object, so that according to the invention the scoring itself is considered and represented as a base object particularly advantageously. In this way it is particularly easy to make the development of the evaluation of an object over time recognizable.
  • FIG. 2 illustrates the development of the evaluation of such a modified base object.
  • the temporal development of the valuation of the associated object (not illustrated) is illustrated by means of a line 24.
  • This type of valuation of an object is called rating.
  • voting is proposed in which A question is evaluated, the choices are precisely predefined and optionally a limited time window can be given in which can be tuned on the object.
  • an object with a weighting can be advantageously provided, which can be set manually or automatically calculated.
  • the weighting (which we call weighting) does not give a statement as to the rating of the quality of the content but informs about the relevance of an object.
  • an object can advantageously be automatically provided with a measure which indicates the topicality or the novelty value of an object (we call this up-to-dateness).
  • each object can also be provided with an expiration date (we call this expiring).
  • the expiration date can already be specified when creating an object and reset by modifying the object.
  • the expiration date can ensure that old and rarely used objects are identified as such.
  • an object can be edited. This ability includes in a first variation the so-called Locking and Unlocking, where an object is locked or unlocked for other users. Locked is not the viewing itself (see above Visibility) but the editing of an object.
  • Such a lock according to the invention is also defined in the form of a base object and assigned to a (basic) object to be blocked. The lock can be lifted automatically after a certain period of inactivity of a user or manually unlocked by an administrator.
  • Watching Another function of the processing is the so-called Watching, in which a user is automatically informed by the system when another user performs certain actions on a particular object.
  • each base object of the embodiment has the capability that anyone who has sufficient access authority can recreate a base object and modify or delete existing base objects (we call this actual way of editing base objects editing).
  • the associated base object has the ability to be routed through a suitable workflow or workflow.
  • This capability includes, on the one hand, that the object can remember its current status in the workflow and that it knows the workflow assigned to it. The possibilities and applications of workflows on objects are described in more detail below on the basic feature Lifecycle.
  • the ability to carry a property can be appended to an object to be modified in the form of a property object, so that subsequently to the property object itself, all of the above-mentioned basic features can be applied.
  • a scoring object which is likewise based on a base object and as such is attached to an object to be modified.
  • the at least one base object may be made more adaptive to a task by accepting or dropping the at least one capability during operation of the computer-implemented system (we call this evolution).
  • the variation is done either manually by programming or automated according to certain rules, the capabilities provided by the principal feature Capability can be combined in a variety of ways with a base object. In doing so, a step-by-step approach is taken from the general base object and further types of basic objects are defined which can optimally ensure a certain benefit. Subsequent selection of these different basic objects will help evolve those who are best suited to their tasks.
  • the following are examples of objects of the embodiment that result from certain combinations of capabilities.
  • base object All objects are based on the basic structure of a base object, which only offers the possibility to carry a unique identifier, to be stored computer-implemented and to be able to respond to a computer-implemented request (we call this type of object "base”)
  • base object receives its "liveliness” by assigning abilities from the principal characteristic "capabilities” to it for a specific task.
  • One of these basic objects is the so-called container, an object that can somehow "contain” objects and add and remove those objects.
  • container an object that can somehow "contain” objects and add and remove those objects.
  • the same object can also be added multiple times.
  • a so-called folder corresponds to the folder in a known file system and is used in particular for the structuring of documents, each object can be assigned to the folder only once. Furthermore, the folder defines which type of object may be added at all. A folder can be further specialized by subjecting its objects to certain rules (we call this RuleBased Folder).
  • the rules that check the insertion, modification, or deletion of objects into a container can be modeled as an ability (for example, formulated in a scripting language), so that it is possible to include them in runtime as well. Running the computer-implemented system to create individual and rule-based folder.
  • Examples of such task-related containers and folders are a so-called gallery, which only allows the insertion of images or videos, a glossary in which glossary entries can be managed, a quicklist in which short-term objects can be stored, a tasklist with tasks, a calendar in which, in particular, the calendar entries themselves are stored as tasks, or an aggregator, which automatically searches for information according to specific criteria and makes it available in an exactly defined form (to an interface) to the outside.
  • base objects which have information in the form of a content (content).
  • a so-called document advantageously contains unstructured content, such as a text file in the format of a word processing program.
  • a so-called multidocument can only contain more than one Document type object. Compiled documents can be created in this way or documents can be divided into several sections.
  • Another refinement of Multidocument is the so-called AlternativDocument, which, by virtue of certain rules, selects from several available documents, which exist in different formats, only that which is best suited for the current user.
  • information may be included as audio, video, or graphics, and a user is initially presented with the video followed by the graphic as a preference. In this way, it is possible in particular to address different learning types among users.
  • Another application would be an image stored in different file formats or quality levels.
  • a so-called LanguageDocument is a specialization similar to the AlternativDocument, but the same document is stored in the same format but in different languages.
  • the computer-implemented system according to the embodiment then automatically provides the user with the document corresponding to his default language.
  • the computer-implemented system itself can also access the content of such a modified basic object in the form of a structured document via defined rules.
  • This embodiment according to the invention is of particular interest in connection with already known XML documents. Forms can also be filled out and visualized in a structured way.
  • a so-called script according to the invention can contain program code for processing objects within the computer-implemented system, so that this program code can be executed, for example, on a server of the exemplary embodiment.
  • file formats currently used in computer-implemented systems such as in a table in an SQL database or an e-mail
  • a modified base object in such a structured manner be that they can be exchanged particularly easily with such systems and yet can be processed particularly advantageous within the computer-implemented system.
  • Even editing aids, such as a note can in principle be added to any base object and these tools can be further structured into aspects such as question, answer, approval and / or advice.
  • the embodiment also includes objects that can only have properties.
  • object type attributes We call this object type attributes. It can be further specialized into object types such as "Tag”, “TagBundle” and “Classification.”
  • tags do not attach a descriptive word to any object by using the Capability Tagging function
  • a TagBundle is a container that groups together several tags and also TagBundles.A classification is handled just like tags, but it is attached to the associated (basic) object by means of directed connections, and even to others Classifications are linked to represent a taxonomy, and this kind of modeling of tags and classifications as their own objects takes this distinction into the background.
  • a class of modified base objects of the exemplary embodiment allows the modeling of external objects which, for various reasons, can not or may not be located within the system according to the invention.
  • An external contains a reference to the external Object and properties that contain information about the external object.
  • the above-mentioned basic features can also be applied to objects that are not within the system according to the invention. This creates the technical possibility of removing the previously rigid boundaries between the data of a server, a local PC and the data of external systems. Also working in the offline mode without access to a server according to the invention is particularly easy possible by modified during this work base objects are generated, which can be subsequently exchanged separately with the server.
  • connection objects which are formed according to the principal feature Connection, "DirectedConnections” and "Parent-ChildConnections” are distinguished.
  • a DirectedConnection contains as additional information to a connection the direction, with which the two objects are connected.
  • a ParentChildConncetion is a directed connection that expresses a hierarchy within a structure.
  • a base object modified in this way is, for example, a task which has an action, an object responsible for the execution of the same and an object. tional a time linked together.
  • a UserTask is a modified base object that can link an action, one or more persons and optionally a time.
  • a SystemTask is used by the system to perform a specific action at a defined time.
  • a specialization of such a SystemTask may be a SearchAgent that periodically performs a search for particular criteria and makes the search result available to a particular user or to an aggregator for external use of the search result.
  • FIG. 3 illustrates this graphic design of base objects modified according to the invention.
  • Figure 3 shows a pool of capabilities for a particular class of objects, designated by reference numeral 26, from which a user (by dragging and dropping) can select those capabilities that the object to be implemented accomplishes his task customize.
  • the individual ability can be added to the basic object, in the present case in the form of a folder 28. In the process, this ability is coupled to the basic object by means of a connection object. The ability itself can then be further modified accordingly.
  • the graphic visualization of the objects and their abilities is done by UML.
  • the base object can also carry a property which itself represents an adaptation of a more general property according to the principal characteristic evolution.
  • the property of the objects is also defined from a base object within the computer-implemented system.
  • a class tree for the properties of objects can look like this:
  • SelectionProperty is a specialization of this base class for the management of properties that are made available from a defined set, such as a table.
  • SingleSelectionProperty and MultiSelectionProperty are specializations of the SelectionProperty, as to whether one or more values can be selected.
  • the basic feature evolution can therefore also be applied to the capabilities of an object in the exemplary embodiment.
  • the properties of an object are closely linked to its user interface or user interface in order to ensure that the same inputs, such as text, date or a selection are always entered the same.
  • the associated user interface therefore consists of those object properties which the user may view or edit.
  • At least one base object has also been assembled from a plurality of objects that together provide increased benefits. This principal feature is called composition and finds particular application in that from several different basic elements an inventive object can be put together.
  • Fig. 4 illustrates such an assembly of an object according to the invention from individual basic elements.
  • a task list 30 serves to manage tasks and as a container comprises a number of tasks 32, which may include attachments 34, notes 36 or a review 38. Furthermore, a note 36 may be appended to an attachment 34 and a question 38 may be attached to a rating 38 to another user.
  • a discussion 42 may be structured by associating it with a plurality of folders 44 containing notes 36 of the users' comments. Attachments 34, further notes 36, ratings 38 or questions 40 can then be appended to the notes 36.
  • a document space (a so-called DocSpace) on the one hand very general and on the other hand for the individual user can be specially adapted.
  • a document room is a folder in which users can store their folders and files within a project. This offers possibilities of ordered access to these data and possibilities of linking additional information to these data in almost any form. This is not possible with any of today's file systems. The additional information can also be evaluated by the user himself.
  • Basic elements such as Tasklist, Discussion and DocSpace can be further merged into a WorkSpace, which is a working space for specific users.
  • ProjectSpace can be extended. Projects from multiple organizations or areas can be combined in one project world (ProjectWorld) and managed by individual users.
  • Compostion can even be used to structure complex topics in a short time and simply and to make them accessible to the computer-implemented system and procedure. Only slightly defined areas of a topic can be depicted in their general form and, if necessary, structured in more detail at a later date.
  • composition of an object from a plurality of base objects can be advantageously applied according to the invention to the properties of a base object by representing these computer-implemented as a combination of several general properties.
  • a composite property in the form of a DateTimePropery 50 can be easily formed from a date property, a DateProperty 46, and a Time property, a TimeProperty 48.
  • a geographic coordinate in the form of a location property 52 can be arranged next to it, which is then combined into a so-called DateTimeLocationPropery 54.
  • this property can specify in a single value the date at which time an object was created at which location.
  • connection object that can connect two or more other base objects.
  • This basic feature according to the invention is referred to as connecting, whereby in the exemplary embodiment said connection function of a base object is assigned to it as a capability.
  • objects can be linked together, structured as graphs, ordered and related to each other. Due to an invented In accordance with the preferred restriction that each connection object always links exactly two objects, hypergraphs are not permitted. However, it is still possible to put two similar objects in a stronger relationship with each other through several connection objects.
  • FIG. 7 shows the most general case of a connection which is designed with a connection object 56 (formed on the basis of a base object) between two objects 58 (formed on the basis of base objects).
  • the connection object 56 is also referred to as connection according to the invention.
  • connection object is specialized to connect two other objects (information or connection objects).
  • information objects 58 themselves can not directly connect to other information objects 58. However, they have "sockets" 60 to which connection objects 56 can "catch".
  • the connection objects 56 themselves preferably have exactly two "plugs” 62, which can be individually “connected” to an "outlet” 60 of any object in order to establish a connection between these two objects.
  • the connection objects 56 themselves have “sockets” 60 so that other connection objects 56 can "connect” to them.
  • connection objects formed in this way can very easily be adapted even for the most varied types of tasks.
  • the connection objects may accept and deposit the ability to be addressed, secured, rated, weighted, carried information, track their change, monitored for their change, and / or subject to expiration.
  • the ability to be assessed, rated, weighted, given information, tracked, monitored for, and / or subject to change will be based on the above explanation of this capability With respect to the most general form of a base object according to the invention.
  • connection object to obtain a direction is understood to mean that with the direction indication one of the connected objects becomes the starting point and the other object becomes the end point of that directional connection.
  • tree structures can be constructed in which circular structures are not permitted, but which allow a modeling of hierarchies. This is particularly interesting with regard to the management of file systems or user groups.
  • the compounds thus directed are also called ParentChildConnection according to the invention. With such a type of connection, for example, a hyperlink, as one is used to it from the Internet or the World Wide Web, for the system and method of the embodiment can be designed.
  • SimilarityConnections objects can be connected to each other in the embodiment, which are similar in meaning or content. Similar is possible with so-called SeeAlsoConnections, which can model a reference as a directed connection.
  • CitationConnections By means of so-called CitationConnections, citations of a document can be mapped in another document and with so-called AntiConnections a connection is possible, which indicates by means of a negative weighting how strongly two objects "repel" each other.
  • semantic connections semantic networks can be modeled between objects.
  • So-called SpringConnections can model a changing relationship between objects similar to the behavior of a mechanical spring. The distance between the objects is expressed as a weight value of the connection.
  • CompositionConnections are used to merge objects as explained above for the principal feature of composition.
  • any object classes can be combined with each other to create new combination objects, so-called composites.
  • this type of connection of the embodiment is able to accurately define the type and number of possible objects with which the composite can be created.
  • connection objects of the exemplary embodiment are thus completely different than connection relationships in known data structures of, for example, object-oriented databases. Due to the fact that they are based on base objects just like information objects, they have various abilities as needed, which can be usefully employed as follows:
  • connection objects have properties, such as a unique name, to allow so-called permalinks.
  • Connection objects may have additional information (content) in the form of, for example, a text that describes explanation of the reason for the connection or detailed information about the relationship between the two connected objects. All the already mentioned available ordering options can be applied to the connection objects (connecting, tagging, classifying). Connection objects can also be recorded for traceability (Version Control, Histroy, Audit Trail, Logging). Connection objects can be administered by granting permissions for read or write access, so that certain connection objects (and thus also the objects behind them) are not visible or editable for certain users or user groups (Access Rights, Signing, Encrypting). The visibility of connection objects can also be controlled over time (visibility).
  • Connection objects can be evaluated by users and thus receive added value (rating, voting). Connection objects can be actively weighted by the user or passively by the system (for example, by the frequency of use) (weighting).
  • the timeliness of objects of invention can be used for the navigation in hierarchical structures (timeliness, outdating, expiring).
  • the setting of watches on connection objects can keep a user informed of any changes in the connection (watching).
  • the lifecycle of a connection object may be subject to a workflow (such as a process for releasing connection between sensitive data).
  • the information objects formed in this way are computer-implemented and identified as nodes and the connection objects as edges of a graph, it is possible to determine measures based on the graph theory and the algorithms available therein. These measures then provide information about the relationship of the information objects with one another within the data structure of the exemplary embodiment.
  • the information objects can be found in the embodiment very easily, which are strongly networked with each other and accordingly have a high importance within the data structure. Furthermore, large amounts of information can be structured in a particularly simple manner on the basis of the measures themselves, as will be explained in more detail below for the so-called principal feature Swarm.
  • connection objects can also be visualized in a display unit assigned to the exemplary embodiment, for example in the form of a screen, graphically in a variety of ways, for example in different colors. Layout algorithms allow related information objects to be displayed close to each other.
  • the user of the computer-implemented system can specify the depth of the desired visualization from an information object. By selecting an information object, this can become the new current information object so as to be able to represent a movement through the data structure in real terms. This type of "navigation" through the data structure provides a user with a much faster overview of a topic and the non-obvious links to topics other than a common tree structure, such as offered in today's file systems.
  • the at least one base object is preferably set up such that it is subject to a predefined sequence during the operation of the computer-implemented system.
  • the predefined sequence is referred to herein as the lifecycle.
  • Such a “life cycle” begins with the "birth” of the modified base object in the computer-implemented system of the embodiment and ends with its “death.”
  • the modified base object travels the most varied modifications, resulting in particular from its assumed and stored capabilities.
  • the life-descriptive, predefined sequence is advantageously defined by means of two states and a status transition, of which the states are mapped from base objects bearing information, and the status transition is mapped from a base object that connects two or more base objects as the connection object ,
  • an entire chain of states can be formed, wherein the change from one status to another status is designed in the form of a connection object describing the transition.
  • the data structure used for the life cycle or sequence is uniform with the data processed in the process itself, so that all the principal features applied to the data, described above and also mentioned below, are also applied to the process description can.
  • the computer-implemented system and method of the exemplary embodiment are furthermore advantageously set up such that the at least one base object records its use during operation of the computer-implemented system.
  • the basic feature of the exemplary embodiment on which this is based is referred to as usage and is based on the knowledge that every behavior of users in a computer-implemented system leaves traces which can add an important added value to the information stored in the system.
  • the tracks can advantageously be tracked or collected and the information thus obtained can be used in a wide variety of ways.
  • a distinction is made between the so-called passive usage, in which information arises purely through the use of the system, and the so-called active usage, which comprises all the information that is actively added by a user to the system.
  • changes that a user makes to an object are recorded with the relevant change information (such as date and time, user name and action taken) and, in particular, in a usage table, as described in Fig. 9 is shown, filed.
  • relevant change information such as date and time, user name and action taken
  • the usage table includes:
  • a column 64 listing the date and time (DateTime) of the change made; a column 66 listing the IP address of the computer performing the change;
  • a column 74 listing the duration of the action taken.
  • the utilization table designed in this way is imaged within the data structure in the form of an information-bearing base object.
  • This base object is composed of connection objects according to the principal feature Composition.
  • Each connection object maps one line of the usage table. It is modified as so-called UsageConnection.
  • the UsageConnection is the connection that connects the user (which is also represented as a modified base object) and the used object.
  • properties of the UsageConnection are e.g. the action taken and the duration of the action (Duration) and the time of execution (DateTime) saved.
  • connection object Data are themselves mapped on the basis of basic objects to which all of the stated basic features are applicable. Since each action is mapped as a connection object between a user and a used object, a graph develops between the user and the object of use, to which in particular the mentioned graph-theoretic algorithms can be applied for evaluations and analyzes. In addition to the actual data structure, a usage structure is formed, whereby these two structures can be evaluated together.
  • FIG. 10 shows such a graph depicting usage data in the form of UsageConnections 76 between users 78 and information objects 80.
  • the usage data thus disaggregated can be evaluated in a variety of ways in the system of the embodiment. They are particularly useful for the traceability of actions and support, including the formation of a so-called audit trail (as prescribed for critical data by the Sarbanes-Oxley Act, for example).
  • audit trail as prescribed for critical data by the Sarbanes-Oxley Act, for example.
  • access permissions can be easily monitored, the timing of work on an object can be easily visualized, event logs can be easily created and forwarded, and personal journals can be retrieved for a user when needed.
  • the metadata of the object as well as the data of its editors as well as the creation and modification date are stored directly as properties of the object.
  • the user-related data are structured separately from the object-related data, so that they can also be correspondingly separated or evaluated in conjunction with the objects.
  • the processing costs for an object can be easily determined.
  • the license costs can be calculated directly from the use made.
  • the actuality of an object based on its use can be calculated mathematically.
  • object funds such as a program script and an application program can also be represented as separate objects
  • their use on a server can also be imaged and evaluated by a user by means of the UsageConnections according to the invention.
  • a user can be informed at any time about his last processed objects and the actions performed on them.
  • recurring patterns of actions can be identified. These patterns can then be automatically and / or in concert with a user summarized in a series of actions that are made available as a script object.
  • Several scripts can be stringed together with connections.
  • the usage data also includes information about which user viewed which object.
  • a secure information distribution (assured information delivery) can be provided from the usage data recorded according to the invention, in which e.g. can be detected by means of a questionnaire, whether an information has actually been understood. It can also be detected whether a series of actions have been carried out only slowly one after the other, thus inferring insecurity in use. Furthermore, it can be detected whether new functions are accepted by the users or not.
  • Errors in the operation or use of a computer-implemented system according to the exemplary embodiment can also be better detected and reproduced.
  • the utilization or utilization of the entire computer-implemented system can also be detected comparatively easily and used for a system. temadministrator prepared. This evaluation is also possible in real time. Furthermore, since appropriately limited access rights can be distributed to the recorded usage data, it is even easily possible to "anonymize" this usage.
  • Active Usage combines all those options that allow a user to actively add further information directly to an object, to attach an object to an object using a connection object, or to link objects using connection objects.
  • FIG. 11 shows an input mask 82 for a tag 84, which is assigned an arrangement with regard to its visibility Visibility 86, namely public or private.
  • a display of public tags of other users is also shown, in which the user of the input mask 82 is also given the opportunity to value these public tags (My Rating).
  • FIG. 12 shows such a model of two information objects 90 and 92, which are connected via a ParentChildConnection as connection object 94.
  • the information objects 90 and 92 are also assigned via tagConnections as connection objects 96 and tags 98 in the form of information objects.
  • Three of the tags 98 are bundled via TagBundleConnections into a so-called TagBundle 102 in the form of an information object. Attaching or integrating information objects into the data structure is an active use, in particular notes in general form can be attached.
  • a note is an object that can consist of a text, a title, and any number of attachments.
  • a note can offer a variety of added value and in particular include a rating of the associated information object.
  • One particular type of such a rating is feedback from a user reviewing a search result provided to him.
  • the user can evaluate the relevance of the individual entry of the search result with a single mouse click.
  • connection or coupling of existing objects by means of connection objects in accordance with the basic feature Connection already explained above.
  • a plurality of basic objects are set up according to their assumed ability, their combination of several objects, their way of combining several general properties, their predefined sequence and / or their logged usage.
  • the order structure created thereby is based, in particular, on the above-mentioned basic features according to which the information required for ordering is recorded and stored within the data structure of the exemplary embodiment in the same way as the actual information.
  • the starting point is a so-called objectsoup (an “object soup”), which represents a container in which all objects are of equal and disordered nature, in particular through the use of the objects then explicit and implicit orders that can be recognized, calculated, visualized and used for a wide variety of applications.
  • objectsoup an “object soup”
  • relevant objects are recognized, which have special properties and features.
  • alpha objects are determined, which many other objects "follow”.
  • the principal feature thus developed is called swarm. What is important in this approach is that within the objectsoup, the single object can be seen not only in conjunction with other objects, but also as a stand-alone entity that is disordered and equivalent to the other entities. Namely, the stand-alone unit can be much more easily processed and addressed programmatically than if it is always in a coupling with other units, as is the case with known systems.
  • each base object has three basic capabilities, namely having assigned a unique identifier, being able to be stored in a computer-implemented manner and being able to respond to a computer-implemented request is common to all objects located within the objectsoup, during the actual operation of the computer-implemented system and method allows a query or access to all (possibly already modified) present base objects.
  • relevant objects in particular relevant vant users, relevant tags or classifications, relevant links, relevant workflows, or relevant search patterns.
  • the function is realized that when changing or deleting relevant objects in one order, the system asks the user whether he also wants to change or delete other relevant objects in this area. Furthermore, the user of the system according to the embodiment can always be given an overview of the order structure of a processed object or it can be called him the other relevant users acting within the order as experts.
  • orders within different capabilities within the development of object types (evolution), within the same or similar composition objects, within structures created by connection objects (connections), hierarchies and groups, within usage structures (Usage ) and used for a later evaluation.
  • orders within different capabilities within the development of object types (evolution) within the development of object types (evolution), within the same or similar composition objects, within structures created by connection objects (connections), hierarchies and groups, within usage structures (Usage ) and used for a later evaluation.
  • FIG. 13 shows such a visualization of connection objects 104 between information objects 106, in which the frequency of use of the connection objects 104 is illustrated by the line width of edges between the information objects 106 represented as nodes. Also, in the representation, a user may distinguish a very frequently used very high traffic connection 104a from a low traffic (often used) connection 104b based on the color of the displayed edge. A seldom used connection with a low actuality 104c is already recognized by the user due to the low line width of the displayed edge.
  • the structuring on the basis of exclusively modified base objects also makes it possible to determine costs for certain structural areas and to use them to calculate costs for similar structures. In particular, the processing costs resulting from the usage can be taken into account.
  • FIG. 14 shows such a representation in which the individual authors 106 are illustrated as points in their subject areas. The size of the point of an author illustrates within the representation of its publication frequency. Authors working on the same topics can become author teams in this way. Furthermore, isolated authors as “loners” and also topic-chain-forming authors as "author chain” can be recognized.
  • the relevant clusters can be displayed to a user so that they can specifically start a search query in one of the clusters.
  • an evaluation with regard to the resulting orders is possible in particular as to which order results between base objects representing users.
  • the evaluation is based on the results, which provides the solution according to the invention by the principal characteristics Usage and Swarm.
  • the objects can be arranged particularly easily, the order of the users assigned to these objects is also low, and the order of users determined in this way is used profitably by these users, for example via chat or e-mail Geographical boundaries can be easily overcome and users can be brought into contact with one another, who work in a globally operating company.
  • the computer-implemented system and method may, for this purpose, inform the individual user in list form or in the form of a graphically prepared chart of those users who deal with similar problems, topics, areas or activities. These users can then be contacted by selecting a predefined communication channel (e.g., e-mail, voice-over-IP, chat).
  • a predefined communication channel e.g., e-mail, voice-over-IP, chat.
  • the users or colleagues who are interested in contacting can have in particular the following properties:
  • Data structure and stored, for example, in an address book and managed.
  • the user of the computer-implemented system and method according to the exemplary embodiment has all the ordering options available, as already described above.
  • those users with whom there is frequent contact can be grouped together in a so-called ColleagueContainer or the relevance of connections to other users can be automatically determined by the system based on the relevance of the interesting user and the timeliness, intensity and duration of the connection. co-operation, similarity of activities and the like.
  • the system also "knows" when interesting users are responsive, especially if they themselves are using the system.
  • the users of interest may also advantageously be displayed on a map to the interested user with their location.
  • FIG. 15 shows a so-called expert room, which according to the invention visualizes interesting experts 110 in the current situation for a user 108.
  • the user 108 stands in the center of a planar representation, in which the experts 110 are shown as points or circles.
  • the size of the points or circles is proportional to the relevance as an expert for the illustrated order.
  • the size of the point or circle of the user 108 is also in relation to the size of the points or circles to the other experts 110.
  • the distance to the experts 110 is proportional to previous commonalities.
  • the circles are further to be distinguished by means of a color and / or a graph for whether the experts 110 already illustrated are already or not. Color and / or hatch also indicate whether the found expert 110 is currently using the system. From the illustration according to FIG. 15, the user 108 can also recognize the relationship of the experts 110 with one another. Experts 110, which are located close to each other, form so-called clusters of experts who work in similar fields.
  • a first communication option is the asynchronous communication, in which the users make time-delayed contributions to the communication. This can happen, for example, in a discussion forum through questions, answers, hints, consents, rejections and the like.
  • connection objects can be summarized in a container, handled in the system and only individually broken down if necessary.
  • connection objects can with Tags, which can also be generated automatically from the audio file, for example.
  • closed communication systems can be set up, within which the currently existing problem of access authorizations or spam can be avoided, since all users of the system must at least be known as a modified base object.
  • a topic-related assignment and storage of communication processes such as e-mails is also considerably simpler and largely automated with this procedure.
  • a so-called shared-white-board is realized in the above-mentioned manner, in which several users share a display surface, and a so-called application sharing or desktop sharing, in which several users at the same time Computer application work.
  • the advantages are, in particular, that overall the communication can be transparently archived, that the passive usage in combination with the active usage creates an additional added value of information, that an overview of structures and groupings can be obtained more quickly and that information can be obtained between the companies Users can easily be promoted on a variety of information channels.
  • the system developed in this way is advantageously further designed such that, starting from basic objects, at least one tool for cooperation between users of the system is represented or represented in terms of data technology.
  • the associated principal feature is called collaboration. It allows the users of the computer-implemented system and method to work together on tasks in a team.
  • tools familiar to teamwork such as a note function, a shared file store, a task list, a discussion forum, an organigram, a list of frequently asked questions (FAQ) and / or a calendar will be mapped exclusively based on modified base objects.
  • the modification takes place as explained above by the allocation of capabilities.
  • the maintenance technician can access.
  • the maintenance technician can also document his maintenance work within such a program product in a simple manner and bring to billing.
  • a company or a team within a company can thus be virtually represented and supported in a virtual manner by using the system and method according to the exemplary embodiment as an intelligent knowledge store for all project-related information and the resulting exchange of information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Bei einem computerimplementierten System und Verfahren zum strukturierten Speichern von Informationen, um diese weiterverarbeiten zu können, sind erfindungsgemäß insbesondere sämtliche Informationen ausgehend von Basisobjekten strukturiert, denen je eine eindeutige Kennung zugewiesen ist, die je computerimplementiert gespeichert werden können, die je auf eine computerimplementierte Anfrage hin antworten können und von denen während des Betriebs des computerimplementierten Systems mindestens ein Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) mindestens eine Fähigkeit (26) annehmen und diese Fähigkeit (26) auch wieder ablegen kann.

Description

Computerimplementiertes System und Verfahren zum strukturierten
Speichern von Informationen
Beschreibung
Die Erfindung betrifft ein computerimplementiertes System und Verfahren zum strukturierten Speichern von Informationen, um diese weiterverarbeiten zu können.
Allgemein betrifft die Erfindung das Gebiet der Erstellung, Verarbeitung, Strukturierung und Verteilung von Informationen, insbesondere in Form von Wissen, mit Hilfe von Computern und Software. Ein wichtiges Anwendungsgebiet für die erfindungsgemäße Lösung ist jenes von Geschäftsapplikationen bzw. Geschäftsanwendungen im Client-Serverbereich, also in jenem Bereich bei dem von einzelnen Benutzern (Client) auf einen zentralen Rechner (Server) zugegriffen wird, um Informationen auszutauschen bzw. weiter zu verarbeiten. Ein Beispiel für eine solche Geschäftsapplikation wäre das Verwaltungsprogramm einer großen Versicherungsgesellschaft, mittels dem die Angestellten Kundendaten austauschen können. Weitere Anwendungsgebiete sind Applikationen, welche rein auf Personalcomputern (PCs) betrieben werden und/oder Betriebssysteme für solche Personalcomputer und andere Rechner.
Es gibt typische Tätigkeiten, insbesondere in Geschäftanwendungen, die ein Benutzer eines computerimplementierten Systems üblicherweise ausführt. Zu diesen typischen Tätigkeiten gehört es, neue Informationen in Form von Texten, Bildern und Multimedia zu erstellen, Informationen zu bearbeiten, Informationen zu verteilen, Informationen zu suchen, zu sichten, zu ordnen und zu bewerten, Informationen strukturiert abzulegen und später wieder zu benutzen, Informationen untereinander zu verknüpfen um damit Schlussfolgerungen und neues Wissen zu ge- nerieren, sowie schließlich veraltete, falsche oder nutzlos gewordene Informationen wieder zu löschen.
Zugleich stellt sich, insbesondere dann wenn ein Benutzer an einem neuen The- ma oder Projekt zu arbeiten beginnt, schon nach kurzer Zeit ein sehr bemerkenswertes Phänomen ein: Es entstehen immer mehr Dateien, die in unterschiedlichen Ordnern bzw. auch in unterschiedlichen Softwareprodukten bzw. Applikationen immer schwerer zu finden sind. Es wird für den Benutzer zugleich immer schwieriger, die einzelnen Dateien logisch miteinander zu verknüpfen, und in eine Bezie- hung zueinander zu bringen. Noch schwieriger wird es, wenn in einem Projekt mehreren Personen gleichzeitig arbeiten. Der einzelne Benutzer weiß dann oft z.B. nicht mehr, ob ein Dokument in der aktuellen Fassung vorliegt, welches die wichtigen Dokumente sind und an welchem Dokument von welcher Person gerade gearbeitet wird.
In einem Unternehmen, in dem an vielen Projekten parallel gearbeitet wird, ist es daher nahezu unmöglich einen Überblick über den Status mehrerer Projekte zu behalten. Benutzer von heute bekannten computerimplementierten Systemen zum strukturierten Speichern von Informationen erhalten insbesondere keinen Überblick, was sie bereits gesehen haben und was noch nicht. Sie erhalten keinen Hinweis, welche die relevanten Informationen sind und welche für sie nicht relevant sind. Sie erhalten keinen Überblick über bereits gesehene Informationen, die aber in der Zwischenzeit wieder geändert wurden. Sie haben keine Unterscheidungsmöglichkeit zwischen Dokumenten, die aktuell sind, und jenen die schon veraltet sind, und sie haben keine Möglichkeit zu erkennen, welche Personen man fragen oder um Hilfe bitten könnte.
Um diese Probleme zumindest annähernd zu bewältigen, ist es bekannt einem Benutzer einzelne Softwareprodukte in Form von „Insellösungen" bereitzustellen, mit denen er beim Ablegen, Strukturieren und Wiederfinden seiner Daten und Dokumente unterstützt wird. Diese Softwareprodukte berücksichtigen teilweise auch die laufende Nutzung der Daten durch die Benutzer. Die vielen, im Grunde genommen voneinander aber unabhängigen Einzelsysteme bilden dabei eine Informationstechnologie-Landschaft, in der die „Insellösungen" nur auf komplizierte, umständliche Arte und Weise Daten miteinander austauschen können. Wir nen- nen dieses Phänomen „Informationsbruch".
Die heutigen Informationen sind auf vielen einzelnen Systemen verteilt und es ist nahezu unmöglich, komplexere Abfragen und Auswertungen einfach und ohne Programmieraufwand über einzelne Systeme und deren Systemgrenzen hinweg durchzuführen. Schon gar nicht ist es möglich, die Ergebnisse einheitlich in Form einer einzigen Tabellen, einer Graphik oder eines Berichtes darzustellen. So sorgt beispielsweise die Frage: „Welche Benutzer haben an einem bestimmten Tag welche Informationen auf welchem System verändert oder gelöscht?" in einer IT- Abteilung eines Unternehmens zunächst für Nervosität und anschließend zu hek- tischem Programmieren auf jedem der einzelnen Systeme.
Einen Informationsbruch gibt es insbesondere auch zwischen den lokalen Daten, die sich auf einer Festplatte eines Arbeitsplatzrechners befinden, und den zentralen Daten, die sich in einem Intranet oder allgemein auf einem beliebigen Server befinden. Diese Daten stehen oft in Bezug zueinander, doch können in sehr vielen Systemen diese Beziehungen nicht modelliert und damit auch nicht genutzt werden.
Ein anschauliches Beispiel für den Informationsbruch ist die heutige Verwaltung von Projekten in Unternehmen. Die Dokumentation solcher Projekte erfolgt in der Regel auf einem Server im Intranet, während die zu den Projekt gehörenden e- Mails auf den einzelnen Arbeitsstationen der Projektmitarbeiter liegen und erst aufwendig in die Projektdokumentation eingearbeitet werden müssen - wenn dies überhaupt geschieht. -A-
Es wäre im Gegensatz zur heutigen Situation sehr zeitsparend, wenn nicht nur die Dokumentation des e-Mail-Austausches erleichtert würde, sondern auch ein Zusammenhang zwischen dem Inhalt von e-Mails, deren Anhängen und/oder deren Verteiler mit anderen Informationen des Projektes oder mit Hintergrundinformatio- nen auf einfache Weise hergestellt werden könnte.
Als eine Folge des Informationsbruches ergibt sich eine ständig bestehende große Anzahl offener Fragen des Benutzers heutiger computerimplementierter Systeme. Solche Fragen können zum Beispiel sein: „Welche relevanten Informationen gibt es für mich und welche habe ich davon schon gesehen, welche aber noch nicht?" oder z.B. „Welcher Experte arbeitet an einem bestimmten Thema in unserem Unternehmen?". Die Antworten für diese Fragen liegen irgendwo in den „Tiefen" der heute bestehenden IT-Systeme und werden allenfalls selten direkt dem Benutzer des Systems für seine tägliche Arbeit zur Verfügung gestellt. Wir bezeichnen die- sen wertvollen Schatz an Informationen und implizitem Wissen als das „ungenutzte Corperate Brain".
Insbesondere vernachlässigen viele der heute bekannten Softwareprodukte den Aspekt, dass sie von vielen Benutzern gleichzeitig oder für gleiche Aufgabenstel- lungen genutzt werden. Dabei wäre es oft wünschenswert, wenn einem Benutzer erkennbar wäre, ob z.B. ein anderen Mitarbeiter im Unternehmen ähnliche Aufgabenstellungen vorliegen hat.
Ferner haben viele der heute bekannten Softwareprodukte einen großen, auf den ersten Blick aber gar nicht erkennbaren Nachteil: Diese Softwareprodukte merken sich nicht, welche Tätigkeiten ihre Benutzer im Laufe der Zeit mit welchen Daten durchgeführt haben. So ist es beispielsweise nicht möglich, in einem System eine Suche in all jenen Dokumenten durchzuführen, die ein Benutzer bereits einmal gesichtet hat oder die sich nach dem Sichten inzwischen wieder verändert haben. Auch ergibt sich bei bekannten Softwareprodukten das Problem, dass man bei der Dateneingabe einem derart festen Schema folgen muss, dass es nicht möglich ist, z.B. ein paar informelle Zusatzinformationen anzugeben. Bereits ein kleiner Hinweis wie „wichtig!" kann in der Regel einem Datenfeld nicht hinzugefügt werden. Eine solche einfache Handlung, die in der realen Welt durch aufklebbare Notizzettel möglich wird, ist in computerimplementierten Systemen und Verfahren in der Regel nicht oder nur rudimentär vorhanden.
In ähnlicher Weise können bei bekannten Softwareprodukten einzelne Themen oder Bereiche nicht einfach miteinander zusammengehängt oder gruppiert werden. Bestehende Zusammenhänge werden dadurch nicht nutzbar oder gehen als Information wieder verloren.
Weitere Barrieren im derzeit bestehenden Informationsaustausch sind beispiels- weise, dass ein Benutzer einer Geschäftsapplikation vor dem Informieren eines Kollegen über ein Dokument nicht weiß, ob dieser Kollege das Dokument nicht vielleicht bereits kennt. Auch das Informieren über das Dokument wird in der Regel schwierig und geschieht üblicherweise durch eine e-Mail, in der genaue Angaben enthalten sind, wo im System das Dokument gefunden werden kann. Oftmals wird das Dokument auch selbst als Anhang an die e-Mail hinzugefügt und es ergeben sich dann die allseits bekannten Probleme bezüglich Sicherheit, Datenmenge und Konvertierbarkeit von Dateiformaten.
Der Erfindung liegt die Aufgabe zu Grunde, ein computerimplementiertes System und Verfahren zum strukturierten Speichern von Informationen bereit zu stellen, bei dem die oben genannten Probleme überwunden sind. Insbesondere sollen mit dem System und Verfahren Softwareprodukte für eine Vielzahl von Benutzern bereitgestellt werden, die sehr kurze Datenbankzugriffszeiten aufweisen und innerhalb von Applikationen eine große Menge an Informationen handhaben können, ohne dass der oben beschriebene Informationsbruch auftritt. Die Aufgabe ist erfindungsgemäß mit einem computerimplementiertem System nach Anspruch 1 , nach Anspruch 7 und nach Anspruch 9 gelöst. Ferner ist die Aufgabe mit einem computerimplementierten Verfahren nach Anspruch 19, nach Anspruch 25 und nach Anspruch 27 gelöst. Vorteilhafte Weiterbildungen der Er- findungen sind in den abhängigen Ansprüchen beschrieben.
Erfindungsgemäß ist ein computerimplementiertes System und Verfahren zum strukturierten Speichern von Informationen geschaffen, um diese weiterverarbeiten zu können, bei dem sämtliche Informationen ausgehend von Basisobjekten bzw. einer einzigen Art von Basisobjekt strukturiert sind bzw. werden, denen je eine eindeutige Kennung zugewiesen ist bzw. wird, die je computerimplementiert gespeichert werden können, die je auf eine computerimplementierte Anfrage hin antworten können und von denen während des Betriebs des computerimplementierten Systems mindestens ein Basisobjekt mindestens eine Fähigkeit annehmen und diese Fähigkeit auch wieder ablegen kann.
Erfindungsgemäß vorteilhaft kann das mindestens eine Basisobjekt die Fähigkeit annehmen und ablegen, eine Information zu tragen und/oder zugeordnet zu werden und/oder seine Änderung nachzuvollziehen und/oder abgesichert zu werden und/oder bewertet zu werden und/oder bearbeitet zu werden.
Ferner ist vorteilhaft das mindestens eine Basisobjekt durch Annehmen und Ablegen von Fähigkeiten während des Betriebs des computerimplementierten Systems für eine Aufgabe angepasster gestaltet worden, insbesondere zu einem an- dere Objekte enthaltenden Objekt, zu einem einen Inhalt habenden Objekt, zu einem nur Eigenschaften habenden Objekt, zu einem zwei Objekte verbindenden Objekt oder zu einem eine Aufgabe verwaltenden Objekt.
Vorteilhaft kann auch das mindestens eine Basisobjekt eine Eigenschaft und/oder eine Fähigkeit tragen, welche eine Anpassung einer allgemeineren Eigenschaft bzw. Fähigkeit darstellt. Gemäß einer weiteren vorteilhaften Ausgestaltung der Erfindung ist das mindestens eine Basisobjekt aus mehreren Objekten zusammengestellt worden, die zusammen einen erhöhten Nutzen bereitstellen, insbesondere aus mehreren ver- schiedenartigen Grundelementen zusammengestellt worden ist.
Erfindungsgemäß bevorzugt kann ferner das mindestens eine Basisobjekt eine Eigenschaft und/oder Fähigkeit tragen, welche eine Zusammenstellung mehrerer allgemeinerer Eigenschaften bzw. Fähigkeiten darstellt.
Das erfindungsgemäße computerimplementierte System und Verfahren zum strukturierten Speichern von Informationen, um diese weiterverarbeiten zu können, bei dem sämtliche Informationen ausgehend von Basisobjekten strukturiert sind, denen je eine eindeutige Kennung zugewiesen ist, die je computerimplemen- tiert gespeichert werden können, die je auf eine computerimplementierte Anfrage hin antworten können, weist ferner alternativ oder zusätzlich mindestens ein Basisobjekt auf, welches zu einem Verbindungsobjekt weitergebildet ist und zwei oder auch mehrere Basisobjekte verbinden kann.
Das mindestens eine Verbindungsobjekt kann vorteilhaft die Fähigkeit annehmen und ablegen, gerichtet zu werden, abgesichert zu werden, bewertet zu werden, gewichtet zu werden, eine Information zu tragen, seine Änderung nachzuvollzie- hen, auf seine Änderung überwacht zu werden und/oder einem Ablauf zu unterliegen.
Alternativ oder zusätzlich ist ein computerimplementiertes System und Verfahren zum strukturierten Speichern von Informationen, um diese weiterverarbeiten zu können, bei dem sämtliche Informationen ausgehend von Basisobjekten strukturiert sind, denen je eine eindeutige Kennung zugewiesen ist, die je computerimp- lementiert gespeichert werden können, die je auf eine computerimplementierte
Anfrage hin antworten können, erfindungsgemäß mit mindestens einem Basisob- jekt gestaltet, das während des Betriebs des computerimplementierten Systems ein anderes Basisobjekt verändern kann.
Bevorzugt ist bzw. wird mit dem derartigen mindestens einen „aktiven" Basisobjekt ein Benutzer des computerimplementierten Systems dargestellt.
Das mindestens eine erfindungsgemäße Basisobjekt ist ferner bevorzugt dazu eingerichtet, dass es während des Betriebs des computerimplementierten Systems einem vordefinierten Ablauf unterliegt.
Jeder relevante Schritt des vordefinierten Ablaufs ist dabei bevorzugt mittels mindestens zweier Stati und mindestens einem Statusübergang definiert, von denen die Stati ausgehend von Basisobjekten abgebildet sind bzw. werden, die Informationen tragen, und der Statusübergang ausgehend von einem Basisobjekt abge- bildet ist bzw. wird, das als Verbindungsobjekt zwei Basisobjekte verbindet.
Das mindestens eine Basisobjekt ist erfindungsgemäß bevorzugt dazu eingerichtet, dass es während des Betriebs des computerimplementierten Systems seine Nutzung protokolliert.
Darüber hinaus kann vorteilhaft jede relevante Aktion der Nutzung ausgehend von einem Basisobjekt protokolliert werden, welches als Verbindungsobjekt das benutzte Basisobjekt und seinen Benutzer verbindet.
Gemäß einer bevorzugten Ausführungsform sind auch mehrere Basisobjekte dazu eingerichtet, dass sie gemäß der angenommenen Fähigkeit, der Art ihrer Zusammenstellung aus mehreren Objekten, der Art der Zusammenstellung mehrerer allgemeiner Eigenschaften, ihrem vordefinierten Ablauf und/oder ihrem protokollierten Nutzen geordnet werden können. Dabei ist bevorzugt eine Auswertung im Hinblick auf die sich ergebenden Ordnungen möglich, insbesondere dahingehend, welche Ordnung sich zwischen Basisobjekten ergibt, welche Benutzer darstellen.
Ausgehend von Basisobjekten ist erfindungsgemäß vorteilhaft ferner auch eine Kommunikation zwischen Benutzern des computerimplementierten Systems dargestellt.
Darüber hinaus kann alternativ oder zusätzlich ausgehend von Basisobjekten ein Werkzeug für eine Zusammenarbeit zwischen Benutzern des computerimplementierten Systems dargestellt sein bzw. werden.
Die sich auf dem Gebiet der Datenbanktechnik und des Wissensmanagements ergebenden Aufgaben in der Softwareentwicklung werden erfindungsgemäß aus- gehend von einer neuartigen Sichtweise gelöst. Die Sichtweise lässt sich erfindungsgemäß auf einige grundlegende prinzipiellen Merkmale reduzieren, welche einen neuen und anderen Zugang zur Entwicklung von computerimplementierten Systemen und Verfahren, insbesondere von Softwareprodukten erlauben.
Die erfindungsgemäße Lösung basiert auf der Erkenntnis, dass viele computerimplementierte Systeme und Verfahren, insbesondere viele komplexe Geschäftsapplikationen, sich im Grunde fast immer aus einfachen Anwendungen zusammensetzen, deren grundsätzliche Funktionen und deren Verhalten meist sehr ähnlich oder gleich sind. Einige dieser „Basisanwendungen" sind z.B. die Verwaltung von Dokumenten, das Suchen nach Dokumenten, das Abarbeiten von Formularen in einem Arbeitsablauf bzw. Workflow, das Anlegen eines Kalenders oder einer Liste mit Aufgaben, das Überprüfen und Freigeben von Informationen sowie das Verwalten von Zugriffsrechten.
Zugleich verhalten sich die Basisanwendungen von bekannten Systemen immer wieder in unterschiedlicher Weise und mit unterschiedlichen Benutzeroberflächen, selbst wenn diese von nur einem Hersteller angeboten werden. Dies sorgt bei den Benutzern für einen unnötigen Aufwand beim Einlernen und führt zu mehr Fehlern, insbesondere dann wenn die Basisanwendungen nur ein klein wenig anders sind. Die Ursache dafür liegt oftmals darin, dass die Basisanwendungen mit jedem computerimplementierten System zum wiederholten Male neu nachprogrammiert werden. Oftmals orientiert sich die Programmierung von Softwareprodukten dabei allzu nah am aktuellen Kundenwunsch und es werden dann selbst „einfache" Funktionen des Speicherns und Holens von Daten aus Datenbanken, die Verwaltung von Benutzern und deren Zugriffsrechte oder die Verwaltung von Dokumen- ten und Aufgaben neu programmiert. Um eine derartige Neuprogrammierung zu vermeiden, werden andererseits oft bestehende modulare Programmbausteine miteinander kombiniert, ohne dass diese wirklich zusammenpassen. Ein unangenehmer Effekt ist dann, dass für eine ordnungsgemäße Implementierung der Basisanwendungen zu wenig Zeit zur Verfügung steht und daher die Qualität der Software von Anfang an vergleichsweise schlecht ist. Neue Basisanwendungen werden oft zum bestehenden Programmcode „hinzugebastelt", ohne mögliche Nebeneffekte und negative Konsequenzen zu berücksichtigen.
Der Programmcode wird dadurch immer unübersichtlicher, es wird zeitaufwendi- ger und kostenintensiver Fehler zu beheben, und der Testaufwand steigt erheblich. Der Einschulungsaufwand für neue Programmiermitarbeiter wird zugleich höher und die einzelnen logischen Bereiche der Softwareprodukte können nicht mehr klar getrennt werden. Dieses Problem, dass wir als „Spaghetticode- Symptom" bezeichnen, tritt in der Regel nur schleichend ein und wird meist erst erkannt, wenn es im Grunde genommen zu spät ist, um wirksam gegensteuern zu können.
Die erfindungsgemäße Lösung verfolgt hingegen den Ansatz, mit weniger und dadurch besser zu überblickendem Programmcode zu arbeiten, bei dem insbe- sondere die implementierten Basisanwendungen einfacher zu überblicken sind. Ferner wird es erfindungsgemäß insgesamt einfacher Fehler zu beheben, neue Funktionen zu integrieren und diese Aufgaben auf mehrere Programmierer zu verteilen. Entwicklungszeit kann eingespart, automatische Tests entwickelt und es kann langfristig die Qualität des Programmcodes erhöht werden. Zugleich können langfristig die Kosten der Weiterentwicklung und Wartung der entstandenen Soft- wareprodukte gesenkt werden.
Die erfindungsgemäße Lösung verwirft dabei die klassischen Lösungsansätze der Softwareentwicklung und Systemarchitektur. Denn selbst mit einer sauberen Modellierung eines Schichtmodells für die Datenpersistenz in einer Datenbank, einer Geschäftslogistik und einer Benutzeroberfläche kann allein das gewünschte Ziel nicht erreicht werden. In herkömmlichen, objektorientierten Datenbanken werden Objekte als etwas betrachtet, das vorbestimmte Eigenschaften und Methoden aufweist und abgeleitet werden kann, um weitergebildet zu werden. Diese Möglichkeiten von herkömmlichen Objekten einer Datenbank führen aber letztendlich doch zu den oben genannten Problemen und nicht zu deren Lösung.
Die erfindungsgemäße Lösung strukturiert, wie nachfolgend noch genauer erläutert werden wird, Objekte innerhalb einer Datenstruktur hingegen andersartig. Diese andersartige Objektstruktur ermöglicht es sämtliche Information und insbeson- dere auch sämtlichen Informationsaustausch innerhalb eines computerimplementierten Systems sowie Verfahrens abzubilden. Das erfindungsgemäße computerimplementiertem System und Verfahren ermöglichen es auch jene Informationen in Betracht zu ziehen, die rein durch die Benutzung von Daten entstanden sind. So kann, wie nachfolgend noch ausführlicher gezeigt werden wird, erfindungsge- maß vorteilhaft z.B. ein Überblick von Benutzern, die bei der Lösung eines Problems unterstützen können, angezeigt werden. Es ist erfindungsgemäß auch ermöglicht, eine beliebige Information an einem beliebigen Ort innerhalb des Systems bzw. Verfahrens anzuknüpfen, beliebige Verknüpfungen zu stellen und Gruppierungen vorzunehmen. Nachfolgend wird ein Ausfϋhrungsbeispiel der erfindungsgemäßen Lösung anhand der beigefügten schematischen Zeichnungen näher erläutert. Es zeigt:
Fig. 1 ein erstes Schaubild zum so genannten prinzipiellen Merkmal Capability, Fig. 2 ein zweites Schaubild zum so genannten prinzipiellen Merkmal Capability, Fig. 3 ein Schaubild zum so genannten prinzipiellen Merkmal Evolution, Fig. 4 ein erstes Schaubild zum so genannten prinzipiellen Merkmal Composition, Fig. 5 ein zweites Schaubild zum so genannten prinzipiellen Merkmal Composition, Fig. 6 ein drittes Schaubild zum so genannten prinzipiellen Merkmal Composition, Fig. 7 ein erstes Schaubild zum so genannten prinzipiellen Merkmal Connection, Fig. 8 ein zweites Schaubild zum so genannten prinzipiellen Merkmal Connection, Fig. 9 ein erstes Schaubild zum so genannten prinzipiellen Merkmal Usage, Fig. 10 ein zweites Schaubild zum so genannten prinzipiellen Merkmal Usage, Fig. 11 ein drittes Schaubild zum so genannten prinzipiellen Merkmal Usage, Fig. 12 ein viertes Schaubild zum so genannten prinzipiellen Merkmal Usage, Fig. 13 ein erstes Schaubild zum so genannten prinzipiellen Merkmal Swarm, Fig. 14 ein zweites Schaubild zum so genannten prinzipiellen Merkmal Swarm und Fig. 15 ein Schaubild zum so genannten prinzipiellen Merkmal Socializing.
Ein Ausführungsbeispiel eines erfindungsgemäßen computerimplementierten Systems und Verfahrens zum strukturierten Speichern von Informationen, um diese weiter verarbeiten zu können, ist in Form eines objektorientierten Datenbank- Softwareprodukt gestaltet, das auf einem Speichermedium, wie beispielsweise einem Speicherchip eines Servers oder Personalcomputers oder einem tragbaren Datenträger, abgespeichert ist. Das System und Verfahren stellen in Kombination mit einem Server und/oder Personalcomputer eine lauffähige Softwareanwendung bereit.
In dem System und Verfahren sind sämtliche Informationen ausgehend von Basisobjekten (welche wir als Base Objects bezeichnen) strukturiert, denen je eine eindeutige Kennung zugewiesen ist, die je computerimplementiert gespeichert werden können, die je auf eine computerimplementierte Anfrage hin antworten können und von denen während des Betriebs des computerimplementiertes Systems mindestens ein Basisobjekt mindestens eine Fähigkeit (welche wir als Ca- pability bzw. Capabilites bezeichnen) annehmen und eine Fähigkeit auch wieder ablegen kann.
Bei dieser Festlegung von Basisobjekten ist das einzelne Basisobjekt eine unteilbare Einheit, welche gewisse Fähigkeiten hat, die es erwerben und verlieren kann. Wichtig ist dabei, dass das einzelne Basisobjekt nicht etwa eine Eigenschaft oder eine Methode zugeordnet hat, sondern eine Fähigkeit. Ferner ist wichtig, dass es die Fähigkeit nicht nur annehmen, sondern auch während des Betriebs des computerimplementiertes Systems wieder ablegen kann. So ist es erfindungsgemäß möglich, eine Menge von Fähigkeiten zu definieren, die unterschiedlich genutzt, mit einander kombiniert, erworben und wieder verloren werden können. Diese
Menge von Fähigkeiten ist zunächst unabhängig von den Basisobjekten, so dass sich innerhalb der Softwarestruktur des computerimplementierten Systems eine neuartige Situation ergibt. Innerhalb der Struktur werden nämlich die Basisobjekte nicht derart programmiert, dass ihnen Fähigkeiten fest zugeordnet sind, sondern derart, dass ihnen Fähigkeiten zugeordnet werden können. Die eigentlichen Fähigkeiten sind „parallel" in einem Katalog von Fähigkeiten programmiert, so dass die modulierten Objekte erst durch eine Zuordnung einzelner Fähigkeiten an die Basisobjekte entstehen. Diese Zuordnung kann nun zum einen vom Programmierer des computerimplementierten Systems und Verfahrens vordefiniert sein oder zum anderen von dessen Benutzer vorgenommen werden. Damit ergibt sich eine erheblich größere Variabilität des erfindungsgemäßen computerimplementierten Systems und Verfahrens.
Alternativ oder zusätzlich sind bei dem Ausführungsbeispiel des computerimple- mentierten Systems und Verfahrens zum strukturierten Speichern von Informationen, um diese weiter verarbeiten zu können, sämtliche Informationen ausgehend von Basisobjekten strukturiert, denen je eine eindeutige Kennung zugewiesen ist, die je computerimplementiert gespeichert werden können, die je auf eine computerimplementierte Anfrage hin antworten können und von denen mindestens ein Basisobjekt als Verbindungsobjekt zwei oder mehr andere Basisobjekte verbinden kann.
Mit den derart definierten Verbindungsobjekten (welche in ihrer Grundstruktur einem Basisobjekt entsprechen und dadurch z.B. die gleiche Programmiergrundlage aufweisen wie Objekte, die eine Information tragen) wird erfindungsgemäß ins- besondere erreicht, dass ein einzelnes Basisobjekt ein anderes Basisobjekt kennt. Ferner bilden die derart definierten Verbindungsobjekte eine Verbindungsfunktion (welche wir als Connection bezeichnen), mittels der im Grunde genommen Alles untereinander eine Verbindung eingehen und miteinander in Verbindung stehen kann. Diese Verbindungsfunktion ist besonders bevorzugt in Anlehnung an die erstgenannte Ausführung gemäß der Erfindung realisiert, indem einem Basisobjekt die Fähigkeit zugeordnet worden ist, eine Verbindung herstellen zu können.
Alternativ oder zusätzlich ist bei dem Ausführungsbeispiel schließlich auch ein computerimplementiertes System und Verfahren zum strukturiertem Speichern von Informationen vorgesehen, um diese weiterverarbeiten zu können, bei dem sämtliche Informationen ausgehend von Basisobjekten strukturiert sind, denen je eine eindeutige Kennung zugewiesen ist, die je computerimplementiert gespeichert werden können, die je auf eine computerimplementierte Anfrage hin antworten können und von denen mindestens ein Basisobjekt während des Betriebs des computerimplementierten Systems ein anderes Basisobjekt verändern kann.
Mit dieser erfindungsgemäßen Funktionalität, welche ebenfalls bevorzugt durch Zuordnung der Fähigkeit „kann andere Basisobjekte verändern" auf der Grundlage von ein und denselben Basisobjekten programmiert ist, kann insbesondere er- reicht werden, dass ein Objekt eine aktive Funktion innerhalb der Softwarestruktur einnimmt und dennoch mit den gleichen Grundprinzipien arbeitet wie auch alle anderen Basisobjekte. So kann beispielsweise die Funktionalität innerhalb eines Softwareproduktes realisiert werden, dass ein Basisobjekt durch seine Nutzung und sein Verhalten ein anders Basisobjekt verändert.
Mit der derartigen Struktur von Basisobjekten sind bei dem Ausführungsbeispiel einige grundlegende prinzipielle Merkmale in dessen Softwarestruktur implementiert, welche dann die Grundlage für eine langfristig kostengünstige und qualitativ hochwertige Software liefern. Diese prinzipiellen Merkmale sind wie folgt:
Es gibt eine Menge von Fähigkeiten, die unterschiedlich genutzt, miteinander kombiniert, erworben und wieder verloren werden können (dieses prinzipielle Merkmal nennen wir, wie oben bereits erwähnt, Capabilities).
Eine Weiterentwicklung der Objekte, insbesondere ausgehend von Basisobjekten erfolgt basierend auf Variation und Selektion, um insbesondere eine bessere Anpassung an die zu lösenden Aufgaben zu erzielen (dieses prinzipielle Merkmal nennen wir Evolution).
Sämtliche komplexen Strukturen werden durch Zusammenlegung von einfachen Objekten aufgebaut, ohne dass dabei Objekte definiert werden könnten, die nicht auf zumindest einem Basisobjekt zugeordneten Fähigkeiten beruhen (dieses prinzipielle Merkmal nennen wir Composition).
Ferner können vorteilhaft alle Objekte untereinander eine Verbindung eingehen und miteinander in Verbindung stehen. Dabei werden auch die Verbindungen auf der Grundlage eines Basisobjektes programmiert (dieses prinzipielle Merkmal nennen wir, wie bereits erwähnt Connection).
Die Prozessstruktur des Ausführungsbeispiels wird vorteilhaft abgebildet, indem den Basisobjekten ein Lebenszyklus mit einem genau definierten Ablauf zugeordnet wird (dieses prinzipielle Merkmal nennen wir Lifecycle). Die Basisobjekte können ferner die Fähigkeit aufweisen, dass ihr Verhalten Spuren hinterlässt und wie bereits oben angedeutet, Auswirkungen auf andere Basisobjekte hat (dieses prinzipielle Merkmal nennen wir Usage).
Ein weiteres prinzipielles Merkmal umfasst, dass eine Menge von mehreren bis sehr vielen Basisobjekten selbst eine Fähigkeit annehmen (und diese auch ablegen) kann, wodurch diese Menge sich wie ein aus der Natur bekannter Schwärm verhält (dieses prinzipielle Merkmal nennen wir Swarm).
Ferner können alle Objekte mit ähnlichen Eigenschaften, ähnlichem Verhalten oder ähnlichen Problemen sich zusammenfinden und eine Gemeinschaft bilden, um gemeinsame Probleme besser zu lösen und dadurch Vorteile zu erlangen (dieses prinzipielle Merkmal nennen wir Socializing).
Ferner kann zwischen den Basisobjekten ein Austausch von Information abgebildet werden, wodurch sich die die Fähigkeiten und Möglichkeiten ebenfalls vervielfachen (dieses prinzipielle Merkmal nennen wir Communication).
Darüber hinaus können die untereinander kommunizierenden Einheiten auch in die Lage versetzt werden auf ein gemeinsames Ziel hinzuarbeiten (dieses prinzipielle Merkmal nennen wir Collaboration).
Diese prinzipiellen Merkmale sind oben noch vergleichsweise allgemein formuliert, entwickeln aber in Ihrer Anwendung auf die Softwareentwicklung des Ausführungsbeispiels einen erheblichen Nutzen, weil insbesondere folgende Aspekte innerhalb von dessen Softwarestruktur sehr einfach abgebildet werden können: Aus mehreren einfachen Objekten können sehr leicht komplexe Objekte zusammengesetzt werden. Ein Objekt kennt andere Objekte. Ein Objekt kann sich mit anderen Objekten verbinden. Ein Objekt kennt seinen aktuellen Zustand. Ein Objekt kann durch einen wohl definierten Ablauf geleitet werden. Ein Objekt merkt sich seine Nutzung und wer es in welcher Form benutzt hat. Ein Objekt kann von seinem Benutzer einen Mehrwert erhalten. Viele Objekte bilden gemeinsam eine Menge von zunächst gleichwertigen Objekten, auf die beliebige Mengenoperationen angewendet werden können. Jedes Objekt in der Menge kann durch seine Nutzung und sein Verhalten die Menge und die darin enthaltenen Objekte beeinflussen und verändern. Mehrere Objekte in einer Menge können zu Gruppen zu- sammengefasst werden. Die Menge kann explizite und implizite Ordnungen mit den darin enthaltenen Objekten bilden. Ähnliche oder zusammengehörende Objekte in einer Menge können sich zusammenfinden. Benutzer von ähnlichen Ob- jekten können sich ebenfalls zusammenfinden, um gemeinsam an gleichen Problemen zu arbeiten und diese effektiver zu lösen. Durch Zufall können ferner unerwartete Vorteile entstehen und sich Synergien entwickeln.
Nachfolgend werden die oben genannten prinzipiellen Merkmale im Hinblick auf deren Realisierung im Ausfϋhrungsbeispiel näher erläutet.
Das prinzipielle Merkmal Capabilities beschreibt eine Menge von unterschiedlichen Fähigkeiten, die jedem Basisobjekt in beliebiger Kombination zugeordnet, von diesem beliebig genutzt und schließlich auch wieder verloren werden können. Die einzelne Fähigkeit ist eine Art Basismethode, die allgemein beschrieben und von anderen Fähigkeiten unabhängig ist. Die einzelne Fähigkeit ist daher programmtechnisch eigenständig und jedes Basisobjekt kann sich diese Fähigkeit in beliebiger Variation zu Eigen machen. Diese Strukturierung eines computerimplementierten Systems und Verfahren ist insbesondere vorteilhaft, weil es dadurch möglich wird, einem Objekt, beispielsweise einem Datenobjekt innerhalb einer Datenbank, sowohl während der Programmierung des Softwareproduktes als auch bei dessen Verwendung einem beliebigen Datenobjekt eine weitere Fähigkeit hinzuzufügen und diese auch wieder zu nehmen. So kann es beispielsweise sinnvoll sein die Fähigkeit "kann eine Notiz tragen" hinzuzufügen und umgekehrt kann es zur Vereinfachung der Programmierungs- oder Datenstruktur sinnvoll sein diese Fähigkeit dem Datenobjekt auch wieder zu nehmen. Um einem Basisobjekt Informationen zuordnen zu können, wird diesem bevorzugt die Fähigkeiten zugeordnet: "Kann eine Eigenschaft (wir nennen diese Property) tragen" und/oder "Kann einen Inhalt (wir nennen diesen Content) tragen". Eine zugeordnete Eigenschaft umfasst einen Namen der Eigenschaft und deren Wert oder Werte. Bevorzugte Eigenschaften sind es dass das Basisobjekt einen Namen tragen kann, es sich seinen Ersteller und sein Erstellungsdatum merken kann oder dass es einen Namen tragen kann, der mehrere Werte haben kann. Eine solche Eigenschaft ist beispielsweise vorteilhaft, um den Titel eines Objektes in mehreren Sprachen zur Verfügung zu stellen.
Weiter können auch Eigenschaften von anderen Basisobjekten während der Erstellung oder der Modifikation eines Softwareproduktes automatisch übernommen werden (wir nennen dies Derived Properties). Ferner können Eigenschaften von einem anderen Objekt besonders einfach gelesen werden (wir nennen diese Fo- reign Properties), da die Struktur der derartigen Eigenschaften einheitlich ist. Zusätzlich kann es beispielsweise einem Benutzer zur Laufzeit jeder beliebigen Instanz jedes beliebigen Objektes erlaubt werden, neue (ggf. von ihm selbst definierte Eigenschaften) hinzuzufügen und wieder wegzunehmen (wir nennen diese Free Defined Properties).
Jede Eigenschaft kann mit einem genau definierten Typ einer Benutzerschnittstelle zum Betrachten oder Editieren des aktuellen Wertes der Eigenschaft gekoppelt werden. Dadurch steht eine vordefinierte Menge von Benutzerschnittstellen bzw. Eingabemöglichkeiten zur Verfügung, deren Aussehen und deren Verhalten vom Typ der Eigenschaft selbst abhängig sind. So kann einer Eigenschaft vorteilhaft ein einfaches, einzeiliges Eingabefeld, ein regelbasiertes Eingabefeld das nur eine Zahl, ein Datum oder eine Uhrzeit erlaubt, ein mehrzeiliges Eingabefeld, ein Eingabefeld für geschützte Eingaben (z.B. Passwörter), eine Auswahlmöglichkeit aus einer Liste (Select-box, Drop-down), eine Auswahlmöglichkeit aus einer Hierarchie (Taxonomy, Menü, Treeview) oder ein Eingabefeld für Bilder, Audio oder Videos zugewiesen werden.
Im Gegensatz zu dem mit einer Eigenschaft zugewiesenen Wert, wird mit der Fä- higkeit "kann einen Inhalt (Content) tragen" ein Inhalt von beliebiger Form zugewiesen. Ein Beispiel für einen solchen Inhalt ist ein Text, ein Bild, ein Audio oder ein Video.
Eine weitere vorteilhafte Eigenschaft ist für ein Basisobjekt: "kann eine Ordnung tragen". Unter Ordnung wird dabei jede Zuordnung zu einem anderen Basisobjekt oder einer Menge von Basisobjekten verstanden, wobei, wie nachfolgend noch erläutert werden wird, diese Menge selbst als ein modifiziertes Basisobjekt definiert sein kann. Die erfindungsgemäß bevorzugte Ordnungsstruktur wird bei einer ersten Variante des Ausführungsbeispiels durch einfaches Verbinden eines Ba- sisobjektes mit einem anderen Basisobjekt erzielt (wir nennen dies Connecting). Dabei ist bevorzugt die Verbindung selbst auch ein Basisobjekt, dessen herausragende Fähigkeit es ist, zwei andere Basisobjekte miteinander verknüpfen zu können. Die Möglichkeiten die sich daraus ergeben werden nachfolgend zum so genannten prinzipiellen Merkmal Connection noch genauer beschrieben.
Eine weitere Variante des Ausführungsbeispiels besteht darin jedem Basisobjekt vom Benutzer private oder öffentliche Tags hinzufügen zu können. Die Tags bieten die Möglichkeit einer Beschlagwortung von allen Objekten (wir nennen dies Tagging). Die Anwendungsmöglichkeiten und die Nutzung solcher Tags auf den Basisobjekten werden nachfolgend noch genauer zum so genannten prinzipiellen Merkmal Usage beschrieben.
Alternativ oder zusätzlich können als weitere Variante, dass Objekte gemäß vorgegebener Taxonomien oder Polyhierachien kategorisiert werden (wir nennen dies Classifying). Eine weitere erfindungsgemäße wichtige Fähigkeit ist die Nachvollziehbarkeit. Gemäß einer ersten Variante kann vorteilhaft ein Basisobjekt die Fähigkeit haben einer Versionskontrolle unterworfen zu werden, sodass es möglich ist auf eine ältere Version zuzugreifen oder mehrere Versionen miteinander zu vergleichen (wir nennen dies Version Control). Die Versionskontrolle ergibt vorteilhaft eine Tabelle, die alle Versionen mit Bearbeiter und Datum beinhaltet und als History bezeichnet werden kann.
Als Verfeinerung wird bevorzugt ein so genannter Audit Trail erzeugt, der eine Iu- ckenlose Nachvollziehbarkeit aller durchgeführten Benutzeraktionen und Änderungen an einem Basisobjekt erlaubt. Dies ist erfindungsgemäß sehr einfach möglich, indem nach jeder Veränderung eines Basisobjektes automatisch eine neue Version gespeichert, insbesondere über ein Verbindungsobjekt mit der alten Version gekoppelt wird. Um die Datenmenge dennoch gering zu halten, wird ferner bevorzugt lediglich die Nutzung eines Basisobjektes mitgeschrieben (wir bezeichnen dies als Logging). Dieser Mitschrieb kann bevorzugt ebenfalls durch Ankoppeln der Änderungsinformation über ein Verbindungsobjekt an ein Basisobjekt erfolgen.
Um Nachvollziehbarkeit zu gewährleisten wird bevorzugt auch eine Art "Frage" des Basisobjektes an seinen Benutzer möglich (wir nennen dies Confirming), beispielsweise wenn der Benutzer manuell einen Inhalt bestätigen muss. Diese Fähigkeit des Confirming ermöglicht es zu unterscheiden, ob ein Benutzer einen Inhalt lediglich betrachtet oder diesen auch akzeptiert hat.
Die Basisobjekte können vorteilhaft auch einer Absicherung unterliegen. Dies ist insbesondere sehr einfach möglich, indem diese die Fähigkeiten der Sichtbarkeit und/oder Veränderbarkeit ihrer Informationen zugeordnet bekommen (wir nennen dies Access Rights und Access Control). Dabei werden vier Rollen von Benutzern unterschieden: Der Observer (er hat nur Lesezugriffe), der Contributor (er hat Lesezugriff und die Möglichkeit Informationen hinzuzufügen), der Editor (er hat Le- sezugriff und kann Informationen frei ändern) sowie der Administrator (er hat Lesezugriff, kann Informationen frei ändern und die Möglichkeit Benutzer auf eine der vier Rollen zu verteilen). Dabei kann für jedes Basisobjekt jedem Benutzer genau einer Rolle zugeordnet sein. Diese Zuordnung findet bevorzugt wiederum über Verbindungsobjekte statt, wobei der einzelne Benutzer selbst dabei ebenfalls als Basisobjekt betrachtet wird. Wenn ein Benutzer für ein Basisobjekt keine Rolle zugeordnet hat, kann er dieses Basisobjekt auch nicht sehen und daher auch nicht benutzen.
Bevorzugt können ferner Informationen, die ein Basisobjekt beinhaltet signiert werden (wir nennen dies Signing), um sicherzustellen, dass sie nicht nachträglich verändert wurden. Die Signatur wird erfindungsgemäß bevorzugt über ein Verbindungsobjekt mit der Information des Basisobjektes (Property oder Content) verbunden und sichert auf diese Weise einen Veränderungsversuch ab.
Auch können bevorzugt Informationen des Basisobjektes verschlüsselt gespeichert werden (wir nennen dies Encrypting). Besonders einfach ist dies möglich, indem am verschlüsselten Inhalt mittels eines Verbindungsobjektes eine Verbindung zu einem öffentlichen Schlüssel eines Schlüsselpaares eines Benutzers hergestellt ist, während ein privater Schlüssel des Schlüsselpaares mit dem Benutzer selbst gekoppelt ist.
Eine weitere vorteilhafte Fähigkeit ist jene, dass ein Objekt von all seinen Administratoren über bestimmte Zeiträume für alle anderen Benutzer auf sichtbar oder unsichtbar geschaltet werden kann. Besonders einfach ist dies zu realisieren, indem dem Objekt eine Angabe in Form eines Basisobjektes zugeordnet ist, wann das Objekt sichtbar ist und wann das Objekt unsichtbar ist. Unsichtbarkeit bedeutet dabei, dass das Objekt auch durch eine Suchefunktion nur von den Administratoren dieses Objektes gefunden werden kann. Wie in Fig. 1 veranschaulicht ist, ergeben sich insgesamt vier Möglichkeiten, wie die Sichtbarkeit eines Objektes gesteuert werden kann. Auf einem Zeitstrahl 10 ist dabei in einer ersten Möglich- keit ein Zeitpunkt 12 angegeben, zu dem das zugehörige Objekt sichtbar ist. Es folgt ein Zeitintervall 14, zu dem das Objekt sichtbar bleibt, bis zu einem Zeitpunkt 16, bei dem die Sichtbarkeit des Objektes wiederum gewechselt wird, sodass das Objekt zum nachfolgenden Zeitintervall 18 wieder unsichtbar ist. Entsprechend dieser Vorgehensweise kann in einer zweiten Möglichkeit ein Objekt für ein einzelnes Zeitintervall 14 auf unsichtbar geschaltet werden. In einer dritten Möglichkeit kann ein Objekt zu einem bestimmten Zeitpunkt 12 dauerhaft sichtbar gemacht werden, während schließlich gemäß der vierten Möglichkeit ein Objekt zu einem Zeitpunkt 16 dauerhaft unsichtbar gemacht werden kann.
Gemäß einer weiteren vorteilhaften Fähigkeit kann einem Basisobjekt eine Wertung beigefügt werden. Diese Wertung erfolgt vorteilhaft in Form einer Zahl die sich innerhalb eines systemweit einheitlichen und normierten Zahlenbereichs (beispielsweise 0 - 100) befindet. Vorteilhaft kann ein Benutzer ein Objekt beliebig oft bewerten. Zur Berechnung einer aktuellen Gesamtbewertung wird dann aber nur der letzte Wert jedes Benutzers herangezogen. Ältere Bewertungen können in Entsprechung der Nachvollziehbarkeit als Versionen eines Objektes hinterlegt werden, sodass erfindungsgemäß besonders vorteilhaft die Wertung selbst als ein Basisobjekt betrachtet und dargestellt wird. Auf diese Weise ist es insbesondere besonders einfach möglich, die Entwicklung der Bewertung eines Objektes über die Zeit erkennbar zu machen.
In Fig. 2 ist die Entwicklung der Bewertung eines derart modifizierten Basisobjektes veranschaulicht. Dabei ist über einer Zeitachse 20 in Richtung einer Bewer- tungsachse 22 die zeitliche Entwicklung der Bewertung des zugehörigen Objektes (nicht dargestellt) anhand einer Linie 24 veranschaulicht. Diese Art der Bewertung eines Objekts nennen wir Rating.
Als Alternative oder zusätzliche Bewertungsform, die in besonders einfacher Wei- se durch Anhängen als Basisobjekt an ein zu bewertendes (Basis-) Objekt angefügt werden kann, wird das so genannte Voting vorgeschlagen, bei dem gemäß einer Fragestellung bewertet wird, wobei die Auswahlmöglichkeiten genau vordefiniert sind und optional ein begrenztes Zeitfenster vorgegeben sein kann, in dem über das Objekt abgestimmt werden kann.
Ferner kann vorteilhaft ein Objekt mit einer Gewichtung vorgesehen sein, die manuell gesetzt oder automatisch berechnet werden kann. Beim manuellen Setzen eines Gewichtes kann auch zwischen einer eigenen privaten oder einer kumulierten, öffentlichen Gewichtung unterschieden werden. Das Gewichten (welches wir als Weighting bezeichnen) gibt nicht wie beim Rating eine Aussage über die Qua- lität des Inhaltes sondern informiert über die Relevanz eines Objektes.
Im Hinblick auf die Wertung eines Objektes kann ferner erfindungsgemäß vorteilhaft ein Objekt automatisch mit einer Maßzahl versehen sein, welche die Aktualität bzw. den Neuheitswert eines Objektes angibt (wir nennen dies Aktualität).
Um veraltete Objekte ferner leichter erkennen zu können, ist vorteilhaft eine regelmäßige automatische Prüfung der Aktualität von Objekten und eine Abfrage an die Benutzer bzw. Editoren eines Objektes sinnvoll, ob sie dieses Objekt als veraltet markieren möchten (wir nennen dies Outdating). Der aktuelle Datenbestand kann so von veralteten Daten unterschieden und ggf. durch Löschen veralteter Daten vergleichsweise klein gehalten werden.
Erfindungsgemäß vorteilhaft kann jedes Objekt auch mit einem Ablaufdatum versehen werden (wir nennen dies Expiring). Das Ablaufdatum kann bereits beim Erstellen eines Objektes vorgegeben sein und durch Modifikation des Objektes neu gesetzt werden. In Kombination mit Aktualität und Outdating kann das Ablaufdatum dafür sorgen, dass alte und selten genutzte Objekte als solche kenntlich gemacht werden.
Eine weitere wichtige Fähigkeit ist jene, dass ein Objekt bearbeitet werden kann. Diese Fähigkeit umfasst in einer ersten Variation das so genannte Locking und Unlocking, bei dem ein Objekt für andere Benutzer gesperrt bzw. entsperrt wird. Gesperrt ist dabei nicht das Betrachten selbst (siehe oben Visibility) sondern das Bearbeiten eines Objektes. Auch eine derart gesetzte erfindungsgemäße Sperre wird in Form eines Basisobjektes definiert und einem zu sperrenden (Basis-) Ob- jekt zugeordnet. Die Sperre kann entsprechend automatisch nach einer gewissen Zeit der Inaktivität eines Benutzers aufgehoben oder aber manuell von einem Administrator freigeschaltet werden.
Eine weitere Funktion der Bearbeitung ist das so genannte Watching, bei dem ein Benutzer automatisch vom System informiert wird, wenn ein anderer Benutzer bestimmte Aktionen auf einem bestimmten Objekt ausführt.
Ferner besitzt jedes Basisobjekt des Ausführungsbeispiels die Fähigkeit, das jeder der genügend Zugriffsberechtigung besitzt, ein Basisobjekt neu erstellen und exis- tierende Basisobjekte modifizieren oder löschen darf (wir nennen diese eigentliche Art der Bearbeitung von Basisobjekten Editing).
Eine weitere erfindungsgemäße Fähigkeit, welche unter den Fähigkeiten-Komplex der Bearbeitbarkeit fällt, ist das so genannte Workflowable. Das zugehörige Ba- sisobjekt hat dabei die Fähigkeit durch einen passenden Workflow bzw. Arbeitsablauf geleitet zu werden. Diese Fähigkeit umfasst zum einen, dass sich das Objekt seinen aktuellen Status im Workflow merken kann und dass es den ihm zugeordneten Workflow kennt. Die Möglichkeiten und Anwendungen von Workflows auf Objekte werden nachfolgend zum prinzipiellen Merkmal Lifecycle noch genauer beschrieben.
Die oben genannten Fähigkeiten, „Informationen zu tragen", „zugeordnet zu werden", „seine Änderungen nachvollziehen zu können", „abgesichert zu werden", „bewertet zu werden" und/oder „bearbeitet zu werden", erscheinen auf den ersten Blick trivial zu sein, sind aber in den praktischen Anwendung von großem Vorteil. Da diese Menge an Fähigkeiten bei jedem Objekt jederzeit vollständig zur Verfü- gung gestellt werden und sofort in beliebiger Kombination genutzt werden kann, ergeben sich nicht nur bei der Programmierung sondern auch bei der eigentlichen Nutzung des computerimplementierten Systems gemäß dem Ausführungsbeispiel enorme Vorteile. Diese Vorteile ergeben sich insbesondere dann, wenn die ein- zelnen Aspekte einer Fähigkeit eines Objektes in Form von mit dem Objekt verbundenen Basisobjekten abgebildet werden. So kann beispielsweise die Fähigkeit eine Eigenschaft zu tragen, in Form eines Eigenschafts-Objekts an ein zu modifizierendes Objekt angehängt werden, sodass nachfolgend auf das Eigenschafts- Objekt selbst sämtliche der oben genannten prinzipiellen Merkmale angewendet werden können. Das Gleiche gilt beispielsweise für ein Wertungs-Objekt, welches ebenfalls auf einem Basisobjekt basiert und als solches an ein zu modifizierendes Objekt angehängt ist.
Die Durchgängigkeit der derart definierten erfindungsgemäßen Struktur des com- puterimplementierten Systems bzw. Verfahrens ist dabei ein wesentlicher Kerngedanke.
Besonders vorteilhaft kann das mindestens eine Basisobjekt durch Annehmen oder Ablegen der mindestens einen Fähigkeit während des Betriebs des compu- terimplementierten Systems für eine Aufgabe angepasster gestaltet werden (wir nennen dies Evolution). Die Variation erfolgt dabei entweder manuell durch Programmierung oder automatisiert nach bestimmte Regeln, wobei die durch das prinzipielle Merkmal Capability zur Verfügung gestellten Fähigkeiten auf unterschiedlichste Art und Weise mit einem Basisobjekt kombiniert werden können. Dabei wird stufenweise von dem allgemeinen Basisobjekt ausgehend vorgegangen und es werden weitere Typen von Grundobjekten definiert, die einen bestimmten Nutzen optimal gewährleisten können. Durch anschließende Selektion dieser unterschiedlichen Grundobjekte werden sich all jene weiterentwickeln, die ihren Aufgaben am besten angepasst sind. Nachfolgend werden Beispiele von Objekten des Ausführungsbeispiels vorgestellt, die sich durch bestimmte Kombinationen von Fähigkeiten ergeben. Sämtliche Objekte basieren dabei auf der Grundstruktur eines Basisobjektes, welches nur die Möglichkeiten bietet, eine eindeutige Kennung zu tragen, computerimplementiert gespeichert zu werden und auf eine computerimplementierte Anfrage hin antworten zu können (wir nennen diese Art von Objekt „Base"). Dieser Objekttyp ist die kleinste gemeinsame Basis, die quasi ein "leeres Objekt" darstellt und noch keine weiteren Fähigkeiten besitzt. Das derartige Basisobjekt erhält erfindungsgemäß seine "Lebendigkeit" indem ihm für eine bestimmte Aufgabenstellung Fähigkeiten aus dem prinzipiellen Merkmal Capabilities zugeordnet werden.
Auf diese Weise ergeben sich neue Objekttypen, die bei entsprechend geringer Anzahl an Fähigkeiten noch grundlegender Art sind und daher hier als Grundobjekte bezeichnet werden.
Einer dieser Grundobjekte ist der so genannte Container, ein Objekt das in irgendeiner Form Objekte "beinhalten" kann und diese Objekte hinzugefügt und entfernt werden können. In diesem allgemeinen Fall eines Containers kann das gleiche Objekt auch mehrfach hinzugefügt werden.
Im Gegensatz dazu entspricht ein so genannter Folder dem Ordner in einem bekannten Dateisystem und dient insbesondere der Strukturierung von Dokumenten, wobei jedes Objekt dem Folder nur einmal zugeordnet werden kann. Ferner ist im Folder definiert, welche Art von Objekt überhaupt hinzugefügt werden darf. Ein Folder kann weiter spezialisiert werden, indem die darin enthaltenen Objekte bestimmten Regeln unterliegen (wir nennen dies RuleBased Folder).
Die Regeln, die das Einfügen, Modifizieren oder Löschen von Objekten in einen Container überprüfen, können in Form einer Fähigkeit abgebildet sein (beispiels- weise in einer Skriptsprache formuliert sein), sodass es möglich ist, auch zur Lauf- Laufzeit des computerimplementierten Systems individuelle und regelbasierte Folder zu erstellen.
Beispiele für derartig aufgabenbezogene Container und Folder sind eine so ge- nannte Gallery, welche nur das Einfügen von Bildern oder Videos erlaubt, ein Glossary, in der Glossareinträge verwaltet werden können, eine Quicklist, in der kurzzeitig zu merkende Objekte abgelegt werden können, eine Tasklist mit Aufgaben, ein Kalender, in dem insbesondere die Kalendereinträge selbst als Aufgaben hinterlegt sind, oder ein Aggregator, der Informationen nach bestimmten Kriterien automatisiert sucht und in genau definierter Form (an eine Schnittstelle) nach außen zur Verfügung stellt.
Ferner werden als Grundobjekt, wie oben bereits erwähnt, Basisobjekte definiert, die Informationen in Form eines Inhaltes haben (Content).
Darüber hinaus enthält vorteilhaft ein so genanntes Document unstrukturierten Inhalt wie z.B. eine Textdatei im Format eines Textverarbeitungsprogramms. Ein so genanntes Multidocument kann nur noch mehrere Objekte vom Typ Document beinhalten. Es können so zusammengesetzte Dokumente erstellt werden bzw. Dokumente können in mehrere Sektionen aufgeteilt werden. Eine weitere Verfeinerung von Multidocument ist das so genannte AlternativDocument, welches aufgrund bestimmter Regeln aus mehreren verfügbaren Dokumenten, die in unterschiedlichen Formaten vorhanden sind, nur jenes für die Anzeige wählt, das für den aktuellen Benutzer am besten geeignet ist. Beispielsweise können in einem AlternativDocument Informationen als Audio, Video oder Graphik enthalten sein, und einem Benutzer wird als Präferenz zunächst das Video gefolgt von der Graphik angezeigt. Auf diese Weise kann insbesondere auf unterschiedliche Lerntypen bei Benutzern eingegangen werden. Ein anderer Anwendungsfall wäre ein Bild, welches in unterschiedlichen Dateiformaten oder Qualitätsstufen gespeichert ist. Dabei hat ein Benutzer insbesondere die Möglichkeit zwischen Ladegeschwindigkeit und Qualität des Bildes zu wählen. Ein so genanntes LanguageDocument ist eine ähnliche Spezialisierung wie das AlternativDocument, wobei das gleiche Dokument in gleichem Format aber in unterschiedlichen Sprachen gespeichert ist. Das computerimplementierte System gemäß dem Ausführungsbeispiel liefert dem Benutzer dann automatisch jenes Dokument, das seiner voreingestellten Sprache entspricht.
Ferner sind erfindungsgemäß besonders einfach Objekte mit strukturiertem Inhalt zu verwalten (so genannte StructuredDocuments) deren Inhalt in einzelne Teile zerlegt ist, welche definiert gelesen und beschrieben werden können. So ist es erfindungsgemäß möglich, dass das computerimplementierte System über definierte Regeln selbst auch auf den Inhalt eines derartigen modifizierten Basisobjektes in Form eines StructuredDocument zugreifen kann. Besonders interessant ist diese erfindungsgemäße Ausgestaltung im Zusammenhang mit bereits heute be- kannten XML-Dokumenten. Formulare können damit ebenfalls strukturiert ausgefüllt und visualisiert werden.
Mittels BPEL (Business Process Execution Language) und der erfindungsgemäßen Vorgehensweise können Arbeitsabläufe bzw. Workflows selbst als ein modifi- ziertes Basisobjekt beschrieben werden, sodass auch auf einen derartigen
Workflow alle oben beschriebenen prinzipiellen Merkmale angewendet werden können.
Ein erfindungsgemäßes, so genanntes Skript kann Programmcode zur Bearbei- tung von Objekten innerhalb des computerimplementierten Systems beinhalten, sodass dieser Programmcode beispielsweise an einem Server des Ausführungsbeispiels ausgeführt werden kann.
Auch derzeit bereits in computerimplementierten Systemen verwendete Dateifor- mate, wie bei einer Tabelle in einer SQL-Datenbank oder einer e-Mail, können erfindungsgemäß in einem modifizierten Basisobjekt derart strukturiert abgebildet werden, dass sie mit derartigen Systemen besonders einfach ausgetauscht und dennoch innerhalb des computerimplementierten Systems besonders vorteilhaft verarbeitet werden können. Selbst Bearbeitungshilfen, wie eine Notiz, können grundsätzlich beliebig jedem Basisobjekt hinzugefügt werden und diese Hilfsmittel können weiter in Aspekte wie Frage, Antwort, Zustimmung und/oder Hinweis strukturiert werden.
Zusätzlich zu Objekten, die Inhalte haben können, sind bei dem Ausführungsbeispiel auch Objekte gebildet, die nur Eigenschaften haben können. Diesen Objekt- typ nennen wir Attribute. Er kann weiter spezialisiert werden zu Objekttypen wie „Tag", „TagBundle" und „Classification". Bei einem Tag kein ein möglichst beschreibendes Wort an ein beliebiges Objekt angehängt werden, indem man die Capability Tagging dafür benutzt. Auf das einzelne Tag können dann sämtliche der oben genannten prinzipiellen Merkmale angewendet werden. Ein TagBundle ist ein Container, der mehrer Tags und auch TagBundles zusammenfasst. Eine Classification wird genau wie Tags behandelt, nur ist sie mittels gerichteter Verbindungen an das zugehörige (Grund-) Objekt gehängt und ferner selbst zu anderen Classifications verbunden, um eine Taxonomy abzubilden. Durch diese Art der Modellierung von Tags und Classifications als eigene Objekte treten diesbezügli- che Unterschiede immer weiter in den Hintergrund.
Selbst der Zugriff auf einen anderen Server des computerimplementierten Systems mit unterschiedlichsten Protokollen kann mit derartigen Objekten abgebildet werden. Wir nennen einen derartigen Zugriff Remote, der allgemein nur den Na- men des Servers, dessen IP-Adresse, den Port, das Protokoll und optional eine Benutzer-Authentifizierung beinhaltet.
Eine als Extemal bezeichnete Klasse von modifizierten Basisobjekten des Ausführungsbeispiels erlaubt das Modellieren von externen Objekten, die sich aus unter- schiedlichsten Gründen nicht innerhalb des erfindungsgemäßen Systems befinden können oder dürfen. Ein External beinhaltet einen Verweis auf das externe Objekt und Properties, die Informationen über das externe Objekt beinhalten. Mit einer derartigen Klasse können die oben genannten prinzipiellen Merkmale auch auf Objekte angewendet werden, die sich nicht innerhalb des erfindungsgemäßen Systems befinden. Damit ist die technische Möglichkeit geschaffen, die bisher starren Grenzen zwischen den Daten eines Servers, eines lokalen PCs und den Daten von Fremdsystemen aufzuheben. Auch das Arbeiten im Offline-Modus ohne Zugang zu einem Server ist erfindungsgemäß besonders einfach möglich, indem während dieser Arbeit modifizierte Basisobjekte generiert werden, die nachfolgend mit dem Server separat ausgetauscht werden können.
Selbst Applikationen, wie z.B. ein Flash, RCP oder Ajax-Anwendungen können mit ihrem Einstiegspunkt von einem erfindungsgemäßen Basisobjekt abgebildet werden. Daten und Applikationen können daher im Ausführungsbeispiel gleichwertig verwaltet und beliebig miteinander verknüpft werden.
Gemäß einer weiteren vorteilhaften Ausgestaltung des Ausführungsbeispiels mit seiner im Wesentlichen nur durch Fähigkeiten definierten Objektstruktur sind ferner Objekte vorgesehen, die zwei Objekte miteinander verbinden. Bei diesen Objekten, den so genannten Verbindungsobjekten, welche nach dem prinzipiellen Merkmal Connection gebildet sind, werden „DirectedConnections" und „Parent- ChildConnections" unterschieden. Eine DirectedConnection enthält als Zusatzinformation zu einer Connection die Richtung, mit der die beiden Objekte verbunden sind. Eine ParentChildConncetion ist eine gerichtete Verbindung, die eine Hierarchie innerhalb einer Struktur ausdrückt. Die derart gebildeten Verbindungsobjekte können im Übrigen alle weiteren, oben bereits genannten Fähigkeiten annehmen und auch wieder ablegen, sodass sich entsprechend vielseitige Anwendungsmöglichkeiten ergeben.
Schließlich sind bei dem Ausführungsbeispiel Objekte vorgesehen, die Aufgaben verwalten können. Ein derart modifiziertes Basisobjekt ist beispielsweise ein Task, welcher eine Aktion, ein für die Ausführung derselben zuständiges Objekt und op- tional einen Zeitpunkt miteinander verknüpft. Ein UserTask ist ein modifiziertes Basisobjekt, welches eine Aktion, eine oder mehrere Personen und optional einen Zeitpunkt miteinander verknüpfen kann. Ein SystemTask dient zur Ausführung einer bestimmten Aktion zu einem definierten Zeitpunkt durch das System. Eine Spezialisierung eines derartigen SystemTask kann ein SearchAgent sein, der periodisch eine Suche nach bestimmten Kriterien durchführt und das Suchergebnis einem bestimmten Benutzer zur Verfügung stellt oder einem Aggregator für eine externe Verwendung des Suchergebnisses.
Zusammenfassend ermöglicht es das prinzipielle Merkmal Evolution aus recht einfachen Objektklassen mächtige Möglichkeiten zur Modellierung von verschiedensten Anwendungen zu schaffen. Einzelne Objektklassen können dabei vorteilhaft mit graphischen Hilfsmitteln gestaltet und implementiert werden. In Fig. 3 ist diese graphische Gestaltung von erfindungsgemäß modifizierten Basisobjekten veranschaulicht. Die Fig. 3 zeigt einen mit Bezugszeichen 26 bezeichneten Pool von Fähigkeiten für eine bestimmte Klasse an Objekten, aus dem ein Benutzer (durch Herüberziehen, so genanntes Drag-and-drop) jene Fähigkeiten auswählen kann, die das zu implementierende Objekt zur Erfüllung seiner Aufgabe ange- passter gestalten. Die einzelne Fähigkeit kann dabei dem Grundobjekt, vorliegend in Gestalt eines Folders 28, hinzugefügt werden. Dabei wird diese Fähigkeit mittels eines Verbindungsobjekts an das Grundobjekt angekoppelt. Die Fähigkeit selbst kann dann entsprechend weiter modifiziert werden. Die graphische Visualisierung der Objekte und deren Fähigkeiten erfolgt durch UML.
In dem derart visualisierten Klassendiagramm kann die Anzahl der jeweiligen Instanzen aller Objekte anzeigt werden, wodurch erkennbar wird, welche Klassen oft benutzt werden und welche eher selten. Einzelne Klassen können vorteilhaft durch eine Import- oder Export-Funktion in das computerimplementierte System gebracht werden. Es kann eine Art Marktplatz für Klassen (insbesondere in einem allgemein zugänglichen Netzwerk beispielsweise dem Internet) zur Verfügung ge- stellt werden, wo neue Klassen oder ganze Gruppen von Klassenbibliotheken zum Tausch oder Handel angeboten werden.
Vorteilhaft kann das Basisobjekt auch eine Eigenschaft tragen, die selbst gemäß dem prinzipiellen Merkmal Evolution eine Anpassung einer allgemeineren Eigenschaft darstellt. Dazu wird die Eigenschaft der Objekte ebenfalls aus einem Basisobjekt innerhalb des computerimplementierten Systems definiert. Ein Klassenbaum für die Eigenschaften von Objekten (den Properties) kann wie folgt aussehen:
Property
SelectionProperty
SingleSelectionProperty MultiSelectionProperty.
Property ist dabei die Basisklasse, welche die Grundfunktionen aller abgeleiteten Property-Klassen beinhaltet. SelectionProperty ist eine Spezialisierung dieser Basisklasse für die Verwaltung von Eigenschaften, die aus einer definierten Menge, beispielsweise einer Tabelle, zur Verfügung gestellt werden. SingleSelectionPro- perty und MultiSelectionProperty sind Spezialisierungen der SelectionProperty dahingehend, ob einer oder mehrere Werte gewählt werden können.
Das prinzipielle Merkmal Evolution lässt sich also bei dem Ausführungsbeispiel auch auf Fähigkeiten eines Objektes anwenden.
Ferner sind die Eigenschaften eines Objektes eng mit dessen Benutzeroberfläche bzw. User Interface gekoppelt, um zu erreichen, dass gleiche Eingaben, wie Text, Datum oder eine Auswahl immer gleich eingegeben werden. Das zugehörige Benutzer-Interface setzt sich daher aus jenen Objekteigenschaften zusammen, wel- che der Benutzer sehen oder editieren darf. Mindestens ein Basisobjekt ist ferner aus mehreren Objekten zusammengestellt worden, die zusammen einen erhöhten Nutzen bereitstellen. Dieses prinzipielle Merkmal wird Composition genannt und findet insbesondere dahingehend Anwendung, dass aus mehreren verschiedenartigen Grundelementen ein erfin- dungsgemäßes Objekt zusammengestellt werden kann. Fig. 4 veranschaulicht einen derartigen Zusammenbau eines erfindungsgemäßen Objektes aus einzelnen Grundelementen.
Eine Tasklist 30 dient dabei zum Verwalten von Aufgaben und umfasst als Con- tainer mehrere Tasks 32, welche Anlagen (Attachment) 34, Notizen (Note) 36 o- der eine Bewertung (Review) 38 beinhalten können. Ferner kann an eine Anlage 34 ihrerseits eine Notiz 36 angehängt werden und an eine Bewertung 38 kann eine Frage (Question) 40 an einen anderen Benutzer angehängt werden.
In ähnlicher Weise kann gemäß Fig. 5 eine Diskussion (Discussion) 42 strukturiert werden, indem dieser mehrere Ordner (Folder) 44 zugeordnet werden, in denen sich Notizen 36 mit den Kommentaren der Benutzer befinden. An die Notizen 36 können dann Anlagen 34, weitere Notizen 36, Bewertungen 38 oder Fragen 40 angehängt werden.
In entsprechender Weise kann auch ein Dokumentenraum (ein so genannter DocSpace) einerseits sehr allgemein und andererseits für den einzelnen Benutzer speziell angepasst werden. Ein Dokumentenraum ist dabei ein Folder, in dem Benutzer ihre Ordner und Dateien innerhalb eines Projekts ablegen können. Dadurch werden Möglichkeiten des geordneten Zugriffs auf diese Daten und Möglichkeiten des Anbindens von Zusatzinformationen an diese Daten in nahezu beliebiger Form angeboten. Derartiges ist mit keinem der heutigen Dateisysteme möglich. Die Zusatzinformationen können vielfältig auch vom Benutzer selbst ausgewertet werden. Grundelemente wie Tasklist, Discussion und DocSpace können weiter in einen WorkSpace, also einem Arbeitsraum für bestimmte Benutzer, zusammengestellt werden, der schließlich in Ergänzung mit einem Kalender und einem Or- ganigramm zu einem Projektraum (einem so genannten ProjectSpace) erweitert werden kann. Projekte von mehreren Organisationen oder Bereichen können in einer Projektwelt (ProjectWorld) kombiniert und entsprechend auch von einzelnen Benutzern verwaltet werden.
Zusammenfassend können mit dem prinzipiellen Merkmal Compostion selbst komplexe Themen in kurzer Zeit und einfacher Weise strukturiert und dem computerimplementierten System und Verfahren zugänglich gemacht werden. Noch nur wenig definierte Bereiche eines Themas können in ihrer allgemeinen Form abgebildet und ggf. zu einem späteren Zeitpunkt detaillierter strukturiert werden.
Dieses prinzipielle Merkmal der Composition eines Objektes aus mehreren Basisobjekten lässt sich erfindungsgemäß vorteilhaft auch auf die Eigenschaften eines Basisobjektes anwenden, indem diese computerimplementiert als einen Zusam- menstellung mehrerer allgemeiner Eigenschaften dargestellt werden. So kann gemäß Fig. 6 in einfacher Weise aus einer Datumseigenschaft, einem DatePro- perty 46, und einer Zeiteigenschaft, einem TimeProperty 48, eine zusammengesetzte Eigenschaft in Gestalt einer DateTimePropery 50 gebildet werden. Diesem kann eine geographische Koordinate in Gestalt eines LocationProperty 52 neben- geordnet werden, welche dann zu einem so genannten DateTimeLocationProper- ty 54 kombiniert wird. Diese Eigenschaft kann beim Ausführungsbeispiel in einem einzigen Wert angeben, zu welchem Datum, zu welcher Zeit an welchem Ort ein Objekt erstellt worden ist.
Wie bereits oben erwähnt, ist mindestens eines der Basisobjekte als Verbindungsobjekt gestaltet, welches zwei oder mehr andere Basisobjekte verbinden kann. Dieses erfindungsgemäße prinzipielle Merkmal bezeichnen wir als Connec- ting, wobei beim Ausführungsbeispiel diese genannte Verbindungsfunktion eines Basisobjektes diesem als eine Fähigkeit zugeordnet ist. Mit Hilfe der derartigen Verbindungen können Objekte miteinander verknüpft, als Graphen strukturiert, geordnet und zueinander in Beziehung gebracht werden. Aufgrund einer erfin- dungsgemäß bevorzugten Einschränkung, dass jedes Verbindungsobjekt immer genau zwei Objekte miteinander verknüpft, sind Hypergraphen nicht erlaubt. Jedoch ist es dennoch möglich zwei gleiche Objekte durch mehrere Verbindungsobjekte miteinander in eine stärkere Beziehung zu setzen. Hierzu ist in Fig. 7 der allgemeinste Fall einer Verbindung dargestellt, die mit einem (ausgehend von einem Basisobjekt gebildeten) Verbindungsobjekt 56 zwischen zwei (ausgehend von Basisobjekten gebildeten) Objekten 58 gestaltet ist. Das Verbindungsobjekt 56 wird dabei erfindungsgemäß auch als Connection bezeichnet.
Es entstehen auf diese Weise zwei unterschiedliche Typen von erfindungsgemäß modifizierten Basisobjekten, von denen der eine Typ als so genanntes Informationsobjekt im weitestgehenden Sinn eine beliebige Form von Information, wie beispielsweise ein Dokument, ein Bild oder eine Notiz enthält. Der Typ der Verbindungsobjekte ist im Gegensatz dazu darauf spezialisiert zwei andere Objekte (In- formations- oder Verbindungsobjekte) miteinander zu verbinden. Wie in Fig. 8 weiter veranschaulicht ist, können Informationsobjekte 58 selbst keine direkte Verbindung zu anderen Informationsobjekten 58 eingehen. Allerdings haben sie "Steckdosen" 60, an denen sich Verbindungsobjekte 56 "anstecken" können. Die Verbindungsobjekte 56 selbst haben vorliegend bevorzugt genau zwei "Stecker" 62, die sich einzeln an einer "Steckdose" 60 eines beliebigen Objektes "anstecken" können, um eine Verbindung zwischen diesen beiden Objekten herzustellen. Ferner haben auch die Verbindungsobjekte 56 selbst "Steckdosen" 60, damit an ihnen andere Verbindungsobjekte 56 "anstecken" können.
Basierend auf den oben genannten prinzipiellen Merkmale Capabilties, Evolution und Composition können die derart gebildeten Verbindungsobjekte sehr einfach selbst für unterschiedlichste Arten von Aufgaben angepasst werden. Insbesondere können die Verbindungsobjekte dabei die Fähigkeit annehmen und ablegen, gerichtet zu werden, abgesichert zu werden, bewertet zu werden, gewichtet zu werden, eine Information zu tragen, ihre Änderung nachzuvollziehen, auf ihre Änderung überwacht zu werden und/oder einem Ablauf zu unterliegen. Im Hinblick auf die Fähigkeiten abgesichert zu werden, bewertet zu werden, ge- wichtet zu werden, einen Information zu tragen, seine Änderung nachzuvollziehen, auf eine Änderung überwacht zu werden und/oder einem Ablauf zu unterliegen wird dabei auf die obige Erläuterung dieser Fähigkeit im Hinblick auf die allgemeinste Form eines erfindungsgemäßen Basisobjektes verwiesen.
Die Fähigkeit, dass ein Verbindungsobjekt eine Richtung erhalten kann ist so zu verstehen, dass mit der Richtungsangabe eines der verbundenen Objekte zum Ausgangspunkt und das andere Objekt zum Endpunkt dieser gerichteten Verbindung wird. Es können so erfindungsgemäß Baumstrukturen aufgebaut werden, in denen Kreisstrukturen nicht zugelassen sind, die aber eine Modellierung von Hierarchien erlauben. Dies ist insbesondere im Hinblick auf die Verwaltung von Dateisystemen oder Benutzergruppen interessant. Die derart gerichteten Verbindun- gen werden erfindungsgemäß auch ParentChildConnection genannt. Mit einer derartigen Art von Verbindung kann beispielsweise auch ein Hyperlink, wie man ihn aus dem Internet bzw. dem World-Wide-Web gewohnt ist, für das System und Verfahren des Ausführungsbeispiels gestaltet werden.
Durch so genannte SimilarityConnections können beim Ausführungsbeispiel ferner Objekte miteinander verbunden werden, die sich ähnlich in Bedeutung oder Inhalt sind. Ähnliches ist mit so genannten SeeAlsoConnections möglich, welche als gerichtete Verbindung einen Hinweis modellieren können. Mittels so genannter CitationConnections können Zitate eines Dokuments in einem anderen Dokument abgebildet werden und mit so genannten AntiConnections ist eine Verbindung möglich, welche mit Hilfe einer negativen Gewichtung angibt, wie stark sich zwei Objekte "abstoßen". Mittels so genannter SemanticConnections lassen sich semantische Netze zwischen Objekten modellieren. So genannte SpringConnecti- ons können eine sich ändernde Beziehung zwischen Objekten ähnlich dem Ver- halten einer mechanischen Feder modellieren. Der Abstand zwischen den Objekten wird dazu als ein Gewichtungswert der Verbindung ausgedrückt. So genannte CompositionConnections dienen dazu Objekte so zusammen zu führen, wie es oben zum prinzipiellen Merkmal Composition erläutert worden ist. Es können auf diese Weise auch beliebige Objektklassen miteinander kombiniert werden, um neue Kombinationsobjekte, so genannte Composites, zu erstellen. Zusätzlich ist diese Art von Verbindung des Ausführungsbeispiels in der Lage den Typ und die jeweilige Anzahl der möglichen Objekte, mit denen das Composite erstellt werden kann, genau zu definieren. So wurde auch die oben genannte Composition eines ProjectSpace beim Ausführungsbeispiel realisiert, indem diesem genau ein Kalender, genau ein Organigramm und beliebig vielen WorkSpaces zugeordnet wur- den.
Die Verbindungsobjekte des Ausführungsbeispiel sind damit ganz anders, als Verbindungsbeziehungen in bekannten Datenstrukturen von beispielsweise objektorientierten Datenbanken. Sie haben alleine wegen der Tatsache, dass sie genau wie Informationsobjekte auf Basisobjekten beruhen, je nach Bedarf verschiedenste Fähigkeiten, die wie folgt nutzbringend eingesetzt werden können:
Die Verbindungsobjekte haben Eigenschaften (Properties), wie z.B. einen eindeutigen Namen, um so genannte Permalinks zu ermöglichen. Verbindungsobjekte können eine Zusatzinformation (Content) in Form beispielsweise eines Textes aufweisen, der Erläuterung für den Grund der Verbindung oder detaillierte Informationen über den Zusammenhang zwischen den beiden verbundenen Objekten beschreibt. Auf die Verbindungsobjekte können alle bereits genannten verfügbaren Ordnungsmöglichkeiten angewendet werden (Connecting, Tagging, Classify- ing). Verbindungsobjekte können auch selbst zur Nachvollziehbarkeit erfasst werden (Version Control, Histroy, Audit Trail, Logging). Verbindungsobjekte können durch die Vergabe von Berechtigungen für den Lese- oder Schreibzugriff administriert werden, sodass bestimmte Verbindungsobjekte (und damit auch die dahinter liegenden Objekte) für bestimmte Benutzer oder Benutzergruppen nicht sichtbar oder editierbar sind (Access Rights, Signing, Encrypting). Die Sichtbarkeit von Verbindungsobjekten kann auch über die Zeit gesteuert werden (Visibility). Verbindungsobjekte können von Benutzern bewertet und damit einen Mehrwert erhalten (Rating, Voting). Verbindungsobjekte können aktiv vom Benutzer oder passiv vom System gewichtet werden (beispielsweise durch die Häufigkeit der Nutzung) (Weighting). Die Aktualität von Erfindungsobjekten kann für die Naviga- tion in hierarchischen Strukturen genutzt werden (Aktualität, Outdating, Expiring). Das Setzen von Überwachungen (Watches) auf Verbindungsobjekte kann einen Benutzer über etwaige Veränderungen der Verbindung auf den laufenden halten (Watching). Ferner kann der Lebenszyklus eines Verbindungsobjektes einem Arbeitslauf unterliegen (Workflowable), wie beispielsweise ein Prozess zur Freigabe von Verbindung zwischen sensiblen Daten.
Indem vorteilhaft ferner bei dem Ausführungsbeispiel computerimplementiert die derart gebildeten Informationsobjekte als Knoten und die Verbindungsobjekte als Kanten eines Graphen identifiziert werden, können basierend auf der Graphen- theorie und den darin zur Verfügung stehenden Algorithmen Maßzahlen festgelegt werden. Diese Maßzahlen geben dann innerhalb der Datenstruktur des Ausführungsbeispiels Auskunft über die Beziehung der Informationsobjekte untereinander.
Wichtige Maßzahlen sind dabei:
- die Anzahl der Verbindungen an einem Objekt,
- der minimale Abstand zwischen zwei Objekten (welcher beispielsweise mittels dem Algorithmus von Dijkstra berechnet werden kann),
- die Anzahl der möglichen Wege mit einer maximalen Länge zwischen zwei Ob- jekten,
- das Gewicht und/oder die Aktualität eines Verbindungsobjektes bzw. einer Kante,
- das Gewichts und/oder die Aktualität aller Verbindungsobjekte bzw. Kanten eines Informationsobjektes bzw. Knotens, - die Anzahl der auf ein Objekt gerichteten Verbindungsobjekte sowie - die Anzahl an Schritten, die benötigt wird, um bei durch gerichtete Verbindungsobjekte verbundenen Informationsobjekten (ParentChildConnections) das gemeinsame Ausgangsobjekt (Elternobjekt bzw. ParentObject) zu ermitteln.
Mit Hilfe der Maßzahlen können beim Ausführungsbeispiel sehr leicht jene Informationsobjekte gefunden werden, die stark miteinander vernetzt sind und entsprechend innerhalb der Datenstruktur eine hohe Bedeutung haben. Ferner können auf der Basis der Maßzahlen selbst große Mengen an Informationen besonders einfach strukturiert werden, wie nachfolgend zum so genannten prinzipiellen Merkmal Swarm noch näher erläutert werden wird.
Die Verbindungsobjekte können ferner in einer dem Ausfϋhrungsbeispiel zugeordneten Anzeigeeinheit, beispielsweise in Gestalt eines Bildschirmes, graphisch auf vielfältigste Weise, beispielsweise in unterschiedlichen Farben, visualisiert werden. Durch Layoutalgorithmen können miteinander verwandte Informationsobjekte nahe beieinander liegend dargestellt werden. Optional kann vom Benutzer des computerimplementierten Systems die Tiefe der gewünschten Visualisierung ausgehend von einem Informationsobjekt angegeben werden. Durch Anwählen eines Informationsobjektes kann dieses zum neuen aktuellen Informationsobjekt werden, um so eine Bewegung durch die Datenstruktur real abbilden zu können. Diese Art der "Navigation" durch die Datenstruktur bringt einem Benutzer einen viel rascheren Überblick über ein Themengebiet und die nicht offensichtlichen Verbindungen zu anderen Themengebieten, als durch eine übliche Baumstruktur, wie sie beispielsweise in heutigen Dateisystemen angeboten wird.
Bevorzugt ist ferner das mindestens eine Basisobjekt dazu eingerichtet, dass es während des Betriebs des computerimplementierten Systems einem vordefinierten Ablauf unterliegt. Der vordefinierte Ablauf wird vorliegend auch als Lifecycle bezeichnet. Der derartige „Lebenszyklus" beginnt mit der „Geburt" des modifizier- ten Basisobjektes im computerimplementierten System des Ausführungsbeispiels und endet mit dessen „Tod". Während eines dazwischen liegenden „Lebens" er- fährt das modifizierte Basisobjekt die unterschiedlichsten Modifikationen, die sich insbesondere aufgrund seiner angenommen und abgelegten Fähigkeiten ergeben.
Vorteilhaft ist ferner der das Leben beschreibende, vordefinierte Ablauf mittels zweier Stati und einem Statusübergang definiert, von denen die Stati ausgehend von Basisobjekten abgebildet sind, die Informationen tragen, und der Statusübergang ausgehend von einem Basisobjekt abgebildet ist, das als Verbindungsobjekt zwei oder mehr Basisobjekte verbindet. Auf diese Weise kann erfindungsgemäß eine ganze Kette von Stati gebildet werden, wobei der Wechsel von einem Status zu einem anderen Status in Form eines den Übergang beschreibenden Verbindungsobjektes gestaltet ist. Vorteilhaft ist bei dieser Vorgehensweise, dass die für den Lebenszyklus bzw. Ablauf verwendete Datenstruktur einheitlich ist mit den im Ablauf verarbeiteten Daten selbst, sodass sämtliche auf die Daten angewandten, oben beschriebenen und auch nachfolgend noch genannten prinzipiellen Merkma- Ie auch auf die Ablaufbeschreibung angewendet werden können.
Das computerimplementierte System und Verfahren des Ausführungsbeispiels sind ferner vorteilhaft dazu eingerichtet, dass bei ihnen das mindestens eine Basisobjekt während des Betriebs des computerimplementierten Systems seine Nut- zung protokolliert. Das dabei zugrunde liegende prinzipielle Merkmal des Ausführungsbeispiels wird hier als Usage bezeichnet und basiert auf der Erkenntnis, dass jedes Verhalten von Benutzern in einem computerimplementierten System Spuren hinterlässt, die zu den im System gespeicherten Informationen einen wichtigen Mehrwert bilden können. Die Spuren können vorteilhaft verfolgt bzw. ge- sammelt und die so weiter entstandenen Informationen auf unterschiedlichste Art genutzt werden. Beim Ausführungsbeispiel wird dabei unterschieden zwischen der so genannte Passive Usage, bei der Informationen rein durch die Benutzung des Systems entstehen, und der so genannten Active Usage, welche all jene Informationen umfasst, die von einem Benutzer aktiv dem System hinzugefügt werden. Im Hinblick auf Passiv Usage werden bei dem computerimplementierten System und Verfahren Veränderungen, die ein Benutzer an einem Objekt vornimmt, mit den relevanten Änderungsinformationen erfasst (wie beispielsweise Datum und Uhrzeit, Benutzername und durchgeführte Aktion) und insbesondere in einer Nut- zungstabelle, wie sie in Fig. 9 dargestellt ist, abgelegt.
Die Nutzungstabelle umfasst dabei:
- eine Spalte 64, in der Datum und Uhrzeit (DateTime) der vorgenommenen Änderung aufgeführt sind, - eine Spalte 66, in der die IP-Adresse (IP Address) des die Änderung durchführenden Rechners aufgeführt ist,
- eine Spalte 68, in der eine Benutzeridentifikation (UserlD) aufgeführt ist,
- eine Spalte 70, in der die durchgeführte Aktion (Action, wie z.B. Betrachten (view), Editieren (edit.attributes), Erstellen (create), Löschen (delete), Taggen (tag) oder Klassifizieren (classify)) aufgeführt ist, und
- eine Spalte 74, in der die Zeitdauer (Duration) der durchgeführten Aktion aufgeführt ist.
Die derart gestaltete Nutzungstabelle wird innerhalb der Datenstruktur in Form eines Information tragenden Basisobjektes abgebildet. Dieses Basisobjekt ist nach dem prinzipiellen Merkmal Composition aus Verbindungsobjekten zusammengesetzt. Jedes Verbindungsobjekt bildet eine Zeile der Nutzungstabelle ab. Es ist als so genannte UsageConnection modifiziert. Die UsageConnection ist dabei die Verbindung, die den Benutzer (welcher ja ebenfalls als modifiziertes Ba- sisobjekt repräsentiert ist) und das benutzte Objekt verbindet. Als Eigenschaften der UsageConnection sind z.B. die durchgeführte Aktion (Action) und die Dauer der Aktion (Duration) und der Zeitpunkt der Durchführung (DateTime) gespeichert.
Auf diese Weise sind die gemäß dem Stand der Technik bisher in textuellen Log- Dateien befindlichen Nutzungsdaten zu einer speziellen Art von Verbindungsobjekten weiterentwickelt, wodurch die folgenden Vorteile entstehen: Die Nutzungs- daten sind selbst auf der Grundlage von Basisobjekten abgebildet, auf welche sämtliche genannten prinzipiellen Merkmale anwendbar sind. Da jede Aktion als ein Verbindungsobjekt zwischen einem Benutzer und einem benutzen Objekt abgebildet ist, entwickelt sich ein Graph zwischen dem Benutzer und dem benutzen Objekt, auf dem insbesondere die genannten graphentheoretischen Algorithmen für Auswertungen und Analysen angewendet werden können. Neben der eigentlichen Datenstruktur bildet sich eine Nutzungsstruktur, wobei diese beiden Strukturen gemeinsam ausgewertet werden können.
Die Sichtweise, die Nutzungsdaten nicht mehr als einfache Tabelle, sondern als Graphen zu betrachten, schafft neue Möglichkeiten der Visualisierung und Auswertung. Fig. 10 zeigt einen derartigen Graphen, der Nutzungsdaten in Form von UsageConnections 76 zwischen Benutzern 78 und Informationsobjekten 80 abbildet.
Die derart aufgeschlüsselten Nutzungsdaten können auf vielfältige Art und Weise im System des Ausführungsbeispiels ausgewertet werden. Sie sind insbesondere hilfreich für die Nachvollziehbarkeit von Aktionen und Unterstützen auch das Bilden eines so genannten Audit Trails (wie er beispielsweise für kritische Daten durch den Sarbanes-Oxley Act vorgeschrieben ist). Ferner können Zugriffsberechtigungen einfach überwacht werden, der zeitliche Verlauf von Arbeiten an einem Objekt kann leicht visualisiert werden, Ereignis-Protokolle können einfach erstellt und weitergeleitet werden und persönliche Journale können für einen Benutzer bei Bedarf abgerufen werden.
In vielen Systemen des Standes der Technik werden die Metadaten des Objektes und auch die Daten von dessen Editoren sowie das Erstellungs- und Änderungsdatum direkt als Eigenschaften des Objektes gespeichert. Gemäß dem Ausführungsbeispiel sind hingegen die benutzerbezogenen Daten von den objektbezo- genen Daten getrennt strukturiert, sodass diese auch entsprechend getrennt oder aber in Verbindung mit den Objekten ausgewertet werden können. So können bei dem System des Ausführungsbeispiels beispielsweise die Bearbeitungskosten für ein Objekt (insbesondere innerhalb eines Projektes) leicht ermittelt werden. Für die Lizenzierung der Nutzung eines Objektes können die Lizenz- kosten unmittelbar an der erfolgten Nutzung berechnet werden. Ferner kann, wie oben bereits erwähnt, die Aktualität eines Objektes an dessen Nutzung orientiert mathematisch berechnet werden. Da auch Objektkassen wie ein Programmskript und ein Anwendungsprogramm als eigene Objekte abbildbar sind, kann auch deren Nutzung an einem Server durch einen Benutzer mittels der erfindungsgemä- ßen UsageConnections abgebildet und ausgewertet werden. Ein Benutzer kann jederzeit über seine zuletzt bearbeiteten Objekte und die darauf durchgeführten Aktionen informiert werden. Ferner können wiederkehrende Muster von Aktionen identifiziert werden. Diese Muster können dann automatisch und/oder in Abstimmung mit einem Benutzer in eine Reihe von Aktionen zusammengefasst werden, die als Skript-Objekt verfügbar gemacht werden. Mehrere Skripts können mit Con- nections aneinander gereiht werden.
Die Nutzungsdaten beinhalten auch Angaben darüber, welcher Benutzer welches Objekt angesehen hat. Damit kann aus den erfindungsgemäß erfassten Nut- zungsdaten eine gesicherte Informationsverteilung (Assured Information Delivery) bereitgestellt werden, bei der z.B. mittels eines Fragebogens erfasst werden kann, ob eine Information tatsächlich verstanden worden ist. Es kann auch erfasst werden, ob eine Reihe von Aktionen nur langsam nacheinander ausgeführt worden ist, und so auf Unsicherheiten in der Benutzung geschlossen werden. Ferner kann erfasst werden, ob neue Funktionen von den Benutzern angenommen werden oder nicht.
Fehler in der Bedienung bzw. Benutzung eines computerimplementierten Systems gemäß dem Ausführungsbeispiel können ebenfalls besser erfasst und nachvoll- zogen werden. Die Nutzung bzw. Auslastung des gesamten computerimplementierten Systems kann ebenfalls vergleichsweise leicht erfasst und für einen Sys- temadministrator aufbereitet dargestellt werden. Diese Auswertung ist noch dazu in Echtzeit möglich. Da ferner auf die erfassten Nutzungsdaten auch entsprechend begrenzte Zugriffsrechte verteilt werden können, ist es sogar leicht möglich diese Benutzung zu "anonymisieren".
In der Active Usage werden all jene Möglichkeiten zusammenfasst, die es einem Benutzer erlauben aktiv weitere Informationen direkt einem Objekt hinzuzufügen, an einem Objekt ein Objekt mit Hilfe eines Verbindungsobjektes anzuhängen, oder Objekte über Verbindungsobjekte miteinander zu verknüpfen.
Das so genante Tagging umfasst dabei das Hinzufügen von einzelnen Wörtern oder Begriffen, so genannte Schlag- oder Schlüsselwörter, zu einem Objekt. Jedes Tag wird in einem eigenen Eingabefeld eingegeben, wodurch eine Trennung zwischen den einzelnen Tags einfacher wird. Ferner können dadurch dem einzel- nen Tag selbst Eigenschaften mitgegeben werden. So zeigt Fig. 11 eine Eingabemaske 82 für ein Tag 84, dem eine Einordnung hinsichtlich seiner Sichtbarkeit Visibility 86 nämlich öffentlich (public) oder privat (private) zugeordnet ist. Im oberen Bereich der Eingabemaske 82 ist ferner eine Anzeige von öffentlichen Tags anderer Benutzer dargestellt, bei der der Benutzer der Eingabemaske 82 ferner die Möglichkeit erhält, diese öffentlichen Tags zu werten (My Rating).
Im Gegensatz zu Tags, wo beliebige Wörter genutzt werden können, ist bei Klassifikationen der Wortschatz genau vorgegeben und der Benutzer kann nur aus diesem fixen Wortschatz einen oder mehrere Begriffe auswählen. Ähnlich wie die Tags werden auch die Klassifikationen jeweils als eigenes Objekt modelliert. Fig. 12 zeigt ein solches Modell von zwei Informationsobjekten 90 und 92, die über eine ParentChildConnection als Verbindungsobjekt 94 verbunden sind. Den Informationsobjekten 90 und 92 sind ferner über TagConnections als Verbindungsobjekte 96 und Tags 98 in Form von Informationsobjekten zugeordnet. Drei der Tags 98 sind über TagBundleConnections zu einem so genannten TagBundle 102 in Form eines Informationsobjektes gebündelt. Auch das Anhängen bzw. Einbinden von Informationsobjekten in die Datenstruktur ist eine aktive Nutzung, wobei insbesondere Notizen in allgemeiner Form angehängt werden können. Eine Notiz ist ein Objekt, das aus einem Text, einem Titel und einer beliebigen Menge an Anhängen bestehen kann. Eine Notiz kann dabei einen vielfältigen Mehrwert bieten und insbesondere eine Bewertung des zugehörigen Informationsobjektes beinhalten. Eine besondere Art einer derartigen Bewertung ist eine Rückmeldung eines Benutzers bei Durchsicht eines ihm zur Verfügung gestellten Suchergebnisses. Der Benutzer kann bei dem System des Aus- führungsbeispiels dabei mit einem einzigen Mausklick die Relevanz des einzelnen Eintrags des Suchergebnisses bewerten.
Eine weitere aktive Nutzung innerhalb des computerimplementierten Systems bzw. Verfahrens ist das Verbinden bzw. Koppeln bestehender Objekte mittels Verbindungsobjekten gemäß dem oben bereits erläuterten prinzipiellen Merkmal Connection.
Bei einer weiteren vorteilhaften Ausgestaltung des computerimplementierten Systems und Verfahrens gemäß dem Ausführungsbeispiel sind bei diesem mehrere Basisobjekte dazu eingerichtet, dass sie gemäß ihrer angenommenen Fähigkeit, ihrer Art der Zusammenstellung aus mehreren Objekten, ihrer Art der Zusammenstellung mehrerer allgemeiner Eigenschaften, ihrem vordefinierten Ablauf und/oder ihrer protokollierten Nutzung geordnet werden können. Die dabei erstellte Ordnungsstruktur basiert insbesondere auf den oben genannten prinzipiellen Merkmale, gemäß denen die für das Ordnen erforderlichen Informationen erfasst und innerhalb der Datenstruktur des Ausführungsbeispiels in gleicher Weise gespeichert werden, wie die eigentlichen Informationen.
Dabei wird zunächst von einer so genannten Objectsoup (einer „Objektsuppe") ausgegangen, die einen Behälter darstellt, in dem sich alle Objekte gleichwertig und ungeordnet befinden. Insbesondere durch die Nutzung der Objekte entstehen dann explizite und implizite Ordnungen die erkannt, berechnet, visualisiert und für verschiedenste Anwendungsmöglichkeiten genutzt werden können. Dabei werden insbesondere so genannte relevante Objekte erkannt, die besondere Eigenschaften und Merkmale aufweisen. Ferner werden so genannte Alpha-Objekte ermittelt, denen viele andere Objekte „folgen".
Das derart entwickelte prinzipielle Merkmal wird als Swarm bezeichnet. Wichtig ist bei dieser Vorgehensweise, dass innerhalb der Objectsoup das einzelne Objekt nicht nur in Verbindung mit anderen Objekten gesehen werden kann, sondern auch als eine alleinstehende Einheit, die zu den anderen Einheiten ungeordnet und gleichwertig ist. Die alleinstehende Einheit kann programmtechnisch nämlich erheblich einfacher verarbeitet und angesprochen werden, als wenn sie sich stets in einer Kopplungen mit anderen Einheiten befindet, wie dies bei bekannten Systemen der Fall ist.
Die „Unabhängigkeit" des einzelnen Objektes wird erreicht, indem jedes Basisobjekt drei Grundfähigkeiten aufweist, nämlich eine eindeutige Kennung zugewiesen zu haben, computerimplementiert gespeichert werden zu können und auf eine computerimplementierte Anfrage hin antworten zu können. Diese besonders ein- fache Grundstruktur der Basisobjekte, welche allen sich innerhalb der Objectsoup befindlichen Objekten gemeinsam ist, ermöglicht während des eigentlichen Betriebs des computerimplementierten Systems und Verfahrens eine Abfrage bzw. einen Zugriff auf sämtliche ( gegebenenfalls bereits modifiziert) vorliegenden Basisobjekte.
Da wie oben erläutert auch sämtliche weiteren Strukturdaten und Nutzungsarten des computerimplementierten Systems und Verfahrens in Form solcher Basisobjekte innerhalb der Objectsoup abgelegt werden, können aus diesen modifizierten Basisobjekten nach nahezu beliebigen Kriterien die oben genannten „Zusammen- Schlüsse" von miteinander in Beziehung stehenden Objekten gebildet werden.
Innerhalb der Zusammenschlüsse können relevante Objekte, insbesondere rele- vante Benutzer, relevante Tags oder Klassifikationen, relevante Verbindungen, relevante Workflows oder relevante Suchmuster leicht ermittelt werden.
Bei dem Ausfϋhrungsbeispiel ist mit dieser Vorgehensweise die Funktion reali- siert, dass beim Ändern oder Löschen von relevanten Objekten in einer Ordnung das System den Benutzer fragt, ob er andere relevante Objekte in diesem Bereich auch ändern oder löschen möchte. Ferner kann dem Benutzer des Systems gemäß dem Ausführungsbeispiel stets ein Überblick über die Ordnungsstruktur eines bearbeiteten Objektes gegeben werden oder es können ihm die innerhalb der Ordnung tätigen anderen relevanten Benutzer als Experten genannt werden.
Die Möglichkeiten, Ordnungen zu ermitteln und zu erkennen sind dabei besonders vielfältig. So können Ordnungen innerhalb verschiedenerer Fähigkeiten (Capabili- ties) innerhalb der Entwicklung von Objekttypen (Evolution), innerhalb von glei- chen oder ähnlichen Composition-Objekten, innerhalb von durch Verbindungsobjekte (Connections) hergestellten Strukturen, Hierarchien und Gruppen, innerhalb von Nutzungsstrukturen (Usage) aufgebaut und für eine spätere Auswertung nutzbar gemacht werden. Bei dem Ausführungsbeispiel können insbesondere die „Trampelpfade", also oft genutzte Verbindungen zwischen Objekten visualisiert und daraus eine Empfehlung für einen vordefinierten Ablauf abgeleitet werden.
Fig. 13 zeigt eine solche Visualisierung von Verbindungsobjekten 104 zwischen Informationsobjekten 106, bei der die Nutzungshäufigkeit der Verbindungsobjekte 104 durch die Strichstärke von Kanten zwischen den als Knoten dargestellte In- formationsobjekten 106 veranschaulicht ist. An der Darstellung kann ein Benutzer ferner anhand der Farbe der dargestellten Kante eine (oft genutzte) Verbindung mit sehr hoher Aktualität 104a von einer (oft genutzten) Verbindung mit geringer Aktualität 104b unterscheiden. Eine selten genutzte Verbindung mit geringer Aktualität 104c erkennt der Benutzer bereits an der geringen Strichstärke der darge- stellten Kante. Die Strukturierung auf Grundlage von ausschließlich modifizierten Basisobjekten ermöglicht es ferner, Kosten für bestimmte Strukturbereiche zu ermitteln und daraus Kostenschätzungen für ähnliche Strukturen aufzustellen. Dabei können insbesondere die anhand der Usage entstandenen Bearbeitungskosten berücksich- tigt werden.
Ferner können bei dem System und Verfahren gemäß dem Ausführungsbeispiel Benutzer oder Autoren gruppiert werden, die an gleichen Themen bzw. Objekten arbeiten. Fig. 14 zeigt eine solche Darstellung, bei der die einzelnen Autoren 106 in ihren Themengebieten als Punkte veranschaulicht sind. Die Größe des Punktes eines Autors veranschaulicht innerhalb der Darstellung dessen Publikationshäufigkeit. Autoren, die an den gleichen Themen arbeiten, können sich auf diese Weise zu Autorenteams zusammenfinden. Ferner können isolierte Autoren als „Einzelgänger" und auch Themenketten bildende Autoren als „Autorenkette" er- kannt werden.
Es können vorteilhaft auch Korrelationen zwischen Tags, Klassifikationen, dem Inhalt, Ratings, Reviews und der Passive Usage ausgewertet werden. Mit Hilfe der Maßzahlen aus der Graphentheorie lassen sich, wie oben bereits erwähnt, die Entfernungen zwischen den einzelnen relevanten Objekten berechnen. Bereiche mit eng zusammenhängenden Objekten werden als so genannte relevante Cluster bezeichnet und sind innerhalb eines Swarm von besonderer Bedeutung.
So können die relevanten Cluster einem Benutzer beispielsweise dazu angezeigt werden, damit dieser gezielt in einem der Cluster eine Suchanfrage starten kann.
Gemäß einer weiteren vorteilhaften Ausgestaltung des Ausführungsbeispiels ist eine Auswertung im Hinblick auf die sich ergebenden Ordnungen insbesondere dahingehend möglich, welche Ordnung sich zwischen Basisobjekten ergibt, wel- che Benutzer darstellen. Wir nennen dieses prinzipielle Merkmal Socializing. Die Auswertung beruht dabei auf den Ergebnissen, die die erfindungsgemäße Lösung durch die prinzipiellen Merkmale Usage und Swarm liefert. Sie basiert auf der Erkenntnis, dass hinter jedem Objekt innerhalb einer Datenstruktur, insbesondere einer objektorientierten Datenbank, ein oder mehrere Benutzer dieses Objek- tes „stehen", die mit diesem Objekt arbeiten oder sich mit diesem Objekt beschäftigt haben. Da sich nun innerhalb des Systems und Verfahrens des Ausführungsbeispiels die Objekte besonders leicht ordnen lassen, ergibt sich mit geringem Aufwand auch eine Ordnung jener Benutzer, die diesen Objekten zugeordnet sind. Die auf diese Weise ermittelte Ordnung von Benutzern wird gewinnbringend eingesetzt, indem diese Benutzer z.B. über Chat oder e-Mail miteinander in Kontakt gebracht werden. Geographische Grenzen können dabei leicht überwunden und es können auch Benutzer miteinander in Kontakt gebracht werden, die in einem weltweit verteilt arbeitenden Unternehmen tätig sind.
Das computerimplementierte System und Verfahren können dazu dem einzelnen Benutzer in Listenform oder in Gestalt eines graphisch aufbereiteten Charts jene Benutzer zur Kenntnis geben, die sich mit ähnlichen Probleme, Themen, Bereichen oder Tätigkeiten beschäftigen. Diese Benutzer können dann unter Auswahl eines vordefinierten Kommunikationskanals (z.B. e-Mail, Voice-over-IP, Chat) kon- taktiert werden.
Die zum Kontaktieren interessanten Benutzer bzw. Kollegen können dabei insbesondere folgende Eigenschaften haben:
- Sie arbeiten in der gleichen Ordnung (Bereich, Thema, Teilbaum, Gruppierung) oder haben gleiche Zugriffsberechtigungen;
- sie arbeiten oft zur gleichen Zeit im System; und/oder
- sie haben eine ähnlich aktive oder passive Usage, sie nutzen also beispielsweise Anwendungsprogramme in ähnlicher Weise.
Die gefundenen interessanten Benutzer werden bei diesem Vorgehen insbesondere in Abhängigkeit der übereinstimmenden Ähnlichkeiten der geographischen Nähe, der Anzahl indirekter Bekanntschaften oder der Anzahl gemeinsam genutzter Ordnungen in einer Reihung dargestellt.
Da jeder der interessanten Benutzer selbst ein auf einem Basisobjekt beruhendes Objekt ist, kann er von dem interessierten Benutzer als solches sofort in seine
Datenstruktur aufgenommen und beispielsweise in einem Adressbuch gespeichert und verwaltet werden.
Die Tatsache, dass der interessante Benutzer, ein modifiziertes Basisobjekt ist, kann im computerimplementierten System und Verfahren ferner dazu genutzt werden auf einheitlichen Wegen Kommunikationskanäle bereitzustellen.
Zugleich stehen dem Benutzer des computerimplementierten Systems und Verfahrens gemäß dem Ausführungsbeispiel sämtliche Ordnungsmöglichkeiten zur Verfügung, wie sie bereits oben beschrieben wurden. So können insbesondere jene Benutzer, mit denen öfter Kontakt besteht, in einen so genannten Collea- guesContainer zusammengefasst werden oder die Relevanz von Verbindungen zu anderen Benutzern kann vom System automatisch basierend auf der Relevanz des interessanten Benutzers sowie die Aktualität, Intensität und Dauer der Zu- sammenarbeit, der Ähnlichkeit der Tätigkeiten und Ähnlichem gewichtet werden.
Das System „weiß" ferner, wann interessante Benutzer ansprechbar sind, nämlich insbesondere dann, wenn sie selbst das System benutzen.
Die interessanten Benutzer können ferner vorteilhaft in einer Landkarte dem interessierten Benutzer mit ihrer Örtlichkeit angezeigt werden.
Da wie oben erläutert innerhalb des Ausführungsbeispiels auch ganze Skripte und Applikationen von Programmprodukten als modifiziertes Basisobjekt abgebildet werden können und entsprechend auch ihre Benutzung überwacht werden kann, stehen für das erfindungsgemäße prinzipielle Merkmal Socializing auch Daten zur Verfügung, die Aussagen erlauben, welche Benutzer welche Skripte und Applikationen oft benutzen. Auf diese Weise können z.B. relevante Experten für die Applikationen gefunden werden.
Das erläuterte Vorgehen ermöglicht es auch, von interessanten Benutzern die weiter interessanten Kollegen zu ermitteln. Ferner können vorteilhafte Themenlandschaften, Wissensnetze und deren Experten auf Suchanfragen hin generiert werden. Fig. 15 zeigt dazu einen so genannten Expertenraum, welcher erfindungsgemäß für einen Benutzer 108 in dessen aktueller Situation interessante Experten 110 geordnet visualisiert. Der Benutzer 108 steht dabei im Zentrum einer flächigen Darstellung, in der die Experten 110 als Punkte bzw. Kreise dargestellt sind. Die Größe der Punkte bzw. Kreise ist proportional zur Relevanz als Experte für die dargestellte Ordnung. Die Größe des Punktes bzw. Kreises des Benutzers 108 steht ebenfalls im Verhältnis zu der Größe der Punkte bzw. Kreise den anderen Experten 110. Der Abstand zu den Experten 110 ist proportional zu bisherigen Gemeinsamkeiten zueinander. Diese Gemeinsamkeiten ergeben sich z.B. aus der Dauer der Zusammenarbeit, der Anzahl gleicher benutzter Objekte und dergleichen. Die Kreise sind ferner mittels einer Farbe und/oder einer Schraf- fur dahingehend zu unterscheiden, ob die dargestellten Experten 110 bereits KoI- legen sind oder nicht. Farbe und/oder Schraffur geben auch an, ob der gefundene Experte 110 gerade das System benutzt. Aus der Darstellung gemäß Fig. 15 kann der Benutzer 108 ferner das Verhältnis der Experten 110 untereinander erkennen. Experten 110, die nahe beieinander angeordnet sind, bilden so genannte Cluster von Experten, die auf ähnlichem Gebiet tätig sind.
Es ergeben sich also völlig neue Möglichkeiten für einen Benutzer des computerimplementierten Systems und Verfahrens gemäß dem Ausführungsbeispiel einen Überblick über die Themensituation in einem Unternehmen, über mögliche Wissenslücken, über Experten und „Allrounder" sowie über verwandte Themengebie- te zu erhalten. Besonders vorteilhaft wird innerhalb eines computerimplementierten Systems und Verfahrens gemäß dem Ausfϋhrungsbeispiel ausgehend von den Basisobjekten auch eine Kommunikation zwischen Benutzern des Systems dargestellt. Dieses prinzipielle Merkmal nennen wir Communication.
Es werden dabei zunächst verschiedene Kommunikationsmöglichkeiten unterschieden. Eine erste Kommunikationsmöglichkeit ist die asynchrone Kommunikation, bei der die Benutzer zeitversetzt Beiträge zu der Kommunikation leisten. Dies kann beispielsweise in einem Diskussionsforum durch Fragen, Antworten, Hinwei- se, Zustimmungen, Ablehnungen und dergleichen geschehen.
Interessant ist dabei, dass gemäß der oben erläuterten Vorgehensweise zwischen einem Notizenbaum und einer Diskussion im Grunde genommen nicht unterschieden werden muss. Es kann vielmehr jede Kommunikation dadurch abgebil- det werden, dass jeder einzelne Kommunikationsbeitrag als ein Basisobjekt datentechnisch abgebildet bzw. dargestellt wird. Eine Kommunikation zwischen zwei Benutzern wird auf diese Weise in eine Reihe von Verbindungsobjekten aufgelöst, die jeweils einzeln einen Kommunikationsbeitrag umfassen. Die Verbindungsobjekte können in einem Container zusammengefasst im System gehandhabt und nur bei Bedarf einzeln aufgeschlüsselt werden.
Der Übergang in eine synchrone Kommunikation erfolgt oft schleichend, indem die Kommunikationsbeiträge nur knapp nacheinander erstellt werden. Eine klassische synchrone Kommunikation ergibt sich beispielsweise bei einem Telefongespräch. Auch diese Form von Kommunikation kann mit der oben genannten Systematik innerhalb des Ausführungsbeispiels leicht gehandhabt werden, indem die einzelnen Kommunikationsbeiträge in Form von gerichteten Verbindungsobjekten abgebildet werden. Die Richtung gibt dann an, welcher Teilnehmer den (gegebenenfalls zeitgleichen) Kommunikationsbeitrag abgegeben hat. Dem derartigen Ver- bindungsobjekt kann der Inhalt einer Audiodatei zugeordnet werden, die den Kommunikationsbeitrag wiedergibt. Zusätzlich können die Verbindungsobjekte mit Tags versehen werden, welche beispielsweise auch automatisiert aus der Audiodatei generiert werden können.
So können insbesondere auch „geschlossene Kommunikationssysteme" aufge- baut werden, innerhalb denen das derzeit bestehende Problem von Zugriffsberechtigungen oder Spam vermieden werden kann, da alle Benutzer des Systems zumindest als modifiziertes Basisobjekt bekannt sein müssen.
Auch eine themenbezogene Zuordnung und Ablage von Kommunikationsvorgän- gen wie beispielsweise e-Mails ist mit diesem Vorgehen erheblich einfacher und weitgehend automatisiert möglich.
Mit dem System des Ausführungsbeispiels ist auf die oben genannte Weise insbesondere ein so genanntes Shared-white-board realisiert, bei dem sich mehrere Benutzer eine Darstellungsoberfläche teilen, und ein so genanntes Application- sharing oder Desktop-sharing, bei dem mehrere Benutzer gleichzeitig an einer Computeranwendung arbeiten.
Die Vorteile sind insbesondere, dass die Kommunikation insgesamt nachvollzieh- bar archiviert werden kann, dass durch die Passive Usage in Kombination mit der Active Usage ein zusätzlicher Mehrwert an Informationen entsteht, dass schneller ein Überblick über Strukturen und Gruppierungen erhalten werden kann und dass Information zwischen den Benutzern selbst auf verschiedensten Informationskanälen einfach befördert kann.
Das derart entwickelte System ist vorteilhaft ferner weiter dahingehend ausgestaltet, dass ausgehend von Basisobjekten mindestens ein Werkzeug für eine Zusammenarbeit zwischen Benutzern des Systems datentechnisch abgebildet bzw. dargestellt ist. Das zugehörige prinzipielle Merkmal nennen wir Collaboration. Es ermöglicht es den Benutzern des computerimplementierten Systems und Verfahrens besonders einfach gemeinsam an Aufgaben im Team zu arbeiten. Dabei werden für die Teamarbeit bekannte Werkzeuge wie eine Notizfunktion, eine gemeinsame Dateiablage, eine Aufgabenliste, ein Diskussionsforum, ein Organi- gramm, eine Liste häufiger Fragen (FAQ) und/oder ein Kalender ausschließlich basierend auf modifizierten Basisobjekten abgebildet werden. Die Modifikation erfolgt dazu wie oben erläutert durch das Zuordnen von Fähigkeiten.
Wichtig ist bei dieser Vorgehensweise, dass sämtliche Werkzeuge innerhalb des Systems mittels Objekten abgebildet werden, die alle die Möglichkeiten der genannten Basisobjekte bieten. Erst durch diese streng gleichartige Strukturierung des Systems und Verfahren können die genannten prinzipiellen Merkmale auf alle Objekte in der dargestellten Weise angewendet werden.
So wird mit dem System gemäß dem Ausführungsbeispiel z.B. ein Programmprodukt gestaltet, bei dem ein Wartungsmitarbeiter sämtliche Wartungsaufträge mit der dabei zu Grunde liegenden Fehlermeldung eines Kunden (beispielsweise als Audiodatei einer telefonischen Störungsmeldung) zur Verfügung hat und dabei zugleich auch auf den bisherigen Betriebsablauf der zu wartenden Anlage, deren Bedienungsanleitungen, deren Betriebsparameterverlauf und sogar auf andere
Wartungsexperten zugreifen kann. Der Wartungstechniker kann ferner seine Wartungsarbeiten innerhalb des derartigen Programmprodukts auf einfache Weise dokumentieren und zur Abrechnung bringen.
Ein Unternehmen bzw. ein Team innerhalb eines Unternehmens können so komplett virtuell abgebildet und unterstützt werden, indem das System und Verfahren gemäß dem Ausführungsbeispiel als ein intelligenter Wissensspeicher für alle projektbezogenen Informationen und dem sich dabei ergebenden Informationsaustausch genutzt wird. Bezugszeichenliste
10 Zeitstrahl
12 Zeitpunkt
14 Zeitintervall (Objekt sichtbar)
16 Zeitpunkt
18 Zeitintervall (Objekt nicht sichtbar)
20 Zeitachse
22 Bewertungsachse
24 Linie
26 Pool an Fähigkeiten
28 Folder
30 Tasklist
32 Task
34 Anlage
36 Notiz
38 Bewertung
40 Frage
42 Diskussion
44 Ordner
46 DateProperty
48 TimeProperty
50 DateTimeProperty
52 LocationProperty
54 DateTimeLocationProperty
56 Verbindungsobjekt
58 Informationsobjekt
60 Steckdose
62 Stecker 64 Spalte
66 Spalte
68 Spalte
70 Spalte
72 Spalte
74 Spalte
76 UsageConnection
78 Benutzer
80 Informationsobjekt
82 Eingabemaske
84 Tag
86 Visibility
88 Anzeige
90 Informationsobjekt
92 Informationsobjekt
94 Verbindungsobjekt
96 TagConnection
98 Tag
100 TagBundleConnection
102 TagBundle
104 Verbindungsobjekt
104a Verbindungsobjekt
104b Verbindungsobjekt
104c Verbindungsobjekt
106 Autor
108 Benutzer
110 Experte

Claims

Ansprüche
1. Computerimplementiertes System zum strukturierten Speichern von Infor- mationen, um diese weiterverarbeiten zu können, bei dem sämtliche Informationen ausgehend von Basisobjekten strukturiert sind, denen je eine eindeutige Kennung zugewiesen ist, die je computerimplementiert gespeichert werden können, die je auf eine computerimplementierte Anfrage hin antworten können und von denen während des Betriebs des computerimplementierten Systems mindestens ein Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) mindestens eine Fähigkeit (26) annehmen und diese Fähigkeit (26) auch wieder ablegen kann.
2. Computerimplementiertes System nach Anspruch 1 , bei dem das mindestens eine Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) die Fähigkeit (26) annehmen und ablegen kann, eine Information zu tragen und/oder zugeordnet zu werden und/oder seine Änderung nachzuvoll- ziehen und/oder abgesichert zu werden und/oder bewertet zu werden und/oder bearbeitet zu werden.
3. Computerimplementiertes System nach Anspruch 1 oder 2, bei dem das mindestens eine Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104;
106; 108; 110) durch Annehmen und Ablegen von Fähigkeiten (26) während des Betriebs des computerimplementierten Systems für eine Aufgabe angepasster gestaltet worden ist, insbesondere zu einem andere Objekte enthaltenden Objekt (28), zu einem einen Inhalt habenden Objekt (58; 80; 90), zu einem nur Eigenschaften habenden Objekt (58; 80; 90; 92), zu einem mindestens zwei Objekte verbindenden Objekt (56; 76; 94; 104) und/oder zu einem eine Aufgabe verwal- tenden Objekt (78; 106; 108; 110).
4. Computerimplementiertes System nach einem der Ansprüche 1 bis 3, bei dem das mindestens eine Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) eine Eigenschaft und/oder Fähigkeit tragen kann, welche eine Anpassung einer allgemeineren Eigenschaft bzw. Fähigkeit darstellt.
5. Computerimplementiertes System nach einem der Ansprüche 1 bis 4, bei dem das mindestens eine Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) aus mehreren Objekten zusammengestellt worden ist, die zusammen einen erhöhten Nutzen bereitstellen, insbesondere aus mehreren verschie- denartigen Grundelementen zusammengestellt worden ist.
6. Computerimplementiertes System nach einem der Ansprüche 1 bis 5, bei dem das mindestens eine Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) eine Eigenschaft und/oder Fähigkeit tragen kann, welche eine Zu- sammenstellung mehrerer allgemeinerer Eigenschaften bzw. Fähigkeiten darstellt.
7. Computerimplementiertes System, insbesondere nach einem der Ansprüche 1 bis 6, zum strukturierten Speichern von Informationen, um diese weiterverarbeiten zu können, bei dem sämtliche Informationen ausgehend von Basisobjek- ten strukturiert sind, denen je eine eindeutige Kennung zugewiesen ist, die je computerimplementiert gespeichert werden können, die je auf eine computerimplementierte Anfrage hin antworten können und von denen mindestens ein Basisobjekt als Verbindungsobjekt (56; 76; 94; 104) mindestens zwei andere Basisobjekte (58; 90; 92; 106) verbinden kann.
8. Computerimplementiertes System nach Anspruch 7, bei dem das mindestens eine Verbindungsobjekt (56; 76; 94; 104) die Fähigkeit (26) annehmen und ablegen kann, gerichtet zu werden, abgesichert zu werden, bewertet zu werden, gewichtet zu werden, eine Information zu tragen, seine Ände- rung nachzuvollziehen, auf seine Änderung überwacht zu werden und/oder einem Ablauf zu unterliegen.
9. Computerimplementiertes System, insbesondere nach einem der Ansprü- che 1 bis 8, zum strukturierten Speichern von Informationen, um diese weiterverarbeiten zu können, bei dem sämtliche Informationen ausgehend von Basisobjekten strukturiert sind, denen je eine eindeutige Kennung zugewiesen ist, die je computerimplementiert gespeichert werden können, die je auf eine computerimplementierte Anfrage hin antworten können und von denen mindestens ein Basisobjekt (106; 108; 110) während des Betriebs des computerimplementierten Systems ein anderes Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) verändern kann.
10. Computerimplementiertes System nach Anspruch 9, bei dem mit dem mindestens einen Basisobjekt ein Benutzer (106; 108; 110) des computerimplementierten Systems dargestellt ist.
11. Computerimplementiertes System nach einem der Ansprüche 1 bis 10, bei dem das mindestens eine Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) dazu eingerichtet ist, dass es während des Betriebs des computerimplementierten Systems einem vordefinierten Ablauf unterliegt.
12. Computerimplementiertes System nach Anspruch 11 , bei dem jeder relevante Schritt des vordefinierten Ablaufs mittels zweier Stati und einem Statusübergang definiert ist, von denen die Stati ausgehend von Basisobjekten (58) abgebildet sind, die Informationen tragen, und der Statusübergang ausgehend von einem Basisobjekt (56) abgebildet ist, das als Verbindungsobjekt zwei oder mehr Basisobjekte verbindet.
13. Computerimplementiertes System nach einem der Ansprüche 1 bis 12, bei dem das mindestens eine Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) dazu eingerichtet ist, dass es während des Betriebs des computerimplementierten Systems seine Nutzung protokolliert.
14. Computerimplementiertes System nach Anspruch 13, bei dem jede relevante Aktion der Nutzung ausgehend von einem Basisobjekt protokolliert werden kann, welches als Verbindungsobjekt (76) das benutzte Basisobjekt (80) und seinen Benutzer (78) verbindet.
15. Computerimplementiertes System nach einem der Ansprüche 1 bis 14, bei dem mehrere Basisobjekte (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) dazu eingerichtet sind, dass sie gemäß der angenommenen Fähigkeit (26), der Art ihrer Zusammenstellung aus mehreren Objekten, der Art der Zusammenstellung mehrerer allgemeiner Eigenschaften, ihrem vordefinierten Ablauf und/oder ihrem protokollierten Nutzen geordnet werden können.
16. Computerimplementiertes System nach Anspruch 15, bei dem eine Auswertung (Fig. 13) im Hinblick auf die sich ergebenden Ordnungen möglich ist, insbesondere dahingehend, welche Ordnung sich zwischen Ba- sisobjekten ergibt, welche Benutzer darstellen.
17. Computerimplementiertes System nach einem der Ansprüche 1 bis 16, bei dem ausgehend von Basisobjekten (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) Kommunikation zwischen Benutzern (106; 108; 110) des compu- terimplementierten Systems dargestellt ist.
18. Computerimplementiertes System nach einem der Ansprüche 1 bis 17, bei dem ausgehend von Basisobjekten (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) Werkzeug für eine Zusammenarbeit zwischen Benutzern des com- puterimplementierten Systems dargestellt ist.
19. Computerimplementiertes Verfahren zum strukturierten Speichern von Informationen, um diese weiterverarbeiten zu können, bei dem sämtliche Informationen ausgehend von Basisobjekten strukturiert werden, denen je eine eindeutige Kennung zugewiesen wird, die je computerimplementiert gespeichert werden, die je auf eine computerimplementierte Anfrage hin antworten und von denen während des Betriebs des computerimplementierten Systems mindestens ein Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) mindestens eine Fähigkeit (26) annimmt und diese Fähigkeit (26) auch wieder able- gen kann.
20. Computerimplementiertes Verfahren nach Anspruch 19, bei dem das mindestens eine Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) die Fähigkeit (26) annimmt und ablegt, eine Information zu tragen, zugeordnet zu werden, seine Änderung nachzuvollziehen, abgesichert zu werden, bewertet zu werden und/oder bearbeitet zu werden.
21. Computerimplementiertes Verfahren nach Anspruch 19 oder 20, bei dem das mindestens eine Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) durch Annehmen und Ablegen von Fähigkeiten (26) während des Betriebs des computerimplementierten Systems für eine Aufgabe angepasster gestaltet wird, insbesondere zu einem andere Objekte enthaltenden Objekt (28), zu einem einen Inhalt habenden Objekt (58; 80; 90), zu einem nur Eigenschaften habenden Objekt (58; 80; 90), zu einem zwei Objekte verbindenden Objekt (56; 76; 94; 104) und/oder zu einem eine Aufgabe verwaltenden Objekt (78; 106; 108; 110).
22. Computerimplementiertes Verfahren nach einem der Ansprüche 19 bis 21 , bei dem das mindestens eine Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) eine Eigenschaft und/oder Fähigkeit trägt, welche eine Anpassung einer allgemeineren Eigenschaft bzw. Fähigkeit darstellt.
23. Computerimplementiertes Verfahren nach einem der Ansprüche 19 bis 22, bei dem das mindestens eine Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) aus mehreren Objekten zusammengestellt wird, die zusammen einen erhöhten Nutzen bereitstellen, insbesondere aus mehreren verschiedenartigen Grundelementen zusammengestellt wird.
24. Computerimplementiertes Verfahren nach einem der Ansprüche 19 bis 23, bei dem das mindestens eine Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) eine Eigenschaft und/oder Fähigkeit trägt, welche eine Zusammenstellung mehrerer allgemeinerer Eigenschaften bzw. Fähigkeit darstellt.
25. Computerimplementiertes Verfahren, insbesondere nach einem der Ansprüche 19 bis 24, zum strukturierten Speichern von Informationen, um diese wei- terverarbeiten zu können, bei dem sämtliche Informationen ausgehend von Basisobjekten strukturiert werden, denen je eine eindeutige Kennung zugewiesen wird, die je computerimplementiert gespeichert werden, die je auf eine computerimplementierte Anfrage hin antworten und von denen mindestens ein Basisobjekt als Verbindungsobjekt (56; 76; 94; 104) zwei oder mehr andere Basisobjekte (58; 90; 92; 106) verbindet.
26. Computerimplementiertes Verfahren nach Anspruch 25, bei dem das mindestens eine Verbindungsobjekt (56; 76; 94; 104) die Fähigkeit (26) annimmt und ablegen kann, gerichtet zu werden, abgesichert zu werden, bewertet zu werden, gewichtet zu werden, eine Information zu tragen, seine Änderung nachzuvollziehen, auf seine Änderung überwacht zu werden und/oder einem Ablauf zu unterliegen.
27. Computerimplementiertes Verfahren, insbesondere nach einem der Ansprüche 19 bis 26, zum strukturierten Speichern von Informationen, um diese wei- terverarbeiten zu können, bei dem sämtliche Informationen ausgehend von Basisobjekten strukturiert werden, denen je eine eindeutige Kennung zugewiesen wird, die je computerimplementiert gespeichert werden, die je auf eine computerimplementierte Anfrage hin antwor- ten und von denen mindestens ein Basisobjekt (106; 108; 110) während des Betriebs des computerimplementierten Systems ein anderes Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) verändert.
28. Computerimplementiertes Verfahren nach Anspruch 27, bei dem das mindestens eine Basisobjekt einen Benutzer (106; 108; 110) des computerimplementierten Systems darstellt.
29. Computerimplementiertes Verfahren nach einem der Ansprüche 19 bis 28, bei dem das mindestens eine Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104;
106; 108; 110) während des Betriebs des computerimplementierten Systems einem vordefinierten Ablauf unterliegt.
30. Computerimplementiertes Verfahren nach Anspruch 29, bei dem jeder relevante Schritt des vordefinierten Ablaufs mittels zweier Stati und einem Statusübergang definiert wird, von denen die Stati ausgehend von Basisobjekten (58) abgebildet werden, die Informationen tragen, und der Statusübergang ausgehend von einem Basisobjekt (56) abgebildet wird, das als Verbindungsobjekt zwei oder mehr Basisobjekte (58) verbindet.
31. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 30, bei dem das mindestens eine Basisobjekt (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) während des Betriebs des computerimplementierten Systems seine Nutzung protokolliert.
32. Computerimplementiertes Verfahren nach Anspruch 31 , bei dem jede relevante Aktion der Nutzung ausgehend von einem Basisobjekt protokolliert wird, welches als Verbindungsobjekt (76) das benutzte Basisobjekt (80) und seinen Benutzer (78) verbindet.
33. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 32, bei dem mehrere Basisobjekte (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) gemäß der angenommenen Fähigkeit (26), der Art ihrer Zusammenstellung aus mehreren Objekten, der Art der Zusammenstellung mehrerer allgemeiner Eigenschaften, ihrem vordefinierten Ablauf und/oder ihrem protokollierten Nutzen geordnet werden.
34. Computerimplementiertes Verfahren nach Anspruch 33, bei dem eine Auswertung (Fig. 13) im Hinblick auf die sich ergebenden Ordnungen erfolgt, insbesondere dahingehend, welche Ordnung sich zwischen Basisob- jekten ergibt, welche Benutzer darstellen.
35. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 34, bei dem ausgehend von Basisobjekten (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) Kommunikation zwischen Benutzern (106; 108; 110) des compu- terimplementierten Systems dargestellt wird.
36. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 35, bei dem ausgehend von Basisobjekten (28; 56; 58; 76; 78; 80; 90; 92; 94; 104; 106; 108; 110) Werkzeug für eine Zusammenarbeit zwischen Benutzern des com- puterimplementierten Systems dargestellt wird.
PCT/EP2008/007277 2007-09-05 2008-09-05 Computerimplementiertes system und verfahren zum strukturierten speichern von informationen WO2009030490A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102007042093.7 2007-09-05
DE102007042093A DE102007042093A1 (de) 2007-09-05 2007-09-05 Computerimplementiertes System und Verfahren zum strukturierten Speichern von Informationen

Publications (1)

Publication Number Publication Date
WO2009030490A1 true WO2009030490A1 (de) 2009-03-12

Family

ID=40059377

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2008/007277 WO2009030490A1 (de) 2007-09-05 2008-09-05 Computerimplementiertes system und verfahren zum strukturierten speichern von informationen

Country Status (2)

Country Link
DE (1) DE102007042093A1 (de)
WO (1) WO2009030490A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009031970A1 (de) 2009-07-06 2011-01-20 Michael Keil Automatisierte Ermittlung und/oder Aufbereitung von Informationen

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HERMAN I ET AL: "GraphXML-an XML-based graph description format", LECTURE NOTES IN COMPUTER SCIENCE, SPRINGER VERLAG, BERLIN; DE, vol. 1984, 1 January 2001 (2001-01-01), pages 52 - 62, XP002486229 *
HUAN JIN ET AL: "A generic visualisation and editing tool for hierarchical and object-oriented systems", INFORMATION VISUALIZATION, 2003. INFOVIS 2003. IEEE SYMPOSIUM ON 16-18 JULY 2003, PISCATAWAY, NJ, USA,IEEE, 16 July 2003 (2003-07-16), pages 281 - 286, XP010648512, ISBN: 978-0-7695-1988-3 *
MICHAEL KUSCHKE, LUDGER WÖLFEL: "Web Service kompakt", 2002, SPEKTRUM AKADEMISCHER VERLAG, HEIDELBERG, BERLIN, XP002507011 *

Also Published As

Publication number Publication date
DE102007042093A1 (de) 2009-03-12

Similar Documents

Publication Publication Date Title
DE69635878T2 (de) Dokumentverwaltungsgerät
DE60009309T2 (de) System und verfahren zum presentieren von kanalisierten daten
DE69723489T2 (de) Verfahren und System zur Verwaltung von Bau- und Produktionsinformation
DE10051645B4 (de) Prozesssteuersystem und Verfahren zum Kontrollieren eines Prozesses
EP0855062B1 (de) Informationssystem und verfahren zur speicherung von daten in einem informationssystem
DE19844013A1 (de) Strukturierter Arbeitsordner
DE10348337A1 (de) Inhaltsverwaltungsportal und Verfahren zum Kommunizieren von Informationen
DE112013000916T5 (de) System zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt
DE112005000509T5 (de) Verfahren zum automatischen Ermöglichen einer Rückverfolgbarkeit von Engineeringberechnungen
DE202011110895U1 (de) Echtzeitsynchronisierte Bearbeitung von Dokumenten durch mehrere Benutzer für das Bloggen
DE19963673A1 (de) Verfahren, Systeme und Computerprogrammprodukte zur Dokumentenverwaltung für Software-Entwicklungssysteme
DE19955718A1 (de) Paralleler Datenbank-Support für Workflow-Management-Systeme
DE19712946A1 (de) Methode zum Generieren einer Implementierung wiederverwendbarer Teile von Containern eines Workflow-Prozessmodells
DE102007035273A1 (de) Verteiltes User-Validierungs- und Profilverwaltungssystem
WO2004083983A2 (de) Vergleich von modellen eines komplexen systems
DE19948028A1 (de) Verfahren und System zum Optimieren des Anforderungsschickens in Workflow Management Systemen
DE10151648B4 (de) Verfahren und Vorrichtung zum Erfassen und Speichern von während einer computerbasierten Sitzung gemachten Notizen
CH698890B1 (de) Modellierung eines komplexen Systems.
DE102010016541A1 (de) Computergestütztes Verfahren zum Erzeugen eines softwarebasierten Analysemoduls
WO2009030490A1 (de) Computerimplementiertes system und verfahren zum strukturierten speichern von informationen
WO2009049718A1 (de) Computerimplementiertes system und verfahren zum strukturierten speichern von daten mindestens eines vordefinierten ablaufs
WO2009030489A1 (de) Computerimplementiertes system und verfahren zum strukturierten speichern von kommunikationsinformationen
EP3776257B1 (de) Objektdatenbank zur geschäftsmodellierung mit verbesserter datensicherheit
EP1187001A2 (de) Integriertes Wissens-Technologiesystem
EP1234231B1 (de) Verfahren zur erzeugung grafischer benutzerschnittstellen für computerprogramme

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08801871

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 08801871

Country of ref document: EP

Kind code of ref document: A1