DE69132012T2 - Objektorientierte architektur für fabrikverwaltung - Google Patents
Objektorientierte architektur für fabrikverwaltungInfo
- Publication number
- DE69132012T2 DE69132012T2 DE69132012T DE69132012T DE69132012T2 DE 69132012 T2 DE69132012 T2 DE 69132012T2 DE 69132012 T DE69132012 T DE 69132012T DE 69132012 T DE69132012 T DE 69132012T DE 69132012 T2 DE69132012 T2 DE 69132012T2
- Authority
- DE
- Germany
- Prior art keywords
- application
- database
- server
- nodes
- factory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf den Bereich einer Architektur für ein Softwaresystem; insbesondere auf objektorientierte Architekturen, welche für die Entwicklung komplexer Softwaresysteme gestaltet sind.
- Zumal die Software Industrie reift und die verfügbare Rechenleistung anwächst, werden Softwareentwickler mit Problemen von unvermeidlicher Komplexität herausgefordert. Das bedeutet, daß die Probleme, welchen Forscher versuchen mit Software zu begegnen, von solcher Komplexität sind, daß es für einen einzelnen Entwickler schwierig - wenn nicht unmöglich- ist, alle Einzelheiten eines speziellen Designs zu verstehen. In manchen Fällen übersteigt die Komplexität solcher Systeme die menschliche intellektuelle Kapazität.
- Man stelle sich die Anforderungen eines Software-Systems vor, welches den Entwicklungs- und Herstellungsprozeß eines kommerziellen Flugzeugs mit mehreren Motoren verwalten muß; oder die Herstellung eines sehr umfassenden integrierten Mikroprozessor-Schaltkreises (VLSI). Diese Probleme sind typisch für diejenigen, welche bei der Verwaltung der Arbeit eines Fabrikbereichs auftreten. Wie dem Fachmann bekannt ist, ist die Verwaltung einer Fabrikbereichsumgebung eine der eindrucksvolleren Aufgaben, mit welchen Computerwissenschaftler heute konfrontiert sind. Das gewaltige Maß an Anforderungen eines Software- Systems für einen Fabrikbereich hat Forscher dazu gebracht, nach alternativen Architekturen zu suchen, welche den Zweck haben, die umfassende Komplexität der berührten Aufgaben handzuhaben und zu steuern.
- In der Vergangenheit, umfaßten Softwaresysteme für Fabrikbereiche traditionell zentralisierte Systeme. Der Grundansatz dieser Ansätze nach dem Stand der Technik ist, daß alle funktionellen Programme auf einem zentralisierten Hauptcomputersystem laufen. Nach diese Architekturen waren die technischen Funktionen eines Fabrikbereichs in ausführbaren Unterprogrammen angelegt. Das Hauptproblem, was jedoch solchen Architekturen innewohnt, ist daß sie eine grundlegende Tatsache der Fabrikbereichsumgebung ignorieren: nämlich, daß der Fabrikbereich seiner Natur nach verteilt ist; verteilt in dem Sinne, daß Maschinen, Vorräte, Arbeitskraft, Arbeitsanweisungen etc. alle physikalisch in unterschiedlichen Abschnitten des Fabrikbereichs lokalisiert sind. Dazu kommt, daß die Aufgabe, ein Produkt herzustellen eine komplexe Koordination aller oben aufgeführten Objekte erfordert. Somit widerspricht die Natur des Problems den konventionellen Architekturlösungen. Wegen der verteilten Natur der Fabrikbereichsumgebung, hat die Ausführung von Softwarefunktionen bei Systemen nach dem Stand der Technik inhärentermaßen Konflikte bei der Kontrolle einer Fabrikbereichsumgebung hervorgerufen.
- Die Druckschrift PROCEEDINGS IFIP; Datenbanken für die Produktionsverwaltung, 10. Mai 1989, Barcelona, Spanien; D. Weber & C. Moodie "Von Datenbanksystemen zu Informationsverwaltungssystemen - Eine Anforderung an computerin tegrierter Herstellung und Montage" präsentiert ein Modell für ein Informationssystem in einer Herstellungs- oder Montageumgebung. Das objektorientierte Datenmodell, Techniken künstlicher Intelligenz und Techniken verteilter Datenbanken werden in Kombination mit anderen Techniken benutzt. Das Modell zeigt das Potential, einige der Nachteile relationaler Datenbanken und des objektorientierten Datenmodells zu überwinden.
- Wie aus dem folgenden hervorgeht, sieht die vorliegende Erfindung eine objektorientierte Prozeßarchitektur für die Software zur Verwaltung eines Fabrikbereichs vor, welche in der Lage ist, alle Aspekte der Fabrikumgebung zu verfolgen, zu überwachen und zu steuern - nicht einfach nur die gerade stattfindende Arbeit. Wichtig ist, daß die Architektur der vorliegenden Erfindung mit der verteilten Natur des Fabrikbereichs kompatibel ist, da sie in ihrer Aufmachung selbst verteilt ist. Im Ergebnis produziert die vorliegende Erfindung substantielle Ersparnisse im Hinblick auf die Leistung und die Entwicklung eines Softwaresystems für einen Fabrikbereich. Außerdem weist die Architektur, zumal die vorliegende Erfindung in einer objektorientierten Weise implementiert ist, die Fähigkeit auf, Ereignisse aus der echten Welt und Objekte unmittelbar in der Software zu modellieren. Andere Vorteile und Verfahren der vorliegenden Erfindung werden zu Tage treten, wenn man die folgende detaillierte Diskussion ließt.
- Das objektorientierte verteilte Computersystem gemäß der vorliegenden Erfindung ist in den beigefügten Ansprüchen definiert.
- Eine objektorientierte Architektur für ein Softwaresystem zum Verwalten eines Fabrikbereichs wird beschrieben. Entsprechend der vorliegenden Erfindung werden Fabrikbe reichsentitäten als Fabrikobjekte in einer relationalen Datenbank modelliert. Diese Datenbank umfaßt eine Bibliothek, welche Objekte enthält, die alle Fabrikelemente modellieren.
- In einer Ausführungsform umfaßt die vorliegende Erfindung Schnittstellen-Server-Mittel, welche einem Nutzer Interaktionen mit dem Softwaresystem über eine oder mehrere Fabrikbereichsentitäten ermöglichen. Diese Entitäten schließen Operatoren, Aufseher und andere Nutzer ein. Zumeist umfassen die Schnittstellen-Server-Mittel eine X- Terminal Vorrichtung oder einen Arbeitsstations-Computer welcher an einem X-Server betrieben wird. In anderen Beispielen können die Schnittstellen-Server-Mittel auch eine Strichcodevorrichtung einschließen, welche an einen anderen Arbeitsstations-Computer gekoppelt ist, der einen Strichcodevorrichtungsserver betreibt.
- Die vorliegende Erfindung umfaßt außerdem Anwendungsmaschinenmittel, um Nutzerinteraktion von Ereignissen zu verarbeiten und Anwendungsservice-Anforderungen als Ergebnis zu erzeugen. Anwendungs-Servicemittel sind auch enthalten, um die Anwendungsservice-Anforderungen zu verarbeiten und eine Datenbankservice-Abfrage im Gegenzug zu erzeugen. Diese Datenbankservice-Abfragen werden genutzt, um Daten zu empfangen, zu manipulieren und zu aktualisieren, welche in der relationalen Datenbank gespeichert sind. Ein Datenbank-Servicemittel erlaubt einen indirekten Zugriff auf die relationale Datenbank als Antwort auf eine Anwendungsservice-Anforderung. Alle diese Mittel bringen Informationen zusammen, welche aus dem Fabrikbereich in der Gestalt von Nutzereingaben gewonnen werden.
- Schließlich wird ein Kommunikationsmanagermittel verwendet, um die Zwischenprozeßkommunikation zwischen den Anwendungsmaschinenmitteln, den Anwendungsservermitteln und den Datenbankservermitteln zu koordinieren.
- Wichtig ist, daß die Architektur der vorliegenden Erfindung es für jede der oben beschriebenen wichtigeren Komponenten erlaubt, über Computerressourcen verteilt zu werden, welche über den Fabrikbereich und auch über mehrere Fabrikanlagen vernetzt sind.
- Die vorliegende Erfindung wird vollständiger verstanden werden anhand der nachstehenden detaillierten Beschreibung und der beigefügten Zeichnung bevorzugter Ausführungsbeispiele der Erfindung, welche jedoch nicht als Limitierung der Erfindung auf diese speziellen Ausführungsformen verstanden werden sollen, sondern zur Erklärung und zum Verständnis.
- Fig. 1 stellt ein Blockdiagramm eines konventionellen Ansatzes zur Softwareorganisation dar.
- Fig. 2 ist ein Diagramm eines Beispiels einer Hierarchie ausgewählter Objekte, welche üblicherweise in einer Fabrikbereichs-Betriebsbereichs-Umgebung gefunden werden.
- Fig. 3 illustriert die Beziehung zwischen verschiedenen Fabrikbereichsobjekten in Übereinstimmung mit der dargestellten bevorzugten Ausführungsform der vorliegenden Erfindung.
- Fig. 4 illustriert ein einfaches Fertigungsplanungsbeispiel für die Herstellung eines Produktes als eine Folge von arbeitsbezogenen Operationen.
- Fig. 5 zeigt die Hierarchie von Fabrikbereichsobjekten in Übereinstimmung mit der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung.
- Fig. 6 illustriert die verteilte Natur der Architektur der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung.
- Fig. 7 illustriert die architektonischen Schichten, welche von der vorliegenden Erfindung aufrechterhalten werden.
- Fig. 8 ist ein Diagramm der objektorientierten Prozeßarchitektur der gegenwärtig bevorzugten Ausführungsform.
- Fig. 9 illustriert die Funktionalitätsniveaus, welche in die gegenwärtig bevorzugte Ausführungsform der vorliegenden Erfindung eingearbeitet sind.
- Fig. 10 zeigt, wie eine Gruppe von Anwendungsknoten zusammengruppiert ist, um einen Bereich in Übereinstimmung mit der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung zu bilden.
- Eine objektorientierte Architektur, welche in einer Fabrikbereichs-Verwaltungssoftware Anwendung findet, wird beschrieben. In der folgenden Beschreibung werden zahlreiche spezifische Details dargestellt, wie zum Beispiel spezifische Objektarten, Aufgaben, Routinen etc., um ein vollständiges Verständnis der bevorzugten Ausführungsform der vorliegenden Erfindung zu ermöglichen. Es wird jedoch für den Fachmann offensichtlich sein, daß die vorliegende Erfindung auch ohne, diese Details ausgeführt werden kann. Umgekehrt wurden wohlbekannte Elemente nicht im Detail dargestellt um zu vermeiden, daß die vorliegende Erfindung unnötig verdunkelt wird.
- Während der Beschreibung der vorliegenden Erfindung wird häufig auf die Verwendung der vorliegenden Erfindung im Zusammenhang mit einen Fabrikbereichsverwaltungs- Softwaresystem Bezug genommen. Es ist zu verstehen, daß diese Implementierung nur die gegenwärtig bevorzugte Ausführungsform der vorliegenden Erfindung berücksichtigt, und nicht als Limitierung des Bereichs der erfundenen Architektur verstanden werden soll. Es sollte auch verstanden werden, daß die Konzepte, welche in der vorliegenden Erfindung verkörpert sind, auf andere Implementierungen, Softwaresysteme, Anwendungen etc. anwendbar oder darauf ausweitbar sind. Das heißt, die neue Architektur, welche nachstehend beschrieben wird, ist von grundlegender Natur, welche eine beachtliche Anwendbarkeit außerhalb des Bereichs der Fabrikbereichsumgebung aufweist.
- Eine Grundkonzept, welches früheren architektonischen Ansätzen unterliegt, ist, daß der gesamte Softwarecode auf einem einzigen Hauptcomputer abläuft. Das bedeutet, daß Anweisungen seriell in einer zentralen Rechenmaschine ausgeführt werden, wobei es sich üblicherweise um einen sehr großen, zentralisierten Computer handelt. Dieses Systeme gehen typischerweise von einem funktionalen Ansatz auf die Weise, wie Programme implementiert werden, aus. Das bedeutet, daß die funktionalen Aspekte des Programms damit identifiziert werden, wie das Programm auf die zentrale Datenbank zugreifen kann, um die Daten zu erhalten, welche es benötigt, um eine bestimmte Funktion auszuführen. Das Architekturdiagramm aus Fig. 1 illustriert diesen Ansatz nach dem Stand der Technik.
- Angenommen, ein Nutzer möchte eine Maschine als eine Entität repräsentieren, welche bestimmte Attribute aufweist. Beispielsweise kann die Maschine ein Attribut namens "NAME" haben, welches die Kennung der Maschine repräsentiert. Andere wünschenswerte Attribute können den "ZUSTAND" umfassen, d. h. den Zustand der Maschine - ob die Maschine gegenwärtig stillsteht, in Reparatur ist, im Betrieb ist, etc. Alle Attribute der Maschine repräsentieren Daten. Diese Daten werden als lokalisiert in Block 10 in Fig. 1 dargestellt.
- Auch mit der Maschine verknüpft ist ein Set von Funktionen, welche jeweils in Fig. 1 durch Blöcke 11-13 dargestellt werden. Beispielsweise kann Funktion F1, dargestellt durch Block 11, der Funktion "DIE MASCHINE STAR- TEN" entsprechen. In anderen Worten überführt die Ausführung der Funktion F1 den Zustand der Maschine von stillstehend in den Betrieb. Ähnlich kann Funktion F2 als Funktion "DIE MASCHINE ANHALTEN" definiert sein; und Funktion FN kann der Funktion "DIE MASCHINE ZUR REPARATUR HERUNTERFAHREN" entsprechen.
- Was im wesentlichen jede der Funktionen repräsentiert durch die Blöcke 11-13 tut, ist, daß bei einer gegebenen bestimmten Maschinenidentität (d. i. NAME), die Funktion auf den Zustand der Maschine (d.i. ZUSTAND) einwirkt. Somit ist nach den Softwareansätzen nach dem Stand der Technik jede der Funktionen F1-FN in einem gesonderten Unterprogramm angesiedelt.
- Der wesentliche Nachteil dieses Ansatzes besteht darin, daß für eine beliebige Anzahl dieser Unterprogramme die Möglichkeit besteht, zu jeder Zeit miteinander in Konflikt zu geraten. Außerdem läßt man beim Laufenlassen eines solchen Programms auf einem zentralen Computer die Tatsache außer Acht, daß in der Realität viele Systeme ihrer Natur nach verteilt sind und aus diesem Grund eine Architektur erforderlich machen, welche in der Lage ist, sich dieser verteilten Charakteristik anzupassen.
- Objektorientiertes Software Design ist die Konstruktion von Softwaresystemen als strukturierte Sammlungen von abstrakten Datentyp-Implementierungen. Wichtig ist, daß objektorientierte Softwarekonstruktion es erlaubt, eine Entität als ein Objekt zu modellieren, welches bestimmte Charakteristiken und bestimmte Verhaltensweisen aufweist. In Übereinstimmung mit der vorliegenden Erfindung, werden Maschinen, welche in einer Fabrikbereichsumgebung benutzt werden, durch ein zugehöriges Set von Charakteristiken und Funktionen, welche sie ausführen, modelliert. In diesem Sinne sind die Charakteristiken der Maschine (welche zu den Datenaspekten der Software korrespondieren) und das Verhalten (welches zu den funktionalen Aspekten der Software korrespondiert) vollständig in einem einzelnen Konzept eingeschlossen, welches "Objekt" genannt wird. Einer der Vorteile der Objektorientierung besteht darin, daß durch das Einschließen der Charakteristiken und des Verhaltens in einem Konzept, welches "Objekt" genannt wird, ein hohes Maß an Übereinstimmung zwischen dem Softwaremodell und der Wirklichkeit erreicht wird. Objektorientierung ist auch ideal für eine verteilte Systemarchitektur geeignet, welche sich auf eine Anzahl getrennter Computer stützt (d. h. Knoten), welche alle miteinander über ein gemeinsames Netzwerk verbunden sind; und welche alle gleichzeitig Programme ablaufen lassen (natürlich in Abhängigkeit von den speziellen Funktionen, welche von einem Nutzer angefordert werden).
- Ein zweites wichtiges Konzept bei der Objektorientierung ist das Konzept der Vererbung. Dies wird anhand des Beispiels aus Fig. 2 demonstriert. In Fig. 2 wird ein Objekt namens "AUSSTATTUNG" durch eine Ellipse 15 repräsentiert. Dieses Objekt besitzt bestimmte Charakteristiken wie Gewicht, Ausmaß etc. Unterklassen des Stammobjektes "AUSSTATTUNG" sind die Objekte 16 und 17 welche mit "STATIONÄR" bzw. "MOBIL" bezeichnet sind. Im wesentlichen abstrahiert die Hierarchie aus Fig. 2 die gemeinsamen Charakteristiken aus den beweglichen und den stationären Klassen in die höhere, weiter verallgemeinerte Klasse der Objektklasse welche als "AUSSTATTUNG" bezeichnet wird.
- Zu beachten ist, daß die "MOBIL" Unterklasse die Charakteristiken und das Verhalten des Oberklassenobjektes erbt, aber jedes Unterklassenobjekt zusätzliche Charakteristiken einschließt, welche sie voneinander unterscheiden. Im Ergebnis stellt die Hierarchie aus Fig. 2 eine Art Taxonomie dar, bestehend aus zunehmend höheren Graden der Differenzierung von oben nach unten und von zunehmend höheren Graden der Abstraktion von unten nach oben. Beispielsweise gibt es weitere Unterklassen des Objektes "MOBIL" wie Werkzeuge, (Montage-)Vorrichtungen etc. Ähnlich schließt je eine Unterklasse der "STATIONÄR" Ausstattung Maschine, Sensor oder andere ähnliche Objekte ein. Somit kann man sehen, wie die objektorientierte Natur der vorliegenden Erfindung hilft, einige Objekte wieder zu benutzen, welche zuvor als ein übergeordnetes Objekt definiert wurden. Von einem Softwareentwicklungs- Gesichtspunkt erzeugt dieser Ansatz wesentliche Ersparnisse im Hinblick auf Leistung und Entwicklungszeit.
- Zu beachten ist, daß das objektorientierte Schema, welches durch das Beispiel aus Fig. 2 dargestellt wird, sich deutlich von dem funktionalem Ansatz unterscheidet, welcher typisch für den Stand der Technik ist. In einem rein funktionalem Ansatz ist jede Entität in ihre Daten und in ein Set korrespondierender Funktionen oder Unterprogramme aufgebrochen, wobei die gemeinsamen Charakteristiken außer Acht gelassen werden, welche auf effiziente Weise wiederbenutzt werden könnten. Eines der weiteren Hauptattribute des objektorientierten Ansatzes der vorliegenden Erfindung bei der Anwendung auf Fabrikbereichsverwaltungs-Softwaresysteme, ist die Fähigkeit, ein bestimmtes Verhalten dynamisch zu verlinken. Das bedeutet, daß, weil gemeinsame Charakteristiken unter aufsteigende Abstraktionsniveaus in der Objektniveauhierarchie subsumiert werden, Verhalten, die gemeinsam auf unterschiedliche Objekte angewandt werden können, innerhalb dieser Gruppierung dynamisch verlinkt werden können. Beispielsweise kann der Nutzer ein Verhalten namens "DRUCKEN" als Stammobjekt definieren. Das Stammobjekt selbst könnte in unterschiedliche Druckertypen unterklassiert werden, so wie Laserdrucker, Zeilendrucker etc. Wenn ein Kommando "DRUCKEN" an die jeweilige Vorrichtung ausgegeben wird, hat die Software die Fähigkeit zu erkennen, daß das Druckkommando sich für jedes der unterschiedlichen Druckerobjekte unterscheidet, wobei sie jeweils die richtigen Verfahren und Routinen, welche spezifisch für jedes Objekt sind, aufruft.
- Dieses Beispiel verdeutlicht einen der wesentlichen Vorteile von Objekten; das ist ihre Wiederverwendbarkeit. Kombinationen von Objekten und Nachrichten an Objekte erlauben es, eine allgemeinere Funktionalität zu konstruieren. Somit schließt die objektorientierte Natur der vorliegenden Erfindung Funktionalität auf den Objektbibliotheks-, Anwendungsmaschinen- und Serverniveaus ein, wie in Kürze detailliert beschrieben werden wird.
- Für eine vollständigere Beschreibung objektorientierter Softwarekonstruktion siehe "Object-Oriented Design With Applications" von Grady Booch, Kapitel 1-7, 1991, was hiermit durch Bezugnahme als Bestandteil der Beschreibung aufgenommen wird. Andere Nachweisstellen, in welchen das objektorientierte Paradigma diskutiert wird umfassen: "The C++ Programming Language" von Bjarne Strostrup, 1986; und "Object-Oriented Software Construction" von Bertrand Meyer, 1988.
- Die vorliegende Erfindung ist in dieser Beschreibung in eine Fabrikbereichsverwaltungssoftware für die Einzel- und Chargenfertigung eingebettet. Bevor man jedoch mit einer detaillierteren Diskussion dieses bevorzugten Ausführungsbeispiels fortfährt, ist es hilfreich, kurz die Organisation einer typischen Fabrikbereichsumgebung zu beschreiben.
- Die überragende Mehrzahl von Fabriken kann modelliert werden, indem man eine kleine Anzahl von Basiskonzepten verwendet. Die Software, welche diese Konzepte modelliert, muß geeignet sein, all die verschiedenen Aktivitäten des Fabrikbereichs zu verfolgen, zu überwachen und zu steuern. Die vorliegende Erfindung implementiert diese Konzepte durch ihre Verwendung objektorientierter Architektur als Fabrikobjekte. Von einem Funktionalitätsgesichtspunkt aus ist das Softwaresystem durch das Verhalten dieser Objekte definiert.
- In dem gegenwärtig bevorzugten Ausführungsbeispiel, besteht das Referenzmodell des Fabrikbereichs aus vier verschiedenen Schichten: der Arbeitsplatz, welcher Arbeitszentren, Arbeitszellen und Arbeitsstationen einschließt; Inventar, welches sowohl Vorrats- als auch laufendes Arbeitsinventar umfaßt; physikalische Ressourcen, einschließlich Maschinen, Arbeitskraft und Operatoren; und logische Ressourcen, welche Arbeitsanweisungen, testpläne und Teilprogramme umfassen. Jede dieser vier Schichten ist mit Hilfe von Ressourcenlisten (Bills of Resources, BOR) und Materiallisten (Bills of Material, BOM) verlinkt, welche die unverbrauchbaren Ressourcen und Materialien spezifizieren, welche benötigt werden, um eine bestimmte Operation auszuführen. Die Schichten sind außerdem mittels einer Fertigungsplanung verlinkt, welche die Folge von Operationen spezifiziert, welche ein hergestelltes Stück während des Produktionsprozesses durchlaufen muß.
- Die vollständige Beziehung dieser vier Schichten wird in Fig. 3 gezeigt. Zu beachten ist, daß die laufende Arbeitsbestandsliste (Work In Progress, WIP) aus einem hergestelltem Stück besteht, welches eine Fertigungsplanung hat und eine Anzahl von Operationen umfaßt. Jede Operation nutzt eine oder mehrere BOMs und/oder BORs. Die Ressourcen und Materialien werden an Arbeitsstationen kombiniert, welche in Arbeitszellen gruppiert sind. Jede der Arbeitszellen kann weiter in Arbeitszentren abstrahiert sein, welche schließlich so gruppiert sind, daß sie die Fabrik als solche umfassen.
- Das Softwaresystem, welches in Verbindung mit der vorliegenden Erfindung benutzt wird, arbeitet als zentrales Stück der Fabrikbereichsverwaltung. Das bedeutet, daß Softwareprogramme die drei Operationszentren verwalten - das Arbeitszentrum, die Arbeitszelle und die Arbeitsstationen. Insgesamt ist das System eine Schnittstelle für alle automatisierten Ausstattungsstücke, Zellensteuerungen und Arbeitsbereichs-Datensammlungsvorrichtungen um eine nahtlose Integration aller Vorrichtungen, welche in der Fabrik operieren, zu erhalten.
- Eine Arbeitsstation ist eine stationäre Lokation, an welcher Arbeit verrichtet wird. Eine Montagearbeitsbank, eine Walzstation, und eine Inspektionsstation sind Beispiele für Arbeitsstationen. Allgemein impliziert Arbeit die Weiterleitung von Material, wie in Montage-, Herstellungs-, Test- oder Packprozessen. Vorzugsweise ist das Arbeitskonzept ausgeweitet um jede Art von Arbeit zu bezeichnen, einschließlich der Maschinenreparatur, dem Setup und dem Operatorentraining. Um Arbeit an einer Arbeitsstation auszuführen, sind Ressourcen wie Maschinen und Arbeitskraft an einer Arbeitsstation angeordnet. Sobald die Arbeit abgeschlossen ist, werden die Ressourcen anderweitig angeordnet und die Arbeitsanforderung wird an eine andere Arbeitsstation gerichtet.
- Eine Arbeitszelle ist definiert als eine geeignete Gruppe von Arbeitsstationen. Die Arbeitszelle wird basierend auf vielen Faktoren formiert, wie etwa Bearbeitungsfluß und gemeinsames Lager. Ein synchronisiertes oder getaktetes Fertigungsband, ein Testbereich oder ein kleines Montageband sind nach dem gegenwärtig bevorzugtem Ausführungsbeispiel der vorliegenden Erfindung jeweils als Arbeitszelle modelliert.
- Ein Arbeitszentrum ist eine geeignet organisierte Gruppe von Arbeitszellen. Ein Arbeitszentrum wird im allgemeinen basierend auf der Annahme geformt, daß ein bestimmtes Stück in einem Arbeitszentrum hergestellt wird. In einer Arbeitsanforderungsumgebung, wird eine Arbeitsanforderung innerhalb eines Arbeitszentrums geöffnet und geschlossen. Wenn ein Stück mehr als ein Arbeitszentrum erfordert, geht die Fertigungsplanung dieses Stücks von einem zum nächsten Arbeitszentrum in sequentieller Weise.
- Fig. 4 illustriert ein Beispiel eines Fertigungspfades, welcher bei der Herstellung eines bestimmten Stücks benutzt werden kann. Jeder Knoten (d.i. 28-34) in Fig. 4 stellt einen gesonderten Bearbeitungspunkt dar, welcher auch als Operation bezeichnet wird. Sobald eine Operation abgeschlossen ist, wird eine Entscheidung über die Anordnung des Materials gemacht. Die Anordnung bestimmt die nächste Operation, zu welcher das Material übertragen wird. Wenn eine Operation erfolgreich war, wird das Material zur nächsten Operation im Fertigungsprozeß fortschreiten. Beispielsweise repräsentiert der Fortschritt von Operationen A-B-C-D einen normalen Fluß für ein Objekt welches gemäß Fig. 4 hergestellt wird.
- Wenn eine Anordnung beispielsweise am Knoten 31 nicht zum gewünschten Ergebnis führte, dann kann eine Nachbearbeitung erforderlich sein. Dies ist in dem Fertigungsplanungsdiagramm durch den Nachbearbeitungspfad von Knoten 31 zurück zu Knoten 29 (d. i. von D nach B) dargestellt. Eine Auswahl von alternativen Pfaden, wie etwa manuelle vs. automatische Montage, wird in Fig. 4 durch zwei separate Pfade dargestellt: einer unmittelbar von Knoten 31 zu Knoten 34, und der andere von Knoten 31 zu Knoten 34 über Knoten 32 und 33.
- Zu verstehen ist, daß das gesamte Konzept der Arbeitsbereichssteuerung, welches die Architektur der vorliegenden Erfindung benutzt, es einem Nutzer erlaubt, den gesamten Fertigungsprozeß zu verfolgen. In anderen Worten, während der Produktion etwa von 10,000 WIDGETS (s. u.) wird aufgezeichnet, welche Maschine die WIDGETS bearbeitet hat, an welchem Punkt, wie der Zustand der Umgebung während dieser Arbeit war, welches die Arbeitsanweisungen waren, welche befolgt wurden etc. Die gesamte Geschichte der Ereignisse wird aufgezeichnet, so daß man Information über jede Operation erhalten kann, welche zu einer beliebigen Zeit während des Herstellungsprozesses ausgeführt wurde.
- Diese Information ist aus mehreren Gründen von Bedeutung. Angenommen, ein Teil versagt während eines Normalgebrauchs. Hier kann es entscheidend sein, zu verstehen wie und warum dieses Teil versagte und eine Herstellungsgeschichte wird unbezahlbar. In anderen Fällen ist der Herstellungsprozeß als solcher instabil und die Saftwaresteuerung der Betriebsbereichsumgebung erlaubt eine Analyse des Herstellungsprozesses mit dem Zweck, die Konsistenz und Effizienz zu erhöhen. Ein Beispiel dieser letzteren Situation tritt oft bei der Herstellung von integrierten Halbleiterschaltkreisen auf, wobei Ausbeuten durch nachdrückliche Analyse einer Vielzahl von Prozeßparametern verbessert werden müssen.
- Die objektorientierte Prozeßarchitektur der gegenwärtig bevorzugten Ausführungsform basiert auf den fabrikbereichs-anwendungsabhängigen Annahmen, welche oben erörtert wurden. Diese Annahmen sind kategorisiert als Aktionen oder Anforderungen an den Fabrikbereich, die Arbeitszentren, Arbeitsstationen, Arbeitszellen, Aufgaben und Nutzer.
- Bezugnehmend auf Fig. 5, wird eine Hierarchie von Fabrikbereichsobjekten gezeigt. Beispielsweise verkörpert der Betriebsbereichsblock 39 den Fabrikbereich als sol chen. Innerhalb des Betriebsbereichs 39 ist eine Anzahl an Arbeitszentren 40 angesiedelt. Jedes Arbeitszentrum besteht aus einer spezialisierten, wohldefinierten und konzentrierten Herstellungsfunktion, welche in Synchronisierung mit anderen Arbeitszentren ausgeführt wird, um die Fertigungsziele der Fabrik zu erreichen. Alle Arbeitszentren haben die Eigenart, daß sie miteinander kommunizieren und in der Lage sein müssen, auf die jeweils anderen Datenbanken zuzugreifen.
- Jede der Herstellungsfunktionen in einem Arbeitszentrum sind hierarchisch in Aufgaben unterteilt. Der Beginn einer Aufgabe, die Erfüllung einer Aufgabe und (wenn die Aufgabe unterteilbar ist) der Start und die Erfüllung der Unteraufgaben dazwischen, sind als Ereignisse dargestellt.
- Jedes Arbeitszentrum 40 besteht aus einer Mehrzahl von Arbeitszellen 41. Arbeitszellen 41 bestehen aus einer Gruppe von Aufgaben, welche in synchronisierter und gesteuerter Weise ausgeführt werden. Die einzelnen Aufgaben können asynchron ausgeführt werden, sind aber typischerweise unter der Kontrolle einer Arbeitszellensteuerung in einer automatisierten Umgebung, oder eines Gruppenleiters/Operators im Falle einer manuellen Umgebung. Arbeitszellen werden weiter in Arbeitsstationen 42 unterteilt, worin einzelne Aufgaben physikalisch unter der Kontrolle einer Arbeitszellensteuerung ausgeführt werden.
- Zu beachten ist, daß in Fig. 5 der große Buchstabe "N" anzeigt, daß mehr als eine Einheit auf dem jeweiligen Niveau sein könnte. Beispielsweise wird ein Fabrikbereich üblicherweise von zehn oder mehr Arbeitszentren unterstützt. (Die Punkte auf den Seiten von jedem Block 40 bis 42 stellen diese "N" Einheiten dar, welche auf einem parallelem Niveau in der Hierarchie vorhanden sein könnten.)
- Die Arbeitsstation ist die physikalische Repräsentation einer interaktiven Umgebung, welche eine Herstellungsaufgabe ausführt. Typischerweise ist die Interaktion auf Produktionsfaktoren begrenzt: einschließlich Materialien, Operator/Aufseher, Werkzeuge, Arbeitsstationsumgebung und Arbeitsaufgabendefinitionen und Arbeitsanweisungen. Aufgaben werden ausgeführt durch, auf oder unter Benutzung von beliebigen dieser Faktoren. Beispielsweise, kann die Aufgabe ein Produkt in einer Herstellungsoperation zu bauen, die Verwendung spezifischer Stückteile erfordern, einen Operator mit einem spezifischen Geschicklichkeitsniveau, und Maschinen mit besonderen Set-Ups, welche verschiedene Werkzeuge involvieren. Einige Herstellungsoperationen können im Hinblick auf die Arbeitsstationsumgebung empfindlich sein, in welcher die Operation ausgeführt wird. Produktionsfaktoren werden an den Arbeitsstationen angeordnet, um eine Aufgabe wie in der Ressourcenliste für die Aufgabe definiert, auszuführen.
- Die Aufgabendefinition umfaßt die Produktionsfaktoren, welche erforderlich sind, um die Aufgabe auszuführen und ihre Unterteilung in Unteraufgaben. Die Aufgaben, welche in einem Arbeitszentrum erledigt werden, müssen geplant, festgesetzt, gesteuert und mitverfolgt werden. Die Planung kann wöchentlich, täglich oder Schichtweise erfolgen. Die Festsetzung kann von einem Job auf den nächsten in Echtzeit erfolgen müssen.
- Es wird betont, daß das Softwaresystem, welches in Verbindung mit der vorliegenden Erfindung benutzt wird, jede der Arbeitsstationen überwacht und steuert, welche in einen Arbeitsprozeß involviert ist. Auf diese Weise versieht die Architektur der vorliegenden Erfindung den Endnutzer mit einer integrierten Ansicht des Fabrikbereichs, welche als solche als so nahe an der Realität wie möglich definiert bzw. modelliert werden kann. Die Integration ist nicht auf die Produktionsfaktoren limitiert, sondern durchkreuzt die Grenzen von Fabrikarbeitszentren und erlaubt eine einfache Integration anderer Softwaresysteme.
- Die architektonische Prämisse der vorliegenden Erfindung basiert auf Nutzeranforderungen. Diese Anforderungen umfassen Einfachheit der Benutzung, die Fähigkeit des Nutzers, das System zu konfigurieren, Objektorientierung, die Fähigkeit Komponenten zu verteilen, und die Fähigkeit die Software auf verschiedene Hardwareplattformen zu portieren. Auf diese Weise stellt die Architektur der vorliegenden Erfindung sicher, daß die Endnutzerschnittstelle des Softwaresystems einfach, elegant und reich an anwendungsabhängiger Funktionalität mit Relevanz für den Fabrikbereich ist.
- Entsprechend der vorliegenden Erfindung wird die komplexe Umgebung des Fabrikbereichs in kleinere Stücke unterteilt, welche als Fabrikobjekte bezeichnet werden. Eines der architektonischen Ziele der vorliegenden Erfindung ist es, ein vertrautes Set von Fabrikobjekten zu identifizieren und eine Softwarefunktionalität, Datenrepräsentation und die Nutzerschnittstelle um die Kreation, Manipulation Steuerung, Datensammlung, Analyse und Verwaltung dieser Objekte zu bauen. Fabrikobjekte können jeder der fünf zuvor diskutierten Produktionsfaktoren sein, repräsentiert als Arbeitsaufträge, Lots, Serienidentifikationsnummern, Komponenten, Maschinen-/Werkzeugs- /Operatortypen etc. Fabrikobjekte können auch solche Dinge wie Konzepte, Teildefinitionen, BOM, Spezifikationen, Fertigungsplanung, oder auch Datenanzeigeobjekte, wie etwa Qualitätskontrollcharts, etc. sein.
- Wichtig ist, daß die Architektur der vorliegenden Erfindung es erlaubt, jede ihrer wesentlichen Komponenten über Computerressourcen zu verteilen, welche über den Fabrikbereich und über viele Fabrikanlagen vernetzt sind. Das wesentliche Motiv für diesen Ansatz ist, daß der Prozeß der Herstellung eines Produktes - wie er in all die Arbeitszentren eines Fabrikbereichs integriert ist- eine verteilte Umgebung erfordert. Zumal die Architektur der vorliegenden Erfindung es erlaubt, jede der wesentlichen architektonischen Komponenten auf jeder geeigneten Computerressource auszuführen, welche im Netzwerk verfügbar ist, kann die Architektur als eine verteilte Prozeßfähigkeit habend charakterisiert werden. Auf dieselbe Weise stellt die Architektur der vorliegenden Erfindung eine verteilte Datenbankfähigkeit zur Verfügung, welche den Nutzer in die Lage versetzt, Daten überall im Netzwerk zu sammeln und darauf zuzugreifen. Außerdem ist die Verteilung im wesentlichen für den Nutzer transparent.
- Form, Funktion, Daten und Kommunikation sind vier wichtige Aspekte eines jeden Softwaresystems. Form definiert "Aussehen und Gefühl" der Nutzerinteraktion und hilft zu bestimmen, wie Daten repräsentiert und an einen Ausgabemechanismus weitergereicht werden. Der Ausgabemechanismus umfaßt üblicherweise eine bit-map Arbeitsstation, ein Zeichenzellen Terminal, oder eine Art von Datenbufferspeicher, welcher im Speicher oder auf einer Speicherplatte angesiedelt ist.
- Der funktionale Softwareaspekt bezieht sich auf Fähigkeiten, welche anwendungsabhängig sind. Beispielsweise ist der größte Teil des Betriebsbereichssteuerungs- Anwendungscodes, welcher im Verbindung mit der vorliegenden Erfindung benutzt wird, mit der Kreation, Manipulation, Steuerung, Datensammlung, Analyse und Verwaltung von Fabrikobjekten befaßt. In anderen Fällen repräsentiert der funktionale Softwareaspekt die aktuelle Anwendung, welche an der Nutzerschnittstelle läuft.
- Im Kontext der vorliegenden Spezifikation bedeutet Daten die Repräsentation und physikalische Speicherung von Daten, welche während der Kreation, Manipulation, Analyse und Verwaltung von Fabrikobjekten gesammelt werden. In anderen Worten, Daten repräsentiert die Fähigkeit, dauerhafte Einträge in das Softwaresystem zu machen.
- Schließlich etabliert der Kommunikationsaspekt der Software einen Dialog zwischen den Form-, Funktions- und Datenaspekten der Software. Kommunikation ist in die vorliegende Erfindung durch eine Nachrichtweiterleitungsarchitektur eingefügt, welche es erlaubt, Nachrichten über das Netzwerk von einem Programm oder einer Anwendung zu einem anderen Programm oder einer anderen Anwendung zu schicken, welche auf einer entfernten Maschine oder Knoten läuft. In Übereinstimmung mit dem gegenwärtig bevorzugten Ausführungsbeispiel hat die Kommunikationskomponente die vorrangige Aufgabe, Nachrichten, welche von einer der architektonischen Komponenten erzeugt werden, zu einer anderen Empfängerkomponente zu senden.
- Eine Schlüsseleigenschaft der vorliegenden Erfindung ist die Tatsache, daß jeder der oben beschriebenen vier Softwareaspekte in das Architekturdiagramm aus Fig. 6 eingefügt ist, welches die verteilte Architektur des gegenwärtig bevorzugten Ausführungsbeispiels illustriert. Wie dort zu sehen ist, interagiert ein Nutzer, dargestellt durch Block 49 (41), mit einem Fabrikbereichsverwaltungs- Softwaresystem über eine Schnittstelle mit Fenstern vor einem X-Terminal 50. Der Nutzer kann Daten eingeben, empfangen oder manipulieren, oder einfach den Fertigungsprozeß überwachen. Ein zweiter Nutzer 56 wird auch bei der Interaktion mit einem anderen Terminal gezeigt - in diesem Fall ist die Dateneingabevorrichtung jedoch eine Strichcode-Lesevorrichtung 57.
- Während einer gewöhnlichen Operationssitzung interagiert der Nutzer 41 mit dem Anzeigefenster, welches effektiv durch sein eigenes X-Server Programm 51 gesichert wird. Programm 51 läuft auf einer Endstellenmaschine, welche Fenster 50 anzeigt, und welche vorzugsweise einen Knoten des Netzwerks enthält. Dasselbe gilt für die Strichcodevorrichtung 57. Das bedeutet, daß es einen Strichcodeserver 58 gibt, welcher auf einem Endstellencomputer oder Knoten läuft. Auf beiden Maschinen, welche mit den Servern 51 und 58 assoziiert sind, laufen Softwareprogramme, welche einen Code ausführen, um Eingaben entweder von der Strichcodevorrichtung 57 oder von dem X-Terminal Fenster 50 zu erhalten. Diese Eingaben werden über das Netzwerk zu verschiedenen Anwendungen weitergereicht, welche die Funktionalität des Softwaresystems zur Fabrikbereichsverwaltung umfassen. Auf diese Weise implementieren die Schnittstellen-Services den Formaspekt der Software. Eine primäre Funktion der Schnittstellenservices ist es, Mittel zur Verfügung zu stellen, um Serviceanforderungen an die Anwendungsservices zu veranlassen, welche im Gegenzug Services von den Datenbankservices anfordern können. Es wird betont, daß in dem Ausführungsbeispiel aus Fig. 6 alle Objekte (einschließlich der Datenbankserver) über die Computer-Netzwerkressourcen verteilt sein können.
- In dem X-Terminal Fenster 50 gibt es verschiedene Eingabemittel, wie etwa Knöpfe, eine Tastatur, getippte Kommandos, Graphiken, Icons etc., von welchen jede vorzugsweise als Objekt modelliert ist. Beispielsweise wird, die Aktivität, wenn der "RETURN" Knopf auf der Tastatur gedrückt wird, als ein Objekt behandelt, welches effektiv ein Verfahren aufruft, welches sich aufmacht und eine bestimmte Charakteristik verändert. Zum Beispiel kann das Verfahren darin bestehen, zunächst den Anzeigeschirm auszublenden und dann eine Anwendung auszuführen, welche in einer Hintergrundumgebung läuft.
- Es ist zu verstehen, daß jedes der Elemente oder Objekte, welche in Fig. 6 illustriert werden, als separate Prozesse verteilt sind, welche auf verschiedenen Computerknoten im Netzwerk laufen. Um eine angemessene Leistungsfähigkeit des Systems zu gewährleisten, ist es notwendig, für jeden Endnutzer eine für ihn zweckgebundene Schnitt stellenservice- und Anwendungsservicekomponente zu haben. Um die Interaktion dieser Services besser zu verstehen, ist es hilfreich in das Konzept der Anwendungsmaschinen eingeführt zu werden, welche Teil der Nutzerschnittstelle sind.
- Die Anwendungsmaschine hält den Kontext einer Transaktion aufrecht, nämlich daß die Anwendungsserviceanforderungen durch die lokalen Kommunikationsmanager zu Anwendungsservern gelangen und dort abgeschlossen werden. Eine Anwendungsmaschine, welche eine Eingabe von einem Endnutzer erfordert (über ein X-Fenster) wird üblicherweise als X- Anwendungsmaschine (X-Application-Engine, XAE) bezeichnet.
- Die Anwendungsarchitektur der vorliegenden Erfindung unterstützt interaktive und nicht-interaktive (Rechen-) Anwendungen. Eine typische Anwendung besteht aus einer Anwendungsmaschine und einer oder mehreren Anwendungsservern. Die primäre Unterscheidung zwischen einer Anwendungsmaschine und einem Anwendungsserver ist, daß die Anwendungsmaschinen nicht unmittelbar mit Fabrikobjekten interagieren. Statt dessen bringen sie Anwendungsserver dazu, Fabrikobjekte zu erzeugen oder zu modifizieren. Anwendungsmaschinen formen die primäre Interaktion mit dem Endnutzer. Anwendungsserver interagieren niemals direkt mit dem Nutzer.
- Jede Anwendungsmaschine umfaßt einen separaten Prozeß, welche wenigstens einen Event-Handler und etwas anwendungsspezifischen Code enthält. Der Event-Handler ist ein Prozeß, welcher auf Ereignisnachrichten (d. i. Anforderungen) reagiert, welche vom Kommunikationsmanager geliefert werden und auf X-Fensterereignissignale, welche von der X-Schnittstelle geliefert werden. Jede Anwendungsmaschine enthält auch nicht wiederverwendbaren, anwendungsspezifischen Code, welcher den Anwendungskontext/Zustand aufrecht erhält und Anwendungsserviceanforderungen erzeugt.
- Diese Anforderungen werden zu dem Kommunikationsmanager weitergeleitet, welcher die Anforderung an einen geeigneten Anwendungsserver weiterleitet.
- Im wesentlichen sind Anwendungsmaschinen die Hintergrundprozesse, welche die Nutzerinteraktion weiter verarbeiten. Als solche sind die Anwendungsmaschinen normalerweise jeweils auf einem separatem Knoten im Netzwerk angeordnet. Beispielsweise ist in Fig. 6 die Anwendungsmaschine 52 für das X-Terminal Fenster 50 zweckgebunden, wohingegen die Strichcode-Anwendungsmaschine (Bar code Application Engine, BAE) 60 für die Verwendung mit der Strichcodevorrichtung 57 zweckgebunden ist.
- Interaktive Anwendungsmaschinen werden X-basierte Anwendungsmaschinen (X-based Application Engines, XAEs)genannt. (Zu beachten ist, daß eine Anwendungsmaschine, welche keine Nutzerschnittstelle hat, einfach als Anwendungsmaschine bezeichnet wird.) Eine X- Anwendungsmaschine enthält X-Nutzer-Schnittstellencode (X-User Interface code, XUI code), welcher den gesamten Nutzerdialog und Päsentationskomponenten des Softwaresystems enthält. Zur Zeit basiert dieser Code auf dem XUI Tool Kit der Digital Equipment Corporation, welcher unter der DEC Windows Umgebung läuft.
- Der XUI Code in einer Anwendungsmaschine erzeugt das oder die Anwendungsfenster und versieht es mit "Widgets" (der Ausdruck "Widgets" bezieht sich auf Nutzerschnittstellenabstraktionen, wie Knöpfe, Menüs, Textfelder, Graphiken etc.) aus dem XUI Tool Kit. Die XUI Widgets interpretieren X-Ereignisse, welcher vom X-Server des Nutzers kommen, und erzeugen Rufe zu den Rückrufroutinen in der Anwendungsmaschine. Rückrufroutinen bilden Nutzerinteraktionen vom X-Server (X-Ereignisse) auf eine spezielle Anwendungsmaschinen-Funktionalität ab. Somit verknüpfen Anwendungsmaschinen die Nutzerschnittstellen-Widgetbiblio thek mit der Fabrikservices/Fabrikobjektbibliothek (was bald weiter erörtert wird).
- Der Script-Anwendungsserver, welcher in Fig. 6 durch Ellipse 54 dargestellt ist, ist ein Beispiel für einen spezialisierten Anwendungsserver. Mit dem Script-Anwendungsserver wählt der Nutzer einen bestimmten Script-Code und führt ihn aus. Der Script-Anwendungsserver erzeugt X- Anwendungsmaschinen-Anforderungen und gibt die Anforderungen an den Kommunikationsmanager weiter, wie etwa den Kommunikationsmanager 53 in Fig. 6. Der Kommunikationsmanager ruft im Gegenzug XAEs auf. Weil andere X- Anwendungsmaschinen erzeugt werden können, kann ein Anwendungsprogrammierer das Skript benutzen, um eine Sequenzkontrolle über die Ausführung einer Ansammlung von X-Anwendungsmaschinen zu erhalten. Um eine X-Anwendungsmaschine aufzurufen, muß der Nutzer ein Identifizierungsmittel (X-Identifier, XID) für die Anzeige vorsehen. Wenn eine "Aufrufs"-Anforderung für eine X-Anwendungsmaschine zum ersten Mal von einem Kommunikationsmanager empfangen wird, wird die angeforderte X-Anwendungsmaschine erzeugt und die Prozeß-ID in eine aktive Prozeßtafel eingetragen. Die angeforderte XID (das Identifizierungsmittel für die Anzeige) wird ebenfalls in der aktiven Prozeßtafel gespeichert. Die Aufrufsanforderung für die X-Anwendungsmaschine wird dann an den Prozeß-Event- Handler der neu erzeugten X-Anwendungsmaschine weitergereicht. Dieser Event-Handler öffnet eine X-Verbindung zu der angeforderten X-Anzeige und erzeugt die geeigneten Anwendungsfenster.
- Sobald die Transaktion beendet ist, entfernt der X- Anwendungsmaschinen-Prozeß die Anwendungsfenster von der X-Anzeige und kehrt zurück in einen Ruhezustand. Wenn dieser Zustand eingetreten ist, erzeugt die X- Anwendungsmaschine ein X-Anwendungsmaschinen "inaktiv" Ereignis, welches an den lokalen Kommunikationsmanager gesendet wird.
- Im Beispiel von Fig. 6, agiert der Prozeß 53 als der lokale Kommunikationsmanager (Communications Manager, cm) für die Prozesse 52, 54 und 55. Wenn eine andere Aufrufsanforderung für eine X-Anwendungsmaschine empfangen wird für dieselbe Art von X-Anwendungsmaschinen-Prozeß, wird der ruhende "inaktive" Prozeß reaktiviert. Die Anwendungsmaschine zeigt ihre Anwendungsfenster an und ist sofort bereit, eine Transaktion durchzuführen.
- Funktionalität wird erreicht, indem Anwendungsserverprozesse verwendet werden. Diese Programme bringen Information (d. i. Nutzereingaben) zusammen, welche vom Fabrikbereich eingesammelt werden. Diese Funktionalität umfaßt Maschinen- und Ausstattungsverfolgung, Arbeitskraftverfolgung, Arbeit-im-Inventar-Verfolgung, Ansetzen von Ressourcen in kurzen Intervallen, Arbeit und Erledigung, nutzerdefinierte Alarme und Untersuchungen, statistische Prozeßkontrolle und Fabrikbereichsmail. Jeder dieser weiten Bereiche besteht aus Transaktionen, welche spezifische Aufgaben ausführen. Jede dieser Transaktionen wird aus einem oder mehreren Anwendungsserverprozessen gebildet, welche ein wohldefiniertes wiederverwendbares Systemniveau an Service zur Verfügung stellen. In diesem Kontext bedeutet Systemniveau, daß der Service für jeden Nutzer des Systems transparent ist; dabei sieht der Nutzer nur die Notation der Transkription. Der Service ist jedoch unabhängig gepackt, da er in vielen verschiedenen Transaktionen genutzt wird. In dieser Hinsicht kann man sich Anwendungsserver als Untertransaktionen vorstellen, welche, wenn sie zusammengefügt werden, die Basis der Anwendungsmaschine formen.
- Die Anwendungsserver (AS) implementieren die funktionalen Aspekte des Softwaresystems und sind die einzigen Services, welche auf Datenbankservices zugreifen können. Ein Anwendungsserver führt eine Anwendungsfunktion auf Anforderung der Nutzerschnittstelle aus, spezifisch eine Anwendungsmaschine. Jede On-Line Transaktion steht unter der Kontrolle einer Anwendungsmaschine. Die Anforderungen werden vom Kommunikationsmanager an den Knoten weitergeleitet, an welchem der Anwendungsserver läuft. Jede Anforderung wird von dem Anwendungsserver automatisch behandelt, ohne eine Kontextinformation zwischen der Serviceanforderung einer Anwendungsmaschine aufrechtzuerhalten.
- Beispielsweise in Fig. 6 können Anwendungsserver 54 und 55 Anwendungsfunktionen auf Anforderung von Anwendungsmaschine 52 ausführen. Diese Anforderungen werden durch den Kommunikationsmanager 53 weitergeleitet, und laufen, im Falle einer Datenbankserviceanforderung, durch Kommunikationsmanager 62 zum Datenbankserver 65. Zu beachten ist, daß manche funktionale Aspekte, welche von Anwendungsservern ausgeführt werden, im Softwaresystem global erforderlich sind. Das bedeutet, daß man viele Anwendungsserver auf einem einzigen Knoten im Netzwerk laufen lassen kann, ebenso wie man viele Anwendungsmaschinen auf einem einzelnen Knoten laufen lassen könnte.
- Jeder Anwendungsserver ist ein separater Prozeß, welcher von dem Kommunikationsmanager erzeugt wurde. Die Funktion kann von vielen unabhängigen Anwendungsservern oder Anwendungsmaschinen benutzt werden. Die Anwendungsmaschine kann auch gleichzeitig Services von vielen Anwendungsservern anfordern. Der Anwendungsmaschinen-Ereigniskreislauf ist geschrieben, um die Rückgaben, wenn es welche gibt, von vielen Anwendungsserverprozessen unterzubringen. Unabhängige Anwendungsserver erlauben dem Kommunikationsmanager Serviceanforderungen zu priorisieren.
- Um Wiederverwendbarkeit und Gleichzeitigkeit zu erreichen, ist jeder Anwendungsserver als zustandslose Prozedur geschrieben. Das bedeutet, daß, anders als die Anwen dungsmaschinen, welche den Zustand des Nutzerdialogs und den Zustand der Transaktion aufrecht erhalten, jeder Anwendungsserver nur einen einfachen Service zur Verfügung stellt. Dieser Service könnte ein Satz zurückgegebener Werte sein, oder die erfolgreiche Operation an einem Satz von Objekten und die Niederschrift dieser Veränderungen in die Datenbank. Um dieses Ziel zu erreichen hat jeder Anwendungsserver einen einfachen Event-Handler, welcher Anforderungen seiner Services annimmt und dann eine Antwortnachricht zusammenstellt. Nach der Rückgabe sitzt er in einem unbeschäftigten Wartezustand für die nächste Anforderung. Diese Kapselung einer Viel-Objekt-Interaktion stellt ein einzelnes Funktionalitätselement zur Verfügung. Dies ist nützlich für viele unterschiedliche Transaktionen und stellt das Serviceniveau funktionaler Granularität zur Verfügung.
- Es gibt zwei speziell zweckgebundene Anwendungsserverprozesse auf jedem Anwendungsknoten: den Fernobjektserver und den Skriptserver. Der Fernobjektserverprozeß ist der einzige Prozeß auf jedem Knoten, der Anforderungen von Operationen auf nicht-anhaltenden geteilten Objekten handhabt. Der Fernobjektserver enthält eine Liste nichtanhaltender geteilter Objekt-IDs und ihrer Lokalisierungen. Zumal es nur einen einzigen Fernobjektserverprozeß pro Knoten gibt, muß der Kommunikationsmanager Anforderungen aufreihen, wenn mehr als eine Anforderung zur selben Zeit ankommt. In jeder anderen Hinsicht ist der Fernobjektserver nur ein weiterer Anwendnungsserverprozeß.
- Der zweite zweckgebundene Anwendungsserverprozeß ist der Skriptserver - ein Service, welcher vom Nutzer geschriebene Skripten liest, interpretiert und ausführt. Der Skriptserver ist in der Lage, ein Skript in objektbezogene Nachrichten zu untergliedern, fordert verschiedene Anwendungsmaschinen an und führt Programmiersprachenoperationen aus.
- Im wesentlichen enthält jeder Anwendungsserver ein oder mehreres von dem folgenden: Anwendungsknoten, welcher die transaktionsspezifischen Integritätsprüfungen zwischen Fabrikobjekten ausführt, Datenbankaktualisierungen macht, welche Änderungen an den bleibenden Fabrikobjekten bewirken; Fabrikobjekte, welche Nachrichten vom transaktionsspezifischen Anwendungscode empfangen, um die Spezialfallvariablen von Fabrikobjekten abzufragen oder auf einen neuen Stand zu bringen; oder einen Fernobjektservice, welcher einen reinen Lesezugriff auf bestimmte nichtanhaltende Objekte in den lokalen geteilten Speichercache auf Anforderung eines Fernkommunikationsmanagers zur Verfügung stellt.
- Ein Fernkommunikationsmanager bringt typischerweise eine solche Leseanforderung an den lokalen Kommunikationsmanager, welcher die Anforderung an seinen lokalen Fernobjektserver weiterleitet. Beispielsweise kann in Fig. 6 ein Anwendungsserver 64 vorhanden sein, um eine Menge Material zu versenden, während ein anderer Anwendungsserver (nicht dargestellt) eine Maschine startet. Die Architektur der vorliegenden Erfindung erlaubt es bei einer komplexen Anwendungsmaschine Anwendungsserviceanforderungen zu erzeugen, asynchron ausgeführt werden können. Dies impliziert, daß jeder Anwendungsserver seinen eigenen Prozeßraum betreibt, um eine Mehrpfadbetriebsfähigkeit zu erreichen. In dieser Hinsicht ist es für eine Anwendungsmaschine möglich, anzufordern, daß der "Start Maschine" Anwendungsservice parallel zu dem des Versendens oder dem "BRINGE DAS LOT HEREIN"-Anwendungsservice ausgeführt wird.
- Im Beispiel aus Fig. 6 stellen die Kommunikationsmanager 53, 61, 62 und 63 eine strukturierte, ortsunabhängige Zwischenprozeßkommunikation über die Knoten hinweg zur Verfügung. Sie integrieren auch das erforderliche Netzwerkmanagement mit heterogener Netzwerkunterstützung. Somit läuft jeder Kommunikationsmanager als separater Pro zeß auf jedem Knoten, welcher Zwischenprozeßkommunikation in oder über Knoten erfordert. Die Flexibilität der vorliegenden Erfindung besteht in der Trennung von Verantwortlichkeiten und der Kapselung von Funktionalität. Ein großer Vorteil dieser Trennung liegt in der Formung eines einmaligen Prozesses. Zu diesem Zweck wird ein zentraler Koordinator (d.i. der Kommunikationsmanager) benötigt, um Serviceanforderungen und Antworten zwischen Transaktionen weiterzuleiten. Dieser zentrale Mechanismus muß auch die verschiedenen Prozesse erzeugen und verwalten. Entsprechend der vorliegenden Erfindung ist der Kommunikationsmanager ein separater Prozeß, welcher Datenkommunikation zwischen Anwendungsmaschine, Anwendungsservices und Datenbankserviceprozessen koordiniert. Auf jedem Anwendungsknoten gibt es nur einen Kommunikationsmanager.
- Es ist zu berücksichtigen, daß die Wechselbeziehung und die Anzahl von Prozessen, welche für jede Transaktion zur Verfügung stehen, durch die verteilte Architektur der vorliegenden Erfindung kompliziert wird. Wenn die Anzahl der möglichen Kombinationen vergrößert wird, werden auch die Probleme und die Komplexität des Kommunikationsmanagers vergrößert. Um dies zu begrenzen, ist die Architektur des gegenwärtig bevorzugten Ausführungsbeispiels moderat begrenzt, wie anhand des Diagramms in Fig. 10 dargestellt, so daß jeder Datenbankknoten nur einen Untersatz von Anwendungsknoten bedient. Diese Anwendungsknoten unterstützen im Gegenzug einen Untersatz von X-Server- Knoten. Eine Gruppe von Anwendungsknoten wird als Datenbankdomäne bezeichnet, welche in Fig. 10 durch die gestrichelte Linie 90 dargestellt ist.
- Datenbankserver haben Schnittstellen mit dem Datenbanksystem auf ihrem Knoten und Kommunikation mit anderen Datenbankservern von anderen Domänen, um verteilte Daten zu empfangen. Datenbankservices unternehmen keine direkte Kommunikation mit Anwendungsknoten, welche von anderen Datenbanken bedient werden. Ähnlich können die Anwen dungsknoten, welche sie bedient, nur mit anderen Anwendungsknoten innerhalb der Domäne kommunizieren. Anwendungsknoten mit unterschiedlichen Datenbankdomänen kommunizieren nur über Anforderung eines Objektnachrichtsaufrufes über den Fernobjektserver.
- Unter weiterer Bezugnahme auf Fig. 6 kommunizieren die X-Anwendungsmaschinen auf einem Knoten mit Anwendungsservern über den lokalen Kommunikationsmanager, wie oben erörtert. Beispielsweise kommuniziert die Strichcode- Anwendungsmaschine 60 mit dem Anwendungsserver 64 über die Kommunikationsmanager 61 und 63. Außerdem gibt es einen Kommunikationsmanager 62, welcher auf dem Datenbancknoten läuft, welcher Nachrichten an die Datenbankserver 64 von den Anwendungsservern weiterleitet.
- Man stelle sich nun vor, was geschieht, wenn eine normale Operationssitzung beginnt. Wenn das Fabrikbereichssoftwaresystem gestartet ist, ist es die erste Aufgabe des Kommunikationsmanagers, einen Anzeigemanagerprozeß für jeden X-Server zu erzeugen, welcher physikalisch mit dem Knoten verbunden ist. Der Kommunikationsmanager unterhält eine Tafel, welche während der Konfiguration des Softwaresystems erzeugt wird, welche die Netzwerktopologie enthält. Die X-Server, andere Anwendungsknoten und der lokale Datenbankknoten sind aufgelistet. Diese Liste wird sowohl während des Start-Ups als auch während es Normalbetriebs benutzt. Nachdem die Anzeigemanagerprozesse gestartet sind, erzeugt der Kommunikationsmanager einen Satz von Anwendungsservices, welche den Nutzer-Login handhaben. Der Knoten ist nun bereit zur Benutzung.
- Wenn jeder X-Server ein Login akzeptiert, wird eine Liste gültiger Transaktionen zurückgegeben. Wenn diese Transaktionen ausgewählt sind, werden Anwendungsmaschinenprozesse von dem Kommunikationsmanager erzeugt. Wenn ein Service angefordert ist, erzeugt der Kommunikationsmanager einen neuen Anwendungsservice der angeforderten Art. Die se Prozesse werden niemals abgeschlossen, sondern von der Anwendungsmaschine wiederverwendet, welche die Art Service anfordert, die sie zu bieten hat.
- Der Kommunikationsmanager unterhält eine Tafel, welche die Prozeß-ID mit der Serviceart eines jeden Anwendungsservers in Beziehung setzt. Diese Services sind nicht nur auf die Verwendung durch Anwendungsmaschinen beschränkt. Jeder Anwendungsserver kann die Services eines anderen Anwendungsservers benutzen. Der Kommunikationsmanager macht diese Serviceanforderungen unabhängig von der anfordernden Prozeßart. Dies stellt die Basis für die unterschiedlichen Funktionalitätsniveaus zur Verfügung: der Kommunikationsmanager und die Anwendungsmaschine führen Anforderungsservices von Anwendungsservices aus und stellen Transaktions "start" und "Festschreibungs" Datenbank Servicenachrichten zur Verfügung. Das Anwendungsservice- Niveau leitet die Objektbenachrichtigung und das Schreiben in die Datenbank. Der Kommunikationsmanager leitet alle Nachrichten transparent weiter.
- Nachrichtenweiterleitung ist eine der wesentlichen Funktionen des Kommunikationsmanagers. Während des Logins leitet er die Anzeigemanageranforderung zu einem Loginanwendungsserver weiter. Danach leitet er Anwendungsmaschinen- oder Anwendungsserveranforderungen an verfügbare Anwendungsservices basierend auf dem Servernamen weiter. Er leitet dann die Antworten zurück zu der bzw. dem anfordernden Anwendungsmaschine oder Server.
- Der Kommunikationsmanager betreibt auf transparente Weise diese vorübergehende Prozeßverlinkung. Wenn kein Anwendungsserver der angeforderten Art verfügbar ist, speichert der Kommunikationsmanager die Anforderung in einem Pufferspeicher, bis einer zur Verfügung steht. Der Kommunikationsmanager hat einen Prioritätensetzmechanismus, welcher es erlaubt, Nachrichten mit Priorität sofort zu bedienen, unabhängig vom Prozeßlimit.
- Insgesamt verkörpert der Kommunikationsmanager den Kommunikationsaspekt der Software und stellt folgendes zur Verfügung: Aufreihen Prioritätensetzung von Serviceanforderungen; Nachrichtenweiterleitung; Prozessorverwaltung und -zuweisung für Anwendungsmaschine, Anwendungsserver und Datenbankserver; Transaktions-ID-Erzeugung; und Aussendung von Anforderungen für Services, welche er nicht zur Verfügung stellen kann, an andere Kommunikationsmanager.
- Datenbankserver implementieren die Datenaspekte der Software und stellen Datenbankservices zur Verfügung, welche in ihrem eigenen Prozeßkontext laufen. In der Architektur der vorliegenden Erfindung, gibt es üblicherweise einen Pool von Datenbankservern 65, welche darauf warten, Nachrichten von verschiedenen Anwendungsservern zu verarbeiten, welche über das Netzwerk verteilt sind.
- Ein Datenbankserver umfaßt Prozeduren, welche Nachrichten von einem Anwendungsserver verwalten, um auf eine relationale Datenbank 66 zuzugreifen. Diese Prozeduren sind Verfahren, welche in Datenobjekten eingebettet sind. Ein Datenbankserver betreibt den kompletten Kontext einer Datenbanktransaktion, wie er von einer entsprechenden Anwendungsmaschine definiert ist, welche gerade bedient. Zu beachten ist, daß es nach dem bevorzugten Ausführungsbeispiel nur eine Art von Datenbankserver gibt; jedoch könnte es viele Spezialfälle von Datenbankservern geben, welche viele Anwendungsserver zur selben Zeit in einem Datenbankknoten eines Arbeitszentrums bedienen.
- Es sollte offensichtlich sein, daß, weil die Architektur der vorliegenden Erfindung Komponenten über vernetzte Computerressourcen verteilt, es das Erfordernis für ein Datenbanksubsystem gibt, welches eine vernetzte Verbindung zu Clientanwendungen unterstützen kann. Somit erstreckt sich das Verteilungskonzept auch auf die Daten selbst. Innerhalb des Netzwerks speichern viele für Datenbankzwecke bestimmte zentrale Prozeßeinheiten (central processing units, CPUs)unterschiedliche Untersätze von Daten in eine Grundstruktur. Dies wird als horizontale Fragmentierung bezeichnet. Die Datenbankservices-Schicht verwaltet auf transparente Weise die Untersätze und agiert wie andere Datenbankknoten wie es erforderlich ist, um eine Anwendungsanforderung zu erfüllen.
- Mit den Datenbankservices kann der Nutzer Datenbankelemente zum Standardgerüst hinzufügen. Anwendungsniveauunterstützung, wie etwa eine Kommandosprache und spezielle Objekte, fügen diese neuen Dateneinheiten in die Arbeiten der Anwendungen ein. Mit Datenbankservices kann der Nutzer diese neuen Entitäten definieren und sie in die Grundrahmensdefinition in kontrollierter und unterstützter Weise einfügen. Der Nutzer kann auch dynamisch abgeleitete Attribute definieren. Diese Werte werden aus Berechnungen, Tafeln oder Nachschlagmitteln erhalten und drücken Beziehungen zwischen Attributen aus, welche der Nutzer möglicherweise überwachen möchte. Diese Werte können auch für die Anwendungen mittels der Kommandosprache verfügbar gemacht werden.
- Weil die gegenwärtig bevorzugte Ausführungsform der vorliegenden Erfindung für eine Arbeitsauftrags- und wiederholte Herstellungsumgebung ausgebildet ist, ist die Datenmenge, welche in dieser Umgebung für eine individuelle Einheit aufrechterhalten und aktualisiert wird, relativ klein. Das Ziel besteht darin, die Laufrate der Fertigungsstraße zu maximieren. Infolgedessen gibt es einen hohen Anteil an Abfrägetransaktionen in den Anwendungen, wie etwa Statusanzeigen und Alarmbedingungsprüfungen. Um die Datenbankintegrität zu bewahren, bringt eine gegebene Aktualisierungs-Transaktion eine Anzahl von Datenbankauslesungen mit sich. Beispielsweise würde es für einen Auslesevorgang, welcher durchgeführt wird, um die Existenz wechselbezogener Daten zu verifizieren, wesentlich auf die Geschwindigkeit der Anfrageverarbeitung ankommen. Integrierte Systeme wie Sensoren und Strichcodeleser hängen nicht davon ab, daß eine Datenbanktransaktion abgeschlossen wird, bevor sie ihre Pufferspeicher löschen, um eine neue Eingabe aufzunehmen. Diese Faktoren verdeutlichen, daß die Anfrageleistungsfähigkeit mit Nachdruck optimiert werden sollte.
- Ein anderer Zweck der Datenbankservices besteht darin, eine transparente Übersetzung zwischen dem relationalen Datenbankmodell und dem objektorientierten Anwendungsmodell zur Verfügung zu stellen. Aus Effizienzgründen sind gewisse Parallelen erforderlich. Beispielsweise korrespondiert jedes Fabrikobjekt so weit wie möglich mit einer einzelnen Datenrelation, um die Datenzugriffe zu minimieren, welche beim Spezialisieren (d. i. bauen) eines Objektes erforderlich sind. Einige Situationen machen es erforderlich, Unterschiede, wie etwa die Übersetzung von Speicherpointern zwischen verknüpften Objekten im Anwendungsbereich, in Referenzen auf primäre und fremde Kennbegriffsfelder und Datenbankentitäten zu modellieren. Somit ist es ein primäres Ziel des Softwaresystems den Prozeß des Baus von Fabrikobjekten aus dem Inhalt der Datenbank zu automatisieren.
- In seiner einfachsten Form kann man sich für jeden Datenbankserver vorstellen, daß er bleibende Objekte, welche permanent in der Datenbank gespeichert sind, verwaltet. Selbstverständlich unterstützt der Datenbankserver auch den verteilten Datenzugriff. Dieser Ansatz ist vorteilhaft, da es der Realität der Fabrikumgebung entspricht, daß viele Fabrikobjekte in unterschiedlichen Bereichen des Fabrikbereichs lokalisiert sind. Somit wird es notwendig, Objektdaten in der Nähe des Ortes zu speichern, an welchem das jeweilige Objekt physikalisch angesiedelt ist. Dies macht es für den Datenbankserver erforderlich, verteilten Datenzugriff über unterschiedliche Datenbanken zur Verfügung zu stellen, und vorzugsweise auch eine verteiltes Datenaktualisierung.
- Es ist interessant, festzustellen, daß entsprechend der Architektur der vorliegenden Erfindung jeder der vier Softwareaspekte (d.i. Form, Funktion, Kommunikation und Daten) auf jedem gegebenen Knoten oder zu jeder Zeit nur auf einem Knoten laufen kann - abhängig davon, wie der Nutzer sein System konfigurieren möchte. Beispielsweise könnte es ein Szenario sein, alle Anwendungsmaschinen, Anwendungsserver, einen Kommunikationsmanager und eine Datenbank auf einem großen Hauptrechner mit einer Mehrzahl von Anzeigevorrichtungen kleinerer Kapazität zur Nutzerinteraktion zu haben. Ein gewöhnlicheres Szenario besteht darin, alles über die Fabrikbereichsumgebung zu verteilen. Das bedeutet, daß sich Datenbankserver auf einer Maschine befinden würden, Anwendungsserver auf anderen, und Frontanwendungsmaschinen würden auf noch anderen separaten Knoten laufen. Auf dieses Weise hängt das System niemals völlig von einem Computer ab. In anderen Beispielen mag es erwünscht sein, Datenbanken aufgrund ihrer großen Größe über viele Knoten zu verteilen. Offensichtlich entspricht die Idee die vier Softwareaspekte auf diese Weise zu verteilen der Tatsache, daß der Fabrikbereich von Natur aus verteilt ist.
- In Übereinstimmung mit der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung, laufen die Anwendungsmaschinen normalerweise auf einem VAX-3100 Computer, welcher zusammen mit seinem assoziierten Server einen Netzwerkknoten ergibt. Ein VAX-4000 Computer wird vorzugsweise als Datenbankserver verwendet, während die Anwendungsserver auf einer weiteren VAX-3100 Maschine angesiedelt sind.
- Bei der Implementierung der Hardware-Architektur wird angenommen, daß ein fabrikweites Netzwerk mit hoher Bandweite und Schrittgeschwindigkeit zur Verfügung steht. Na türlich könnte es andere Computer geben, welche Firmeninformationssystembedürfnisse auf demselben Netzwerk abdecken, oder es könnte einen anderen Computer auf demselben Netzwerk geben, welcher als ein Firmengateway zu einem firmenweiten Netzwerk fungiert. Ein typisches Netzwerk ist DECnet und/oder Transportkontrollprotokoll (Transport Control Protocol)/Internet Protokoll (TCP/IP) kompatibel.
- Jedes Arbeitszentrum wird normalerweise von einem Netzwerk von Superminicomputer, Supermikrocomputern, Arbeitsstationscomputern und Industrie-PCs unterstützt. Der Superminicomputer kann als Firmengateway fungieren. Ferner hat jedes Arbeitszentrum vorzugsweise einen Supermikrocomputer, welcher als zentrale Datenbankmaschine fungiert und welcher auch als ein Startknoten für das Arbeitszentrum funktionieren kann. Alle Computer, welche zu einem Arbeitszentrum gehören, sind gewöhnlich lokalbereichsvernetzt.
- Vorzugsweise wird jede Arbeitsstation in einem Arbeitszentrum von einer Strichcodevorrichtung oder einem Arbeitsstationscomputer unterstützt. Alle Strichcodevorrichtungen sind üblicherweise mit einem Industrie-PC verbunden, welcher als Datensammlungs-Zusammenfasser für ein Arbeitszentrum fungiert. Offensichtlich kann ein Aufseher einen Arbeitsstationscomputer benötigen, welcher für seine oder ihre Bedürfnisse zweckgebunden ist.
- Zu beachten ist, daß die Grundarchitektur, welche so weit beschrieben ist, von einer beliebigen Anzahl von Anwendungssoftwaresystemen unterstützt werden könnte. Zumal die Architektur der vorliegenden Erfindung Merkmale einbringt, welche sowohl flexibel als auch ausweitbar sind, ist sie ideal geeignet für die Fabrikbereichsverwaltung, Steuerung und Automatisierung. Jedoch sollte verstanden werden, daß andere Anwendungen auch von der bisher beschriebenen Architektur profitieren könnten.
- Bezugnehmend auf Fig. 7 wird nun die Taxonomie der verschiedenen architektonischen Schichten der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung gezeigt. Der größte Teil der Online und/oder Echtzeit- Anwendungssoftware ist in den Anwendungsmaschinen implementiert, welche die Services eines X-Servers erfordern oder nicht erfordern können. Denkbar ist, daß ein Ereignis-Scheduler oder eine Anwendung nicht die Services eines X-Servers erfordern. Auf der anderen Seite kann es Anwendungsmaschinen geben, welche sich auf einen Strichcode-Service stützen. Zur Wiederholung: Anwendungsmaschinen, welche die Services eines X-Servers erfordern sind bekannt als X-Anwendungsmaschinen. Diese Anwendungsmaschinen halten den Kontext für eine Transaktion im Hinblick auf Anwendungsservice-Anforderungen über den Kommunikationsmanager an die und ausgeführt bei den Anwendungsservern aufrecht.
- Faßt man die bisherigen Ausführungen zusammen, so folgt die verteilte, objektorientierte Architektur der vorliegenden Erfindung einem Meldungsweitergabe-Paradigma. Die Architektur ist charakterisiert als verteilt über drei Typen von Computerknoten - den Schnittstellenserverknoten, den Anwendungsknoten und den Datenbankknoten. Die Anwendungsmaschinen, die Anwendungsserver, der Kommunikationsmanager und andere Fernserver oder Manager (d.i. Anzeigemanager) laufen alle auf dem Anwendungsknoten. Der Schnittstellenserverknoten ist typischerweise eine X- Terminal-Vorrichtung, wie etwa ein Arbeitsstationscomputer, welcher einen X-Server betreibt. Strichcodevorrichtungen können auch mit einem Arbeitsstationscomputer verknüpft sein, welcher einen Strichcodevorrichtungsserver betreibt. Schließlich enthalten Datenbankknoten Datenbankserver, welche Zugriff auf eine relationale Datenbank zur Verfügung stellen, welche eine Bibliothek von Fabrikbereichsentitäten speichert, die als Fabrikobjekte modelliert sind.
- Um die vorliegende Erfindung besser zusammenzufassen, stelle man sich das folgende Architektur-Interaktions- Beispiel vor. Man nehme an, ein Nutzer möchte eine Sitzung starten, indem er ein Kommando an einer X-Terminal- Arbeitsstation eingibt. Die Startup-Nachricht wird zu dem Kommunikationsmanager auf dem Anwendungsknoten gesendet, welcher mit dem X-Server des Nutzers assoziiert ist. (Es wird angenommen, daß der X-Server auf einem Schnittstellenserverknoten läuft.) Sobald der Kommunikationsmanager diese Nachricht empfängt, etabliert er eine Verbindung mit dem X-Server und präsentiert dem Nutzer ein Login- Fenster. Das Login-Fenster ist eine spezielle Anwendung, welche es für den Nutzer erforderlich macht, einen Nutzernamen und ein Paßwort einzugeben, um Zugang zu dem System zu erhalten. Die Login-Anwendung -wie andere Anwendungsmaschinen- erzeugt Anwendungsservice-Anforderungen an den Kommunikationsmanager um den Nutzer-Login durchzuführen. Nach einem erfolgreichen Login wird dem Nutzer ein Menü geeigneter Anwendungen präsentiert, welche er nun aufrufen kann. Jede Online-Transaktion entspricht einer speziellen Anwendung.
- Sobald eine Anwendung aufgerufen ist, empfängt der Kommunikationsmanager einen Anforderung für eine spezifische Anwendung. Im Gegenzug erzeugt der Kommunikationsmanager dann einen Anwendungsmaschinenprozeß, welcher die aufgerufene Anwendung enthält. Die Anwendungsmaschine fordert dann einen offenen Datenbankservice an einem Datenbancknoten an, zeigt das Anwendungsfenster an und wartet auf eine Nutzerantwort. Danach fährt die Anwendungsmaschine fort, nachfolgende Nutzerinteraktions-Ereignisse von Eingabevorrichtungen zu verarbeiten und Anwendungsservice- Anforderungen an den Kommunikationsmanager zu erzeugen. Die Anwendungsmaschine gibt auch die offenen und festgeschriebenen Datenbankservice-Anforderungen heraus.
- Somit steht jede Online-Transaktion unter der Kontrolle einer Anwendungsmaschine. Zusätzlich steuert die Anwendungsmaschine, wann die Datenbank geöffnet wird und wann Änderungen festgeschrieben werden. Sie kann eine Datenbank beliebig oft öffnen und ändern. Zwischen einem Öffnen und Festschreiben einer Datenbank erzeugt die Anwendungsmaschine Anwendungsservice-Anforderungen, welche von Anwendungsservern verarbeitet werden.
- Wenn der Nutzer mit dem Anwendungsfenster interagiert, fährt der X-Server fort, X-Ereignisse zu erzeugen. Die X- Ereignisse werden über das Netzwerk vom X-Server zur Anwendungsmaschine transportiert. Jedes X-Ereignis, welches von einer Anwendungsmaschine empfangen wird, wird entweder ignoriert oder verarbeitet. Relevante Ereignisse werden verarbeitet, indem C-Sprache-Funktionen aufgerufen werden, welche als Rückfragen bekannt sind. Jedes relevante X-Ereignis ist mit einer Rückfrage verknüpft. Wenn eine Rückfrage den Service eines Anwendungsservers erfordert, sendet die Anwendungsmaschine eine Anwendungsservice-Anforderung an den Kommunikationsmanager. Die Anwendungsmaschine kann sich dann selbst blockieren und auf eine Antwort auf die Anforderung warten.
- Jede Anwendungsservice-Anforderung wird von einem Anwendungsservice-Prozeß verarbeitet. Der Kommunikationsmanager legt fest, welcher Anwendungsserver die Anwendungsservice-Anforderungen erfüllen kann. Wenn der entsprechende Anwendungsserver bereits vorhanden ist, leitet der Kommunikationsmanager die Anwendungsservice-Anforderung an den Anwendungsserver weiter. Der Kommunikationsmanager erzeugt einen Anwendungsserver-Prozeß, wenn der Anwendungsserver nicht existiert. Als nächstes verarbeitet der Anwendungsserver die Anwendungsservice-Anforderung und sendet die entsprechende Abschluß/Fehlernachricht an den Kommunikationsmanager, welcher im Gegenzug diese zurück zu der Anwendungsmaschine leitet, welche die ursprüngliche Anforderung machte.
- Zu beachten ist, daß der Anwendungsserver, während eine Anwendungsservice-Anforderung verarbeitet wird, die Datensegmente der Fabrikobjekte, welche er benötigt, spezialisiert, die in einem geteilten Cache-Speicher gespeichert sind (geteilt über das Netzwerk). Nachdem das Fabrikobjekt in dem geteilten Speicher spezialisiert worden ist, manipuliert der Anwendungsserver die Datensegmente des Objektes indem er Fabrikobjekt-Verfahren aufruft. Jeder Anwendungsserver macht Datenbankservice- Anforderungen, um Daten zu erhalten, welche er von der Datenbank benötigt, um die Daten zu manipulieren, und, vor Abschluß des Anwendungsservices, eine Datenbankservice-Anforderung zu machen, um die Daten in der Datenbank zu aktualisieren. Wenn ein Anwendungsserver einen Service abschließt, wird eine Datenaktualisierungsservice- Anforderung an den Datenbankserver gesandt. Diese Anforderung enthält alle Fabrikobjekt-Datensegment-Änderungen, welche der Anwendungsserver gemacht hat und die in der relationalen Datenbank dauerhaft gemacht werden müssen.
- Der Datenbankknoten betreibt seinen eigenen Kommunikationsmanager in einem Satz von Datenbankservern. Jeder Datenbankserver kann aktiv oder inaktiv sein. Aktive Datenbankserver sind für eine Anwendungsmaschine zweckbestimmt bis eine Festschreibeservice-Anforderung von der Anwendungsmaschine verarbeitet ist. Sobald diese verarbeitet ist, geht der Datenbankserver in einen inaktiven Zustand über. Der Datenbankserver wechselt von inaktiv auf aktiv, wenn er eine offene Datenbankserviceanforderung von einer Anwendungsmaschine über ihren Kommunikationsmanager erhält. Wie erwähnt, kann der Datenbankknoten ein Arbeitsstationscomputer, ein Minicomputer oder ein Cluster aus vielen Computern sein. Die Datenbankserver auf dem Datenbankknoten empfangen Datenbankservice-Anforderungen, welche von den Anwendungsservern auf dem Anwendungsknoten gemacht werden. Diese Serviceanforderungen werden zu einem Datenbankserver durch den Kommunikationsmanager auf dem Datenbankknoten weitergeleitet. Somit aktualisieren die Datenbankserver physikalisch die Datenbank und schreiben die Aktualisierung auf Anforderung der Anwendungsmaschine fest.
- Es ist zu beachten, daß jeder Datenbankserver eine Mehrzahl von Datenbankobjekten speichert. Jedes Datenbankobjekt ist nach einer Relation oder einem Blick in die zugrundeliegende relationale Datenbank modelliert. Jedes Fabrikobjekts-Datensegment entspricht einem Datenbankobjekt. Jede Serviceanforderung, welche an den Datenbankserver gerichtet ist, wird aufgeteilt in Aufrufe von Datenbankverfahren in Abhängigkeit davon, welche Fabrikobjekte von einem Anwendungsserver geändert, erzeugt oder zerstört wurden, welcher die Datenbankserviceanforderung machte. In die Datenbankobjekt-Verfahren sind Anweisungen implementiert, welche Relationen in der zugrundeliegenden relationalen Datenbank manipulieren. Alle Änderungen an der Datenbank werden nicht festgeschrieben, bevor nicht die entsprechende Anwendungsmaschine eine Festschreibung anfordert.
- Zumal die vorliegend erfundene Architektur ihrer Natur nach verteilt ist, wird jeder der vier zuvor beschriebenen Softwareaspekte vorzugsweise als separater Prozeß modelliert. Beispielsweise sind Anwendungsmaschinen Objekte, welcher dem Formaspekt der Software entsprechen, Anwendungsserver modellieren den funktionalen Aspekt, und Kommunikationsmanager und Datenbankserver sind als separate Prozesse modelliert, welche dem Kommunikations- bzw. Datenaspekt des Softwaresystems entsprechen.
- Bestimmte Charakteristiken aller dieser vier Prozesse sind weiter abstrahiert in einen Obersatz Prozeß, welcher als "PROZESS" bezeichnet wird. Dieser Obersatz Prozeß ist in Fig. 8 als Objekt 70 dargestellt. Von dort aus können all die anderen Objekte innerhalb des Systems (wie etwa Anwendungsmaschinen, Anwendungsserver, Datenbankserver etc.) effektiv unterklassiert werden, weil sie alle die gemeinsamen Attribute des "PROZESSES" teilen.
- Beispielsweise werden in Fig. 8 Objekte 71-74 (korrespondierend zu Ereignishandler (EH), Anwendungsserver (AS), Datenbankserver (DBS) bzw. Anwendungsmaschine (Application Engine, AE)) als unterklassiert von Objekt 70 gezeigt. (Man beachte, daß Anwendungsserver 75 als unterklassiert von Anwendungsserver 72 gezeigt wird.) Die Charakteristiken und das Verhalten, welche im Objekt 70 verkapselt sind, schließen die Fähigkeit ein, einen Prozeß zu erzeugen und auszuführen, zusammen mit der Fähigkeit, Nachrichten über das Ereignishandler-Objekt 71 zu verschicken, und der Fähigkeit, Antworten zu empfangen. In dieser Hinsicht hat der Prozeß 70 die Fähigkeit, ein Ereignis 85 oder jede Unterklasse von Ereignissen 86-89 zu erzeugen, welche alle Unterklassen von Objekt 84 sind.
- Man beachte, daß in dem objektorientierten Prozeßdiagramm von Fig. 8 eine Netzwerknachricht als ein Ereignisobjekt modelliert ist, welches von einem Ereignishandler 71 gehandhabt wird. Eine Nutzerschnittstelle in einem Softwaresystem, welche X-Window basiert ist, hat die Fähigkeit, auf Ereignisse zu reagieren, welche von dem X-Server erzeugt werden. Das bedeutet, daß eine Notwendigkeit für eine spezielle Ereignishandhäbungsfähigkeit besteht, welche typisch für Anwendungsmaschinen ist. Aus diesem Grund wird das Eventhandler-Objekt 71 als Unterklasse von Objekt 70 gezeigt, während die Anwendungsmaschine 74 als Unterklasse von Ereignishandler-Objekt 71 gezeigt wird. Von dort aus sind Objekte 76-78 von Objekt 74 unterklassiert, welche Window-basierenden Anwendungsmaschinen (XAE), Strichcode Anwendungsmaschinen (Barcode Application Engines, BAE) und Nicht-Anzeige-Arten von Schnittstellen entsprechen (Eine Nicht-Anzeige-Schnittstelle könnte einfach losgehen, ein File lesen und darauf rea gieren.) X-Anwendungen 79 & 80 und Transaktionen 81-83 werden als weiter unterklassiert von Objekt 76 gezeigt.
- Man erinnere sich, daß die Softwaresysteme, welche von der vorliegenden Architektur unterstützt werden, aus vier Funktionalitätsniveaus bestehen. Die Struktur dieser Funktionalitätsniveaus wird in Fig. 9 gezeigt. Das Nutzer- oder Sitzungsniveau wird durch einen Nutzer-Login gestartet und umfaßt alle anderen Niveaus aus der Nutzerperspektive. Auf der anderen Seite, ist das Transaktionsniveau mit der Ausführung einer spezifischen Aufgabe betraut. Transaktionen können nutzerdefiniert (Skript) oder eingebaute Funktionen sein. Jenseits des Transaktionsniveaus ist das Servicefunktions-Niveau zusammengesetzt aus einzelnen, wohldefinierten und wiederverwendbaren Bausteinen, welche zu Transaktionen zusammengesetzt werden können. Üblicherweise umfassen diese Bausteine Anwendungsservices oder einen Anwendungskript-Server, welcher es dem Nutzer erlaubt, Transaktionen als Skript zu schreiben. Schließlich stellt das Objektniveau das feinste Granularitätsniveau von Funktionalität dar.
- Objekte sind Abstraktionen der Fabrikbereichsentitäten und werden aus Daten modelliert, welche in der Datenbank gespeichert sind. In dem Softwaresystem existiert typischerweise eine Objektbibliothek, welche Objekte benutzt, um die Fabrik zu modellieren. Daten werden in der Datenstruktur dieser Objekte gefunden (d. i. die Spezialisierungsvariablen). Diese Objekte enthalten auch den assoziierten ausführbaren Code (d. i. Verfahren), welche aufgerufen werden können, um auf die Strukturen einzuwirken (d. i. Verschicken von Nachrichten). Diese Daten können nur von Nachrichten, welche zu den Objekten gesendet werden, manipuliert werden; das bedeutet, daß auf die Datenbank niemals unmittelbar zugegriffen wird. Eine Teilliste von Fabrikobjekten, welche in das gegenwärtig bevorzugte Ausführungsbeispiel eingeschlossen ist, ist in Tabelle 1 angegeben: Objektklassen - Tabelle 1
- Eine Anwendung zu bauen ist ein Prozeß des Sendens geeigneter Nachrichten. Diese Objekte werden geschrieben, um das äußerste Basisniveau an Funktionalität in dem System zur Verfügung zu stellen. Offensichtlich ist der primäre Vorteil von Objekten ihre Wiederverwendbarkeit. Kombinationen von Objekten und Nachrichten an die Objekte erlauben es, allgemeinere Funktionalität zu konstruieren. Diese Funktionalität ist eingekapselt entsprechend der vorliegenden Erfindung in der Objektbibliothek und den Anwendungsserver-Niveuas. Obwohl die Objekte die Basis der festcodierten Anwendungsservices-Funktionen formen, können sie auch unmittelbar über Skript benachrichtigt werden.
- Obwohl die vorliegende Erfindung in Verbindung mit einer Anwendung in einem Fabrikbereichsverwaltungs- Softwaresystem beschrieben wurde, erfordert es Wiederholung, daß die vorliegende Erfindung in eine große Vielzahl von Anwendungen und Systemen implementiert werden kann. Daher ist zu verstehen, daß die speziellen Ausführungsbeispiele, welche zur Illustration gezeigt und beschrieben wurden, auf keine Weise zur Limitierung gedacht sind. Bezugnahme auf Details der bevorzugten Ausführungsform sollen nicht den Bereich der Ansprüche limitieren.
- Somit wurde eine objektorientierte Architektur zur Benutzung in einem komplexen Softwaresystem beschrieben.
Claims (12)
1. Online-objektorientiertes-verteiltes Computersystem
zum Verwalten eines Fabrikbereiches, wobei das
verteilte Computersystem aufweist:
eine Mehrzahl vernetzter Computerknoten (28-34),
wobei jeder vernetzte Computerknoten einen
Prozessor, einen Speicher und einen
Kommunikationsmechanismus aufweist, und die vernetzten Computerknoten
gesonderte Schnittstellen-Serviceknoten,
Anwendungsknoten und Datenbankknoten umfassen:
wobei eine relationale Datenbank auf den
Datenbankknoten gespeichert ist und über diese verteilt
wird und die relationale Datenbank Fabrikentitäten
darstellende Fabrikobjekte enthält, und die
Fabrikobjekte in der relationalen Datenbank Arbeitsorte,
Inventar, physische Ressourcen einschließlich
Maschinen- und Arbeitsressourcen, und logische
Ressourcen darstellen;
wobei jeder der Schnittstellen-Serviceknoten
einen Schnittstellen-Server betreibt, um eine
Schnittstelle bereitzustellen, die es einem Benutzer
erlaubt Online-Transaktionen mittels einer
Dialogvorrichtung durchzuführen, wobei die Online-
Transaktionen auf die Fabrikobjekte einwirken;
wobei jeder Anwendungsknoten der
Anwendungsknoten einen Kommunikationsmanager betreibt, um eine
Kommunikation zwischen dem Schnittstellen-Server,
den Anwendungsknoten und den Datenbankknoten zu
koordinieren,
wobei jeder Anwendungsknoten wenigstens eine
betreibt von:
einer Anwendungsmaschine (52) zum Kontrollieren
der Online-Transaktionen durch den Benutzer, wobei
die Anwendungsmaschine Anwendungsservice-
Anforderungen in Reaktion auf die Online-
Transaktionen durch den Benutzer erzeugt, und
einem Anwendungsserver zum Verarbeiten der
Anwendung-Serviceabfragen durch Spezialisieren und
Manipulieren von Datensegmenten der Fabrikobjekte,
wobei der Anwendungsserver Datenbank-Serviceabfragen
ausgibt, um Daten in der relationalen Datenbank
abzufragen, zu manipulieren und zu aktualisieren; und
wobei die Anwendungsknoten wenigstens einen
Anwendungsknoten umfassen, der eine Anwendungsmaschine
betreibt und wenigstens einen Anwendungsknoten, der
einen Anwendungsserver betreibt; und
wobei die Datenbankknoten einen Datenbankserver
betreiben, um die relationale Datenbank in Reaktion
auf die Datenbank-Serviceabfragen, die durch den
Anwendungsserver an den Anwendungsknoten erzeugt
werden, physikalisch zu aktualisieren, wobei das
Aktualisieren der Datenbank mittels Transaktionen
durchgeführt wird, und die Fabrikobjekte in Reaktion auf
die Transaktionen modifiziert werden.
2. System nach Anspruch 1, bei welchem die
Dialogvorrichtung ein X-Terminal oder eine Arbeitsstation
(50) aufweist, die einen X-Server (51) betreiben.
3. System nach Anspruch 2, bei welchem die
Dialogvorrichtung ferner eine Strichcodevorrichtung (57)
aufweist, die mit einem Strichcodeserver (58) gekoppelt
ist.
4. System nach Anspruch 1, bei welchem der
Anwendungsserver auch Aktualisierungsdaten-Serviceabfragen an
den Datenbankserver sendet, und die
Aktualisierungsdaten-Serviceabfragen alle Veränderungen an den
Datensegmenten beinhalten, die durch den
Anwendungsserver durchgeführt werden, damit diese in der
Datenbank dauerhaft sind.
5. System nach Anspruch 4, bei welchem jedes der
Datensegmente, das den Fabrikobjekten zugeordnet ist,
einem Datenbankobjekt entspricht.
6. System nach Anspruch 5, bei welchem der
Datenbankserver eine Mehrzahl von Datenbankobjekten
speichert, und jedes der Datenbankobjekte gemäß einer
Relation in der relationalen Datenbank modelliert
wird, und wobei die Datenbank-Serviceabfragen in
Aufrufe von Datenbankoperationen zerlegt werden,
abhängig davon, welche der Fabrikobjekte durch den
Anwendungsserver verändert, erzeugt oder gelöscht
wurden.
7. System nach Anspruch 1, bei welchem der
Kommunikationsmanager die Anwendungsservice-Anforderungen zum
Anwendungsserver leitet, und eine geeignete
Vollendungs-/Fehler-Meldung zur Anwendungsmaschine vom
Anwendungsserver sendet.
8. System nach Anspruch 7, bei welchem die
Anwendungsmaschine (52) kontrolliert, wann die Datenbank
geöffnet ist und wann Veränderungen in der Datenbank
festgeschrieben werden, und die Anwendungsmaschine
zwischen einem Öffnen und Festschreiben der
Datenbank die Anwendungsservice-Anforderung zur
Verarbeitung durch den Anwendungsserver herausgibt.
9. System nach Anspruch 1, bei welchem die Datenbank-
Serviceabfrage durch den Kommunikationsmanager auf
den Datenbankknoten zum Datenbankserver
weitergeleitet wird.
10. Computersystem nach Anspruch 1, bei welchem der
Kommunikationsmechanismus eine Mehrzahl von
Anwendungsservern erzeugt, die auf die Anwendungsservice-
Anforderung ansprechen, und die Mehrzahl von
Anwendungsservern den Anwendungsserver umfaßt.
11. Computersystem nach Anspruch 10, bei welchem die
Mehrzahl von Anwendungsservern einen Fernobjekt-
Serverprozeß aufweist, der zum Abwickeln der
Anwendungsservice-Anforderung für Operationen an nicht
dauerhaften Objekten dient.
12. Computersystem nach Anspruch 11, bei welchem jeder
Anwendungsknoten der Mehrzahl von Anwendungsknoten
einen einzelnen Fernobjekt-Serverprozeß betreibt, um
mit anderen Knoten der Mehrzahl von vernetzten
Computerknoten zu kommunizieren.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US59807890A | 1990-10-16 | 1990-10-16 | |
| PCT/US1991/007671 WO1992007331A1 (en) | 1990-10-16 | 1991-10-15 | Object-oriented architecture for factory floor management |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69132012D1 DE69132012D1 (de) | 2000-04-06 |
| DE69132012T2 true DE69132012T2 (de) | 2000-11-16 |
Family
ID=24394137
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69132012T Expired - Fee Related DE69132012T2 (de) | 1990-10-16 | 1991-10-15 | Objektorientierte architektur für fabrikverwaltung |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US5398336A (de) |
| EP (1) | EP0553285B1 (de) |
| AU (1) | AU9030391A (de) |
| DE (1) | DE69132012T2 (de) |
| WO (1) | WO1992007331A1 (de) |
Families Citing this family (368)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5797129A (en) * | 1991-10-31 | 1998-08-18 | Texas Instruments Incorporated | Predicting resource usage in a multiple task, multiple resource environment |
| US5999942A (en) * | 1993-02-11 | 1999-12-07 | Appage Corporation | Method and apparatus for enforcement of behavior of application processing systems without modifying application processing systems |
| US5548724A (en) * | 1993-03-22 | 1996-08-20 | Hitachi, Ltd. | File server system and file access control method of the same |
| US6718399B1 (en) * | 1993-05-21 | 2004-04-06 | Candle Distributed Solutions, Inc. | Communications on a network |
| US5841978A (en) * | 1993-11-18 | 1998-11-24 | Digimarc Corporation | Network linking method using steganographically embedded data objects |
| US5557731A (en) * | 1993-12-28 | 1996-09-17 | International Business Machines Corporation | Method and system for detecting undefined objects in an application |
| JP3979504B2 (ja) * | 1994-03-04 | 2007-09-19 | 富士通株式会社 | コモン・プラットフォーム機能による対話的情報処理装置 |
| US6961712B1 (en) | 1996-10-25 | 2005-11-01 | Ipf, Inc. | Consumer product information request (CPIR) enabling servlets and web-based consumer product information catalogs employing the same |
| US6625581B1 (en) | 1994-04-22 | 2003-09-23 | Ipf, Inc. | Method of and system for enabling the access of consumer product related information and the purchase of consumer products at points of consumer presence on the world wide web (www) at which consumer product information request (cpir) enabling servlet tags are embedded within html-encoded documents |
| US5918214A (en) * | 1996-10-25 | 1999-06-29 | Ipf, Inc. | System and method for finding product and service related information on the internet |
| US5694597A (en) * | 1994-04-26 | 1997-12-02 | International Business Machines Corporation | Method and system for optimizing access to a datastore |
| JPH07295815A (ja) * | 1994-04-26 | 1995-11-10 | Internatl Business Mach Corp <Ibm> | 永続オブジェクトのマッピング・システム及び方法 |
| US8910876B2 (en) | 1994-05-25 | 2014-12-16 | Marshall Feature Recognition, Llc | Method and apparatus for accessing electronic data via a familiar printed medium |
| US7712668B2 (en) | 1994-05-25 | 2010-05-11 | Marshall Feature Recognition, Llc | Method and apparatus for accessing electronic data via a familiar printed medium |
| US7703683B2 (en) | 1994-05-25 | 2010-04-27 | Marshall Feature Recognition, Llc | Method and apparatus for accessing electronic data via a familiar printed medium |
| US7717344B2 (en) * | 1994-05-25 | 2010-05-18 | Marshall Feature Recognition, Llc | Method and apparatus for accessing electronic data via a familiar printed medium |
| US8261993B2 (en) | 1994-05-25 | 2012-09-11 | Marshall Feature Recognition, Llc | Method and apparatus for accessing electronic data via a familiar printed medium |
| US6866196B1 (en) | 1994-05-25 | 2005-03-15 | Spencer A. Rathus | Method and apparatus for accessing electronic data via a familiar printed medium |
| US5586312A (en) * | 1994-10-11 | 1996-12-17 | Unisys Corporation | Method and apparatus for using an independent transaction processing application as a service routine |
| US6317773B1 (en) * | 1994-10-11 | 2001-11-13 | International Business Machines Corporation | System and method for creating an object oriented transaction service that interoperates with procedural transaction coordinators |
| US5842173A (en) * | 1994-10-14 | 1998-11-24 | Strum; David P. | Computer-based surgical services management system |
| US6560349B1 (en) * | 1994-10-21 | 2003-05-06 | Digimarc Corporation | Audio monitoring using steganographic information |
| US5758074A (en) * | 1994-11-04 | 1998-05-26 | International Business Machines Corporation | System for extending the desktop management interface at one node to a network by using pseudo management interface, pseudo component interface and network server interface |
| US5680615A (en) * | 1994-11-04 | 1997-10-21 | International Business Machines Corporation | Desktop management of host applications |
| US5778377A (en) * | 1994-11-04 | 1998-07-07 | International Business Machines Corporation | Table driven graphical user interface |
| US5546577A (en) * | 1994-11-04 | 1996-08-13 | International Business Machines Corporation | Utilizing instrumented components to obtain data in a desktop management interface system |
| SE9404296D0 (sv) * | 1994-12-09 | 1994-12-09 | Ellemtel Utvecklings Ab | Sätt och anordning vid telekommunikation |
| FR2730327B1 (fr) * | 1995-02-02 | 1997-04-04 | Bull Sa | Outil de generation et d'execution de commandes a interface graphique |
| JPH08272744A (ja) * | 1995-03-30 | 1996-10-18 | Canon Inc | 情報処理方法及び装置 |
| US5727203A (en) * | 1995-03-31 | 1998-03-10 | Sun Microsystems, Inc. | Methods and apparatus for managing a database in a distributed object operating environment using persistent and transient cache |
| US5617522A (en) * | 1995-04-03 | 1997-04-01 | Honeywell Inc. | Methods and apparatus for providing and/or customizing display screens and operator interfaces for process control and measurement instruments |
| US5774661A (en) * | 1995-04-18 | 1998-06-30 | Network Imaging Corporation | Rule engine interface for a visual workflow builder |
| JPH11504451A (ja) | 1995-04-24 | 1999-04-20 | アスペクト・ディベロップメント・インコーポレイテッド | データベース構造に適したオブジェクトのモデリング、リレーショナルデータベース構造への翻訳、それらへの流動的なサーチ |
| US7805500B2 (en) * | 1995-05-08 | 2010-09-28 | Digimarc Corporation | Network linking methods and apparatus |
| US6760463B2 (en) * | 1995-05-08 | 2004-07-06 | Digimarc Corporation | Watermarking methods and media |
| US7224819B2 (en) | 1995-05-08 | 2007-05-29 | Digimarc Corporation | Integrating digital watermarks in multimedia content |
| CA2175276A1 (en) * | 1995-05-09 | 1996-11-10 | Patrick Yin | Method and system for allowing an integrated circuit to be portably generated from one manufacturing process to another |
| EP0744856A3 (de) * | 1995-05-26 | 1997-06-25 | At & T Corp | Gerät und Verfahren zum Gebrauch von Produktidentifizierungscodes für die Herstellung von Kommunikationsverbindungen |
| US5866889A (en) | 1995-06-07 | 1999-02-02 | Citibank, N.A. | Integrated full service consumer banking system and system and method for opening an account |
| US5764543A (en) * | 1995-06-16 | 1998-06-09 | I2 Technologies, Inc. | Extensible model network representation system for process planning |
| EP1622077A1 (de) * | 1995-06-20 | 2006-02-01 | Neomedia Technologies, Inc | System, das Handelsartikel zum Zugriff auf einen entfernten Rechner verwendet |
| US5978773A (en) * | 1995-06-20 | 1999-11-02 | Neomedia Technologies, Inc. | System and method for using an ordinary article of commerce to access a remote computer |
| US6411725B1 (en) * | 1995-07-27 | 2002-06-25 | Digimarc Corporation | Watermark enabled video objects |
| US6829368B2 (en) * | 2000-01-26 | 2004-12-07 | Digimarc Corporation | Establishing and interacting with on-line media collections using identifiers in media signals |
| US6505160B1 (en) * | 1995-07-27 | 2003-01-07 | Digimarc Corporation | Connected audio and other media objects |
| US6449660B1 (en) | 1995-07-31 | 2002-09-10 | International Business Machines Corporation | Object-oriented I/O device interface framework mechanism |
| US6072944A (en) * | 1995-09-08 | 2000-06-06 | Iq Systems, Inc. | Methods and apparatus for distributed processing and rapid ASIC development |
| US5721914A (en) * | 1995-09-14 | 1998-02-24 | Mci Corporation | System and method for hierarchical data distribution |
| US5930786A (en) | 1995-10-20 | 1999-07-27 | Ncr Corporation | Method and apparatus for providing shared data to a requesting client |
| US5754841A (en) * | 1995-10-20 | 1998-05-19 | Ncr Corporation | Method and apparatus for parallel execution of user-defined functions in an object-relational database management system |
| US5799305A (en) * | 1995-11-02 | 1998-08-25 | Informix Software, Inc. | Method of commitment in a distributed database transaction |
| AU1122997A (en) | 1995-11-07 | 1997-06-11 | Cadis, Inc. | Search engine for remote object oriented database management system |
| US6298476B1 (en) | 1995-12-04 | 2001-10-02 | International Business Machines Corporation | Object oriented software build framework mechanism |
| US5706452A (en) * | 1995-12-06 | 1998-01-06 | Ivanov; Vladimir I. | Method and apparatus for structuring and managing the participatory evaluation of documents by a plurality of reviewers |
| US5768505A (en) * | 1995-12-19 | 1998-06-16 | International Business Machines Corporation | Object oriented mail server framework mechanism |
| US5796951A (en) * | 1995-12-22 | 1998-08-18 | Intel Corporation | System for displaying information relating to a computer network including association devices with tasks performable on those devices |
| US6405254B1 (en) * | 1996-01-03 | 2002-06-11 | Sterling Commerce, Inc. | System and method for protocol conversion using facilities and utilities |
| US6144967A (en) * | 1996-01-25 | 2000-11-07 | International Business Machines Corporation | Object oriented processing log analysis tool framework mechanism |
| US5799284A (en) * | 1996-03-13 | 1998-08-25 | Roy E. Bourquin | Software and hardware for publishing and viewing products and services for sale |
| CA2171802C (en) * | 1996-03-14 | 2001-06-05 | Richard Denison Mcdonald | Comparative performance modeling for distributed object oriented applications |
| US5768133A (en) * | 1996-03-19 | 1998-06-16 | Taiwan Semiconductor Manufacturing Company, Ltd. | WIP/move management tool for semiconductor manufacturing plant and method of operation thereof |
| US6434739B1 (en) | 1996-04-22 | 2002-08-13 | International Business Machines Corporation | Object oriented framework mechanism for multi-target source code processing |
| US6081798A (en) * | 1996-04-24 | 2000-06-27 | International Business Machines Corp. | Object oriented case-based reasoning framework mechanism |
| US5778378A (en) * | 1996-04-30 | 1998-07-07 | International Business Machines Corporation | Object oriented information retrieval framework mechanism |
| US5778386A (en) * | 1996-05-28 | 1998-07-07 | Taiwan Semiconductor Manufacturing Company Ltd. | Global view storage management system for semiconductor manufacturing plants |
| US5805442A (en) * | 1996-05-30 | 1998-09-08 | Control Technology Corporation | Distributed interface architecture for programmable industrial control systems |
| US7146408B1 (en) | 1996-05-30 | 2006-12-05 | Schneider Automation Inc. | Method and system for monitoring a controller and displaying data from the controller in a format provided by the controller |
| US6957260B1 (en) | 1996-06-03 | 2005-10-18 | Microsoft Corporation | Method of improving access to services provided by a plurality of remote service providers |
| US5918013A (en) * | 1996-06-03 | 1999-06-29 | Webtv Networks, Inc. | Method of transcoding documents in a network environment using a proxy server |
| US5867657A (en) * | 1996-06-06 | 1999-02-02 | Microsoft Corporation | Distributed scheduling in a multiple data server system |
| US5809505A (en) * | 1996-06-14 | 1998-09-15 | Lo; Thomas | System and method for relational to object mapping |
| US6456308B1 (en) | 1996-08-08 | 2002-09-24 | Agranat Systems, Inc. | Embedded web server |
| US5973696A (en) * | 1996-08-08 | 1999-10-26 | Agranat Systems, Inc. | Embedded web server |
| JP3747525B2 (ja) * | 1996-08-28 | 2006-02-22 | 株式会社日立製作所 | 並列データベースシステム検索方法 |
| US6108637A (en) | 1996-09-03 | 2000-08-22 | Nielsen Media Research, Inc. | Content display monitor |
| US5903729A (en) * | 1996-09-23 | 1999-05-11 | Motorola, Inc. | Method, system, and article of manufacture for navigating to a resource in an electronic network |
| US5915252A (en) | 1996-09-30 | 1999-06-22 | International Business Machines Corporation | Object oriented framework mechanism for data transfer between a data source and a data target |
| US5949977A (en) * | 1996-10-08 | 1999-09-07 | Aubeta Technology, Llc | Method and apparatus for requesting and processing services from a plurality of nodes connected via common communication links |
| US6104874A (en) * | 1996-10-15 | 2000-08-15 | International Business Machines Corporation | Object oriented framework mechanism for order processing including pre-defined extensible classes for defining an order processing environment |
| US7904333B1 (en) | 1996-10-25 | 2011-03-08 | Ipf, Inc. | Web-based electronic commerce (EC) enabled shopping network configured to allow members of a consumer product management team and authorized parties to communicate directly with consumers shopping at EC-enabled websites along the world wide web (WWW), using multi-mode virtual kiosks (MMVKS) driven by server-side components and managed by product team members |
| US20040210479A1 (en) * | 1996-10-25 | 2004-10-21 | Ipf, Inc. | Internet-based brand marketing communication instrumentation network for deploying, installing and remotely programming brand-building server-side driven multi-mode virtual kiosks on the World Wide Web (WWW), and methods of brand marketing communication between brand marketers and consumers using the same |
| US20050010475A1 (en) * | 1996-10-25 | 2005-01-13 | Ipf, Inc. | Internet-based brand management and marketing communication instrumentation network for deploying, installing and remotely programming brand-building server-side driven multi-mode virtual Kiosks on the World Wide Web (WWW), and methods of brand marketing communication between brand marketers and consumers using the same |
| EP1016009A4 (de) * | 1996-10-25 | 2002-06-05 | Ipf Inc | System und verfahren zur verwaltung und übertragung von verbraucherproduktbezogener information über internet |
| US7711598B2 (en) * | 1996-10-25 | 2010-05-04 | Ipf, Inc. | Web-based consumer product marketing communication network for managing and delivering consumer product marketing communications to consumers along e-commerce (EC) enabled web sites on the world wide web (WWW), using multi-mode virtual kiosks (MMVKS) driven by server=side components embodying consumer product identifiers and driven by consumer product information (CPI) links managed by product manufacturer team members and/or their agents |
| US7848948B2 (en) * | 1996-10-25 | 2010-12-07 | Ipf, Inc. | Internet-based product brand marketing communication network configured to allow members of a product brand management team to communicate directly with consumers browsing HTML-encoded pages at an electronic commerce (EC) enabled web-site along the fabric of the world wide web (WWW), using programable multi-mode virtual kiosks (MMVKS) driven by server-side components and managed by product brand management team members |
| US7516094B2 (en) * | 1996-10-25 | 2009-04-07 | Ipf, Inc. | Internet-based system for managing and delivering consumer product information to consumers at web-based retailer store sites on the world wide web (WWW), using consumer product information (CPI) requesting and graphical user interface (GUI) display subsystems, driven by server-side components embodying universal product numbers (UPNs) and driven by UPN/URL links managed by product manufacturer team members and/or their agents |
| US5787438A (en) * | 1996-10-31 | 1998-07-28 | International Business Machines Corporation | Method and apparatus for incorporating policies in searches for factory objects |
| US5937189A (en) * | 1996-11-12 | 1999-08-10 | International Business Machines Corporation | Object oriented framework mechanism for determining configuration relations |
| US5920867A (en) * | 1996-12-06 | 1999-07-06 | International Business Machines Corporation | Data management system having data management configuration |
| US5970498A (en) * | 1996-12-06 | 1999-10-19 | International Business Machines Corporation | Object oriented framework mechanism for metering objects |
| US6615279B1 (en) * | 1997-01-29 | 2003-09-02 | Iq Systems | Central and distributed script servers in an object oriented processor array |
| US6052729A (en) * | 1997-01-29 | 2000-04-18 | Iq Systems, Inc. | Event-reaction communication protocol in an object oriented processor array |
| US6119145A (en) * | 1997-02-28 | 2000-09-12 | Oracle Corporation | Multithreaded client application storing a separate context for each transaction thus allowing threads to resume transactions started by other client threads |
| US6643696B2 (en) | 1997-03-21 | 2003-11-04 | Owen Davis | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
| US5796952A (en) * | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
| US5936860A (en) * | 1997-03-28 | 1999-08-10 | International Business Machines Corporation | Object oriented technology framework for warehouse control |
| US6041312A (en) * | 1997-03-28 | 2000-03-21 | International Business Machines Corporation | Object oriented technology framework for accounts receivable and accounts payable |
| US5987423A (en) * | 1997-03-28 | 1999-11-16 | International Business Machines Corporation | Object oriented technology framework for order processing |
| US6014637A (en) * | 1997-04-30 | 2000-01-11 | International Business Machines Corporation | Object oriented framework mechanism for fulfillment requirements management |
| US6335972B1 (en) | 1997-05-23 | 2002-01-01 | International Business Machines Corporation | Framework-based cryptographic key recovery system |
| US6473893B1 (en) * | 1997-05-30 | 2002-10-29 | International Business Machines Corporation | Information objects system, method, and computer program organization |
| US5893106A (en) * | 1997-07-11 | 1999-04-06 | International Business Machines Corporation | Object oriented server process framework with interdependent-object creation |
| US6513152B1 (en) | 1997-07-23 | 2003-01-28 | International Business Machines Corporation | Object oriented framework mechanism for customization of object oriented frameworks |
| US6378002B1 (en) | 1997-08-05 | 2002-04-23 | International Business Machines Corporation, | Object oriented server process framework with implicit data handling registry for remote method invocations |
| US6317638B1 (en) * | 1997-08-22 | 2001-11-13 | Honeywell Inc. | Multi-layer state machine for a hybrid real-time control system and method of operation thereof |
| US6052670A (en) * | 1997-08-29 | 2000-04-18 | International Business Machines Corporation | Object oriented framework mechanism for an electronic catalog |
| US7035898B1 (en) | 1997-09-10 | 2006-04-25 | Schneider Automation Inc. | System for programming a factory automation device using a web browser |
| US20020091784A1 (en) * | 1997-09-10 | 2002-07-11 | Baker Richard A. | Web interface to a device and an electrical network control system |
| US6587884B1 (en) | 1997-09-10 | 2003-07-01 | Schneider Automation, Inc. | Dual ethernet protocol stack for maximum speed access to a programmable logic controller (PLC) |
| US6282454B1 (en) | 1997-09-10 | 2001-08-28 | Schneider Automation Inc. | Web interface to a programmable controller |
| US20020152289A1 (en) * | 1997-09-10 | 2002-10-17 | Schneider Automation Inc. | System and method for accessing devices in a factory automation network |
| US6732191B1 (en) | 1997-09-10 | 2004-05-04 | Schneider Automation Inc. | Web interface to an input/output device |
| US7058693B1 (en) | 1997-09-10 | 2006-06-06 | Schneider Automation Inc. | System for programming a programmable logic controller using a web browser |
| US6016495A (en) * | 1997-09-19 | 2000-01-18 | International Business Machines Corporation | Object-oriented framework mechanism for providing persistent storage |
| US6012065A (en) * | 1997-09-30 | 2000-01-04 | Pitney Bowes Inc. | Method and system for accessing carrier data |
| US6873978B1 (en) | 1997-10-01 | 2005-03-29 | Pitney Bowes Inc. | Event interface for a carrier manager system |
| US7020594B1 (en) * | 1997-10-01 | 2006-03-28 | Sony Corporation | Electronic Kanban worksheet for the design and implementation of virtual or electronic Kanban systems |
| US6889178B1 (en) * | 1997-10-01 | 2005-05-03 | Sony Corporation | Integrated wafer fabrication production characterization and scheduling system |
| US6910047B1 (en) | 1997-10-01 | 2005-06-21 | Pitney Bowes Inc. | Method and system for changing rating data via internet or modem in a carrier management system |
| US7089199B2 (en) * | 1997-10-27 | 2006-08-08 | Metrologic Instruments, Inc. | System for and method of managing and delivering manufacturer-specified consumer product information to consumers in the marketplace |
| US6959286B2 (en) | 1997-10-27 | 2005-10-25 | Ipf, Inc. | Method and system for searching a dynamically updated database of UPN/TM/PD and URL data links |
| DE19747583B4 (de) | 1997-10-28 | 2006-04-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Kommunikationssystem und Verfahren |
| US6014628A (en) * | 1997-11-03 | 2000-01-11 | Exigent International, Inc. | Method and system for tracking any entity through any set of processes utilizing a temporal projection |
| US6571140B1 (en) * | 1998-01-15 | 2003-05-27 | Eutech Cybernetics Pte Ltd. | Service-oriented community agent |
| US6067477A (en) * | 1998-01-15 | 2000-05-23 | Eutech Cybernetics Pte Ltd. | Method and apparatus for the creation of personalized supervisory and control data acquisition systems for the management and integration of real-time enterprise-wide applications and systems |
| AU3085799A (en) | 1998-03-12 | 1999-09-27 | Dmw Worldwide, Inc. | Operational system for operating on client defined rules |
| US7162510B2 (en) * | 1998-03-16 | 2007-01-09 | Schneider Automation Inc. | Communication system for a control system over Ethernet and IP networks |
| US6785722B2 (en) * | 1998-03-20 | 2004-08-31 | Sun Microsystems, Inc. | Apparatus, methods, and computer program products for transactional support of network management operations |
| US7689532B1 (en) | 2000-07-20 | 2010-03-30 | Digimarc Corporation | Using embedded data with file sharing |
| US6161051A (en) * | 1998-05-08 | 2000-12-12 | Rockwell Technologies, Llc | System, method and article of manufacture for utilizing external models for enterprise wide control |
| US6832120B1 (en) | 1998-05-15 | 2004-12-14 | Tridium, Inc. | System and methods for object-oriented control of diverse electromechanical systems using a computer network |
| US6396516B1 (en) | 1998-05-29 | 2002-05-28 | Plexus Systems, Llc | Graphical user interface shop floor control system |
| US6523045B1 (en) | 1998-05-29 | 2003-02-18 | Plexus Systems, Llc | Graphical user interface shop floor control system |
| US6185567B1 (en) * | 1998-05-29 | 2001-02-06 | The Trustees Of The University Of Pennsylvania | Authenticated access to internet based research and data services |
| US6336053B1 (en) | 1998-05-29 | 2002-01-01 | Plexus Systems, Llc | Graphical user interface shop floor control system |
| US6349341B1 (en) * | 1998-07-30 | 2002-02-19 | Advanced Micro Devices, Inc. | Method and system for providing inter-tier application control in a multi-tiered computing environment |
| US7392312B1 (en) | 1998-09-11 | 2008-06-24 | Lv Partners, L.P. | Method for utilizing visual cue in conjunction with web access |
| US8028036B1 (en) | 1998-09-11 | 2011-09-27 | Rpx-Lv Acquisition Llc | Launching a web site using a passive transponder |
| US6973438B1 (en) | 1998-09-11 | 2005-12-06 | L.V. Partners, L.P. | Method and apparatus for delivering information from a remote site on a network based on statistical information |
| US7191247B1 (en) | 1998-09-11 | 2007-03-13 | Lv Partners, Lp | Method for connecting a wireless device to a remote location on a network |
| US6970914B1 (en) | 1998-09-11 | 2005-11-29 | L. V. Partners, L.P. | Method and apparatus for embedding routing information to a remote web site in an audio/video track |
| US7284066B1 (en) | 1998-09-11 | 2007-10-16 | Lv Partners, Lp | Method and apparatus for matching a user's use profile in commerce with a broadcast |
| US7043536B1 (en) | 1998-09-11 | 2006-05-09 | Lv Partners, L.P. | Method for controlling a computer using an embedded unique code in the content of CD media |
| US6701354B1 (en) | 1998-09-11 | 2004-03-02 | L. V. Partners, L.P. | Method for interconnecting two locations over a network in response to using a tool |
| US6826592B1 (en) * | 1998-09-11 | 2004-11-30 | L.V. Partners, L.P. | Digital ID for selecting web browser and use preferences of a user during use of a web application |
| US7900224B1 (en) | 1998-09-11 | 2011-03-01 | Rpx-Lv Acquisition Llc | Method and apparatus for utilizing an audible signal to induce a user to select an E-commerce function |
| US6384744B1 (en) | 1998-09-11 | 2002-05-07 | Digital:Convergence Corp. | Method and system for data transmission from an optical reader |
| US7010577B1 (en) | 1998-09-11 | 2006-03-07 | L. V. Partners, L.P. | Method of controlling a computer using an embedded unique code in the content of DVD media |
| US6526449B1 (en) | 1998-09-11 | 2003-02-25 | Digital Convergence Corporation | Method and apparatus for controlling a computer from a remote location |
| US6708208B1 (en) | 1998-09-11 | 2004-03-16 | L.V. Partners, L.P. | Unique bar code for indicating a link between a product and a remote location on a web network |
| US7228282B1 (en) | 1998-09-11 | 2007-06-05 | Lv Partners, L.P. | Method and apparatus for directing an existing product code to a remote location |
| US6631404B1 (en) | 1998-09-11 | 2003-10-07 | Lv Partners, L.P. | Method and system for conducting a contest using a network |
| US6754698B1 (en) * | 1998-09-11 | 2004-06-22 | L. V. Partners, L.P. | Method and apparatus for accessing a remote location with an optical reader having a dedicated memory system |
| US6725260B1 (en) | 1998-09-11 | 2004-04-20 | L.V. Partners, L.P. | Method and apparatus for configuring configurable equipment with configuration information received from a remote location |
| US6629133B1 (en) | 1998-09-11 | 2003-09-30 | Lv Partners, L.P. | Interactive doll |
| US6792452B1 (en) | 1998-09-11 | 2004-09-14 | L.V. Partners, L.P. | Method for configuring a piece of equipment with the use of an associated machine resolvable code |
| US7392945B1 (en) | 1998-09-11 | 2008-07-01 | Lv Partners, L.P. | Portable scanner for enabling automatic commerce transactions |
| US6845388B1 (en) | 1998-09-11 | 2005-01-18 | L. V. Partners, L.P. | Web site access manual of a character string into a software interface |
| US6836799B1 (en) * | 1998-09-11 | 2004-12-28 | L.V. Partners, L.P. | Method and apparatus for tracking user profile and habits on a global network |
| US6928413B1 (en) | 1998-09-11 | 2005-08-09 | L.V. Partners, L.P. | Method of product promotion |
| US7440993B1 (en) | 1998-09-11 | 2008-10-21 | Lv Partners, L.P. | Method and apparatus for launching a web browser in response to scanning of product information |
| US7818423B1 (en) | 1998-09-11 | 2010-10-19 | RPX-LV Acquisition, LLC | Retrieving personal account information from a web site by reading a credit card |
| US6701369B1 (en) | 1998-09-11 | 2004-03-02 | L.V. Partners, L.P. | Method and apparatus for accessing a remote location by sensing a machine-resolvable code |
| US6636896B1 (en) | 1998-09-11 | 2003-10-21 | Lv Partners, L.P. | Method and apparatus for utilizing an audibly coded signal to conduct commerce over the internet |
| US7379901B1 (en) | 1998-09-11 | 2008-05-27 | Lv Partners, L.P. | Accessing a vendor web site using personal account information retrieved from a credit card company web site |
| US7493283B1 (en) | 1998-09-11 | 2009-02-17 | Rpx-Lv Acquisition Llc | Performing an e-commerce transaction from credit card account information retrieved from a credit card company web site |
| US7117240B1 (en) | 1998-09-11 | 2006-10-03 | Lv Partners, Lp | Method and apparatus for launching a web site with non-standard control input device |
| US7370114B1 (en) | 1998-09-11 | 2008-05-06 | Lv Partners, L.P. | Software downloading using a television broadcast channel |
| US6704864B1 (en) * | 1999-08-19 | 2004-03-09 | L.V. Partners, L.P. | Automatic configuration of equipment software |
| US7792696B1 (en) | 1998-09-11 | 2010-09-07 | RPX-LV Acquisition, LLC | Method and apparatus for allowing a broadcast to remotely control a computer |
| US6745234B1 (en) | 1998-09-11 | 2004-06-01 | Digital:Convergence Corporation | Method and apparatus for accessing a remote location by scanning an optical code |
| US6843417B1 (en) | 1998-09-11 | 2005-01-18 | L. V. Partners, L.P. | Aiming indicia for a bar code and method of use |
| US7386600B1 (en) | 1998-09-11 | 2008-06-10 | Lv Partners, L.P. | Launching a web site using a personal device |
| US6961555B1 (en) | 1998-09-11 | 2005-11-01 | L.V. Partners, L.P. | System and apparatus for connecting a wireless device to a remote location on a network |
| US6688522B1 (en) | 1998-09-11 | 2004-02-10 | L. V. Partners, L.P. | Unique bar code |
| US7536478B2 (en) | 1998-09-11 | 2009-05-19 | Rpx-Lv Acquisition Llc | Method and apparatus for opening and launching a web browser in response to an audible signal |
| US7321941B1 (en) | 1998-09-11 | 2008-01-22 | Lv Partners, L.P. | Network routing utilizing a product code |
| US6758398B1 (en) * | 1998-09-11 | 2004-07-06 | L.V. Partners, L.P. | Optical reader with ultraviolet wavelength capability |
| US6615268B1 (en) | 1998-09-11 | 2003-09-02 | Lv Partners, L.P. | Method for controlling a computer using an embedded unique code in the content of dat media |
| US6829650B1 (en) | 1998-09-11 | 2004-12-07 | L. V. Partners, L.P. | Method and apparatus for opening and launching a web browser in response to an audible signal |
| US6823388B1 (en) | 1998-09-11 | 2004-11-23 | L.V. Parners, L.P. | Method and apparatus for accessing a remote location with an optical reader having a programmable memory system |
| US6697949B1 (en) * | 1998-09-11 | 2004-02-24 | L.V. Partner, L.P. | Method and apparatus for controlling a user's pc through an audio-visual broadcast to archive information in the users pc |
| US6643692B1 (en) | 1998-09-11 | 2003-11-04 | Lv Partners, L.P. | Method for controlling a computer using an embedded unique code in the content of video tape media |
| US7159037B1 (en) | 1998-09-11 | 2007-01-02 | Lv Partners, Lp | Method and apparatus for utilizing an existing product code to issue a match to a predetermined location on a global network |
| US6622165B1 (en) | 1998-09-11 | 2003-09-16 | Lv Partners, L.P. | Method and apparatus for allowing a remote site to interact with an intermediate database to facilitate access to the remote site |
| US6860424B1 (en) | 1998-09-11 | 2005-03-01 | L.V. Partners, L.P. | Optical reader and use |
| US6829646B1 (en) * | 1999-10-13 | 2004-12-07 | L. V. Partners, L.P. | Presentation of web page content based upon computer video resolutions |
| US6757715B1 (en) * | 1998-09-11 | 2004-06-29 | L.V. Partners, L.P. | Bar code scanner and software interface interlock for performing encrypted handshaking and for disabling the scanner in case of handshaking operation failure |
| US7493384B1 (en) | 1998-09-11 | 2009-02-17 | Rpx-Lv Acquisition Llc | Controlling a PC using a tone from a cellular telephone |
| US6594705B1 (en) * | 1998-09-11 | 2003-07-15 | Lv Partners, L.P. | Method and apparatus for utilizing an audibly coded signal to conduct commerce over the internet |
| US7930213B1 (en) | 1998-09-11 | 2011-04-19 | Rpx-Lv Acquisition Llc | Method and apparatus for completing, securing and conducting an E-commerce transaction |
| US8712835B1 (en) | 1998-09-11 | 2014-04-29 | Rpx Corporation | Method and apparatus for linking a web browser link to a promotional offer |
| US6868433B1 (en) | 1998-09-11 | 2005-03-15 | L.V. Partners, L.P. | Input device having positional and scanning capabilities |
| US6636892B1 (en) * | 1998-09-11 | 2003-10-21 | Lv Partners, L.P. | Method for conducting a contest using a network |
| US7424521B1 (en) | 1998-09-11 | 2008-09-09 | Lv Partners, L.P. | Method using database for facilitating computer based access to a location on a network after scanning a barcode disposed on a product |
| US6970916B1 (en) | 1998-09-11 | 2005-11-29 | L. V. Partners, L.P. | Method for conducting a contest using a network |
| US6791588B1 (en) * | 1998-09-11 | 2004-09-14 | L.V. Partners, L.P. | Method for conducting a contest using a network |
| US6618852B1 (en) | 1998-09-14 | 2003-09-09 | Intellichem, Inc. | Object-oriented framework for chemical-process-development decision-support applications |
| US6171112B1 (en) | 1998-09-18 | 2001-01-09 | Wyngate, Inc. | Methods and apparatus for authenticating informed consent |
| US6233626B1 (en) | 1998-10-06 | 2001-05-15 | Schneider Automation Inc. | System for a modular terminal input/output interface for communicating messaging application layer over encoded ethernet to transport layer |
| US6434157B1 (en) | 1998-10-06 | 2002-08-13 | Schneider Automation, Inc. | MODBUS plus ethernet bridge |
| US6405209B2 (en) | 1998-10-28 | 2002-06-11 | Ncr Corporation | Transparent object instantiation/initialization from a relational store |
| US6408067B1 (en) * | 1998-10-29 | 2002-06-18 | Iq Systems, Inc. | Methods and apparatus for intercepting dual-tone multi-frequency (DTMF) signals and for redialing the intercepted signals with additional DTMF signals |
| US6564216B2 (en) * | 1998-10-29 | 2003-05-13 | Nortel Networks Limited | Server manager |
| US6279009B1 (en) * | 1998-12-04 | 2001-08-21 | Impresse Corporation | Dynamic creation of workflows from deterministic models of real world processes |
| US6609153B1 (en) | 1998-12-24 | 2003-08-19 | Redback Networks Inc. | Domain isolation through virtual network machines |
| US6327511B1 (en) | 1998-12-30 | 2001-12-04 | Schneider Automation, Inc. | Input/output (I/O) scanner for a control system with peer determination |
| US6853867B1 (en) * | 1998-12-30 | 2005-02-08 | Schneider Automation Inc. | Interface to a programmable logic controller |
| US6845401B1 (en) | 1998-12-30 | 2005-01-18 | Schneider Automation Inc. | Embedded file system for a programmable logic controller |
| US6424990B1 (en) | 1999-01-07 | 2002-07-23 | Jeffrey I. Robinson | Distributed processing systems incorporating a plurality of cells which process information in response to single events |
| US6285751B1 (en) | 1999-01-07 | 2001-09-04 | Iq Net Solutions, Inc. | PBX system having line cards and phone cards which exhibit reciprocal relationships |
| US6272524B1 (en) | 1999-01-07 | 2001-08-07 | Iq Netsolutions Inc. | Distributed processing systems incorporating a plurality of cells which process information in response to single events |
| US6272525B1 (en) | 1999-01-07 | 2001-08-07 | Iq Net Solutions, Inc. | Distributed processing systems including processing zones which subscribe and unsubscribe to mailing lists |
| US6272526B1 (en) | 1999-01-07 | 2001-08-07 | Iq Netsolutions, Inc. | Distributed processing systems having self-advertising cells |
| US6272527B1 (en) | 1999-01-07 | 2001-08-07 | Iq Net Solutions, Inc. | Distributed processing systems incorporating nodes having processing cells which execute scripts causing a message to be sent internodally |
| US6275847B1 (en) | 1999-01-07 | 2001-08-14 | Iq Net Solutions, Inc. | Distributed processing systems incorporating processing zones which communicate according to both streaming and event-reaction protocols |
| US6487717B1 (en) | 1999-01-15 | 2002-11-26 | Cummins, Inc. | System and method for transmission of application software to an embedded vehicle computer |
| US6779184B1 (en) * | 1999-01-21 | 2004-08-17 | Oracle International Corporation | Method for loosely coupling object oriented and non-object oriented applications in a messaging-based communication infrastructure |
| US6138143A (en) * | 1999-01-28 | 2000-10-24 | Genrad, Inc. | Method and apparatus for asynchronous transaction processing |
| US6766508B1 (en) * | 1999-04-15 | 2004-07-20 | Koninklijke Philips Electronics N.V. | Object-oriented system having anonymous scheduler design pattern |
| US20020198791A1 (en) * | 1999-04-21 | 2002-12-26 | Perkowski Thomas J. | Internet-based consumer product brand marketing communication system which enables manufacturers, retailers and their respective agents, and consumers to carry out product-related functions along the demand side of the retail chain in an integrated manner |
| US20080021778A1 (en) * | 1999-04-21 | 2008-01-24 | Ipf, Inc. | Web-based brand marketing communication network for enabling e-commerce transactions using Multi-Mode Virtual Kiosks (MMVKS) |
| US7844492B2 (en) * | 1999-11-17 | 2010-11-30 | Ipf, Inc. | Internet-based E-commerce network for enabling commission-based E-commerce transactions along the fabric of the world wide web (WWW) using server-side driven multi-mode virtual kiosks (MMVKS) and transaction and commission tracking servers |
| US6556949B1 (en) | 1999-05-18 | 2003-04-29 | Applied Materials, Inc. | Semiconductor processing techniques |
| US8874244B2 (en) * | 1999-05-19 | 2014-10-28 | Digimarc Corporation | Methods and systems employing digital content |
| US6408220B1 (en) | 1999-06-01 | 2002-06-18 | Applied Materials, Inc. | Semiconductor processing techniques |
| US6456894B1 (en) | 1999-06-01 | 2002-09-24 | Applied Materials, Inc. | Semiconductor processing techniques |
| US6303395B1 (en) | 1999-06-01 | 2001-10-16 | Applied Materials, Inc. | Semiconductor processing techniques |
| US6415193B1 (en) | 1999-07-08 | 2002-07-02 | Fabcentric, Inc. | Recipe editor for editing and creating process recipes with parameter-level semiconductor-manufacturing equipment |
| US7069101B1 (en) | 1999-07-29 | 2006-06-27 | Applied Materials, Inc. | Computer integrated manufacturing techniques |
| AUPQ206399A0 (en) | 1999-08-06 | 1999-08-26 | Imr Worldwide Pty Ltd. | Network user measurement system and method |
| US6581204B2 (en) * | 1999-08-24 | 2003-06-17 | Ge Medical Systems Information Technologies, Inc. | Modular tracking and profiling system |
| US6556950B1 (en) * | 1999-09-30 | 2003-04-29 | Rockwell Automation Technologies, Inc. | Diagnostic method and apparatus for use with enterprise control |
| US6993456B2 (en) * | 1999-09-30 | 2006-01-31 | Rockwell Automation Technologies, Inc. | Mechanical-electrical template based method and apparatus |
| US6466945B1 (en) * | 1999-12-20 | 2002-10-15 | Chartered Semiconductor Manufacturing Ltd | Accurate processing through procedure validation in software controlled environment |
| US6640151B1 (en) | 1999-12-22 | 2003-10-28 | Applied Materials, Inc. | Multi-tool control system, method and medium |
| AU2001217524A1 (en) | 2000-01-12 | 2001-07-24 | Jupiter Media Metrix, Inc. | System and method for estimating prevalence of digital content on the world-wide-web |
| US20110238506A1 (en) * | 2000-01-14 | 2011-09-29 | Perkowski Thomas J | Internet-based brand marketing communication network for enabling commission-based e-commerce transactions along the fabric of the world wide web (www) using server-side driven multi-mode virtual kiosks (mmvks) |
| US6892104B2 (en) * | 2000-01-18 | 2005-05-10 | Dell Products L.P. | System and method for manufacturing products according to customer orders |
| US6631606B2 (en) * | 2000-01-18 | 2003-10-14 | Dell Products L.P. | System and method for accommodating atypical customer requirements in a mass customization manufacturing facility |
| US20020029207A1 (en) * | 2000-02-28 | 2002-03-07 | Hyperroll, Inc. | Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein |
| JP4545873B2 (ja) * | 2000-03-31 | 2010-09-15 | キヤノン株式会社 | 情報処理システム、記憶媒体 |
| US6952656B1 (en) | 2000-04-28 | 2005-10-04 | Applied Materials, Inc. | Wafer fabrication data acquisition and management systems |
| US6842760B1 (en) | 2000-05-03 | 2005-01-11 | Chad Barry Dorgan | Methods and apparata for highly automated quality assurance of building construction projects |
| US6532427B1 (en) * | 2000-05-10 | 2003-03-11 | Texas Instruments Incorporated | Web-based mining of statistical data |
| US7181487B1 (en) | 2000-07-07 | 2007-02-20 | Schneider Automation Inc. | Method and system for transmitting and activating an application requesting human intervention in an automation network |
| US7032029B1 (en) | 2000-07-07 | 2006-04-18 | Schneider Automation Inc. | Method and apparatus for an active standby control system on a network |
| US7519737B2 (en) * | 2000-07-07 | 2009-04-14 | Schneider Automation Inc. | Input/output (I/O) scanner for a control system with peer determination |
| US6714942B1 (en) * | 2000-07-28 | 2004-03-30 | E-Volve Incorporated | Method of creating and using a sub-classed object that spans multiple computers in a networked computing system |
| US6708074B1 (en) | 2000-08-11 | 2004-03-16 | Applied Materials, Inc. | Generic interface builder |
| US20020167967A1 (en) * | 2000-09-06 | 2002-11-14 | Schneider Electric | Method for managing bandwidth on an ethernet network |
| US7028204B2 (en) * | 2000-09-06 | 2006-04-11 | Schneider Automation Inc. | Method and apparatus for ethernet prioritized device clock synchronization |
| US6647315B1 (en) * | 2000-09-29 | 2003-11-11 | Fisher-Rosemount Systems, Inc. | Use of remote soft phases in a process control system |
| US7092861B1 (en) * | 2000-11-02 | 2006-08-15 | Koninklijke Philips Electronics N.V. | Visual anti-virus in a network control environment |
| US7023795B1 (en) | 2000-11-07 | 2006-04-04 | Schneider Automation Inc. | Method and apparatus for an active standby control system on a network |
| US7188142B2 (en) * | 2000-11-30 | 2007-03-06 | Applied Materials, Inc. | Dynamic subject information generation in message services of distributed object systems in a semiconductor assembly line facility |
| US8165928B2 (en) * | 2000-12-07 | 2012-04-24 | Savi Technology, Inc. | Managing events within supply chain networks |
| US7085773B2 (en) * | 2001-01-05 | 2006-08-01 | Symyx Technologies, Inc. | Laboratory database system and methods for combinatorial materials research |
| US20020111842A1 (en) * | 2001-02-09 | 2002-08-15 | Jon Miles | Work order management system |
| US6615092B2 (en) | 2001-03-05 | 2003-09-02 | Dell Products L.P. | Method, system and facility for controlling resource allocation within a manufacturing environment |
| US20020123918A1 (en) * | 2001-03-05 | 2002-09-05 | Dell Products L.P. | System and method for manufacturing and shipping products according to customer orders |
| US20020128735A1 (en) * | 2001-03-08 | 2002-09-12 | Hawkins Parris C.M. | Dynamic and extensible task guide |
| US20020138321A1 (en) * | 2001-03-20 | 2002-09-26 | Applied Materials, Inc. | Fault tolerant and automated computer software workflow |
| US7194323B2 (en) * | 2001-03-22 | 2007-03-20 | International Business Machines Corporation | Method and system for object oriented approach and data model for configure-to-order manufacturing system |
| US6732118B2 (en) * | 2001-03-26 | 2004-05-04 | Hewlett-Packard Development Company, L.P. | Method, computer system, and computer program product for monitoring objects of an information technology environment |
| US20090009852A1 (en) * | 2001-05-15 | 2009-01-08 | E Ink Corporation | Electrophoretic particles and processes for the production thereof |
| AUPR505601A0 (en) * | 2001-05-17 | 2001-06-07 | Traffion Technologies Pty Ltd | Method of optimising content presented to a user within a communications network |
| US6968538B2 (en) * | 2001-06-01 | 2005-11-22 | Symyx Technologies, Inc. | System and methods for integration of custom classes into pre-existing objects models |
| US6910947B2 (en) | 2001-06-19 | 2005-06-28 | Applied Materials, Inc. | Control of chemical mechanical polishing pad conditioner directional velocity to improve pad life |
| US7082345B2 (en) * | 2001-06-19 | 2006-07-25 | Applied Materials, Inc. | Method, system and medium for process control for the matching of tools, chambers and/or other semiconductor-related entities |
| US7201936B2 (en) * | 2001-06-19 | 2007-04-10 | Applied Materials, Inc. | Method of feedback control of sub-atmospheric chemical vapor deposition processes |
| US6913938B2 (en) * | 2001-06-19 | 2005-07-05 | Applied Materials, Inc. | Feedback control of plasma-enhanced chemical vapor deposition processes |
| US7160739B2 (en) * | 2001-06-19 | 2007-01-09 | Applied Materials, Inc. | Feedback control of a chemical mechanical polishing device providing manipulation of removal rate profiles |
| US7698012B2 (en) * | 2001-06-19 | 2010-04-13 | Applied Materials, Inc. | Dynamic metrology schemes and sampling schemes for advanced process control in semiconductor processing |
| US7047099B2 (en) | 2001-06-19 | 2006-05-16 | Applied Materials Inc. | Integrating tool, module, and fab level control |
| US7101799B2 (en) * | 2001-06-19 | 2006-09-05 | Applied Materials, Inc. | Feedforward and feedback control for conditioning of chemical mechanical polishing pad |
| US7337019B2 (en) * | 2001-07-16 | 2008-02-26 | Applied Materials, Inc. | Integration of fault detection with run-to-run control |
| US6553321B2 (en) * | 2001-08-24 | 2003-04-22 | Xerox Corporation | Intelligent assembly systems and methods |
| US6571179B2 (en) * | 2001-08-24 | 2003-05-27 | Xerox Corporation | Intelligent power tool |
| US7191429B2 (en) * | 2001-09-28 | 2007-03-13 | Manyeta Informatique Inc. | System and method for managing architectural layers within a software model |
| US20030078904A1 (en) * | 2001-10-18 | 2003-04-24 | Meyers Timothy Michael | Work in process control |
| US7117480B2 (en) * | 2001-11-27 | 2006-10-03 | 3M Innovative Properties Company | Reusable software components for invoking computational models |
| US20070088518A1 (en) * | 2001-12-27 | 2007-04-19 | Michael Braun | Automated method for generating program modules, to be used for controlling field devices, from a machine-readable parameterized specification of the field devices |
| US20030141981A1 (en) * | 2002-01-29 | 2003-07-31 | Tuan Bui | System and method for operating medical devices |
| US8775196B2 (en) * | 2002-01-29 | 2014-07-08 | Baxter International Inc. | System and method for notification and escalation of medical data |
| US10173008B2 (en) | 2002-01-29 | 2019-01-08 | Baxter International Inc. | System and method for communicating with a dialysis machine through a network |
| US20040010425A1 (en) * | 2002-01-29 | 2004-01-15 | Wilkes Gordon J. | System and method for integrating clinical documentation with the point of care treatment of a patient |
| US7225047B2 (en) * | 2002-03-19 | 2007-05-29 | Applied Materials, Inc. | Method, system and medium for controlling semiconductor wafer processes using critical dimension measurements |
| US20030199112A1 (en) * | 2002-03-22 | 2003-10-23 | Applied Materials, Inc. | Copper wiring module control |
| US7130781B2 (en) * | 2002-04-10 | 2006-10-31 | 3M Innovative Properties Company | One-dimensional modeling of the manufacture of multi-layered material |
| US20030217053A1 (en) * | 2002-04-15 | 2003-11-20 | Bachman George E. | Context control mechanism for data executed in workflows of process, factory-floor, environmental, computer aided manufacturing-based or other control system |
| AU2003231085A1 (en) * | 2002-04-24 | 2003-11-10 | Victor I. Marmon | Method and system for graphical data representation |
| US8234128B2 (en) | 2002-04-30 | 2012-07-31 | Baxter International, Inc. | System and method for verifying medical device operational parameters |
| US7703077B2 (en) * | 2002-04-30 | 2010-04-20 | Microsoft Corporation | Programming model to detect deadlocks in concurrent programs |
| US7203924B2 (en) * | 2002-04-30 | 2007-04-10 | Microsoft Corporation | Behavioral analysis for message-passing application programs |
| US20030204416A1 (en) * | 2002-04-30 | 2003-10-30 | Sayeh Radpay | System and method for facilitating time-based infusion orders |
| US20040078231A1 (en) * | 2002-05-31 | 2004-04-22 | Wilkes Gordon J. | System and method for facilitating and administering treatment to a patient, including clinical decision making, order workflow and integration of clinical documentation |
| US20030225474A1 (en) * | 2002-05-31 | 2003-12-04 | Gustavo Mata | Specialization of active software agents in an automated manufacturing environment |
| US20030225728A1 (en) * | 2002-05-31 | 2003-12-04 | Moura Anthony A. | Pharmacy system and method |
| US8271778B1 (en) | 2002-07-24 | 2012-09-18 | The Nielsen Company (Us), Llc | System and method for monitoring secure data on a network |
| JP2005535130A (ja) * | 2002-08-01 | 2005-11-17 | アプライド マテリアルズ インコーポレイテッド | 最新のプロセス制御システム内で誤って表された計測データを取り扱う方法、システム、および媒体 |
| US20040024730A1 (en) * | 2002-08-02 | 2004-02-05 | Brown Thomas M. | Inventory management of products |
| US8392291B2 (en) * | 2002-10-31 | 2013-03-05 | Sap Aktiengesellschaft | Automated structuring |
| CN1720490B (zh) * | 2002-11-15 | 2010-12-08 | 应用材料有限公司 | 用于控制具有多变量输入参数的制造工艺的方法和系统 |
| US7168619B2 (en) * | 2002-11-27 | 2007-01-30 | Sap Ag | Structuring of temporary systems |
| US7333871B2 (en) * | 2003-01-21 | 2008-02-19 | Applied Materials, Inc. | Automated design and execution of experiments with integrated model creation for semiconductor manufacturing tools |
| AU2003900398A0 (en) * | 2003-01-31 | 2003-02-13 | Red Sheriff Limited | Method and system of measuring and recording user data in a communications network |
| US20040210664A1 (en) * | 2003-04-17 | 2004-10-21 | Schneider Automation Inc. | System and method for transmitting data |
| US7205228B2 (en) * | 2003-06-03 | 2007-04-17 | Applied Materials, Inc. | Selective metal encapsulation schemes |
| US20050014299A1 (en) * | 2003-07-15 | 2005-01-20 | Applied Materials, Inc. | Control of metal resistance in semiconductor products via integrated metrology |
| US7354332B2 (en) * | 2003-08-04 | 2008-04-08 | Applied Materials, Inc. | Technique for process-qualifying a semiconductor manufacturing tool using metrology data |
| ATE387058T1 (de) * | 2003-10-22 | 2008-03-15 | Leica Geosystems Ag | Verfahren und vorrichtung zur verwaltung von informationsaustauschvorgängen zwischen vorrichtungen an einem arbeitsort |
| US7222117B1 (en) | 2003-11-14 | 2007-05-22 | Advent Software, Inc. | Segmented global area database |
| US20050165720A1 (en) * | 2004-01-27 | 2005-07-28 | Mckeown Thomas | Modular assembly of software and method of configuring same |
| US7356377B2 (en) * | 2004-01-29 | 2008-04-08 | Applied Materials, Inc. | System, method, and medium for monitoring performance of an advanced process control system |
| US7797669B1 (en) | 2004-02-13 | 2010-09-14 | Microsoft Corporation | Analysis of distributed software systems via specification substitution |
| MXPA06011259A (es) * | 2004-04-01 | 2007-01-26 | Neomedia Tech Inc | Sistema y metodo de utilizacion de adn para enlace con recursos de red. |
| US6961626B1 (en) | 2004-05-28 | 2005-11-01 | Applied Materials, Inc | Dynamic offset and feedback threshold |
| US7096085B2 (en) * | 2004-05-28 | 2006-08-22 | Applied Materials | Process control by distinguishing a white noise component of a process variance |
| US7693585B2 (en) * | 2004-09-30 | 2010-04-06 | Rockwell Automation Technologies, Inc. | Enabling object oriented capabilities in automation systems |
| US20080275582A1 (en) * | 2004-11-19 | 2008-11-06 | Nettles Steven C | Scheduling AMHS pickup and delivery ahead of schedule |
| US20070240080A1 (en) * | 2006-04-11 | 2007-10-11 | Invensys Systems, Inc. | Strategy editor for process control supporting drag and drop connections to declarations |
| US8812684B1 (en) | 2006-09-28 | 2014-08-19 | Rockwell Automation Technologies, Inc. | Messaging configuration system |
| US8131832B1 (en) | 2006-09-28 | 2012-03-06 | Rockwell Automation Technologies, Inc. | Message engine searching and classification |
| US8782249B1 (en) | 2006-09-28 | 2014-07-15 | Rockwell Automation Technologies, Inc. | Message engine |
| US8127035B1 (en) | 2006-09-28 | 2012-02-28 | Rockwell Automation Technologies, Inc. | Distributed message engines and systems |
| US8738410B2 (en) * | 2007-05-31 | 2014-05-27 | The Boeing Company | Methods and systems for managing electronic work instructions for manufacture of product |
| US8078303B2 (en) * | 2007-07-03 | 2011-12-13 | Southwire Company | Electronic supervisor |
| US8818346B2 (en) * | 2007-07-31 | 2014-08-26 | Tridium Inc. | Wireless device with a control engine using functional block programming |
| US20090082880A1 (en) * | 2007-09-20 | 2009-03-26 | Tridium Inc. | Wireless device for a building control system |
| JP4975605B2 (ja) * | 2007-12-26 | 2012-07-11 | 東京エレクトロン株式会社 | 処理システム、処理システムの制御方法およびソフトウェアのバージョンアップ方法 |
| MX2010010105A (es) | 2008-03-14 | 2010-11-12 | Neomedia Tech Inc | Sistema de intercambio de mensajeria. |
| US8738360B2 (en) | 2008-06-06 | 2014-05-27 | Apple Inc. | Data detection of a character sequence having multiple possible data types |
| US8311806B2 (en) * | 2008-06-06 | 2012-11-13 | Apple Inc. | Data detection in a sequence of tokens using decision tree reductions |
| US8057679B2 (en) | 2008-07-09 | 2011-11-15 | Baxter International Inc. | Dialysis system having trending and alert generation |
| US10089443B2 (en) | 2012-05-15 | 2018-10-02 | Baxter International Inc. | Home medical device systems and methods for therapy prescription and tracking, servicing and inventory |
| EP2172883A1 (de) * | 2008-09-30 | 2010-04-07 | Siemens Aktiengesellschaft | Verfahren zur Verwaltung und Steuerung von Herstellungsverfahren, die von einer Unternehmensressourcenplanung geplant und von einer Maschinenhalle hergestellt werden |
| US8554579B2 (en) | 2008-10-13 | 2013-10-08 | Fht, Inc. | Management, reporting and benchmarking of medication preparation |
| US8489388B2 (en) | 2008-11-10 | 2013-07-16 | Apple Inc. | Data detection |
| US20090287331A1 (en) * | 2009-07-27 | 2009-11-19 | Shoma Inc. | Systems and Methods for Bio-Refinery Application Management and Process Improvement |
| US8458217B1 (en) | 2009-08-24 | 2013-06-04 | Advent Software, Inc. | Instantly built information space (IBIS) |
| US20110239146A1 (en) * | 2010-03-23 | 2011-09-29 | Lala Dutta | Automatic event generation |
| US8769350B1 (en) | 2011-09-20 | 2014-07-01 | Advent Software, Inc. | Multi-writer in-memory non-copying database (MIND) system and method |
| US8332349B1 (en) | 2012-01-06 | 2012-12-11 | Advent Software, Inc. | Asynchronous acid event-driven data processing using audit trail tools for transaction systems |
| JP2015530659A (ja) | 2012-08-31 | 2015-10-15 | バクスター・コーポレーション・イングルウッドBaxter Corporation Englewood | 薬品依頼の履行システムおよび方法 |
| EP2911719B1 (de) | 2012-10-26 | 2018-05-09 | Baxter Corporation Englewood | Verbesserte bilderfassung für die zubereitung einer medizinischen dosis |
| WO2014065872A1 (en) | 2012-10-26 | 2014-05-01 | Baxter Corporation Englewood | Improved work station for medical dose preparation system |
| DE102012112369A1 (de) * | 2012-12-17 | 2014-06-18 | Krones Ag | Verfahren zur Ermittlung einer Ressourceneffizienz einer Anlage zum Herstellen von Getränkebehältnissen |
| US9185435B2 (en) | 2013-06-25 | 2015-11-10 | The Nielsen Company (Us), Llc | Methods and apparatus to characterize households with media meter data |
| US8886671B1 (en) | 2013-08-14 | 2014-11-11 | Advent Software, Inc. | Multi-tenant in-memory database (MUTED) system and method |
| US9535935B2 (en) * | 2013-12-09 | 2017-01-03 | Sap Se | Schema-based application model validation in a database |
| WO2015123201A1 (en) | 2014-02-11 | 2015-08-20 | The Nielsen Company (Us), Llc | Methods and apparatus to calculate video-on-demand and dynamically inserted advertisement viewing probability |
| EP3161778A4 (de) | 2014-06-30 | 2018-03-14 | Baxter Corporation Englewood | Verwalteter austausch medizinischer informationen |
| CN104102731B (zh) * | 2014-07-24 | 2017-06-30 | 中国农业银行股份有限公司 | 一种产品工厂模式下产品数据的移植方法及系统 |
| US11107574B2 (en) | 2014-09-30 | 2021-08-31 | Baxter Corporation Englewood | Management of medication preparation with formulary management |
| US11575673B2 (en) | 2014-09-30 | 2023-02-07 | Baxter Corporation Englewood | Central user management in a distributed healthcare information management system |
| SG10202010565XA (en) | 2014-10-24 | 2020-11-27 | Baxter Corp Englewood | Automated exchange of healthcare information for fulfillment of medication doses |
| WO2016090091A1 (en) | 2014-12-05 | 2016-06-09 | Baxter Corporation Englewood | Dose preparation data analytics |
| JP2018507487A (ja) | 2015-03-03 | 2018-03-15 | バクスター・コーポレーション・イングルウッドBaxter Corporation Englewood | アラート統合を伴う薬局ワークフロー管理 |
| US10219039B2 (en) | 2015-03-09 | 2019-02-26 | The Nielsen Company (Us), Llc | Methods and apparatus to assign viewers to media meter data |
| EP3314488B1 (de) | 2015-06-25 | 2024-03-13 | Gambro Lundia AB | Medizinisches vorrichtungssystem und verfahren mit einer verteilten datenbank |
| US9848224B2 (en) | 2015-08-27 | 2017-12-19 | The Nielsen Company(Us), Llc | Methods and apparatus to estimate demographics of a household |
| US10791355B2 (en) | 2016-12-20 | 2020-09-29 | The Nielsen Company (Us), Llc | Methods and apparatus to determine probabilistic media viewing metrics |
| AU2017381172A1 (en) | 2016-12-21 | 2019-06-13 | Gambro Lundia Ab | Medical device system including information technology infrastructure having secure cluster domain supporting external domain |
| EP4165834A1 (de) | 2020-06-15 | 2023-04-19 | Honeywell International Inc. | Kantensteuerung für eine anlage |
| US12554235B2 (en) | 2022-11-11 | 2026-02-17 | Rockwell Automation Technologies, Inc. | Industrial automation data quality and analysis |
| US20240160192A1 (en) | 2022-11-11 | 2024-05-16 | Rockwell Automation Technologies, Inc. | Industrial data destination transformation |
| CN117572835B (zh) * | 2023-11-30 | 2025-10-31 | 航天信息股份有限公司 | 一种自动化生产线控制系统及方法 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61208124A (ja) * | 1985-03-12 | 1986-09-16 | Oki Electric Ind Co Ltd | 分散デ−タベ−ス管理システムにおける結合演算処理方式 |
| US4751635A (en) * | 1986-04-16 | 1988-06-14 | Bell Communications Research, Inc. | Distributed management support system for software managers |
| US4901223A (en) * | 1986-04-30 | 1990-02-13 | International Business Machines Corporation | Method and apparatus for application software control of echo response |
| US4831582A (en) * | 1986-11-07 | 1989-05-16 | Allen-Bradley Company, Inc. | Database access machine for factory automation network |
| US5179660A (en) * | 1989-05-15 | 1993-01-12 | International Business Machines Incorporated | System for reducing communications overhead in distributed database transactions by serializing in order related requests into single transmission message and receiving transmission response |
-
1991
- 1991-10-15 AU AU90303/91A patent/AU9030391A/en not_active Abandoned
- 1991-10-15 DE DE69132012T patent/DE69132012T2/de not_active Expired - Fee Related
- 1991-10-15 WO PCT/US1991/007671 patent/WO1992007331A1/en not_active Ceased
- 1991-10-15 EP EP91920578A patent/EP0553285B1/de not_active Expired - Lifetime
-
1993
- 1993-07-16 US US08/093,307 patent/US5398336A/en not_active Expired - Lifetime
-
1995
- 1995-03-09 US US08/401,633 patent/US5548756A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP0553285A1 (de) | 1993-08-04 |
| US5548756A (en) | 1996-08-20 |
| AU9030391A (en) | 1992-05-20 |
| DE69132012D1 (de) | 2000-04-06 |
| EP0553285A4 (en) | 1993-11-10 |
| EP0553285B1 (de) | 2000-03-01 |
| WO1992007331A1 (en) | 1992-04-30 |
| US5398336A (en) | 1995-03-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69132012T2 (de) | Objektorientierte architektur für fabrikverwaltung | |
| DE69129479T2 (de) | Verteiltes Rechnersystem | |
| DE69808633T2 (de) | Ablaufsteuerung für ein softwaresystem | |
| DE69808632T2 (de) | Erzeugung von Softwaresystemen | |
| DE69719269T2 (de) | Absicherung der Unteilbarkeit für eine Ansammlung von transaktionellen Arbeitsschritten in einem Arbeitsflussverwaltungssystem | |
| DE68919631T2 (de) | Verfahren zur Verarbeitung von Programmteilen eines verteilten Anwendungsprogramms durch einen Hauptrechner und einen intelligenten Arbeitsplatz in einer SNA LU 6.2-Netzwerkumgebung. | |
| DE69228230T2 (de) | Softwarestruktur für Fernmeldevermittlungssystem | |
| DE69220093T2 (de) | Verarbeitungsnetzwerk für verteilte anwendungsprogramme. | |
| DE3787127T2 (de) | Datenanzeigesystem. | |
| DE69636914T2 (de) | Verfahren und Vorrichtung für Netzwerkverwaltung | |
| US7370335B1 (en) | System and method for providing a public application program interface | |
| DE69606184T2 (de) | Klient-server-brücke | |
| DE69232165T2 (de) | Verfahren und Gerät, um Daten und Komponenten von Informationssammlungen von anderen Komponenten in einer verteilten Umgebung zu isolieren | |
| DE69130028T2 (de) | Hierarchische Prozessablaufsteuerung zwischen Fenstern | |
| DE69132026T2 (de) | Software-Werkzeug | |
| DE3852324T2 (de) | Verfahren und System zur Netzwerkverwaltung. | |
| DE3752196T2 (de) | Vorrichtung für Datenverarbeitungsverteilung über eine Mehrzahl von Steuerungsorten | |
| DE69420803T2 (de) | Ereignis-qualifikation und -benachrichtigung. | |
| DE112017006164T5 (de) | Differenzvergleich von ausführbaren Datenflussdiagrammen | |
| DE19955718A1 (de) | Paralleler Datenbank-Support für Workflow-Management-Systeme | |
| DE69129443T2 (de) | Verfahren zum Betrieb zeitkritischer Prozesse in einer Fenstersystemumgebung | |
| DE10051645A1 (de) | Verfahren und Vorrichtung zur Versionskontrolle und Protokollierung in einem Prozesssteuersystem | |
| DE10003015A1 (de) | Die Erzeugung von Ereignis-Bedingungs-Aktions-Regeln aus Prozessmodellen | |
| DE10002305A1 (de) | Managementsystem für Schneidmaschinen | |
| DE19955004A1 (de) | Ableitung und Ausführung von Workload-Manager-Enklaven aus Workflows |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |