DE3855152T2 - Verteiltes Computersystem - Google Patents

Verteiltes Computersystem

Info

Publication number
DE3855152T2
DE3855152T2 DE3855152T DE3855152T DE3855152T2 DE 3855152 T2 DE3855152 T2 DE 3855152T2 DE 3855152 T DE3855152 T DE 3855152T DE 3855152 T DE3855152 T DE 3855152T DE 3855152 T2 DE3855152 T2 DE 3855152T2
Authority
DE
Germany
Prior art keywords
database
text data
interest
file
speech
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
Application number
DE3855152T
Other languages
English (en)
Other versions
DE3855152D1 (de
Inventor
Daniel C Swinehart
Douglas B Terry
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.)
Xerox Corp
Original Assignee
Xerox 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 Xerox Corp filed Critical Xerox Corp
Application granted granted Critical
Publication of DE3855152D1 publication Critical patent/DE3855152D1/de
Publication of DE3855152T2 publication Critical patent/DE3855152T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S379/00Telephonic communications
    • Y10S379/902Auto-switch for an incoming voice data, or fax telephone call, e.g. comp/fax/tel
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S379/00Telephonic communications
    • Y10S379/908Multimedia
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • Diese Erfindung betrifft verteilte Digitalcomputersysteme (einschließlich Systemen mit heterogenen Betriebsumgebungen) und im besonderen Verfahren und Einrichtungen, die (1) Benutzern solcher Systeme ermöglichen, datenintensive Dateien, z.B. digitale Sprach- und Musikdateien, "eingescannte" Bilddateien sowie Trickbilddeteien oder Deteien mit bewegtem Video, zu erzeugen, zu manipulieren, daran teilzuhaben und praktisch unbeschränkt zu benutzen, während (2) die Notwendigkeit vermieden wird, mehrfache Copien von solchen Dateien zu erstellen, zu speichern und zu handhaben, und (3) den solchen Dateien zugeteilten Speicherraum wiederzuverwenden, wenn sie nicht mehr gebraucht werden.
  • Herkömmliche verteilte Computersysteme haben begrenzte Anwender für alphanumerische und einfache graphische Kommunikation (hierin kollektiv als "Textkommunikation" bezeichnet), wenngleich Sprache, Video und sogar Musikmedien für die zwischenmenschliche Kommunikation oft leistungsfähiger und wirkungsvoller sind. Andere haben die Notwendigkeit erkannt, solche Systeme ausreichend zu erweitern, um die Nicht- Text-Kommunikation als eine Alternative oder Ergänzung zur Textkommunikation zu unterstützen. Erhebliche Bemühungen und Kosten sind z.B. sowohl der Entwicklung von Sprachnachrichtensystemen als auch der Entwicklung von Multimediasystemen, um Text mit Sprache zu kommentieren, gewidmet worden. Sprache ist das Nicht-Text-Kommunikationsmedium, das zur Verwendung in verteilten Computersystemen - weitesten untersucht worden ist, so daß diese Erfindung in diese Kontext beschrieben werden wird, um ein repräsentatives Beispiel zur Verfügung zu stellen. Dessen ungeachtet versteht sich, daß die breiteren Aspekte dieser Erfindung auch auf andere Arten von datenintensiven Nicht-Text-Kommunikationen in verteilten Computersystemen anwendbar sind.
  • Verschiedene interessierende und potentiell wichtige Vorteile fließen vom Umgehen mit Sprach- und anderen Nicht-Textmedien als Daten in eine verteilte Rechenumgebung. Siehe Nicholson, "Integrating Voice in the Office World", Byte, Band 8, Nr. 12, Dez. 1983, Seiten 177-184. Sie ermöglicht, Nicht-Textmedien in elektronische Briefnachrichten und in Anmerkungen, die sich auf gewöhnliche Textdateien beziehen, sowie in Aufforderungen und andere interaktive Nachrichten, die die Benutzerschnittstelle der Rechenumgebung zur Verfügung stellt, leicht einzubeziehen. Kurz gesagt, eine derartige Handhabung erlaubt den Benutzern, diese Nicht-Text-Datendateien in ziemlich derselben Weise wie sie herkömmliche Textdateien handhaben, zu erzeugen zu manipulieren und daran teilzuhaben, und ermöglicht den Programmierern, Funktionen, die solche Nicht-Text-Datendateien einschließen, allgemein in derselben Weise zu implementieren, wie sie Funktionen, die Textdateien umfassen, implementieren.
  • Sprach- und andere Nicht-Text-Datendateien unterscheiden sich jedoch wesentlich von gewöhnlichen Text-Datendateien. Zum Beispiel können klassische Workstations keine Sprach-Datendateien in Analogform aufzeichnen oder abspielen, so daß für diesen Zweck besondere Einrichtungen benötigt werden. Noch wichtiger, Sprach-Datendateien sind typischer viel größer als Textdateien, die dieselben Wörter enthalten. In der Tat verbraucht die Aufzeichnung unverdichteter Sprache mit normaler Telefonqualität etwa 64 kBit Speicher pro Sekunde, was mehrere Größenordnungen größer ist als die Speicherkapazität, die für eine gleichwertige Passage von geschriebenem Text benötigt wird. Noch ein anderer zu berücksichtigender Faktor ist, daß es für das Übertragen von Sprache strenge Echtzeitforderungen gibt, weil unbeabeichtigte Pausen oder das Zerhacken von Wörtern bei der Wiedergabe von Sprache ein Wahrnehmungsproblem erzeugt, das das Bestreben zu kommunizieren stört oder gar zunichte macht.
  • Benutzer von verteilten Computersystemen befinden sich gelegentlich in heterogenen Rechenumgebungen mit diversen Netzwerkdieneten, die unter Verwendung von verschiedenen Übertragungsprotokollen durchgeführt werden. Außerdem kann der Verkehr zwischen solchen Rechenumgebungen über ein Vielfalt von öffentlichen oder privaten Netzbetreibern geleitet werden, was vorstellbar verschiedene Leitungsschaltschemas umfassen kann. Gateways sind entwickelt worden, um Textnachrichtenverkehr zwischen heterogenen Umgebungen zu vermitteln, so daß der Wert und der Nutzen von Nicht-Text-Übertragungen in solchen Systemen zum wesentlichen Teil von der Einfachheit abhängen kann, mit der Nicht-Text- Kommunikationen über solche Gateways übermittelt werden können.
  • Andere haben einige der Probleme angesprochen, die zu lösen sind, um Sprach- und ähnliche Nicht-Text-Kommunikationen in verteilten Rechenumgebungen durchzuführen. Der 'Sydis Information Manager' benutzt besondere Workstations (genannt "VoiceStations") zum Aufnehmen, Editieren und Wiedergeben von Sprache. Siehe Nicholson, "Integrating Voice in the Office World", Byte, Band 8, Nr. 12, Dez. 1983, Seiten 177- 184. Außerdem ist ein System zum Integrieren von Sprache und Daten für einfache Workstation-Anwendungen beschrieben worden, nämlich Ruiz, "Voice and Telephone Applications for the Office Workstation", Proceedings 1st International Conference on Computer Workststions, San Jose, Ca., November 1985, Seiten 158-163. Sprachspeichersysteme mit Einrichtungen zum Aufzeichnen, Editieren und Abspielen von Sprache sind vorgeschlagen worden, nämlich Maxemchuk, "An Experimental Speech Storage and Editing Facility", Bell System Technical Journal, Band 58, Nr. 9, Okt. 1980, Seiten 1383-1396.
  • Noch mehr zu dem Punkt, es gibt Systeme, die Benutzern ermöglichen, Dokumente zu benutzen, die eingebette Verweise auf Nicht-Text-Mediaobjekte enthalten, die in einem gemeinsamen Dateidienst liegen, und den "Abfall" von diesen Objekten zu sammeln, um den diesen zugeteilten Speicherraum wiederzuverwenden, wenn es keine Dokomente oder Dokumentenableger mehr gebt, die Verweise auf sie enthalten. Siehe Thomas et al., "Diamond: A Multimedia Message System Built on a Distributed Architecture", Computer, Band 18, Nr. 12 Dez. 1985, Seiten 65-78. Systeme wie das Diamond-System, die textlich eingebettete Verweise benutzen, um auf Sprach-, Video- und diverse andere Arten von Nicht- Textdaten zu verweisen, werden gelegentlich als "Hypermedia-Systeme" bezeichnet. Siehe Yankelovich et al., "Reading and Writing the Electronic Book", Computer, Band 18, Nr. 10, Okt. 1985 Seiten 15-60. Anders als die meisten anderen vorgeschlagenen Systeme umgehen die von dem Diamond-System benutzten eingebetteten Verweise die Notwendigkeit, Kopien der Nicht-Text-Datendateien (d.h. Sprachdateien) in jede Dokumentendatei, zu der sie gehören, einzuschließen. Das einfache auf Verweiszählung basierende Abfallsammelscheme des Diamond-Systems ist jedoch unverträglich mit dem Erlauben, Verweise auf intern gespeicherte Objekte in Dokumente oder Dokumentenableger, die außerhalb des Systeme gespeichert werden, einzuschließen.
  • Der interessierende Stand der Technik, der die Abfallsammlung von gewohnlichen Datendateien betrifft, ist ebenfalls aufgedeckt worden. Der 'Cambridge File Server' verlangt von den Klienten, eine bestimmte Aktion zu ergreifen, um zu verhindern, daß Dateien als Abfall gesemmelt werden, weil er Dateien automatisch löscht, die von klientenaktualisierten und server-unterhaltenen Indizes nicht zugänglich sind. Siehe Mitchell et. al., "A Comparison of Two Network-Based File Servers", Communications of the ACM, Band 25, Nr. 4, April 1982, Seiten 233-245. Etwas weniger relevant, aber doch als ein Beispiel von Interesse, wie ein hochzuverlässiger Verweis-Server zu bauen ist, ist das in Liskov et al. beschriebene System "Highly-Available Distributed Services and Fault Tolerant Distributed Garbage Collection", Proceedings of Symposium on Principles of Distributed Computing, Alberta, Kanada, August 1986, Seiten 29-39. Das Abfallsammelscheme, das sie sich vorstellen, verlangt von allen Stellen, die Verweise auf entfernt gespeicherte gemeinsame Objekte speichern, lokal einen Abfallsammler ablaufen zu lassen, der den Zweck hat, Information über verteilte Verweisungen an einen gemeinsamen Verweisungs-Server zu senden.
  • Ebenfalls von Interesse ist Swinehart et al., "Adding Voice to an Office Computer Network", Proceedings of the IEEE GlobCom, Nov. 1983, Seiten 392-398. Swinehart et al. beschreiben einen besonders konstruierten Prozessor, der an ein Telefongerät angeschlossen wird und digitalisierte Sprache, Signalisierung und Überwachungsinformation in einzelnen Paketen über ein Ethernet LAN sendet.
  • Ebenfalls von Interesse ist Terry et al., "Managing Stored Voice in the Etherphone System", ACN Transactions on Computer Systeme 6(1): 3-27, Februar 1988.
  • Wenigstens zwei Probleme sind noch zu lösen. Angesichts der sehr großen Größe der meisten Nicht-Text-Datendateien (z.B. Sprach-Datendateien) ist es wichtig, daß ein Verfahren entwickelt wird, um diese Dateien mit Hilfe von einfachen Datenbänken zu editieren, ohne daß die Dateien bewegt, kopiert oder entschlüsselt (wenn in verschlüsselter Form gespeichert) werden müssen, und um die Ergebisse der Editiervorgänge zu beschreiben. Ferner wird ein Verfahren zur Verwendung einfacher Datenbänke benötigt, um einen Abfallsammler zu unterstützen, der automatisch den Speicherraum wiederverwendet, der überholten Nicht-Text- Datendateien zugewiesen ist.
  • Die Erfindung ist wie in Anspruch 1 beansprucht.
  • Erfindungsgemäß wird eine interessierende Datenbank in einem verteilten Rechensystem unterhalten, um die einzelnen Interessen von Benutzern an zentral gespeicherten Nicht-Text-Mediendateien, z.B. digitale Sprach- eingescannte Bild- und Video-Dateien, zu registrieren, wobei einmalig benamte, stücklistenartige dauernde Datenstrukturen verwendet werden, um den Beutzern einen kontrollierten Zugriff auf die darunterliegenden Nicht-Text-Mediendateien durch eingebettete Namensverweise auf solche Stücklisten in gewöhnlichen Nachrichten- oder Textdateien zu geben, also wird auch eine Datenbank von Stücklisten unterhalten. Ein Abfallsammler zählt periodisch die Interessen-Datenbank auf, um Interesseneinträge zu löschen, die ungültig gemecht worden sind. Alte Stücklisten werden aus der Verweisdatenbank gelöscht, wenn es keine aufgezeichneten Interessen mehr gibt, die auf sie verweisen, und Nicht-Text-Nediendateien werden gelöscht, um den ihnen zugeteilten Speicherraum wiederzuverwenden, wenn es keine Stücklisten mehr gibt, die auf sie verweisen.
  • Weitere Merkmale und Vorteile dieser Erfindung werden ersichtlich, wenn die folgende ausführliche Beschreibung in Verbindung mit den anliegenden Zeichnungen gelesen wird.
  • Inhalt der Zeichnungen:
  • Fig. ist eine schematische Zeichnung, die zwei Lokale Netzwerke zeigt, die auf Befehl durch Gateways und einen Kommunikationskanal verbunden sind, wobei die Netzwerke nach Naßgabe dieser Erfindung konfiguriert sind, um zusätzlich zu gewöhnlichen Textübertragungen Sprachübertragungen zu unterstützen.
  • Fig. 2 ist ein Workstation-Schirmbild, das eine geeignete Benutzerschnittstelle zum Aufzeichnen, Editieren und Wiedergeben von Sprachdateien veranschaulicht.
  • Fig. 3 ist eine geschichtete Darstellung eines Sprachmanagers für ein Lokales Netzwerk.
  • Fig. 4 ist eine Darstellung, die die Korrelation der Sprachdateien mit den Datenstrukturen zeigt, die benutzt werden, um auf sie zu verweisen.
  • Fig. 5 ist ein vereinfachtes Funktionsflußdiagramm eines Interessen- Abfallsammlers.
  • Fig. 6 ist ein vereinfachtes Funktionsflußdiagramm eines Sprachstrang- Abfallsammlers.
  • Fig. 7 ist ein vereinfachtet Funktionsflußdiagramm eines Sprachdetei- Abfallsammlers.
  • Fig. 8 ist ein vereinfachtes teilweises Funktionsflußdiagramm für einen integrierten Sprachstrang/Sprachdatei-Abfallsammler.
  • Fig. 9 ist ein vereinfachtes teilweises Funktionsflußdiagramm für einen integrierten Interessen/Sprachstrang-Abfallsammler.
  • Fig. 1 zeigt ein verteiltes Computersystem 21 (nur im relevanten Teil dargestellt), das ein Lokales Netz (LAN) 22 mit einem Gateway 23 umfaßt, das es mit einem anderen LAN (nicht gezeigt) direkt oder möglicherweise über eine geschaltete Kommunikationseinrichtung verbindet. In Einklang mit der üblichen Konfiguration von CSMA/CD (d.h. Ethernet) Netzen besitzt das LAN 22 eine lineare Topologie zum Verbinden einer Mehrzahl von Workstations 24a und 24b, aber es wird ersichtlich sein, daß es oder jedes andere LAN, mit dem es verbunden ist, eine andere Topologie, z.B. eine ringartige Topologie, haben kann. Noch weitere Beispiele der heterogenen Umgebung, die vorhanden sein kann, die diversen Eigenschaften kommerziell erhältlicher Workstations und LANs vorausgesetzt, werden ersichtlich sein, so ist zu verstehen, daß das Gateway 23 Funktionen der Reformatierung und der Zeitneusteuerung ausführt, die benötigt werden, um Daten von einem LAN, das nach Maßgabe eines Übertragungsprotokolls arbeitet, an ein anderes LAN, das nach Maßgabe eines anderen Übertragungsprotokolls arbeitet, zu übertragen. Weitere Gateways können, wenn gewünscht, bereitgestellt werden, um das System 21 zu erweitern, um noch mehr LANs (nicht gezeigt) zu umfassen.
  • Um Benutzern zu ermöglichen, über das LAN 22 zusätzlich zu oder anstelle von üblichen Textnachrichten und Datendateien, die sie über ihre Workstations 24a und 24b austauschen, Sprachnachrichten zu senden und zu empfangen, sind mikroprozessorgestützte Telefongeräte 31a und 31b vorhanden, die sich in der Nähe der Workstations 24a bzw. 24b befinden, aber damit physikalisch nicht verbunden sind. Diese Telefongeräte setzen Sprache in das digitale Datenformat um, das benötigt wird, um dem Übertragungsprotokoll des LAN zu genügen, mit dem sie verbunden sind. Die Telefongeräte 31a und 31b z.B. digitalisieren, paketieren und verschlüsseln Sprache in Telefonqualität zur direkten Übertragung über das Ethernet-artige LAN 22. Hinsichtlich einer ausführlicheren Beschreibung, wie dies durchgeführt wird, siehe Swinehart et al., "Adding Voice to an Office Computer Network", Proceedings IEEE Globecom '83, Nov. 1983, und Swinehart et al., "An Experimental Environment for Voice System Development", IEEE Office Knowledge Engineering Newsletter, Feb. 1987. Wie vorangehend zum Ausdruck gebracht, sind die Telefongeräte 31a und 31b nicht direkt mit den Workstations 21a und 21b verbunden, da ähnliche Telefongeräte mit verschiedenen Workstations benutzt werden können, wie sie z.B. in einer heterogenen Umgebung vorhanden sein können.
  • Erfindungsgemäß enthält das System 21 einen Sprachmanager 34, der mit dem LAN 22 verbunden ist, um eine Speicherung für Sprache, Telefongespräche, Musik und andere mit annehmbarer Tonqualität aufgezeichnete Klänge bereitzustellen. Andere spezialisierte Quellen von, oder Senken für, Schall, z.B. ein Text/Sprache-Umsetzer (nicht gezeigt), der Textfolgen empfängt und die entsprechende Sprach-Datendatei zur Wiedergabe über ein oder mehr Telefongeräte 31a und 31b zurückgibt, können, wenn gewünscht, in dem Sprachmanager 34 enthalten sein.
  • Ein Sprach-Steuerserver 35 liefert Steuerfunktionen ähnlich denen eines herkömmlichen Geschäfts-Telefonsystems und dirigiert die Interaktionen zwischen den anderen Komponenten des Systems 21, während sie auf Sprache arbeiten. In Einklang mit seinen gewöhnlichen Telefonsystemfunktionen erlaubt der Sprach-Steuerserver 35, spracheführende Dialoge sowohl zwischen zwei oder mehr Benutzern als auch zwischen jedem Benutzer und einem Sprach-Dateiserver 36 über die Benutzertelefone 31a und 31b, die LANs 22 und, wenn angebracht, das Gateway 23 schnell herzustellen. Wenn ein solcher Dialog hergestellt ist, verteilt der Steuerserver 35 außerdem einen Kommunikationsweg- Identifizierer, DialogID, an alle Teilnehmer in dem Dialog, einschließlich der Telefongeräte und der Workstations der Benutzer, die darin verwickelt sind, als auch an den Sprach-Dateiserver 36, wenn er aktiviert ist, um den Dialog aufzuzeichnen. Wie man sehen wird, wird diese DialogID benutzt, um den Dialog in Anforderungen und Berichten zu identifizieren, die nach dem Ende des Dialogs vom Sprach- Steuerserver 35 oder den Teilnehmern ausgegeben werden können.
  • Die ganze für die Sprachübertragungen benötigte Steuerung wird über einen entfernten Prozeduraufruf (RPC), Protokoll, vollbracht, das vorzugsweise ein gesichertes Protokoll ist. Siehe z.B. Birrell et al., "Implementing Remote Procedure Calls", ACM Transactions on Computer Systems, Band 2, Nr. 1, Feb. 1984, Seiten 39-69, und Birell et al., "Secure Communications Using Remote Procedure Calls", ACM Transactions on Computer Systems, Band 3, Nr. 1, Feb. 1985, Seiten 1-14. Mehrfache Implementierungen des RPC-Protokolls erlauben die Integration der Workstations 24a und 24b für Sprachoperationen, auch wenn sie Programme ablaufen lassen und Sprachanwendungen ausfghren, die unter Verwendung verschiedener Programmierungsumgebungen programmiert sind. Wie man sehen wird, halten die vom Sprach-Steuerserver 35 als Reaktion auf die RPCs, die er im Verlauf eines Dialogs empfängt, ausgegebenen Berichte die Teilnehmer über die relevanten Systemektivitäten, die den Dialog unterstützen, informiert.
  • Die aktiven Teilnehmer an einem Dialog tauschen Sprache mit Hilfe eines geeigneten Sprachübertragungsprotokolls aus. Man vergleiche wieder den vorerwähnten Artikel von Swinehart "Adding Voice to an Office Cauputer Network". Während jedes Dialogs wird die gesamte gesendete Sprache codiert, vorzugsweise mit einer gesicherten Verschlüsselung, z.B. die DES electronic-codebook (ECB) Verschlüsselung, die auf einem zufällig erzeugten Codierungsschlüssel basiert, der vom Sprach-Steuerserver 35 ausgegeben wird. Siehe z.B. National Bureau of Standards, "Data Encryption Standard", Federal Information Processing Standard (FIPs), U.S. Department of Commerce, Veröffentlichung Nr. 46, Januar 1977. Dieser Schlüssel wird an die Dialogteilnehmer als Reaktion auf die von ihnen ausgegebenen RPCs verteilt) um dadurch ihren Telefongeräten 31a und 31b zu ermöglichen, den Dialog zu entschlüsseln.
  • Entsprechend einem oder mehr wichtigen Merkmalen dieser Erfindung versehen die Workstations 24a und 24b die Benutzer mit einer erweiterten Kontrolle über die Sprachmöglichkeiten des Systems 21. Fig. 2 zeigt das Schirmbild 41 einer typischen Workstation, z.B. der Workstation 24a, wie es erscheint, wenn der Benutzer zwei Fenster 42 und 43 geöffnet hat, eines zum Betrachten von Text kommentiert mit Verweisen auf eine Sprachpassage wie bei 42, und ein anderes zu Betrachten einer graphischen Darstellung einer gegebenen Sprachpassage wie bei 43. Diese Sprachverweise werden typischerweise durch ballonartige Symbole, die in den Text des kommentierten Dokuments, wie bei 44, eingebettet sind, angezeigt, so daß ein beliebiges ausgewähltes Symbol "geöffnet" werden kann, um seine graphische Darstellung, wie bei 43, zu betrachten, während es wiedergegeben und/oder editiert wird. Die graphische Darstellung der Sprache benutzt geeigneterweise eine lineare Kette von abwechselnden hellen und dunklen Balkan, um proportional lange Intervalle von Sprache und Stille darzustellen. Die Stille wird über eine Schwellenoperation ermittelt, wenn der Energiepegel der Sprache unter einen vorbestimmten Schwellenpegel abfällt, also wird man verstehen, daß ein solcher Begriff hier in seinem relativen Sinn gebraucht wird.
  • Als Einleitung zu einer Beschreibung der Sprach- und anderer Ton-Editierfunktionen, die die Benutzer durch die Benutzung ihrer Workstations 24a und 24b durchführen können, wird es hilfreich sein, die elementaren Funktionen RECORD, PLAY und STOP, die die Benutzer aufrufen können, kurz zu durchzugehen. Wenn ein Benutzer eine RECORD-Anweisung ausgibt, gibt der Sprach-Steuerserver 35 eine DialogID aus, die einen Übertragungsweg zum Verbinden des Benutzertelefongerätes mit dem Sprach-Dateiserver 36 identifiziert. Der Sprachmanager 34 reagiert auf die DialogID, indem er Speicherplatz auf dem Sprach-Dateiserver 36 zum Aufzeichnen einer neuen Sprachdatei zuweist und indem er einer ner solchen Sprachdatei einen einmaligen Namen, SprachStrangID erteilt. Danach wird die Aufzeichnung fortgesetzt, bis der Benutzer eine STOP- Anweisung ausgibt. Während die Aufzeichnung stattfindet, akkumuliert außerdem der Sprachmanager eine Zählung, um die Länge des Sprachstranges, VR, in geeigneten Zeiteinheiten, z.B. 1/8000 Sek. pro Einheit, festzustellen. Als Reaktion auf die STOP-Anweisung werden alle Aufnahme oder Wiedergabeoperationen, die dann im Gange sind oder für die durch die gegebene DialogID identifizierte Sitzung eingeplant sind, sofort angehalten. Die PLAY-Anweisung ist ähnlich der RECORD-Anweisung außer, daß sie durch einen Benutzer eingeleitet wird, der eine SprachStrangID und ein spezifiziertes Intervall ausgibt, das entweder den ganzen Sprachstrang oder ein spezifiziertes Intervall davon bei einer geeigneten Auflösung (in diesem Fall 0.1 ms) definiert. Der Sprach-Steuerserver 35 reagiert auf die PLAY-Anweisung, indem er eine DialogID ausgibt, um einen Übertragungsweg vom Sprach- Dateiserver 36 zum Benutzertelefongerät herzustellen, und der Sprachmanager 34 veranlaßt den Sprach-Dateiserver 36, das benutzergewählte Intervall der ausgewählten VF, wie durch die benutzerspezifizierten VRs (ID, Intervall) bestimmt, zu senden.
  • Typischerweise werden die Funktionen RECORD und PLAY asynchron mit entfernten Prozeduraufrufen durchgeführt, die zurückkehren, nechdem sie durch den Sprach-Dateiserver 36 eingeplant worden sind. Geplante Operationen werden im allgemeinen der Reihe nach ausgeführt, um dedurch dem Sprachmanager 34 zu ermöglichen, eine Geradeausprozedur zum Erzeugen von Berichten zu benutzen, um die Benutzer über den Statue ihrer Anforderungen auf dem gleichen Stand zu halten. Der Sprachmanager 34 gibt z.B. geeigneterweise eine RequestID zurück, wenn jede geplant. Operation begonnen und vollendet ist, um ihm dadurch zu ermöglichen, Aufrufe an jeden an einer solchen Operation beteiligten Benutzer abzugeben, wobei die Aufrufe typischerweise wie folgt aussehen:
  • REPORT[RequestID, {begonnen/beendet/ausgespült}].
  • Sprachstränge, VRs, die aufgezeichnete Sprachdateien, VFs, oder Teil. und Kombinationen davon identifizieren, sind unveränderbar, können aber von den Benutzern benutzt werden, um durch Anwenden der normalan Editierfunktionen ihrer Worksatations 24a und 24b neue unveränbare VRs zu erzeugen. Um das Editieren zu unterstützen, kann eine Operation DESCRIBE (VoiceRopeID) aufgerufen werden, um den Sprachmanager 34 zu veranlassen, an die Workstation des Anforderers eine Liste von Zeitintervallen zurückzugeben, die die nicht-stillen Sprachstöße (wie hierin verwendet ist "Sprachstoß" eine Folge von Sprachproben begrenzt durch ein vorbestimmtes Mindestintervall von Stille) des spezifizierten VR bezeichnen. Diese Sprachstoßliste wird wiederum benutzt, um die graphische Darstellung der Sprachstöße und der dazwischenliegenden Intervalle von Stille des ausgewählten VR zu erzeugen, wie in dem Fenster 43 von Fig. 2 gezeigt. Vorzugsweise wird eine Suchtabelle der mit allen auf dem Sprach-Dateiserver 36 aufgezeichneten Sprachdateien, VFs, verbundenen Sprachstöße unterhalten, um das beim Zusammenstellen der Sprachstoßliste für einen gegebenen Sprachstrang enthaltene Overhead zu verringern.
  • Die herkömmlichen Texteditierfunktionen, die direkt auf das Sprachstrang-Editieren angewandt werden können, sind:
  • CONCATENTATE [SprachStrangID&sub1;, SprachStrangID&sub2;,...] - bringt eine neue Sprach-ID zurück, um einen neuen VR zu erzeugen, der die Verkettung von bestehenden VRs ist;
  • SUBSTRING [SprachStrangID&sub1;, Intervall] - bringt eine neue Sprach-StrangID zurück, um einen neuen VR zu erzeugen, der aus einem spezifizierten Abschnitt eines vorhandenen VR besteht;
  • REPLACE [SprachStrangID&sub1;, Intervall, SprachStrangID&sub2;,]bringt eine neue SprachStrangID zurück, um einen neuen Sprachstrang zu erzeugen, bei dem die bestehende SprachStrangID&sub2; für ein spezifiziertes Intervall der bestehenden SprachStrangID&sub1; eingesetzt wird, wodurch eine Verbindung der Funktionen CONCATENATE und SUBSTRING durchgeführt wird.
  • LENGTH [SprachStrangID) - bringt eine Länge zurück, um die Länge eines bestehenden VR in geeigneten Zeiteinheiten, z.B. ms zu bestimmen.
  • Diese Funktionen stehen typischerweise dem Sprachmanager 34 über RPC- Aufrufe zur Verfügung.
  • Den VRs können Zugriffssteuerungen überlagert werden, um den Wiedergabezugriff auf ihre darunterliegen VFs zu steuern und das Editieren der VRs zu begrenzen. Diese Zugriffssteuerlisten können Namen von Einzelpersonen oder Gruppen enthalten. Siehe Birrell et al., Grapevine: "An Exercise in Distributed Computing", Communications of the ACM, Band 25, Nr. 4, April 1982, Seiten 260-274. Solche Zugriffskontrollen können z.B. vom Erzeuger eines gegebenen VR jederzeit eingerichtet und geändert werden durch Aufrufen: PERMIT [SprachStrangID, Spieler, Editierer], um den Zugriff auf den spezifizierten VR auf die benannten Spieler und die benannten Editierer zu beschränken. Eine geeignete Voreinstellung für den Zugriffssteuermechanismus würde entweder den unbeschränkten Zugriff auf den VR ermöglichen oder den Zugriff auf seinen Erzeuger beschränken.
  • Wie man einsehen wird, haben VRs den wichtigen Vorteil, daß sie von vielen Benutzern geteilt und in vielfache normale Textdokumente einbezogen werden können, um berechtigten Benutzern Zugriff auf die darunterliegenden VFs zu gewähren, ohne daß diese datenintensiven Nicht- Text-VFs kopiert, bewegt oder an mehreren Stellen gespeichert werden müssen. Gemäß einem wichtigen Merkmal dieser Erfindung steht es außerdem den Benutzern frei, Dokumente, die VRs enthalten, je nach ihren einzelnen Bedürfnissen und Wünschen On-line oder Off-line zu speichern.
  • Um dem Benutzer diese Freiheit zu gewähren, während sichergestellt wird, daß Platz auf dem Dateiserver 36, der durch veraltete VFs belegt wird, rechtzeitig zurückgewonnen wird, gibt es einen auf Interessen basierenden Abfallsammler, der veraltete VFs identifiziert und löscht, wie unten ausführlicher beschrieben wird. Vorzugsweise sind diese Benutzerinteressen benutzer- und klassenspezifisch, so daß sie auf der Basis der gewöhnlichen Verzeichnisoperationen jedes Benutzers erzeugt und automatisch gelöscht werden können, wobei jeder Benutzer verantwortlich ist, sein eigenes persönliches Interesse an einer gegegebenen Klasse eindeutig zu identifizieren. Wenn z.B. ein Benutzer in ein Dokument eintritt, das einen VR In sein Dokumenten- oder Briefverzeichnis enthält, kann ein RPC eingeleitet werden, um des Interesse Benutzers an diesem VR im Sprachmanager 34 In der folgenn Form zu registrieren: RETAIN[SprachStrangID, Klasse, Interesse, BenutzerID].
  • Diese Prozedur registriert das Interesse eines spezifizierten Benutzers in einem gegebenen VR durch eine gegebene Klasse (z.B. Dateianmerkung oder Nachricht). Diese Operation ist idempotent, so daß nachfolgende Aufrufe mit denselben Argumenten nur ein Interesse an einem gegebenen Sprachstrang registrieren. Außerdem gibt es eine Prozedur FORGET [SprachStrangID, Klasse, Interesse], die gelegentlich durch einen RPC, der an den Sprachmanager 34 ausgegeben wird, wenn der Benutzer das Dokument oder die Nachricht, die den VR enthält, aus seinem verzeichnis löscht (im Gegensatz zum Verlagern derselben in ein anderes On-line- oder Off-line-Verzeichnis) und sonst als Resultat eines unten zu beschreibenden Abfallsammelvorgangs aufgerufen wird. Des weiteren kann eine Prozedur LOOKUP [Klasse, Interesse] bereitgestellt werden, die eine ungeordnete Liste von Sprachsträngen, die mit einem einzelnen Interesse verbunden sind, zurückbringt, um die normalen Systemverwaltungsfunktionen zu erleichtern.
  • Die Interessen- Klassenattribute des von Benutzer aufgerufenen Interessenmechanismusses sind typischerweise beliebige Textkettenwerte. Die Form des Interessenwertes ist aber vorzugsweise klassenspezifisch, so daß jede Klasse ihren eigenen Namensraum von Interessen durch die Verwendung einer hierarchischen, flachen oder anderen Form von Identifizierung für ihre Interessenwerte steuert. Die Klasse eines Interesses identifiziert andererseits gewöhnlich die Art, in der Sprachstränge für eine einzelne Anwendung benutzt werden. Zum Beispiel kann eine "DateiKommentar"-Klasse benutzt werden, tat anzuzeigen, daß ein in einer benannten Datei gemeinsam benutztes Dokument durch einen Satz von Sprachsträngen kommentiert wird, wobei das Interessenfeld benutzt wird, um den Dateinamen bereitzustellen. Ebenso kann eine "Nachrichten"-Klasse anzeigen, daß eine elektronische Briefnachricht auf aufgezeichnete Sprache verweist, wobei das Interessenfeld den eindeutigen Aufgabestempel enthält, der von dem Nachrichtensystem der einzelnen Briefnachricht, in der ein solcher Verweis enthalten ist, geliefert wird.
  • Der Sprachmanager 34 (Fig. 1) ist typischerweise, wie in Fig. 3 gezeigt, logisch geschichtet, um eine einfache, aber robuste Einrichtung zur Implementierung der oben beschriebenen Sprachstrang-Editiermerkmale und zur Verwaltung der Benutzerinteressen in solchen Sprachsträngen und ihren darunterliegenden Sprachdateien zur Verfogung zu stellen. Der Sprach-Dateiserver 36 muß imstande sein, eine ununterbrochene Datenübertragungsrate von 64 kBit/s für Sprache aufrechtzuerhalten und das Abspielen von willkürlich eingeplanten Sequenzen von Sprachdateiabschnitten zu unterstützen, wobei eine angemessene Pufferung bereitgestellt wird, um wahrnehmbare Pausen zwischen aufeinanfolgenden Sequenzen zu vermeiden, aber diese Anforderungen sind relativ gemäßigt und werden, den augenblicklichen Stand der Technik vorausgesetzt, leicht erfüllt.
  • Ein einfaches Datenbanksystem 41 wird zur Verfügung gestellt, um die Sprachstränge und ihre zugehörigen Interessen zu implementieren. Zu diesem Zweck speichert das Datenbanksystem 41 die Sprachstränge (VRs) als unveränderbare Stücktabellen, die auf unveränderbare Dateien und/oder Dateisegmente verweisen, stellt elementare Abfrage- und Aktualisierungsmöglichkeiten bereit und unterstützt die gemeinsame Benutzung der VRs unter den vielen Benutzern, die sie verwenden können, um auf die darunterliegenden Sprachdateien zu verweisen. Jedes Datenbanksystem, das diese mäßigen Forderungen erfüllt, würde genügen. Ein derartiges System speichert z.B. jeden Eintrag als eine Folge von Attributen augedrückt als Schlüssel/Wert-Paare in einem Vorausschreib-Protokoll, etwa wie von Gray, "Notes on Database Operating Systems" in Bayer et al., Operating Systems: an Advanced Course, Springer-Verbig, 1978, Seiten 393-481 beschrieben. Anders als die meisten Datenbanksysteme, bei denen die Daten nur protokolliert werden, bis sie an eine dauerhaftere Stelle übergeben und geschrieben werden, ist jedoch das Vorausschreib-Protokoll innerhalb des Datenbanksysteme 41 die permanente Quelle der Daten (h.h., einmal geschrieben, werden die Daten niemals bewegt). Daher können B-Baum-Indexe durch direkten Verweis auf das Vorausschreib-Protokoll gebildet werden, um die Werte von einem oder mehr Schlüsseln zu den entsprechenden Stellen in den Protokolldateien zuzuordnen. Ähnliche Verfahren sind verwendet worden, um Protokolle für elektronische Briefsysteme zu konstruieren. Siehe Donahue et al., "Walnut: Storing Electronic Mail in Databases", Xerox Palo Alto Research Center, Technical Report CSL-85-9, Nov. 1985. Siehe ferner Lampson, "Hints für Computer System Design", Proceedings Ninth Symposium on Operating System Principles, Bretton Woods, Nem Hampshire, Okt. 1983, Seiten 33-48.
  • Die minimale Datenstruktur, um einen Sprachstrang darzustellen, besteht aus [SprachDateiID, Schlüssel, Intervall] Tupeln. Weitere Attribute können für SprachStrangID, Identität des Erzeugers, Zugriffssteuerlisten und Gesamtlänge des Sprachstrangs eingeschlossen werden. Das heißt, daß ein typischer Datenbank-Protokolleintrag für einen Sprachstrang die folgende Form haben kann:
  • SprachStrangID: Hugo.pa#575996078
  • Erzeuger: Hugo.pa
  • Länge: 80000
  • Abspielzugriff: Sprachprojekt ^.pa
  • Editzugriff: keiner
  • SprachDateiID: 235
  • Schlüssel: 17401121062B 10300460467B
  • Intervall: 0 80000
  • Ein solcher Eintrag kann benutzt werden, um einen Index zu konstruiren, der es erlaubt, Sprachstrangstrukturen durch ihre SprahhStrangIDs effizient zurückzugewinnen. Er erlaubt ferner, einen Index von Sprach- DateiIDs zu unterhalten, der zur Abfallsammlung nützlich ist, wie unten ausführlicher beschrieben wird.
  • Wie man sich erninnern wird, können komplexere Sprachstränge mit Hilfe des vorerwähnten Sprachstrang-Editierprozesses konstruiert werden. Wie z.B. in Fig. 4 gezeigt, können zwei einfache Sprachstränge VR&sub1; und VR&sub2; mit den folgenden Strukturen vorhanden sein:
  • VR&sub1; = < SprachdateiID: VF&sub1;, Schlüssel: K&sub1;, Intervall: [Start: 0, Länge: 4000]>
  • VR&sub2; < SprachdateiID: VF&sub2;, Schlüssel: K&sub2;, Intervall: [Start: 500, Länge: 2000]>
  • in diesem Fall erzeugt die Operation:
  • REPLACE[Base: VR&sub1;, Intervall: [Start: 1000, Länge: 1000], mit: VR&sub2;)
  • einen neuen Sprachstrang VRs mit der Struktur:
  • VR&sub3; : (SprachdateiID: VF&sub1;, Schlüssel: K&sub1;, Intervall:
  • [Start: 0, Länge: 1000],
  • SprachdateiID: VF&sub2;, Schlüssel: K&sub2;, Intervall:
  • [Start: 500, Länge: 2000]
  • SprachdateiID: VF&sub1;, Schlüssel: K&sub1;, Intervall:
  • [Start: 2000, Länge: 2000]>
  • Revidiert man kurz die Verwaltung und das Editieren von digital aufgezeichneter Sprache und anderen datenintensiven Nicht-Textdaten, mit denen diese Erfindung benutzt werden kann, wird man sich erinnern, daß, wenn Sprache aufzuzeichnen ist, der Sprachmanager 34 den Sprach- Dateiserver 36 anruft, eine neue VF zu erzeugen und die Sprache, die über einen spezifizierten Dialog mit einer gegebenen DialogID eintrifft, als der Inhalt dieser neuen VF zu speichern. Nach dem Ende der Aufzeichnung fügt der Sprachmanager 34 eine einfache VR der Sprachstrang-Datenbank in dem Datenbanksystem 41 hinzu, um die neu aufgezeichnete VF darzustellen. Der Codierungsschlüssel, der durch den Sprach-Steuerserver 32 zugewiesen wurde, um den Dialog zu codieren, wird in dem Sprachstrang-Datenbankeintrag gespeichert, so daß dieser Schlüssel zusammen mit der SprachdateiID während aller folgenden Editieroperationen, die ein oder mehr Intervalle des VR betreffen, mitgeführt wird. Die Sprachdatei wird, auch bei. Editieren, weder bewegt noch kopiert, sobald sie einmal in einer VF&sub1; aufgezeichnet ist.
  • Wenn ein VR abgespielt wird, gewinnt der Sprachmanager 34 zuerst die VR-Struktur aus dem Datenbanksystem 41 zurück. Wenn die verbürgten Identitäten aller Teilnehmer an der Wiedergabe des VR mit allen mit dem VR verbundenen Zugriffssteuerungen übereinstimmen, setzt der Sprachmanager 34 den Wiedergabevorgang fort, indem er den oder die Codierungsschlüssel für die spezifizierten Intervalle der mit dem gegebenen VR verbundenen VFs an die Teilnehmer verteilt und den Sprach-Dateiserver 36 veranlaßt, diese VF-Intervalle in der richtigen Reihenfolge zu spielen. Wie zuvor dargelegt, besitzt der Sprach- Dateiserver 36 einen ausreichend großen Ausgabepuffer, um zu ermöglichen, daß zwei oder mehr VF-Intervalle gespielt werden können, ohne irgendwelche Pausen dazwischen einzuführen.
  • Die VRs besitzen vorteilhafterweise eine flache struktur, um die Wiedergabeleistung zu erhöhen, d.h., ein einziger Datenbankzugriff reicht aus, um die vollständige Struktur eines gegebenen VR zu ermitteln, weil jeder VR direkt auf seine zugehörigen VFs verweist. Alternativ könnten komplexe VRs als Abschnitte anderer VRs in einer baumorganisierten Datenbank mit VRs, die Abschnitte von VFs in den Blättern des Baumes darstellen, gemeinsam benutzt werden. Dieser Weg würde die Verarbeitungskosten des Editierens von VRs reduzieren, würde aber die Zahl von Datenbankzugriffen erhöhen, die benötigt wird, um komplexe VRs abzuspielen, die zwei oder mehr spezifizierte Abschnitte derselben oder verschiedener VFs darstellen. Mit anderen Worten, es ist ein Kompromiß zu machen, um die VR-Datenbankstruktur für ein einzelnes Anwendungsmuster zu optimieren.
  • Wie man einsehen wird, wird, sobald alle VRs, die auf eine gegebene VF verweisen, gelöscht worden sind, keine VR jemals wieder auf diese einzelne VF verweisen, somit wird der Speicherraum auf dem Sprach- Dateiserver 36, der dieser VF zugeteilt ist, durch Löschen der VF zur nachfolgenden Wiederverwendung vorteilhaft zurückgewonnen. Eine Geradeaus-Abfrage der Sprachstrang-Datenbank innerhalb des Datenbanksystems 41 reicht aus, um festzustellen, ob noch irgendwelche VRs existieren, die auf eine gegebene VF verweisen. Schwerer ist es jedoch, festzustellen, ob ein gegebener VR gelöscht werden kann oder nicht. Die oben beschriebenen "Interessen"-Operationen sind daher der Schlüssel, der es erlaubt, Vrs und ihre zugehörigen VFs automatisch zurückzugewinnen.
  • Von den Benutzern wird verlängt, daß sie ihre VR-Interessen in einer bekannten Stelle, z.B. in einer Interessen-Datenbank innerhalb des Datenbanksystems 41, speichern. Diese gespeicherten Interessen dienen dann als Stellvertreter für die VR-Verweise, die der Benutzer übergibt, wodurch eine logische Basis zum Unterscheiden zwischen gültig verwiesenen aktiven VRs und nicht-verwiesenen veralteten VRs bereitgestellt wird. Ein Verweis-Entkräftungmechanismus, z.B. eine spezifizierte Zeitsperrendauer, kann, wenn gewünscht, in ein getrenntes Interesse eingeschlossen werden, also wird man verstehen, daß das VR- Veralten eintritt, wenn es keine existierenden gültigen Verweise auf den gegebenen VR, einschließlich nicht abgelaufener Zeitsperren, gibt.
  • Es wurde vorangehend zum Ausdruck gebracht, daß, wenn eine RETAIN- Prozedur aufgerufen wird, der Interessen-Datenbank ein Eintrag hinzugefügt wird, vorausgesetzt, daß der Eintrag nicht bereits existiert. Der Datenbankeintrag umfaßt die SprachStrangID, die Klasse des Interesses, einen Interessenwert und die Identifikation des Benutzers, wodurch Interessen-Datenbankabfragen auf der Basis eines dieser Attribute erlaubt werden. Leider ist es manchmal unpraktisch, bestehende Workstations und Dateiserver zu modifizieren, um die RETAIN- und ihre komplementäre FORGET-Prozedur automatisch aufzurufen, um Benutzerinteressen an einem gegebenen VR zu speichern und zu löschen, wenn Dokumente oder Nachrichten, die Verweise auf diesen VR enthalten, in die Benutzerverzeichnisse eingetragen bzw. daraus entfernt werden. Es ist aber machbar, in das Betriebssystem jedes Benutzers ein zusätzliches Programm aufzunehmen, das automatisch aufgerufen wird, wenn der Benutzer eine Datei, die einen VR-Verweis enthält, von der vorübergehenden Speicherung der Workstation in einen Dateiserver zur dauerhafteren Speicherung verlagert, wobei ein Aufruf des folgenden Typs für jeden in einer sochen Datei verwiesenen Sprachstrang ausgegeben wird:
  • RETAIN [VRID: SprachStrangID, Klasse "Dateikommentar,
  • Interesse: Kommentierte Datei Name",
  • Benutzer: Verbürgter Name]
  • Daher kann zu jedem späteren Zeitpunkt eine normale Dateiserver-Verzeichniszähloperation durchgeführt werden, um für jedes gegebene Benutzerinteresse festzustellen, ob der benutzerbenannte Fall der Datel (z.B. Kommentierte Datei Name"), die den VR-Verweis enthält, auf den sich das gegebene Interesse bezieht, noch existiert oder nicht. Die Anwendungen jedes Benutzers ermitteln die Klasse oder Klassen der durch einen solchen Benutzer registrierten Interessen, und diesen Interessen werden benutzerbestimmte Werte gegeben (z.B. "Kommentierte Datei Name" für die Interessenklasse "Dateikommentar"). Dies bedeutet, daß die einzelnen Benutzer für die Zuweisung einmaliger Werte, z.B. verschiedene Versionsnummern, an die verschiedenen Interessen verantwortlich sind, die sie innerhalb einer gegegeben Klasse von Interessen einzutragen wünschen.
  • Um veraltete Interessen automatisch zu lokalisieren und aus der Interessen-Datenbank zu entfernen, kann der Implementierer jeder Interessenklasse eine Prozedur des folgenden Typs bei dem Sprachmanager 34 registrieren:
  • IS GARBAGE [SprachStrangID, Interesse] - {Ja/Nein}
  • Diese Prozedur stellt in einer klassenspezifischen Weise fest, ob ein gegebenes Interesse noch für einen spezifischen VR gilt oder nicht. Für die vorerwähnte Klasse Dateikommentar bringt z.B. diese Prozedur "Ja" nur zurück, wenn der benutzerspezifizierte Wert des Interessenparameters auf keinem Dateiserver irgendwo innerhalb des verteilten Computersystems 21 mehr existiert.
  • Wie in Fig. 5 gezeigt, enthält der Sprachmanager 34 geeigneterweise einen Interessen-Verifizierer, der periodisch die Interessen-Datenbank aufzählt, 51-54, und die klassenspezifische IS GARBAGE-Prozedur (sofern eine eingetragen worden ist) für jedes Interesse aufruft, 55- 56. Die IS GARBAGE-Prozedur für jede Interessenklasse kann verschiedene Kriterien benutzen, um festzustellen, ob ein Eintrag innerhalb der gegebenen Klasse gültig ist oder nicht, 57. Die Prozedur kann z.B. den Eintrag gegen intrinsiche Entkräftungskriterien, z.B. den Ablauf einer vorbestimmten Zeitsperrendauer und die Vereinbarkeit mit einer Zugriffssteuerliste, prüfen. Sie kann ferner eine Verzeichnisabfrage an die Dateiserver des verteilten Computersystems 21 ausgeben, um festzustellen, ob der für den untersuchten Eintrag spezifizierte Interessenwert (z.B. "Kommentierte Datei Name") auf einem oder mehr Dateiservern noch existiert. Wenn festgestellt wird, daß das gegebene Interesse aus irgendeinem Grund ungültig ist, wird eine Prozedur FORGET [SprachStrangID, Klasse, Interesse] aufgerufen, 58, um es aus der Interessen-Datenbank zu entfernen, 59.
  • Gemäß Fig. 6 besitzt der Sprachmanager 34 auch einen Sprachstrang-Abfallsammler, der periodisch die Sprachstrang-Datenbank aufzählt, 71- 74, so daß verwaiste VRs daraus entfernt werden, 75. Wünschenswert wird eine Vorkehrung getroffen, um VRs einiger oder aller Klassen wenigstens für eine endliche Zeitdauer nach ihrer Erzeugung intrinsisch zu schützen, 76, so daß interessierte Benutzer eine annehmbare Gelegenheit haben, ein interesse an ihnen zu registrieren. Bei Nichtvorhandensein eines solchen intrinsischen Schutzes wird eine gegebene VR jedoch aus der sprachstrang-Datenbank entfernt, sofern nicht bei 77 festgestellt wird, daß auf die untersuchte VR noch von wenigstens einem gültigen Interesse in der Interessen-Datenbank verwiesen wird.
  • Wie in Fig. 7 gezelgt, kann ein getrennter Sprachdatei-Abfallsammler in den Sprachmanager 34 eingeschlossen werden, der periodisch die Sprachdatei-Datenbank aufzählt, 81-84, so daß die VFs, die bei 85 gefunden werden und keine auf sie verweisenden VRs mehr haben, gelöscht werden, 86, wodurch der Speicherraum auf dem Sprach-Dateiserver 36 (Fig. 1), der ihnen zugeteilt war, zurückgewonnen wird.
  • Alternativ kann aber, wie in Fig. 8 gezeigt, der Sprachdatei-Abfallsammler mit dem Sprachstrang-Abfallsammler integriert werden, so daß diese Funktionen gleichzeitig ausgeführt werden. Wenn z.B. festgestellt wird, daß ein gegebener VR zur Waise geworden ist, bei 77 in Fig. 6, können die VFs, auf die der verwaiste VR verweist, aufgezählt werden, 91-93. Dies macht es möglich, jede dieser FVs gegen die Sprachstrang-Datenbank zu vergleichen, um festzustellen, ob auf sie von irgendwelchen anderen VRs verwiesen wird, 94, so daß verwaiste VFs gelöscht werden, 95. Nachdem alle VFs, auf die ein verwaister VR verweist, untersucht worden sind, wird der VR gelöscht, 75, und der Prozeß geht dann zurück, um die Aufzählung der VRs mit dem nächsten VR, 72 In Fig. 6, fortzusetzen.
  • Desgleichen kann, wie in Fig. 9 gezelgt, der Sprachstrang-Abfallsammler mit dem Interessen-Abfallsammler integriert werden. Jeder Eintrag in der Interessen-Datenbank verweist auf einen einzigen VR, so daß, wenn festgestellt wird, daß ein gegebenes Intersesse ungültig ist, 57 in Fig. 5, die Interessen-Datenbank untersucht werden kann, 96 in Fig. 9, um festzustellen, ob sie noch andere Interessen enthält, die auf den mit dem ungültigen Interesse verbundenen VR verweisen, 97. Wenn kein anderer Verweis auf den gegebenen VR gefunden wird, werden sowohl der VR als auch der ungültige Interesseneintrag gelöscht, 98 bzw. 99. Andererseits wird, wenn andere auf den VR verweisende Interessen vorhanden sind, nur das ungültige Interesse gelöscht, bevor der Prozeß zurückspringt, um die Aufzählung der Interessen-Datenbank mit dem nächsten Interesse fortzusetzen, 52 in Fig. 5.
  • Angesichts des Vorangehenden wird man nun verstehen, daß die vorliegende Erfindung einen leistungsfähigen und wirkungsvollen Abfallsammler für Hypermedia-Anwendungen von verteilten Rechensystemen zu Verfügung stellt.

Claims (1)

1. Verteiltes Rechensystem, das umfaßt:
eine Kommunikationseinrichtung (22),
eine Mehrzahl von Arbeitsplätzen (24), die mit der Kommunikationseinrichtung verbunden sind und Benutzer befähigen, digitale Text-Datendateien zwischen den Arbeitsplätzen hin und her zu übertragen,
einen Dateiserver (36), der mit der Kommunikationseinrichtung verbunden ist und digitale Nicht-Text-Datendateien, die menschlich wahrnehmbare Information darstellen, speichert,
Wandler, die in der Nähe von wenigstens einigen der Arbeitsplätzen gelegen sind, wobei die Wandler mit der Kommunikationseinrichtung verbunden sind, um Benutzer zu befähigen, eindeutig benannte Nicht-Text- Datendateien auf dem Dateiserver aufzuzeichnen und solche Dateien abhängig von der Zugriffsberechtigung abzuspielen, und
eine Verwaltungseinrichtung (34), die mit der Kommunikationseinrichtung und dem Dateiserver verbunden ist, wobei die Verwaltungseinrichtung ein erstes Datenbanksystem enthält, das eine erste Datenbank (41) von eindeutig benannten Verweiseinträgen (VR1, VR2, VR3) umfaßt, die durch Dateiname und Zeitintervall auf die Nicht-Text-Datendateien verweisen, wodurch Benutzern ein selektiver Zugriff auf ausgewählte und ausgewählte Teile von ausgewählten der Nicht-Text-Datendateien durch Einlagern der ihnen entsprechenden Verweiseintragsnamen in die digitalen Text-Datendateien, die über die Kommunikationseinrichtung an ausgewählte Benutzer verteilt werden, gewährt werden kann, gekennzeichnet durch
eine zweite Datenbank von benutzerregistrierten Interesseneinträgen in dem Datenbanksystem, wobei jeder der Interesseneinträge den Verweiseintrag (VR1, VR2, VR3), zu dem er gehört, die digitale Text-Datendatei, in die der Verweiseintrag eingelagert ist, und den Benutzer, der die digitale Text-Datendatei benutzt, identifiziert,
eine erste Einrichtung, die mit der zweiten Datenbank von benutzerregistrierten Interesseneinträgen verbunden ist und die periodisch alle registrierten Interesseneinträge aufzählt und irgendwelche Interesseneinträge, für die die digitale Text-Datendatei für den Benutzer nicht mehr existiert, löscht,
eine zweite Einrichtung, die mit der Datenbank von Verweiseinträgen verbunden ist und die periodisch die Verweiseinträge (VR1, VR2, VR3) aufzählt und irgendwelche Verweiseinträge von mehr als einem spezifischen Alter, die keine auf sie verweisenden Interesseneinträge in der zweiten Datenbank besitzen, löscht, und
eine dritte Einrichtung, die mit dem Dateiserver (36) verbunden ist und die in dem Dateiserver (36) irgendwelche Nicht-Text-Datendateien, die keine auf sie verweisenden Verwelseinträge in der ersten Datenbank besitzen, löscht, um dadurch den von veralteten Dateien belegten Speicherraum zurückzugewinnen.
DE3855152T 1987-11-06 1988-11-02 Verteiltes Computersystem Expired - Fee Related DE3855152T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/118,493 US4914586A (en) 1987-11-06 1987-11-06 Garbage collector for hypermedia systems

Publications (2)

Publication Number Publication Date
DE3855152D1 DE3855152D1 (de) 1996-05-02
DE3855152T2 true DE3855152T2 (de) 1996-10-02

Family

ID=22378942

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3855152T Expired - Fee Related DE3855152T2 (de) 1987-11-06 1988-11-02 Verteiltes Computersystem

Country Status (4)

Country Link
US (1) US4914586A (de)
EP (1) EP0315426B1 (de)
JP (1) JP2795856B2 (de)
DE (1) DE3855152T2 (de)

Families Citing this family (294)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220657A (en) * 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
US5164797A (en) * 1988-06-17 1992-11-17 Xerox Corporation Lateral heterojunction bipolar transistor (LHBT) and suitability thereof as a hetero transverse junction (HTJ) laser
US7365884B2 (en) * 1988-09-22 2008-04-29 Catch Curve, Inc. Facsimile telecommunications system and method
US5459584A (en) 1988-09-22 1995-10-17 Audiofax, Inc. Facsimile telecommunications system and method
US4994926C1 (en) * 1988-09-22 2001-07-03 Audiofax Ip L L C Facsimile telecommunications system and method
US6785021B1 (en) 1988-09-22 2004-08-31 Audiofax, Ip, Llc Facsimile telecommunications system and method
US5159669A (en) * 1988-12-15 1992-10-27 Xerox Corporation Automatically creating a second workspace operation record including history data and a unit ID based on a first workspace operation
US5408655A (en) * 1989-02-27 1995-04-18 Apple Computer, Inc. User interface system and method for traversing a database
US5136634A (en) * 1989-03-10 1992-08-04 Spectrafax Corp. Voice operated facsimile machine network
US5109519A (en) * 1989-03-28 1992-04-28 Wang Laboratories, Inc. Local computer participating in mail delivery system abstracts from directory of all eligible mail recipients only served by local computer
CA2001711C (en) * 1989-05-15 1995-05-23 Stephen P. Morgan File extension by clients in a distributed data processing system
US5136712A (en) * 1989-06-29 1992-08-04 Digital Equipment Corporation Temporary object handling system and method in an object based computer operating system
US6978277B2 (en) * 1989-10-26 2005-12-20 Encyclopaedia Britannica, Inc. Multimedia search system
US5241671C1 (en) * 1989-10-26 2002-07-02 Encyclopaedia Britannica Educa Multimedia search system using a plurality of entry path means which indicate interrelatedness of information
US6389010B1 (en) 1995-10-05 2002-05-14 Intermec Ip Corp. Hierarchical data collection network supporting packetized voice communications among wireless terminals and telephones
JP2783630B2 (ja) * 1990-02-15 1998-08-06 キヤノン株式会社 端末装置
US5604841A (en) * 1990-07-06 1997-02-18 United Technologies Corporation Hierarchical restructuring generic test templates and reusable value spaces for machine failure isolation using qualitative physics
CA2043141A1 (en) * 1990-07-18 1992-01-19 Richard F. Bournique Hypermedia arrangement using a window system and layered intrinsics
US5440730A (en) * 1990-08-09 1995-08-08 Bell Communications Research, Inc. Time index access structure for temporal databases having concurrent multiple versions
US5513306A (en) * 1990-08-09 1996-04-30 Apple Computer, Inc. Temporal event viewing and editing system
AU628264B2 (en) * 1990-08-14 1992-09-10 Oracle International Corporation Methods and apparatus for providing a client interface to an object-oriented invocation of an application
US5297249A (en) * 1990-10-31 1994-03-22 International Business Machines Corporation Hypermedia link marker abstract and search services
US5204947A (en) * 1990-10-31 1993-04-20 International Business Machines Corporation Application independent (open) hypermedia enablement services
US7525691B2 (en) 1991-02-12 2009-04-28 Catch Curve, Inc. Facsimile telecommunications system and method
US5241586A (en) * 1991-04-26 1993-08-31 Rolm Company Voice and text annotation of a call log database
US5200993A (en) * 1991-05-10 1993-04-06 Bell Atlantic Network Services, Inc. Public telephone network including a distributed imaging system
US5138694A (en) * 1991-06-28 1992-08-11 United Technologies Corporation Parallel processing qualitative reasoning system
US5781913A (en) * 1991-07-18 1998-07-14 Felsenstein; Lee Wearable hypermedium system
CA2067650C (en) * 1991-07-24 1996-10-22 Eric Jonathan Bauer Method and apparatus for operating a computer-based file system
US5485613A (en) * 1991-08-27 1996-01-16 At&T Corp. Method for automatic memory reclamation for object-oriented systems with real-time constraints
US5367621A (en) * 1991-09-06 1994-11-22 International Business Machines Corporation Data processing method to provide a generalized link from a reference point in an on-line book to an arbitrary multimedia object which can be dynamically updated
US5790174A (en) * 1991-09-27 1998-08-04 Bell Atlantic Network Services, Inc. PSTN architecture for video-on-demand services
US5528281A (en) * 1991-09-27 1996-06-18 Bell Atlantic Network Services Method and system for accessing multimedia data over public switched telephone network
US5673362A (en) * 1991-11-12 1997-09-30 Fujitsu Limited Speech synthesis system in which a plurality of clients and at least one voice synthesizing server are connected to a local area network
US5906656A (en) * 1991-12-26 1999-05-25 International Business Machines Corporation Method and system for providing actions by way of electronic distributions
JPH05205024A (ja) * 1992-01-30 1993-08-13 Hitachi Ltd 情報管理方法及びそれを用いたマルチメディアシステム
EP0555027B1 (de) * 1992-02-04 1999-09-15 Ricoh Company, Ltd Informationsverarbeitungsapparat und -verfahren unter Verwendung eines zusätzlichen zweckmässigen Informationspakets
US5428778A (en) * 1992-02-13 1995-06-27 Office Express Pty. Ltd. Selective dissemination of information
US6266674B1 (en) * 1992-03-16 2001-07-24 Donald J. Hejna, Jr. Random access information retrieval utilizing user-defined labels
JPH0812632B2 (ja) * 1992-04-30 1996-02-07 インターナショナル・ビジネス・マシーンズ・コーポレイション 情報化システムおよび情報化方法
US5307490A (en) * 1992-08-28 1994-04-26 Tandem Computers, Inc. Method and system for implementing remote procedure calls in a distributed computer system
US5561785A (en) * 1992-10-29 1996-10-01 International Business Machines Corporation System for allocating and returning storage and collecting garbage using subpool of available blocks
US5539871A (en) * 1992-11-02 1996-07-23 International Business Machines Corporation Method and system for accessing associated data sets in a multimedia environment in a data processing system
US5689699A (en) * 1992-12-23 1997-11-18 International Business Machines Corporation Dynamic verification of authorization in retention management schemes for data processing systems
US7082106B2 (en) 1993-01-08 2006-07-25 Multi-Tech Systems, Inc. Computer-based multi-media communications system and method
US6230211B1 (en) * 1993-01-19 2001-05-08 Canon Kabushiki Kaisha Container-based method for exchanging information between computer processes
US5414757A (en) * 1993-02-02 1995-05-09 Octel Communications Corporation Voice mail system for news bulletins
US5560026A (en) * 1993-08-10 1996-09-24 International Business Machines Corporation Method and system for corrective re-installation of an object on a data processing system
JPH0765143A (ja) * 1993-08-13 1995-03-10 Internatl Business Mach Corp <Ibm> データ処理システムのユーザインタフェース上の図形タイムバーにオブジェクト内容を画く方法及びシステム
JPH0773050A (ja) * 1993-09-01 1995-03-17 Fujitsu Ltd プログラム間のデータ授受制御方式
JP3303543B2 (ja) * 1993-09-27 2002-07-22 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチメディア・セグメントを構成してプレイする方法、および2つ以上のマルチメディア・ストーリーをハイパーストーリーとして構成してプレイする方法
US6594688B2 (en) * 1993-10-01 2003-07-15 Collaboration Properties, Inc. Dedicated echo canceler for a workstation
DE4439113C2 (de) * 1993-11-02 2000-10-26 Ricoh Kk Dokumentenumlaufeinrichtung
EP0658855A1 (de) * 1993-12-16 1995-06-21 International Business Machines Corporation Verfahren und System zur Integrierung von Multimedia in einer objektorientierten Benutzerschnittstelle
JP3185505B2 (ja) * 1993-12-24 2001-07-11 株式会社日立製作所 会議録作成支援装置
GB2285895A (en) * 1994-01-19 1995-07-26 Ibm Audio conferencing system which generates a set of minutes
US5822720A (en) 1994-02-16 1998-10-13 Sentius Corporation System amd method for linking streams of multimedia data for reference material for display
US5537644A (en) * 1994-04-26 1996-07-16 United Technologies Corporation Machine failure isolation in multiple machine configurations using qualitative physics
US5522014A (en) * 1994-04-26 1996-05-28 United Technologies Corporation Intergrated qualitative/quantitative reasoning with enhanced core predictions and extended test procedures for machine failure isolation using qualitative physics
US5533103A (en) * 1994-04-28 1996-07-02 Electronic Information Systems, Inc. Calling system and method
US5745895A (en) * 1994-06-21 1998-04-28 International Business Machines Corporation Method for association of heterogeneous information
US5608900A (en) * 1994-06-21 1997-03-04 Internationl Business Machines Corp. Generation and storage of connections between objects in a computer network
US5687367A (en) * 1994-06-21 1997-11-11 International Business Machines Corp. Facility for the storage and management of connection (connection server)
US5557790A (en) * 1994-06-21 1996-09-17 International Business Machines Corp. Facility for the generic storage and management of multimedia objects
US5678038A (en) * 1994-06-21 1997-10-14 International Business Machines Corporation Storing and retrieving heterogeneous classification systems utilizing globally unique identifiers
US5854923A (en) * 1994-06-21 1998-12-29 International Business Machines Corp. Facility for the intelligent selection of information objects (persona)
US5689550A (en) * 1994-08-08 1997-11-18 Voice-Tel Enterprises, Inc. Interface enabling voice messaging systems to interact with communications networks
US5831615A (en) * 1994-09-30 1998-11-03 Intel Corporation Method and apparatus for redrawing transparent windows
US5603026A (en) 1994-12-07 1997-02-11 Xerox Corporation Application-specific conflict resolution for weakly consistent replicated databases
US5577240A (en) 1994-12-07 1996-11-19 Xerox Corporation Identification of stable writes in weakly consistent replicated databases while providing access to all writes in such a database
US5671407A (en) 1994-12-07 1997-09-23 Xerox Corporation Application-specific conflict detection for weakly consistent replicated databases
US5581754A (en) 1994-12-07 1996-12-03 Xerox Corporation Methodology for managing weakly consistent replicated databases
US5546517A (en) * 1994-12-07 1996-08-13 Mitsubishi Electric Information Technology Center America, Inc. Apparatus for determining the structure of a hypermedia document using graph partitioning
AU5386796A (en) * 1995-04-11 1996-10-30 Kinetech, Inc. Identifying data in a data processing system
US6101525A (en) * 1995-05-19 2000-08-08 Emc Corporation Method and apparatus for shared memory cleanup
US6549942B1 (en) 1995-05-25 2003-04-15 Audiohighway.Com Enhanced delivery of audio data for portable playback
JPH0916607A (ja) * 1995-06-26 1997-01-17 Hitachi Ltd データベース管理システムにおけるインデクス管理方法
US5881142A (en) * 1995-07-18 1999-03-09 Jetstream Communications, Inc. Integrated communications control device for a small office configured for coupling within a scalable network
US5682534A (en) * 1995-09-12 1997-10-28 International Business Machines Corporation Transparent local RPC optimization
US5754782A (en) * 1995-12-04 1998-05-19 International Business Machines Corporation System and method for backing up and restoring groupware documents
US5813008A (en) * 1996-07-12 1998-09-22 Microsoft Corporation Single instance storage of information
GB9620082D0 (en) 1996-09-26 1996-11-13 Eyretel Ltd Signal monitoring apparatus
US5764916A (en) * 1996-09-27 1998-06-09 Ichat, Inc. Method and apparatus for real time communication over a computer network
US7263526B1 (en) 1996-10-30 2007-08-28 Avaya Technology Corp. Method and apparatus for embedding chat functions in a web page
US6785708B1 (en) 1996-10-30 2004-08-31 Avaya Inc. Method and apparatus for synchronizing browse and chat functions on a computer network
US6275857B1 (en) * 1996-10-30 2001-08-14 Microsoft Corporation System and method for freeing shared resources in a computer system
US5987611A (en) * 1996-12-31 1999-11-16 Zone Labs, Inc. System and methodology for managing internet access on a per application basis for client computers connected to the internet
US6408429B1 (en) 1997-01-17 2002-06-18 Cognex Corporation Machine vision system for identifying and assessing features of an article
US5870744A (en) * 1997-06-30 1999-02-09 Intel Corporation Virtual people networking
US6816904B1 (en) * 1997-11-04 2004-11-09 Collaboration Properties, Inc. Networked video multimedia storage server environment
US6058424A (en) * 1997-11-17 2000-05-02 International Business Machines Corporation System and method for transferring a session from one application server to another without losing existing resources
US6092074A (en) 1998-02-10 2000-07-18 Connect Innovations, Inc. Dynamic insertion and updating of hypertext links for internet servers
US6154783A (en) * 1998-09-18 2000-11-28 Tacit Knowledge Systems Method and apparatus for addressing an electronic document for transmission over a network
US6115709A (en) 1998-09-18 2000-09-05 Tacit Knowledge Systems, Inc. Method and system for constructing a knowledge profile of a user having unrestricted and restricted access portions according to respective levels of confidence of content of the portions
US6253202B1 (en) 1998-09-18 2001-06-26 Tacit Knowledge Systems, Inc. Method, system and apparatus for authorizing access by a first user to a knowledge profile of a second user responsive to an access request from the first user
AU5910699A (en) 1998-09-18 2000-04-10 Tacit Knowledge Systems Method of constructing and displaying an entity profile constructed utilizing input from entities other than the owner
AU5822899A (en) 1998-09-18 2000-04-10 Tacit Knowledge Systems Method and apparatus for querying a user knowledge profile
US6377949B1 (en) 1998-09-18 2002-04-23 Tacit Knowledge Systems, Inc. Method and apparatus for assigning a confidence level to a term within a user knowledge profile
US8380875B1 (en) 1998-09-18 2013-02-19 Oracle International Corporation Method and system for addressing a communication document for transmission over a network based on the content thereof
GB9907283D0 (en) * 1999-03-31 1999-05-26 Koninkl Philips Electronics Nv Memory reclamation method
US6611858B1 (en) * 1999-11-05 2003-08-26 Lucent Technologies Inc. Garbage collection method for time-constrained distributed applications
US7210104B2 (en) * 2000-02-16 2007-04-24 Sega Corporation Information display method and information display system for finding another user in a plurality of users based upon registered information
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US7120629B1 (en) 2000-05-24 2006-10-10 Reachforce, Inc. Prospects harvester system for providing contact data about customers of product or service offered by business enterprise extracting text documents selected from newsgroups, discussion forums, mailing lists, querying such data to provide customers who confirm to business profile data
US7082427B1 (en) 2000-05-24 2006-07-25 Reachforce, Inc. Text indexing system to index, query the archive database document by keyword data representing the content of the documents and by contact data associated with the participant who generated the document
US7003517B1 (en) * 2000-05-24 2006-02-21 Inetprofit, Inc. Web-based system and method for archiving and searching participant-based internet text sources for customer lead data
US7096220B1 (en) 2000-05-24 2006-08-22 Reachforce, Inc. Web-based customer prospects harvester system
US7555503B1 (en) * 2000-06-30 2009-06-30 Click Commerce, Inc. Method and apparatus for managing updates to a catalog
WO2002014990A1 (en) * 2000-08-11 2002-02-21 Faeltskog Lars Distribution of media content, with automatic deletion
US7330850B1 (en) 2000-10-04 2008-02-12 Reachforce, Inc. Text mining system for web-based business intelligence applied to web site server logs
US7043531B1 (en) 2000-10-04 2006-05-09 Inetprofit, Inc. Web-based customer lead generator system with pre-emptive profiling
US6668251B1 (en) 2000-11-01 2003-12-23 Tacit Knowledge Systems, Inc. Rendering discriminator members from an initial set of result data
US20040111386A1 (en) * 2001-01-08 2004-06-10 Goldberg Jonathan M. Knowledge neighborhoods
US6701464B2 (en) * 2001-03-01 2004-03-02 International Business Machines Corporation Method and system for reporting error logs within a logical partition environment
GB0111008D0 (en) * 2001-05-04 2001-06-27 Koninkl Philips Electronics Nv Recording of interactive applications
US20040107360A1 (en) * 2002-12-02 2004-06-03 Zone Labs, Inc. System and Methodology for Policy Enforcement
US8200818B2 (en) * 2001-07-06 2012-06-12 Check Point Software Technologies, Inc. System providing internet access management with router-based policy enforcement
US7546629B2 (en) * 2002-03-06 2009-06-09 Check Point Software Technologies, Inc. System and methodology for security policy arbitration
US7590684B2 (en) * 2001-07-06 2009-09-15 Check Point Software Technologies, Inc. System providing methodology for access control with cooperative enforcement
US7222359B2 (en) * 2001-07-27 2007-05-22 Check Point Software Technologies, Inc. System methodology for automatic local network discovery and firewall reconfiguration for mobile computing devices
US7773730B1 (en) 2001-08-09 2010-08-10 Voice Signature Llc Voice record integrator
US7130861B2 (en) * 2001-08-16 2006-10-31 Sentius International Corporation Automated creation and delivery of database content
ITFI20010199A1 (it) 2001-10-22 2003-04-22 Riccardo Vieri Sistema e metodo per trasformare in voce comunicazioni testuali ed inviarle con una connessione internet a qualsiasi apparato telefonico
JP2003157376A (ja) * 2001-11-21 2003-05-30 Ricoh Co Ltd ネットワークシステム、識別情報管理方法、サーバ装置、プログラム、および記録媒体
US7233959B2 (en) * 2002-06-03 2007-06-19 International Business Machines Corporation Life-cycle management engine
US7469210B1 (en) 2002-08-08 2008-12-23 Voice Signature Llc Outbound voice signature calls
US6850943B2 (en) * 2002-10-18 2005-02-01 Check Point Software Technologies, Inc. Security system and methodology for providing indirect access control
US7165076B2 (en) * 2002-11-15 2007-01-16 Check Point Software Technologies, Inc. Security system with methodology for computing unique security signature for executable file employed across different machines
US9805373B1 (en) 2002-11-19 2017-10-31 Oracle International Corporation Expertise services platform
US8136155B2 (en) * 2003-04-01 2012-03-13 Check Point Software Technologies, Inc. Security system with methodology for interprocess communication control
EP2996054B1 (de) * 2003-05-19 2020-07-08 Huawei Technologies Co., Ltd. Begrenzung von scans von lose geordneten und/oder gruppierten beziehungen unter verwendung nahezu geordneter abbildungen
US7788726B2 (en) * 2003-07-02 2010-08-31 Check Point Software Technologies, Inc. System and methodology providing information lockbox
US8281114B2 (en) * 2003-12-23 2012-10-02 Check Point Software Technologies, Inc. Security system with methodology for defending against security breaches of peripheral devices
US8136149B2 (en) * 2004-06-07 2012-03-13 Check Point Software Technologies, Inc. Security system with methodology providing verified secured individual end points
US7627896B2 (en) * 2004-12-24 2009-12-01 Check Point Software Technologies, Inc. Security system providing methodology for cooperative enforcement of security policies during SSL sessions
US8918366B2 (en) * 2005-02-07 2014-12-23 Mimosa Systems, Inc. Synthetic full copies of data and dynamic bulk-to-brick transformation
US8799206B2 (en) * 2005-02-07 2014-08-05 Mimosa Systems, Inc. Dynamic bulk-to-brick transformation of data
US8271436B2 (en) * 2005-02-07 2012-09-18 Mimosa Systems, Inc. Retro-fitting synthetic full copies of data
US8812433B2 (en) * 2005-02-07 2014-08-19 Mimosa Systems, Inc. Dynamic bulk-to-brick transformation of data
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7633076B2 (en) 2005-09-30 2009-12-15 Apple Inc. Automated response to and sensing of user activity in portable devices
US8185576B2 (en) * 2006-03-14 2012-05-22 Altnet, Inc. Filter for a distributed network
US20070233757A1 (en) * 2006-03-30 2007-10-04 Fujitsu Limited Garbage collection method and a hierarchy storage device
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US9053089B2 (en) 2007-10-02 2015-06-09 Apple Inc. Part-of-speech tagging using latent analogy
US8620662B2 (en) 2007-11-20 2013-12-31 Apple Inc. Context-aware unit selection
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8065143B2 (en) 2008-02-22 2011-11-22 Apple Inc. Providing text input using speech data and non-speech data
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US8464150B2 (en) 2008-06-07 2013-06-11 Apple Inc. Automatic language identification for dynamic text processing
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8768702B2 (en) 2008-09-05 2014-07-01 Apple Inc. Multi-tiered voice feedback in an electronic device
US8898568B2 (en) 2008-09-09 2014-11-25 Apple Inc. Audio user interface
US8583418B2 (en) 2008-09-29 2013-11-12 Apple Inc. Systems and methods of detecting language and natural language strings for text to speech synthesis
US8712776B2 (en) 2008-09-29 2014-04-29 Apple Inc. Systems and methods for selective text to speech synthesis
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US8862252B2 (en) 2009-01-30 2014-10-14 Apple Inc. Audio user interface for displayless electronic device
US8380507B2 (en) 2009-03-09 2013-02-19 Apple Inc. Systems and methods for determining the language to use for speech generated by a text to speech engine
US8397056B1 (en) 2009-04-21 2013-03-12 Jackbe Corporation Method and apparatus to apply an attribute based dynamic policy for mashup resources
US8458596B1 (en) 2009-04-21 2013-06-04 Jackbe Corporation Method and apparatus for a mashup dashboard
US10540976B2 (en) 2009-06-05 2020-01-21 Apple Inc. Contextual voice commands
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US9110577B1 (en) * 2009-09-30 2015-08-18 Software AG USA Inc. Method and system for capturing, inferring, and/or navigating dependencies between mashups and their data sources and consumers
US8682649B2 (en) 2009-11-12 2014-03-25 Apple Inc. Sentiment prediction from textual data
US8600743B2 (en) 2010-01-06 2013-12-03 Apple Inc. Noise profile determination for voice-related feature
US8381107B2 (en) 2010-01-13 2013-02-19 Apple Inc. Adaptive audio feedback system and method
US8311838B2 (en) 2010-01-13 2012-11-13 Apple Inc. Devices and methods for identifying a prompt corresponding to a voice input in a sequence of prompts
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
DE202011111062U1 (de) 2010-01-25 2019-02-19 Newvaluexchange Ltd. Vorrichtung und System für eine Digitalkonversationsmanagementplattform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8572229B2 (en) * 2010-05-28 2013-10-29 Microsoft Corporation Distributed computing
US9367595B1 (en) 2010-06-04 2016-06-14 Software AG USA Inc. Method and system for visual wiring tool to interconnect apps
US8713021B2 (en) 2010-07-07 2014-04-29 Apple Inc. Unsupervised document clustering using latent semantic density analysis
US8719006B2 (en) 2010-08-27 2014-05-06 Apple Inc. Combined statistical and rule-based part-of-speech tagging for text-to-speech synthesis
US8719014B2 (en) 2010-09-27 2014-05-06 Apple Inc. Electronic device with text error correction based on voice recognition data
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US10515147B2 (en) 2010-12-22 2019-12-24 Apple Inc. Using statistical language models for contextual lookup
US8781836B2 (en) 2011-02-22 2014-07-15 Apple Inc. Hearing assistance system for providing consistent human speech
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US20120310642A1 (en) 2011-06-03 2012-12-06 Apple Inc. Automatically creating a mapping between text data and audio data
US8812294B2 (en) 2011-06-21 2014-08-19 Apple Inc. Translating phrases from one language into another using an order-based set of declarative rules
US8706472B2 (en) 2011-08-11 2014-04-22 Apple Inc. Method for disambiguating multiple readings in language conversion
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US8762156B2 (en) 2011-09-28 2014-06-24 Apple Inc. Speech recognition repair using contextual information
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US8775442B2 (en) 2012-05-15 2014-07-08 Apple Inc. Semantic search using a single-source semantic model
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US10019994B2 (en) 2012-06-08 2018-07-10 Apple Inc. Systems and methods for recognizing textual identifiers within a plurality of words
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US8935167B2 (en) 2012-09-25 2015-01-13 Apple Inc. Exemplar-based latent perceptual modeling for automatic speech recognition
US10199051B2 (en) 2013-02-07 2019-02-05 Apple Inc. Voice trigger for a digital assistant
US10572476B2 (en) 2013-03-14 2020-02-25 Apple Inc. Refining a search based on schedule items
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10642574B2 (en) 2013-03-14 2020-05-05 Apple Inc. Device, method, and graphical user interface for outputting captions
US9977779B2 (en) 2013-03-14 2018-05-22 Apple Inc. Automatic supplementation of word correction dictionaries
US9733821B2 (en) 2013-03-14 2017-08-15 Apple Inc. Voice control to diagnose inadvertent activation of accessibility features
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
KR101759009B1 (ko) 2013-03-15 2017-07-17 애플 인크. 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것
CN105144133B (zh) 2013-03-15 2020-11-20 苹果公司 对中断进行上下文相关处理
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
CN110096712B (zh) 2013-03-15 2023-06-20 苹果公司 通过智能数字助理的用户培训
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
DE112014002747T5 (de) 2013-06-09 2016-03-03 Apple Inc. Vorrichtung, Verfahren und grafische Benutzerschnittstelle zum Ermöglichen einer Konversationspersistenz über zwei oder mehr Instanzen eines digitalen Assistenten
AU2014278595B2 (en) 2013-06-13 2017-04-06 Apple Inc. System and method for emergency calls initiated by voice command
KR101749009B1 (ko) 2013-08-06 2017-06-19 애플 인크. 원격 디바이스로부터의 활동에 기초한 스마트 응답의 자동 활성화
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
EP3480811A1 (de) 2014-05-30 2019-05-08 Apple Inc. Verfahren zur eingabe von mehreren befehlen mit einer einzigen äusserung
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
CN107010337B (zh) * 2017-05-15 2019-06-11 浙江竟成环保科技有限公司 一种基于互联网通信的垃圾分类、回收系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3653001A (en) * 1967-11-13 1972-03-28 Bell Telephone Labor Inc Time-shared computer graphics system having data processing means at display terminals
US4084231A (en) * 1975-12-18 1978-04-11 International Business Machines Corporation System for facilitating the copying back of data in disc and tape units of a memory hierarchial system
US4390945A (en) * 1980-08-25 1983-06-28 Burroughs Corporation Self-managing variable field storage station employing a cursor for handling nested data structures
US4479196A (en) * 1982-11-15 1984-10-23 At&T Bell Laboratories Hyperedge entity-relationship data base systems
US4611298A (en) * 1983-06-03 1986-09-09 Harding And Harris Behavioral Research, Inc. Information storage and retrieval system and method
US4716524A (en) * 1985-04-04 1987-12-29 Texas Instruments Incorporated Apparatus and method removing increment/decrement pairs to decimate a block reference stream
US4814971A (en) * 1985-09-11 1989-03-21 Texas Instruments Incorporated Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state
US4809170A (en) * 1987-04-22 1989-02-28 Apollo Computer, Inc. Computer device for aiding in the development of software system

Also Published As

Publication number Publication date
EP0315426A3 (en) 1990-11-28
US4914586A (en) 1990-04-03
EP0315426A2 (de) 1989-05-10
JP2795856B2 (ja) 1998-09-10
JPH01156840A (ja) 1989-06-20
DE3855152D1 (de) 1996-05-02
EP0315426B1 (de) 1996-03-27

Similar Documents

Publication Publication Date Title
DE3855152T2 (de) Verteiltes Computersystem
DE60006845T2 (de) Verfahren und vorrichtung zur zusammenarbeit bei multimediaerzeugung über einem netzwerk
Terry et al. Managing stored voice in the Etherphone system
DE69634473T2 (de) Universelles Nachrichtenablieferungssystem
DE69331660T2 (de) Zusammenarbeit in einem netzwerk
DE69730929T2 (de) System zur Verwaltung der Mitanwesenheit innerhalb Gemeinschaften
DE69632121T2 (de) Universelles Nachrichtenspeichersystem
DE69516727T2 (de) Verfahren und system um auf daten zuzugreifen
DE3885451T2 (de) Elektronisches Post-Folgesystem.
DE69909555T2 (de) Verteiltes Anrufsystem
DE69907631T2 (de) Netzzugang zu inhaltsadressierbaren daten
DE69902786T2 (de) Universelles benachrichtigungssystem
EP1194865B1 (de) Verfahren zur datenpflege in einem netzwerk teilweise replizierter datenbanksysteme
DE68921715T2 (de) Konferenzverbindungssystem.
DE69505561T2 (de) Verfahren und gerät um unterbaumstrukturen in einer netzwerkdatei zu verschieben
DE69327761T2 (de) Verfahren und Vorrichtung zum Einsetzen von Marken in einem elektronischen Poststück
DE69633103T2 (de) Universeller Rufnummernauskunftsdienst
DE3855260T2 (de) System und Verfahren zum Zugriff von Ferndateien in einem verteilten Netzwerk
DE69417279T2 (de) Verfahren und Anordnung zum automatischen Aktualisieren von Telephonbeantwortervorrichtungen
DE19919146A1 (de) Hochleistungs-Nachrichtenspeicher
DE69031164T2 (de) Zeitlich begrenztes zentrumsystem für dezentralisiertes datenbanksystem
DE69522872T2 (de) System zur Ton Konvertierung und Speicherung über Netzwerk
DE60306209T2 (de) Verfahren, mobile vorrichtungen und rechnerlesbare media zur datenverwaltung
DE69622927T2 (de) Informationsablaufverfolgungsystem und -verfahren
EP1225511A1 (de) Verfahren und system zur akten-verwaltung in verteilten umgebungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee