DE69308032T2 - Verfahren und system zum verbinden von objekten in einem rechnersystem - Google Patents

Verfahren und system zum verbinden von objekten in einem rechnersystem

Info

Publication number
DE69308032T2
DE69308032T2 DE69308032T DE69308032T DE69308032T2 DE 69308032 T2 DE69308032 T2 DE 69308032T2 DE 69308032 T DE69308032 T DE 69308032T DE 69308032 T DE69308032 T DE 69308032T DE 69308032 T2 DE69308032 T2 DE 69308032T2
Authority
DE
Germany
Prior art keywords
connection
source
alarm
identifier
running
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 - Lifetime
Application number
DE69308032T
Other languages
English (en)
Other versions
DE69308032D1 (de
Inventor
Robert Atkinson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Application granted granted Critical
Publication of DE69308032D1 publication Critical patent/DE69308032D1/de
Publication of DE69308032T2 publication Critical patent/DE69308032T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/134Hyperlinking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/137Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

    Technisches Gebiet
  • Diese Erfindung betrifft ein Computerverfahren und -system zum Aktualisieren von Objekten mit neuer Information im allgemeinen und im besonderen ein Verfahren und System zum Verbinden eines Verbindungsobjekts mit seiner Verbindungsquelle, ohne das Verbindungsobjekt ausdrücklich zu aktivieren.
  • Hintergrund der Erfindung
  • Derzeitige Dokumentenverarbeitungs-Computersysteme erlauben einem Benutzer, Verbunddokumente zu erstellen (siehe z.B. Microsoft Corporation, Microsoft Windows 3.1 - Programmers Reference - Band 1; Übersicht, 1992). Ein Verbunddokument ist ein Dokument, das Information in verschiedenen Formaten enthält. Ein Verbunddokument kann z.B. Daten im Textformat, im graphischen Format und/oder im numerischen Format enthalten. Fig. 1A ist eine Beispielanzeige, die ein Verbunddokument zeigt. Das Verbunddokument 101 enthält Textdaten 102 und 103 sowie Arbeitsblatt- (spreadsheet) Daten 104.
  • Fig. 1B ist eine Blockdarstellung, die eine Dateiauslegung des in Fig. 1A gezeigten Verbunddokuments zeigt. Die Datei "compound.doc" 111 enthält die Datenblöcke 112 und 113, die die Textdaten enthalten, und den Datenblock 114 zur Speicherung der Arbeitsblattdaten. Der Datenblock 114 enthält die Arbeitsblattdaten in einem Präsentationsformat 116 und eine Verbindung 115 zu einer Datei 117, die die Arbeitsblattdaten enthält. Ein Präsentationsformat ist ein Format, in dem Daten einfach auf einer Ausgabeeinrichtung angezeigt werden. Das Präsentationsformat kann z.B. eine Bit-Map sein, die mit einer normalen Blockübertragungsoperation, z.B. einer BitBlt, angezeigt werden kann. Die Datei 111 enthält die Arbeitsblattdaten im Präsentationsformat, so daß auf die Datei 117 nicht jedesmal zugegriffen werden muß, wenn das Verbunddokument angezeigt wird. Die Verbindung 115 weist auf die Datei 117, wo die Arbeitsblattdaten in einem ursprünglichen Format gespeichert sind. Ein ursprüngliches Format ist ein Format, das durch das Programm, das die Datei erzeugte, erkennbar ist.
  • Fig. 2 zeigt ein Verfahren zum Erzeugen eines Verbunddokuments. Ein Benutzer erzeugt die Arbeitsblattdaten 206 mit Hilfe eines Arbeitsblattprozesses 205. Der Arbeitsblattprozeß 205 speichert dann typischerweise unter Benutzerkontrolle die Arbeitsblattdaten 206 in einem Präsentationsformat (Präsentationsdaten) und eine Verbindung (Zeiger) zu den ursprünglchen Arbeitsblattdaten in einem Klemmbrett (clipboard) 207. Das Klemmbrett 207 ist ein Speicherbereich (Platte oder Speicher), der typischerweise für jeden Prozeß zugänglich ist.
  • Als nächstes startet der Benutzer einen Wortverarbeitungsprozeß 204, um das Verbunddokument 201 zu kreieren. Der Benutzer gibt Textdaten 202 ein und spezifiziert eine Stelle in dem Verbunddokument 201, bei der die Daten im Klemmbrett 207 einzufügen sind. Der Wortverarbeitungsprozeß 204 kopiert und speichert dann die Präsentationsdaten und die Verbindung aus dem Klemmbrett 207 und zeigt die Arbeitsblattdaten unter Verwendung der kopierten Präsentationsdaten im Verbunddokument 201 an der spezifizierten Stelle an. Dieser Einfügungsprozeß wird als "Kleisterverbinden" von dem Klemmbrett bezeichnet. Daten, die in ein Verbunddokument kleisterverbunden werden, werden als verbundene Daten bezeichnet.
  • Ein Prozeß, der Daten in einem Klemmbrett speichert, wird ein Quellenprozeß genannt. Ein Prozeß, der Daten aus dem Klemmbrett kopiert, wird ein Verbraucherprozeß genannt. In dem vorliegenden Beispiel ist der Arbeitsblattprozeß 205, der Daten im Klemmbrett 207 speichert, ein Quellenprozeß, und der Wortverarbeitungsprozeß 204 ist ein Verbraucherprozeß. Ein einzelner Prozeß wirkt typischerweise zu verschiedenen Zeiten sowohl als ein Verbraucher- als auch ein Quellenprozeß.
  • Im objektorientierten Sprachgebrauch wird jede Sammlung von Daten oder Funktionen als ein Objekt bezeichnet. Folglich sind das Verbunddokument 201, die Arbeitsblattdaten 206, die Arbeitsblattdaten 203 und die Textdaten 202 Objekte. Außerdem wird ein Objekt, das in einem anderen Objekt enthalten ist, als ein enthaltenes Objekt innerhalb eines Behälterobjekts bezeichnet. Die Arbeitsblattdaten 203 sind ein enthaltenes Objekt innerhalb des Verbunddokuments 201, das ein Behälterobjekt ist. Ein Objekt, das eine Verbindung zu ursprünglichen Daten enthält, ist ein Verbindungsobjekt. Ein Objekt, auf das ein Verbindungsobjekt zeigt, ist eine Verbindungsquelle. In Fig. 2 sind die Arbeitsblattdaten 203 ein Verbindungsobjekt, und die Arbeitsblattdaten 206 sind eine Verbindungsquelle.
  • Frühere Systeme erlauben einem Benutzer typischerweise, eine Verbindung zwischen einem Verbindungsobjekt und seiner Verbindungsquelle herzustellen, so daß Modifikationen an der Verbindungsquelle widergespiegelt werden können, wenn das Behälterobjekt des Verbindungsobjekts angezeigt wird. Um eine Verbindung herzustellen, weist der Benutzer den Verbraucherprozeß an, das Verbindungsobjekt zu aktivieren. Der Verbraucherprozeß aktiviert das Verbindungsobjekt, indem er den Quellenprozeß startet und eine Verbindung mit dem Quellenprozeß herstellt, wobei normale Betriebssystem-Interprozeß-Kommunikationsmechanismen als Reaktion auf eine Benutzerwahl verwendet werden. Über diese Verbindung informiert der Quellenprozeß den Verbraucherprozeß, wenn die Verbindungsquelle modifiziert worden ist. Der Verbraucherprozeß kann dann seine Präsentationsdaten modifizieren, um die Modifikationen in der Verbindungsquelle widerzuspiegeln. Wenn eine Verbindung zwischen dem Verbindungsobjekt und seiner Verbindungsquelle hergestellt wird, spiegeln folglich die Präsentationsdaten in dem Verbidungsobjekt Modifikationen der Verbindungsquellendaten genau wider.
  • In bestimmten Situationen erlauben frühere Systeme, Verbindungsquellendaten zu modifizieren, ohne die Verbraucherprozeß-Präsentationsdaten zu modifizieren. Die Verbindungsquellendaten und die Präsentationsdaten können daher nicht übereinstimmend sein. Ein Benutzer kann den Quellenprozeß starten, die Verbindungsquelle öffnen und die Verbindungsquellendaten anzeigen und modifizieren. Wenn der Benutzer dann den Verbraucherprozeß startet, das Verbunddokument öffnet und die Präsentationsdaten anzeigt, werden die angezeigten Präsentationsdaten mit den angezeigten Verbindungsquellendaten unvereinbar sein. Weil der Quellenprozeß als Folge der Aktivierung des Verbindungsobjekts nicht gestartet wurde, gibt es keine Verbindung, über die die Vereinbarkeit aufrechterhalten werden kann. Diese Unvereinbarkeit ist unerwünscht.
  • Zusammenfassung der Erfindung
  • Es ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren und ein System zum automatischen Verbinden einer Verbindungsquelle mit einem Verbindungsobjekt zur Verfügung zu stellen.
  • Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein Verfahren und ein System zur Verfügung zu stellen, bei denen die Verbindung hergestellt wird, wenn die Verbindungsquelle durch Aktivieren des Verbindungsobjekts nicht in einen laufenden Zustand eintritt.
  • Diese und andere Aufgaben, die ersichtlich werden, sowie die Erfindung ausführlicher beschrieben wird, werden durch ein Verfahren und ein System zum automatischen Verbinden eines Verbindungsobjekts mit einer Verbindungsquelle, wie in den Ansprüchen 1 und 5 definiert, erfüllt. In einer bevorzugten Ausführung trägt die Verbindungsquelle in einer Tabelle laufender Objekte ein, wenn die Verbindungsquelle in einen laufenden Zustand eintritt. Wenn ein Verbraucherprozeß danach ein Behälterobjekt, das das Verbindungsobjekt enthält, in den laufenden Zustand bringt, stellt der Verbraucherprozeß fest, ob die Verbindungsquelle in der Tabelle laufender Objekte eingetragen ist. Wenn die Verbindungsquelle in der Tabelle laufender Objekte eingetragen ist, kann der Verbraucherprozeß eine Verbindung zwischen dem Verbindungsobjekt und der Verbindungsquelle herstellen. Alternativ, wenn ein Verbraucherprozeß ein Behälterobjekt des Verbindungsobjekts in den laufenden Zustand bringt und wenn die Verbindungsquelle nicht in der Tabelle laufender Objekte ist, bringt der Verbraucherprozeß das Verbindungsobjekt in einen Alarmzustand und trägt das Verbindungsobjekt in eine Alarmobjekttabelle ein. Wenn ein Quellenprozeß später die Verbindungsquelle in den laufenden Zustand bringt, stellt der Quellenprozeß fest, ob das Verbindungsobjekt in der Alarmobjekttabelle eingetragen ist. Wenn das Verbindungsobjekt in der Alarmobjekttabelle eingetragen ist, informiert der Quellenprozeß das Verbindungsobjekt. Das Verbindungsobjekt kann dann eine Verbindung zwischen dem Verbindungsobjekt und der Verbindungsquelle herstellen.
  • Kurzbeschreibung der Zeichnungen
  • Fig. 1A ist eine Beispielanzeige, die ein Verbunddokument zeigt.
  • Fig. 1B ist eine Blockdarstellung, die eine Dateiauslegung des in Fig. 1A gezeigten Verbunddokuments zeigt.
  • Fig. 2 ist eine Blockdarstellung, die ein Verfahren zur Erzeugung eines Verbunddokuments veranschaulicht.
  • Fig. 3 ist eine Darstellung, die ein bevorzugtes Computersystem zeigt.
  • Fig. 4 ist eine Blockdarstellung einer bevorzugten Ausführung einer Alarmobjekttabelle.
  • Fig. 5 ist eine Blockdarstellung einer bevorzugten Ausführung einer Tabelle laufender Objekte.
  • Fig. 6 ist eine Blockdarstellung, die das automatische Herstellen einer Verbindung zwischen einem Verbindungsobjekt und einem Quellenobjekt veranschaulicht.
  • Fig. 7 ist ein Flußdiagramm eines Prozesses, der als ein Verbraucher und als eine Quelle agiert.
  • Fig. 8 ist ein Flußdiagramm der Funktion Register.
  • Fig. 9 ist ein Flußdiagramm der Funktion BeginRunning.
  • Fig. 10 ist ein Flußdiagramm der Funktion RegisterInROT.
  • Fig. 11 ist ein Flußdiagramm der Funktion RegisterInAOT.
  • Fig. 12 ist ein Flußdiagramm der Funktion Revoke.
  • Ausführliche Beschreibung der Erfindung
  • Die vorliegende Erfindung stellt ein Verfahren und ein System zum automatischen Verbinden von Verbindungsobjekten mit ihren Verbindungsquellen zur Verfügung, ohne die Verbindungsobjekte ausdrücklich zu aktivieren. Wenn ein Verbunddokument durch einen Verbraucherprozeß in in einen laufenden Zustand gebracht wird, wird jedes in dem Verbunddokument enthaltene Verbindungsobjekt in einen Alarmzustand gebracht und in einer Alarmobjekttabelle (AOT) eingetragen. Wenn zu einer späteren Zeit eine Verbindungsquelle durch einen Quellenprozeß in einen laufenden Zustand gebracht wird, wird die Verbindungsquelle in einer laufenden Objekttabelle (ROT) eingetragen, und die Alarmobjekttabelle wird durchsucht, um festzustellen, ob irgendwelche entsprechenden Verbindungsobjekte in der AOT eingetragen sind, die auf Benachrichtigung über das Laufen der eingetragenen Verbindungsquelle warten. Wenn ein entsprechendes Verbindungsobjekt eingetragen ist, informiert der Quellenprozeß das Verbindungsobjekt. Das Verbindungsobjekt weist dann den Verbraucherprozeß an, eine Verbindung zwischen dem Verbindungsobjekt und der Verbindungsquelle unter Verwendung normaler Interprozeß-Kommunikationtechniken herzustellen. Wenn der Quellenprozeß die Verbindungsquellendaten modifiziert, nachdem die Verbindung hergestellt ist, werden die Modifikationen in den mit dem Verbindungsobjekt assoziierten Präsentationsdaten widergespiegelt.
  • Wenn stattdessen die Verbindungsquelle in den laufenden Zustand gebracht wird, bevor ein entsprechendes Verbindungsobjekt in einen Alarmzustand gebracht ist, dann arbeiten die Prozesse in einer etwas anderen Weise. Das heißt, wenn der Quellenprozeß die Verbindungsquelle in den laufenden Zustand bringt, wird die Verbindungsquelle in der Tabelle laufender Objekte (ROT) eingetragen. Wenn zu einer späteren Zeit ein Verbunddokument, das ein Verbindungsobjekt enthält, durch einen Verbraucherprozeß in den laufenden Zustand gebracht wird, dann geht das Verbindungsobjekt in den Alarmzustand, und die ROT wird durch den Verbraucherprozeß abgesucht, um festzustellen, ob irgendwelche entsprechenden Verbindungsquellen in der ROT eingetragen sind. Wenn eine entsprechende Verbindungsquelle eingetragen ist, stellt der Verbraucherprozeß eine Verbindung zwischen dem Verbindungsobjekt und der Verbindungsquelle unter Verwendung normaler Interprozeß-Kommunikationstechniken her. Wenn der Quellenprozeß die Verbindungsquellendaten modifiziert, nachdem die Verbindung hergestellt ist, werden die Modifikationen in den mit dem Verbindungsobjekt assoziierten Präsentationsdaten widergespiegelt.
  • Fig. 3 ist eine Blockdarstellung, die ein Computersystem zeigt, in dem die vorliegende Erfindung bevorzugt in Wirkung gesetzt wird. Das Computersysßem 300 umfaßt einen Computerspeicher, eine zentrale Verarbeitungseinheit, Speichereinrichtungen und Eingabe/Ausgabe-Einrichtungen. Die Eingabe/Ausgabe-Einrichtungen umfassen eine Anzeige, eine Tastatur und eine Maus. Die Alarmobjekttabelle 301, die Tabelle laufender Objekte 305 und Computerbefehle und Daten für den Verbraucherprozeß 302 und den Quellenprozeß 306 werden im Computerspeicher gespeichert. Die Computerbefehle werden unter Steuerung der zentralen Verarbeitungseinheit ausgeführt. Das Verbunddokument 303, das das Verbindungsobjekt 304 und die Verbindungsquelle 307 enthält, wird in einer Speichereinrichtung, z.B. einer Platte, gespeichert. Der Verbraucherprozeß 302 und der Quellenprozeß 306 laden Teile des Verbunddokuments 303 und der Verbindungsquelle 307 zur Verarbeitung in den Computerspeicher. Obwohl die bevorzugte Ausführung als auf einem normalen Computersystem implementiert beschrieben wird, würde eine in der Technik erfahrene Person erkennen, daß die vorliegende Erfindung auch auf Computersystemen mit anderen Architekturen implementiert werden könnte.
  • Die vorliegende Erfindung kann z.B. auf einem Multiprozessor-Computersystem oder einem Computersystem mit mehrfachen Computern in Wirkung gesetzt werden.
  • In einer bevorzugten Ausführung kann sich ein Objekt in den folgenden Zuständen befinden: passiv, geladen, laufend und Alarm. Ein Objekt ist im passiven Zustand, wenn es nur auf Platte gespeichert ist. Ein Objekt ist im geladenen Zustand, wenn seine Objektstruktur in den Speicher eines Verbraucherprozesses geladen ist. Ein Objekt ist im laufenden Zustand, wenn der Quellenprozeß für dieses Objekt läuft und die Objektdaten dem Quellenprozeß zur Verfügung stehen. Ein Objekt ist im Alarmzustand, wenn es auf Nachricht wartet, daß ein anderes Objekt in den laufenden Zustand eingetreten ist.
  • Im Folgenden stellt ein Zeiger auf ein Objekt die Adresse eines Objekts im geladenen Zustand dar. Auf das Objekt kann unter Verwendung dieses Zeigers zugegriffen werden. Ein Identifizierer eines Objekts stellt eine eindeutige Identifikation des Objekts ohne Rücksicht auf seinen Zustand dar. Ein Verbindungsquellen-Identifizierer identifiziert folglich ein Objekt, das sich in laufenden Zustand, im passiven Zustand usw. befinden kann. In einer bevorzugten Ausführung besitzt jedes Objekt eine zugehörige Funktion, die den Zeiger an das Objekt zurückgibt. Wenn das Objekt nicht bereits im geladenen Zustand ist, bringt die Funktion das Objekt in den geladenen Zustand und gibt den Zeiger zurück. Ein Zeiger und ein Identifizierer werden allgemein als Referenzen bezeichnet.
  • Eine bevorzugte Ausführung der vorliegenden Erfindung verwendet zwei Hauptdatenstrukturen: eine Alarmobjekttabelle (AOT) und eine Tabelle laufender Objekte (ROT). Die Alarmobjekttabelle wird verwendet, um Verbindungsobjekte im Alarmzustand zu registrieren, die mit Verbindungsquellen zu verbinden sind, wenn die entsprechenden Verbindungsquellen in den laufenden Zustand eintreten. Fig. 4 ist eine Blockdarstellung einer bevorzugten Ausführung der Alarmobjekttabelle. Jede Reihe der Alarmobjekttabelle entspricht einem Verbindungsobjekt im Alarmzustand und enthält zwei Informationselemente: einen Verbindungsobjekt-Identifizierer 401 und einen Verbindungsquellen-Identifizierer 402. Der Verbindungsobjekt-Identifizierer 401 identifiziert eindeutig ein Verbindungsobjekt, das sich im Alarmzustand befindet. Der Verbindungsobjekt-Identifizierer für das Arbeitsblattobjekt 203 (Fig. 2) könnte z.B. die Zeichenfolge "PID\compound.doc\object1" sein. Die "PID" gibt die Verbraucherprozeß-Identifikation an und "\ compound.doc\object1" identifiziert das Objekt innerhalb des Verbunddokuments. Der Verbindungsquellen-Identifizierer 402 identifiziert eindeutig die Verbindungsquelle. Der Verbindungsquellen-Identifizierer für das Arbeitsblattobjekt 206 könnte z.B. die Zeichenfolge "c:\spreadsheet.xls" sein, die die Stelle der Arbeitsblattdatei identifiziert. Wenn stattdessen die Verbindungsquelle ein spezifischer Bereich innerhalb des Arbeitsblattes wäre, könnte der Verbindungsquellen-Identifizierer die Zeichenfolge "c:\spreadsheet.xls\range R1:C1-R3:C3 sein, wo "range R1:C1-R3:C3 ein Objekt innerhalb der Arbeitsblattdatei identifiziert. Sobald Information in der Alarmobjekttabelle gespeichert worden ist, kann ein Quellenprozeß die AOT absuchen, um zu identifizieren, welche Objekte informiert werden müssen. In einer alternativen Ausführung speichert die Alarmobjekttabelle einen Verbindungsobjektzeiger anstelle eines Verbindungsobjekt-Identifizierers.
  • Die Tabelle laufender Objekte wird verwendet, um Verbindungsquellen einzutragen, die sich im laufenden Zustand befinden. Fig. 5 ist eine Blockdarstellung einer bevorzugten Ausführung der Tabelle laufender Objekte. Jede Reihe der Tabelle laufender Objekte entspricht einem Quellenobjekt im laufenden Zustand und enthält zwei Informationselemente: einen Verbindungsquellenzeiger 501 und einen Verbindungsquellen-Identifizierer 502. Der Verbindungsquellenzeiger 501 zeigt auf ein Exemplar des Verbindungsquellenobjekts im laufenden Zustand. Der Verbindungsquellen-Identifizierer 502 identifiziert eindeutig die Verbindungsquelle wie oben mit Bezug auf die Alarmobjekttabelle erörtert.
  • Mit Hilfe von Fig. 6 werden zwei Beispiele helfen, die Funktion der vorliegenden Erfindung zu erläutern. Das erste Beispiel stellt die vorliegende Erfindung dar, wenn eine Verbindungsquelle in den laufenden Zustand gebracht wird, nachdem ein entsprechendes Verbindungsobjekt in der Alarmobjekttabelle eingetragen ist. Das zweite Beispiel stellt die vorliegende Erfindung dar, wenn eine Verbindungsquelle in den laufenden Zustand gebracht wird, bevor ein entsprechendes Verbindungsobjekt in der Alarmobjekttabelle eingetragen ist.
  • Im ersten Beispiel startet ein Benutzer den Wortverarbeitungsprozeß 604 und öffnet das Verbunddokument 601, wodurch das Verbunddokument in den laufenden Zustand gebracht wird. Der Wortverarbeitungsprozeß 604 stellt fest, daß ein enthaltenes Arbeitsblattobjekt 603 ein Verbindungsobjekt ist und einen Verbindungsquellen-Identifizierer enthält, der das Arbeitsblattobjekt 605 identifiziert. Der Wortverarbeitungsprozeß 604 gewinnt den Verbindungsquellen-Identifizierer zurück und sucht die Tabelle laufender Objekte 608 ab, um festzustellen, ob das Arbeitsblattobjekt 605 im laufenden Zustand ist. Da das Arbeitsblattobjekt 605 nicht im laufenden Zustand ist, gibt es in der Tabelle laufender Objekte 608 keinen Eintrag, der dem rückgewonnenen Verbindungsquellen-Identifizierer entspricht. Der Wortverarbeitungsprozeß 604 trägt dann das Arbeitsblattobjekt 603 in der Alarmobjekttabelle 607 ein. Der Eintragungsprozeß speichert in der Alarmobjekttabelle den Verbindungsobjekt-Identifizierer des Arbeitsblattobjekts 603 und den Verbindungsquellen-Identifizierer des Arbeitsblattobjekts 605.
  • Wenn der Benutzer den Arbeitsblattprozeß 606 startet und das Arbeitsblattobjekt 605 in den laufenden Zustand bringt, trägt der Arbeitsblattprozeß 606 das Arbeitsblattobjekt 605 in der Tabelle laufender Objekte 608 ein. Dieser Eintragungsprozeß speichert den Verbindungsquellenzeiger und den Verbindungsquellen-Identifizierer des Arbeitsblattobjekts 605.
  • Sobald das Arbeitsblattobjekt 605 eingetragen ist, sucht der Arbeitsblattprozeß 606 die Alarmobjekttabelle 607 ab, um festzustellen, ob irgendwelche Verbinduungsobjekte eingetragen sind, die auf eine Benachrichtigung warten, daß das Arbeitsblattobjekt 605 im laufenden Zustand ist. Nach dem Feststellen, daß das Arbeitsblattobjekt 603 als Nachricht von dem Arbeitsblattobjekt 605 erwartend eingetragen ist, informiert der Arbeitsblattprozeß 606 das Arbeitsblattobjekt 603. Das Arbeitsblattobjekt 603 weist dann den Wortverarbeitungsprozeß 604 an, eine Verbindung zwischen dem Verbindungs-Arbeitsblattobjekt 603 und dem Quellen-Arbeitsblattobjekt 605 herzustellen, so daß an dem Arbeitsblattobjekt 605 vorgenommene Modifikationen in den Präsentationsdaten des Arbeitsblattobjekts 603 widergespiegelt werden.
  • Im zweiten Beispiel, ebenfalls mit Fig. 6, öffnet ein Benutzer ein Verbunddokument, das das Verbindungs-Arbeitsblattobjekt 603 enthält, nachdem das entsprechende Quellen-Arbeitsblattobjekt 605 in der Tabelle laufender Objekte 608 eingetragen worden ist. Einmal mehr ist das Verbunddokument 601 so erzeugt worden, daß das Arbeitsblattobjekt 603 ein Verbindungsobjekt ist und einen Verbindungsquellen-Identifizierer des Arbeitsblattobjekts 605 enthält.
  • Vor dem Öffnen des Verbunddokuments startet der Benutzer den Arbeitsblattprozeß 606 und öffnet das Arbeitsblattobjekt 605. Wenn der Benutzer das Arbeitsblattobjekt 605 öffnet, tritt das Objekt in den laufenden Zustand ein und wird in der Tabelle laufender Objekte 608 eingetragen. Der Eintragungsprozeß speichert den Verbindungsquellenzeiger des Arbeitsblattprozesses 606 und den Verbindungsquellen-Identifitierer des Arbeitsblattobjekts 605.
  • Sobald das Arbeitsblattobjekt 605 eingetragen worden ist, sucht der Arbeitsblattprozeß 606 die Alarmobjekttabelle 607 ab, um festzustellen, ob es irgendwelche in der Alarmobjekttabelle 607 eingetragene Objekte gibt, die auf Nachricht über das Laufen des Arbeitsblattobjekts 605 warten. In dem vorliegenden Beispiel findet der Arbeitsblattprozeß 606 heraus, daß momentan keine Objekte auf Nachricht über Laufen des Arbeitsblattobjekts 605 warten.
  • Später, wenn der Benutzer den Wortverarbeitungsprozeß 604 startet und das Verbunddokument 601 öffnet (was das Verbunddokument in den laufenden Zustand bringt) und dann das Arbeitsblattobjekt 603 öffnet, stellt der Wortverarbeitungsprozeß 604 fest, daß das Arbeitsblattobjekt 603 ein Verbindungsobjekt ist, das der Verbindungsquelle 605 entspricht. Der Wortverarbeitungsprozeß 604 sucht dann die Tabelle laufender Objekte 608 ab und stellt fest, daß das Arbeitsblattobjekt 605 im laufenden Zustand ist. Der Wortverarbeitungsprozeß 604 verbindet dann das Arbeitsblattobjekt 603 mit dem Arbeitsblattobjekt 605, so daß Modifikationen an dem Arbeitsblattobjekt 605 im Arbeitsblattobjekt 603 widergespiegelt werden.
  • In einer bevorzugten Ausführung der vorliegenden Erfindung kann eine Optimierung vorgenommen werden, um die Tabelle laufender Objekte kleiner und effizienter zu machen. Genauer, in jedem mit Bezug auf Fig. 6 erörterten Beispiel trägt der Arbeitsblattprozeß 606 das Arbeitsblattobjekt 605 nur in der Tabelle laufender Objekte 608 ein, wenn eine Möglichkeit besteht, daß ein Verbunddokument eine Verbindung zu dem Arbeitsblatt 605 enthalten kann. Andernfalls, wenn keine Möglichkeit existiert, besteht keine Notwendigkeit für einen Eintrag in der Tabelle laufender Objekte. Um diese Optimierung zu implementieren, verfolgt der Arbeitsblattprozeß 606 genau alle von ihm verlangten Verbindungen. Der Arbeitsblattprozeß 606 kann z.B. diese Information aufzeichnen, wenn er aufgefordert wird, Daten im Präsentationsformat mit einem Verbindungsquellen-Identifizierer auf das Klemmbrett zu legen. Der Arbeitsblattprozeß 606 kann dann diese Information im Verbindungs- Arbeitsblattobjekt 605 speichern. Wenn das Arbeitsblattobjekt 605 danach in den laufenden Zustand eintritt, wenn die Information anzeigt, daß wenigstens einmal eine Verbindung verlangt wurde, dann wird das Arbeitsblattobjekt 605 in der Tabelle laufender Objekte eingetragen.
  • Fig. 7 bis 12 sind Flußdiagramme, die die automatischen Verbindungstechniken der vorliegenden Erfindung erläutern. Fig. 7 ist ein Flußdiagramm, das erläutert, wie ein Prozeß Objekte als laufend oder Alarm registriert, eine Verbindung herstellt und die Registrierung von Objekten rückgängig macht, wenn das Objekt den Alarm- oder den laufenden Zustand verläßt. Ein Prozeß fungiert als ein Verbraucherprozeß, wenn ein Objekt im laufenden Zustand ein Verbindungsobjekt enthält, und fungiert als ein Quellenprozeß, wenn ein Objekt im laufenden Zustand eine Verbindungsquelle ist. In einer bevorzugten Ausführung können nach Maßgabe des Flußdiagramms bestehende Computerprogramme modifiziert oder neue Computerprogramme entwicklet werden. Diese Computerprogramme können dann als Verbraucher- und Quellenprozesse wie unten beschrieben arbeiten. In den Schritten 701, 702A und 702B öffnet der Prozeß ein Objekt, ruft eine Routine auf, um das Objekt als laufend zu registrieren, und ruft eine Routine auf, um enthaltene Objekte als Alarm zu registrieren. In Schritt 701 öffnet der Prozeß ein Objekt, was das Objekt in den laufenden Zustand bringt. In Schritt 702A ruft der Prozeß die Routine BeginRunning auf, um ihr das geöffnete Objekt zu übergeben, um das Objekt in der Tabelle laufender Objekte zu registrieren. Die Routine BeginRunning wird immer dann aufgerufen, wenn ein Objekt in den laufenden Zustand eintritt. In Schritt 702B ruft der Prozeß die Routine RegisterLinkObjects auf, um ihr das geöffnete Objekt zu übergeben. Die Routine RegisterLinkObjects registriert in der Alaramobjekttabelle die Verbindungsobiekte in dem geöffneten Objekt, wenn die entsprechenden Quellenobjekte sich nicht im laufenden Zustand befinden. Die Ellipsen geben an, daß der Prozeß mit seiner normalen Verarbeitung fortfährt. Die Schritte 705 bis 707 stellen eine Nachrichtenschleife zum Empfangen der Nachricht dar, daß ein Objekt in den laufenden Zustand eintritt. Wenn ein Prozeß eine solche Nachricht empfängt, verarbeitet der Prozeß die Nachricht in den Schritten 706 und 707. In den Schritten 705 bis 707 empfängt der als ein Verbraucherprozeß agierende Prozeß eine Nachricht von einem Quellenprozeß, die anzeigt, daß eine Verbindungsquelle sich jetzt im laufenden Zustand befindet, stellt eine Verbindung zu dem Quellenprozeß her und macht die Registrierung des entsprechenden Verbindungsobjekts rückgängig. In Schritt 705 empfängt der Prozeß eine Nachricht von einem Quellenprozeß, die die Verbindungsquelle, die einem Verbindungsobjekt entspricht, das in der Alarmobjekttabelle registriert ist, in den laufenden Zustand bringt. In Schritt 706 stellt der Prozeß eine Verbindung mit dem Quellenprozeß her. In Schritt 707 ruft der Prozeß die Funktion RevokeAsAlert auf und übergibt ihr das Verbindungsobjekt. Die Funktion RevokeAsAlert entfernt den Eintrag, der dem Verbindungsobjekt entspricht, aus der Alarmobjekttabelle. Die Schritte 708 bis 710 werden ausgeführt, wenn ein Objekt, z.B. ein Verbunddokument, geschlossen wird (den laufenden Zustand verläßt). In den Schritten 708 bis 710 macht der Prozeß alle Registrierungen des geöffneten Objekts rückgängig, schließt alle Verbindungen zu Quellenprozessen und schließt das Objekt, was das Objekt in den passiven Zustand bringt. In Schritt 708 ruft der Prozeß die Funktion Revoke auf und übergibt ihr das geöffnete Objekt. In Schritt 709 schließt der Prozeß alle Verbindungen zu Quellenprozessen. In Schritt 710 schließt die Quelle das geöffnete Objekt.
  • Fig. 8 ist ein Flußdiagramm der Funktion RegisterLinkObjects. Dieser Funktion wird ein Objekt übergeben und sie registriert alle enthaltenen Verbindungsobjekte in der Alarmobjekttabelle. Alle Verbindungsobjekte innerhalb jedes enthaltenen Objekts bis zu jeder Verschachtelungstiefe werden ebenfalls in der Alarmobjekttabelle durch rekursives Aufrufen dieser Routine registriert. In den Schritten 802 bis 806 durchläuft die Funktion eine Schleife, um jedes enthaltene Objekt zu registrieren, indem sie die Funktion RegisterInAOT für Verbindungsobjekte aufruft oder rekursiv die Funktion RegisterLinkObjects für Nicht-Verbindungsobjekte aufruft. In Schritt 802 wählt die Funktion das nächste enthaltene Objekt, beginnend mit dem ersten enthaltenen Objekt. Wenn in Schritt 803 alle enthaltenen Objekte bereits ausgewählt worden sind, kehrt die Funktion zurück, andernfalls fährt die Funktion bei Schritt 804 fort. Wenn in Schritt 804 das ausgewählte Objekt ein Verbindungsobjekt ist, fährt die Funktion bei Schritt 806 fort, andernfalls fährt die Funktion bei Schritt 805 fort. In Schritt 805 ruft die Funktion rekursiv die Funktion RegisterLinkObjects auf, um ihr das ausgewählte Objekt zu übergeben. Die Funktion springt dann zurück zu Schritt 802. In Schritt 806 ruft die Funktion die Funktion RegisterInAOT auf, um das ausgewählte Objekt in der Alarmobjekttabelle zu registrieren. Die Funktion springt dann zurück zu Schritt 802.
  • Fig. 9 ist ein Flußdiagramm der Funktion BeginRunning. Der Funktion BeginRunning wird ein Objekt übergeben, und sie registriert den Objektidentifizierer in der Tabelle laufender Objekte. In Schritt 901 ruft die Funktion die Funktion RegisterInROT auf, um der Tabelle laufender Objekte einen Eintrag für den Quellenobjekt-Verbindungsquellenidentifizierer hinzuzufügen. In den Schritten 902 bis 905 sendet die Funktion eine Nachricht an jedes Verbindungsobjekt, das eine Mitteilung über das Laufen der durch den Objektidentifizierer identifizierten Verbindungsquelle erwartet. In Schritt 902 wählt die Funktion den nächsten Eintrag in der Alarmobjekttabelle beginnend mit dem ersten Eintrag aus. Wenn in Schritt 903 alle Einträge in der Alarmobjekttabelle bereits ausgewählt worden sind, kehrt die Funktion zurück, andernfalls fährt die Funktion bei Schritt 904 fort. Wenn in Schritt 904 der Objektidentifizierer mit dem Verbindungsquellen-Identifizierer in dem ausgewählten Eintrag übereinstimmt, dann sendet die Funktion in Schritt 905 eine Nachricht an das durch den Verbindungsobjekt-Identifizierer des ausgewählten Eintrags identifizierte Verbindungsobjekt. Die Funktion springt dann zu Schritt 902 zurück.
  • Fig. 10 ist ein Flußdiagramm der Funktion RegisterInROT. Der Funktion RegisterInROT werden ein Verbindungsquellen-Identifizierer und ein Verbindungsquellenzeiger übergeben, und sie stellt fest, ob sich der Verbindungsquellen-Identifizierer bereits in der Tabelle laufender Objekte befindet, und wenn nicht, speichert sie einen Eintrag für den Verbindungsquellen-Identifizierer in der Tabelle laufender Objekte. In Schritt 1001 ruft die Funktion die Funktion IsRunning auf, um festzustellen, ob sich der Verbindungsquellen-Identifizierer bereits in der Tabelle laufender Objekte befindet. Die Funktion IsRunning durchsucht die Tabelle laufender Objekte und gibt ein Flag zurück, das anzeigt, ob das Objekt bereits in der Tabelle ist. Wenn in Schritt 1002 der Verbindungsquellen-Identifizierer bereits in der Tabelle laufender Objekte ist, kehrt die Funktion zurück, andernfalls fährt die Funktion bei Schritt 1003 fort. In Schritt 1003 fügt die Funktion der Tabelle laufender Objekte einen Eintrag für den Verbindungsquellen- Identifizierer hinzu.
  • Fig. 11 ist ein Flußdiagramm der Funktion RegisterInAOT. Der Funktion RegisterInAOT werden ein Verbindungsobjekt-Identifizierer und sein entsprechender Verbindungsquellen-Identifizierer übergeben, und sie stellt fest, ob die Verbindungsquelle bereits am Laufen ist. Wenn ja, stellt die Funktion eine Verbindung her, andernfalls fügt sie der Alarmobjekttabelle einen Eintrag hinzu. In Schritt 1101 ruft die Funktion die Funktion IsRunning auf, um festzustellen, ob sich der entsprechende Verbindungsquellen-Identifizierer in der Tabelle laufender Objekte befindet. Wenn sich in Schritt 1102 der Verbindungsquellen- Identifizierer in der Tabelle laufender Objekte befindet, stellt die Funktion in Schritt 1103 eine Verbindung her, andernfalls fügt die Funktion in Schritt 1104 der Alarmobjekttabelle einen Eintrag für den übergebenen Verbindungsobjekt-Identifizierer hinzu. Die Funktion kehrt dann zurück.
  • Fig. 12 ist ein Flußdiagramm der Funktion Revoke. Die Funktion Revoke gibt ein Objekt ein und entfernt den Eintrag, der dem Objekt und seinen enthaltenen Objekten entspricht, aus entweder der Tabelle laufender Objekte oder der Alarmobjekttabelle. In Schritt 1201 ruft die Funktion die Funktion RevokeAsRunning auf, der sie den Verbindungsquellen-Identifizierer des übergebenen Objekts übergibt. Die Funktion RevokeAsRunning entfernt den Eintrag, der dem Verbindungsquellen-Identifizierer entspricht, aus der Tabelle laufender Objekte, wenn er sich in der Tabelle befindet. In den Schritten 1202 bis 1206 durchläuft die Funktion eine Schleife, um jedes enthaltene Objekt zu widerrufen, indem sie für Verbindungsobjekte die Funktion RevokeAsAlert aufruft oder für Nicht-Verbindungsobjekte die Funktion Revoke rekursiv aufruft. In Schritt 1202 wählt die Funktion das nächste enthaltene Objekt beginnend mit dem ersten enthaltenen Objekt aus. Wenn in Schritt 1203 alle enthaltenen Objekte bereits ausgewählt worden sind, kehrt die Funktion zurück, andernfalls fährt die Funktion bei Schritt 1204 fort. Wenn in Schritt 1204 das ausgewählte Objekt ein Verbindungsobjekt ist, fährt die Funktion bei Schritt 1206 fort, andernfalls fährt die Funktion bei Schritt 1205 fort. In Schritt 1205 ruft die Funktion rekursiv die Funktion Revoke auf, der sie das ausgewählte Objekt übergibt. Die Funktion springt dann zurück zu Schritt 1202. In Schritt 1206 ruft die Funktion die Funktion RevokeAsAlert auf, um den Eintrag, der dem ausgewählten Objekt entspricht, aus der Alarmobjekttabelle zu entfernen. Die Funktion springt dann zurück zu Schritt 1202.

Claims (6)

1. Verfahren in einem Computersystem zum Errichten einer Verbindung zwischen einem Quellenobjekt (605) und einem Verbindungsobjekt (603), wobei das Verbindungsobjekt eine Referenz zu dem Quellenobjekt aufweist, das Verbindungsobjekt innerhalb eines Kundenobjekts (601) enthalten ist, das Quellenobjekt einen Quellenprozeß (606) zum Verwalten des Quellenobjekts aufweist, das Kundenobjekt einen Kundenprozeß (604) zum Verwalten des Kundenobjekts aufweist und das Verfahren die folgenden Schritte aufweist:
Ausführen eines Quellenprozesses und Versetzen des Quellenobjekts in einen Ablaufzustand, wobei der Ablaufzustand anzeigt, daß das Quellenobjekt mit dem Verbindungsobjekt verbunden werden kann, wenn sich das Verbindungsobjekt in einem Alarmzustand befindet;
Ausführen des Kundenprozesses, Versetzen des Kundenobjekts in einen Ablaufzustand und Versetzen des Verbindungsobjekts in einen Alarmzustand, wobei der Alarmzustand anzeigt, daß das Verbindungsobjekt mit dem Quellenobjekt zu verbinden ist, wenn das Quellenobjekt sich im Ablaufzustand befindet; und
bei Auftreten einer Situation, bei der das Quellenobjekt im Ablaufzustand ist und das Verbindungsobjekt im Alarmzustand, automatisches Verbinden des Verbindungsobjekts mit dem Quellenobjekt, wobei der Quellenprozeß den Kundenprozeß über Veränderungen beim Quellenobjekt benachrichtigen kann.
2. Verfahren nach Anspruch 1, wobei das Quellenobjekt (605) einen Identifizierer aufweist und weiterhin folgende Schritte vorgesehen sind:
Eintragen des Verbindungsobjekts in einer Alarmobjekttabelle (605), indem eine Referenz (401) zu dem Verbindungsobjekt und der Identifizierer (402) des Quellenobjekts in der Alarmobjekttabelle gespeichert werden; und
wenn das Quellenobjekt in den Ablaufzustand eintritt, Bestimmen, ob das Verbindungsobjekt sich im Alarmzustand befindet, indem die Alarmobjekttabelle untersucht wird, um zu bestimmen, ob der Identifizierer des Quellenobjekts sich in der Alarmobjekttabelle befindet, wobei der Schritt des automatischen Verbindens unter Verwendung der gespeicherten Referenz zum Verbindungsobjekt auftritt.
3. Verfahren nach Anspruch 1, wobei das Quellenobjekt (605) einen Identifizierer aufweist und weiterhin die folgenden Schritte aufweist:
Eintragen des Quellenobjekts in eine Ablaufobjekttabelle (608) durch Speichern einer Referenz (501) zu dem Quellenprozeß und des Identifizierers (502) des Quellenobjekts in der Ablaufobjekttabelle; und
wenn das Verbindungsobjekt in den Alarmzustand eintritt, Bestimmen, ob das Quellenobjekt sich im Ablaufzustand befindet, indem die Ablaufobjekttabelle untersucht wird, um zu bestimmen, ob der Identifizierer des Quellenobjekts sich in der Ablaufobjekttabelle befindet, wobei der Schritt des automatischen Verbindens auftritt unter Verwendung der gespeicherten Referenz zu dem Quellenprozeß.
4. Verfahren nach Anspruch 1, wobei das Quellenobjekt (605) eine Ursprungsrepräsentation seiner Daten aufweist und weiterhin folgende Schritte vorgesehen sind:
Modifizieren der Ursprungsrepräsentation der Daten des Quellenobjekts; und
Benachrichtigen des Kundenprozesses über die Modifikation über die Verbindung.
5. Computersystem zum automatischen Verbinden eines Verbindungsobjekts (603) mit einem Quellenobjekt (605) mit:
einer Einrichtung zum Eintragen des Verbindungsobjekts in einer Alarmobjekttabelle (607), wenn das Verbindungsobjekt in einen Alarmzustand eintritt, wobei der Alarmzustand andeutet, daß das Verbindungsobjekt mit dem Quellenobjekt verbunden werden sollte, wenn das Quellenobjekt in einen Ablaufzustand eintritt;
eine Einrichtung zum Bestimmen, ob das Verbindungsobjekt in der Alarmobjekttabelle gespeichert ist, wenn das Quellenobjekt in den Ablaufzustand eintritt, wobei der Ablaufzustand anzeigt, daß das Quellenobjekt mit dem Verbindungsobjekt verbunden sein sollte, wenn sich das Verbindungsobjekt im Alarmzustand befindet, und
eine Einrichtung zum Verbinden des Verbindungsobjekts mit dem Quellenobjekt, wenn eine derartige Bestimmung erfolgt ist.
6. Computersystem nach Anspruch 5, wobei die Einrichtung zum Eintragen des Verbindungsobjekts eine Einrichtung zum Speichern einer Referenz (401) für das Verbindungsobjekt aufweist und
einen Identifizierer (402) für das Quellenobjekt in der Alarmobjekttabelle (607) aufweist, und wobei die Einrichtung zum Bestimmen weiterhin eine Einrichtung zum Vergleichen der Gleichheit zwischen dem Quellenobjektidentifizierer, wie er in der Alarmobjekttabelle gespeichert ist, mit dem Quellenobjektidentifizierer (502), der mit dem Quellenobjekt assoziiert ist, aufweist.
DE69308032T 1992-11-09 1993-11-09 Verfahren und system zum verbinden von objekten in einem rechnersystem Expired - Lifetime DE69308032T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US97495992A 1992-11-09 1992-11-09
PCT/US1993/010854 WO1994011817A1 (en) 1992-11-09 1993-11-09 Method and system for connecting objects in a computer system

Publications (2)

Publication Number Publication Date
DE69308032D1 DE69308032D1 (de) 1997-03-20
DE69308032T2 true DE69308032T2 (de) 1997-05-22

Family

ID=25522558

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69308032T Expired - Lifetime DE69308032T2 (de) 1992-11-09 1993-11-09 Verfahren und system zum verbinden von objekten in einem rechnersystem

Country Status (5)

Country Link
US (2) US5499369A (de)
EP (1) EP0667012B1 (de)
JP (1) JPH08503564A (de)
DE (1) DE69308032T2 (de)
WO (1) WO1994011817A1 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721919A (en) 1993-06-30 1998-02-24 Microsoft Corporation Method and system for the link tracking of objects
US5671427A (en) * 1994-10-12 1997-09-23 Kabushiki Kaisha Toshiba Document editing apparatus using a table to link document portions
US5838906A (en) 1994-10-17 1998-11-17 The Regents Of The University Of California Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document
US5664180A (en) * 1995-03-20 1997-09-02 Framework Technologies Corporation Design tool for complex objects which links object structures of a design object in multiple design domains
US5625781A (en) * 1995-10-31 1997-04-29 International Business Machines Corporation Itinerary list for interfaces
US5857211A (en) * 1996-01-29 1999-01-05 Apple Computer, Inc. System for automatically detecting cyclical and recursive links between document components
US6023701A (en) * 1997-09-25 2000-02-08 International Business Machines Corporation Skeleton page retrieval mode for web navigation
CA2248419A1 (en) * 1997-09-30 1999-03-30 Pitney Bowes Inc. Carrier manager interface utilizing an ocx control
US6873978B1 (en) 1997-10-01 2005-03-29 Pitney Bowes Inc. Event interface for a carrier manager 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
US6122638A (en) * 1997-11-26 2000-09-19 International Business Machines Corporation Object-oriented processor and method for caching intermediate data in an object-oriented processor
US6393135B1 (en) 1997-12-23 2002-05-21 Pitney Bowes Inc. OLE automation server for manipulation of mail piece data
US6253219B1 (en) 1997-12-23 2001-06-26 Pitney Bowes Inc. Method for utilizing the postal service address as an object in an object oriented environment
US6657744B2 (en) 1998-12-30 2003-12-02 Pitney Bowes Inc. Message structure for a print stream determining and analysis system
US6581097B1 (en) 1998-12-30 2003-06-17 Pitney Bowes Inc. Method and system of determining a job ticket for a print stream determining process
US6762851B1 (en) 1998-12-30 2004-07-13 Pitney Bowes Inc. Method and system for print stream job determination and analysis
US6433881B1 (en) 1998-12-30 2002-08-13 Pitney Bowes Inc. Method of establishing a set of print stream objects in an object oriented environment
JP4006871B2 (ja) * 1999-02-25 2007-11-14 株式会社デンソー シリアル通信装置
TW495716B (en) * 2000-01-21 2002-07-21 Dream Technologies Corp Control device and method for starting computer application software and multi-monitor computer, client-server system, and memory media thereof
CA2340472C (en) * 2001-03-12 2004-11-09 Ibm Canada Limited-Ibm Canada Limitee Incremental actions relating to notify and target models
KR100539223B1 (ko) * 2002-06-05 2005-12-27 삼성전자주식회사 Hpf의 통과대역을 조정할 수 있는 방법 및 장치
US20040044954A1 (en) * 2002-08-29 2004-03-04 Hosea Michael E. Data-bidirectional spreadsheet
US7234109B2 (en) * 2002-11-19 2007-06-19 Microsoft Corp. Equality of extensible markup language structures
JP4298642B2 (ja) * 2004-12-14 2009-07-22 キヤノン株式会社 レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム
US7631011B2 (en) * 2005-07-29 2009-12-08 Microsoft Corporation Code generation patterns
GB2428834A (en) * 2005-08-04 2007-02-07 Ibm Linking objects with graphical user interface items
US20080126368A1 (en) * 2006-11-24 2008-05-29 Microsoft Corporation Document Glossaries For Linking To Resources
US8726396B1 (en) 2011-01-14 2014-05-13 Symantec Corporation Scanning protected files for violations of a data loss prevention policy

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4177513A (en) * 1977-07-08 1979-12-04 International Business Machines Corporation Task handling apparatus for a computer system
US4739477A (en) * 1984-08-30 1988-04-19 International Business Machines Corp. Implicit creation of a superblock data structure
JPH0632056B2 (ja) * 1985-05-31 1994-04-27 松下電器産業株式会社 デ−タ処理装置
US5072412A (en) * 1987-03-25 1991-12-10 Xerox Corporation User interface with multiple workspaces for sharing display system objects
US4807111A (en) * 1987-06-19 1989-02-21 International Business Machines Corporation Dynamic queueing method
US5206951A (en) * 1987-08-21 1993-04-27 Wang Laboratories, Inc. Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types
US4953080A (en) * 1988-04-25 1990-08-28 Hewlett-Packard Company Object management facility for maintaining data in a computer system
US4933880A (en) * 1988-06-15 1990-06-12 International Business Machines Corp. Method for dynamically processing non-text components in compound documents
US5133075A (en) * 1988-12-19 1992-07-21 Hewlett-Packard Company Method of monitoring changes in attribute values of object in an object-oriented database
JPH0318935A (ja) * 1989-06-15 1991-01-28 Hitachi Ltd データリストに対するアクセスの直列化方式
JPH03235152A (ja) * 1990-02-13 1991-10-21 Fujitsu Ltd バス制御方式
AU639802B2 (en) * 1990-08-14 1993-08-05 Oracle International Corporation Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment

Also Published As

Publication number Publication date
US5710928A (en) 1998-01-20
WO1994011817A1 (en) 1994-05-26
JPH08503564A (ja) 1996-04-16
US5499369A (en) 1996-03-12
EP0667012A1 (de) 1995-08-16
DE69308032D1 (de) 1997-03-20
EP0667012B1 (de) 1997-02-05

Similar Documents

Publication Publication Date Title
DE69308032T2 (de) Verfahren und system zum verbinden von objekten in einem rechnersystem
DE69031491T2 (de) Hypertextdatenverarbeitungssystem und Verfahren
DE68929162T2 (de) Verteilte auf Objekte basierende Systeme
DE69729926T2 (de) Netzwerkbrowser
DE60319229T2 (de) Verfahren und system zur erweiterung der api eines dateisystems
DE69719858T2 (de) Dokumentanzeigesystem und elektronisches Wörterbuch
DE69128958T2 (de) Schneide- und Klebefilterung von unbegrenzten, dynamischen, unmodifizierbaren Datenströmen
DE3586273T2 (de) Implizite erzeugung einer superblockstruktur in einem vieldaten-edierungsgeraet.
DE69324186T2 (de) Datenverwaltungsverfahren und -gerät
DE10135445B4 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
DE69418474T2 (de) Semantisches objektmodellierungssystem und verfahren um relationelle datenbankschemata herzustellen
DE69528738T2 (de) Systeme und Verfahren zur Herstellung und Auffrischung zusammengesetzter Dokumente
DE3883733T2 (de) Bedienungsverfahren eines elektronischen Datenverarbeitungssystems zum Dokumententransfer zwischen Endbenutzern.
DE69327138T2 (de) Verfahren zur Namensgebung und zur Bindung von Objekten
DE60029863T2 (de) System um einer Gruppe von Benutzern Informationen über Dokumentenänderungen zu übermitteln
DE3752196T2 (de) Vorrichtung für Datenverarbeitungsverteilung über eine Mehrzahl von Steuerungsorten
DE69806151T2 (de) Verfahren und vorrichtung zur synchronisierung von auf einem digitalen datenverarbeitungssystem laufenden prozessen
DE69533193T2 (de) Paralleles verarbeitungssystem zum durchlaufen einer datenbank
DE3688529T2 (de) Verfahren zur Auffrischung von Mehrspaltentabellen in einer relationellen Datenbank mit Mindestinformation.
DE68927216T2 (de) System zur verwaltung von hierarchischen informationen in einem digitalen datenverarbeitungssystem
EP0855062B1 (de) Informationssystem und verfahren zur speicherung von daten in einem informationssystem
DE69628374T2 (de) Datenverwaltungssystem
DE19844013A1 (de) Strukturierter Arbeitsordner
DE19844071A1 (de) Verfahren zum Lösen von Datenkonflikten in einem gemeinsamen Datenumfeld
DE69332132T2 (de) Anzeige der Wechselwirkung zwischen Anwendungsprogrammen und Daten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition