DE69838314T2 - Verfahren und Vorrichtung zum dynamischen Laden eines Transportmechanismus in einem Mehrpunktdatenübermittlungssystem - Google Patents

Verfahren und Vorrichtung zum dynamischen Laden eines Transportmechanismus in einem Mehrpunktdatenübermittlungssystem Download PDF

Info

Publication number
DE69838314T2
DE69838314T2 DE69838314T DE69838314T DE69838314T2 DE 69838314 T2 DE69838314 T2 DE 69838314T2 DE 69838314 T DE69838314 T DE 69838314T DE 69838314 T DE69838314 T DE 69838314T DE 69838314 T2 DE69838314 T2 DE 69838314T2
Authority
DE
Germany
Prior art keywords
source
registry
session
transport mechanism
source locator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69838314T
Other languages
English (en)
Other versions
DE69838314D1 (de
Inventor
Richard N. Redwood City Burridge
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Application granted granted Critical
Publication of DE69838314D1 publication Critical patent/DE69838314D1/de
Publication of DE69838314T2 publication Critical patent/DE69838314T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4535Network directories; Name-to-address mapping using an address exchange platform which sets up a session between two nodes, e.g. rendezvous servers, session initiation protocols [SIP] registrars or H.323 gatekeepers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Mehrpunkt-Datenzustellungs- bzw. -übermittlungssysteme und insbesondere Transportmechanismen in einem Mehrpunkt-Datenzustellungssystem.
  • HINTERGRUND DER ERFINDUNG
  • Sowie Computer für Wirtschaft und Unterhaltung wichtiger werden, muss die Kommunikation zwischen Computerbenutzern verbessert werden. Eine wichtige Funktion von Computern besteht darin, Information an Benutzer zu verteilen und Benutzern zu ermöglichen, miteinander zu kommunizieren und zusammenzuarbeiten. Bekannte Systeme zur Verteilung von Information und zum Zusammenwirken weisen elektronische Post (E-Mail), Verteilerlisten, Verfügbarmachung von Information durch ein Mailboxsystem oder eine Seite im World Wide Web und Videokonferenzen auf.
  • Elektronische Post ermöglicht einem Benutzer, Information an eine Vielzahl von Empfängern zu versenden. Jedoch sind Antworten auf E-Mail nicht ohne weiteres zu sammeln. Außerdem können mehrere Teilnehmer nicht ohne weiteres unter Verwendung von E-Mail zusammenarbeiten.
  • Verteilerlisten sind nützlich zur Verteilung von Information, aber es ist ziemlich schwierig, im Einzelfall festzulegen, welche Information durch einen Teilnehmer empfangen wird. Außerdem kann die Verteilerliste allzu schwerfällig werden, wenn Rückmeldungen erlaubt sind.
  • Ein Mailboxsystem oder eine Webseite ist nützlich, um Information zu veröffentlichen. Jedoch können Benutzer im allgemeinen die angezeigte Information nicht ohne weiteres verändern. Somit lässt diese Umgebung zwar Bekanntgabe zu, erlaubt aber keine volle Zusammenarbeit zwischen Benutzern.
  • Videokonferenzen und ähnliche Verfahren können verwendet werden, um an spezifischen Projekten zusammenzuarbeiten. Jedoch erfordern Videokonferenzen im allgemeinen ein zweckgebundenes Computersystem, das während der Videokonferenz nicht für etwas anderes verwendet werden kann. Obendrein ist die Teilnahme an Videokonferenzen normalerweise durch das Ausmaß an Verarbeitungsleistung und Netzwerk-Bandbreite beschränkt, das erforderlich ist, um jeden Teilnehmer aufzunehmen. Daher ist die Anzahl der Teilnehmer an solchen Konferenzen erheblich eingeschränkt. Somit ist es ziemlich schwierig, eine langfristige Zusammenarbeit zwischen mehreren Benutzern über ein Videokonferenz-System durchzuführen.
  • Wenn Zusammenarbeit zwischen mehreren Benutzern stattfindet, die Computer in unterschiedlichen Netzwerken verwenden, können unterschiedliche Vernetzungsprotokolle vorliegen. Dies erfordert im allgemeinen, dass mehrere Softwareversionen geschrieben werden, eine Version für jedes spezifische Protokoll. Daher wäre es vorteilhaft, einen verbesserten Mechanismus für die Zusammenarbeit zu haben, der außerdem unabhängig von den zugrundeliegenden Netzwerkprotokollen ist.
  • WO 95/17066 beschreibt eine objektorientierte Client-Server-Einrichtung und eine Vernetzungsserver-Einrichtung. Schnittstellen implementieren die Kommunikation zwischen Anwendungsprogrammen, die sich in Client- und Server-Knoten eines verteilten Netzwerks befinden.
  • KURZE ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß der vorliegenden Erfindung wird ein Verfahren zum Eintreten in eine Zusammenarbeitssitzung bereitgestellt, das die folgenden Schritte umfasst: Erzeugen einer Anforderung in Form eines Quellenlokalisierers, der einer Zusammenarbeitssitzung in einer Registratur entspricht; Empfangen einer Quellenkennung, die einem gespeicherten Quellenlokalisierer in der Registratur entspricht; und als Antwort auf den Empfang der Quellenkennung, die dem gespeicherten Quellenlokalisierer in der Registratur entspricht, dynamisches Laden eines im Quellenlokalisierer angegebenen Transportmechanismus, wobei der Transportmechanismus ein Protokollstapel ist; und Eintreten in die Zusammenarbeitssitzung.
  • Außerdem werden bereitgestellt: eine Vorrichtung zur Unterstützung der Zusammenarbeit zwischen Computerbenutzern, ein Computerdatensignal auf einer Trägerwelle, welches das erwähnte Verfahren darstellt, und ein maschinenlesbares Medium mit Anweisungen zur Ausführung des erwähnten Verfahrens, was die unabhängigen Ansprüche betrifft.
  • Ausführungsformen der vorliegenden Erfindung stellen ein Verfahren und eine Vorrichtung zum dynamischen Laden eines Transportmechanismus in einem Mehrpunkt-Datenzustellungssystem bereit. Ein Mehrpunkt-Datenzustellungssystem stellt einen Kommunikationsmechanismus zwischen Benutzern oder einem Computersystem bereit, der das Punkt-zu-Punkt- und Punkt-zu-Mehrpunkt-Senden von Nachrichten ermöglicht. Der Transportmechanismus kann ein Protokollstapel sein, der das verwendete Transportprotokoll kennzeichnet. Die Transportprotokolle können folgendes aufweisen: Übertragungssteuerungsprotokoll (TCP), Benutzer-Datagramm-Protokoll (UDP), Aufruf entfernter Methoden (RMI), T.120, Objektanforderungsbroker-Architektur (CORBA), Skalierbarer Zuverlässiger Gruppenruf (SRM) und andere Implementierungen der Transportebene.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird zu Beispielzwecken und nicht zum Zweck der Einschränkung in den Figuren der beigefügten Zeichnungen dargestellt, wobei in diesen gleiche Bezugszeichen ähnliche Elemente bezeichnen und wobei diese folgendes zeigen:
  • 1 ist ein Blockschaltbild, das eine Ausführungsform eines Computernetzwerks darstellt, in dem die vorliegende Erfindung implementiert werden kann;
  • 2 ist eine grafische Übersichtsdarstellung einer Ausführungsform der vorliegenden Erfindung;
  • 3 ist ein Blockschaltbild, das ein Beispiel einer Sitzung darstellt;
  • 4 ist ein Blockschaltbild, das eine Ausführungsform der gesamten Anwendungsschnittstelle darstellt; und
  • 5 ist ein Ablaufplan, der ein Verfahren zum dynamischen Laden des Transportmechanismus darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG EINER AUSFÜHRUNGSFORM
  • Ein Verfahren und eine Vorrichtung zum dynamischen Laden des Transportmechanismus in einem Mehrpunkt-Datenzustellungssystem werden beschrieben. In der folgenden Beschreibung werden zum Zweck der Erklärung zahlreiche Einzelheiten dargelegt, um ein umfassendes Verständnis der vorliegenden Erfindung zu ermöglichen. Für den Fachmann wird jedoch offensichtlich, dass die vorliegende Erfindung ohne diese spezifischen Einzelheiten in die Praxis umgesetzt werden kann. In anderen Fällen werden bekannte Strukturen und Vorrichtungen in Form von Blockschaltbildern gezeigt, um zu vermeiden, dass die vorliegende Erfindung unnötig unverständlich gemacht wird.
  • 1 ist ein Blockschaltbild, das eine Ausführungsform eines Computernetzwerks darstellt, in dem die vorliegende Erfindung implementiert werden kann. Computersysteme 110 sind mit anderen Computersystemen 110 entweder direkt unter Verwendung der Direktverbindung 120 oder durch ein Netzwerk 130 gekoppelt. In einer Ausführungsform können eines oder mehrere der Computersysteme 110 „Clients" einer „Sitzung" sein, die auf einem anderen Computersystem 110 ausgeführt wird. Diese Begriffe werden nachstehend definiert. Alternativ kann ein Computersystem 110 als Server fungieren, während die anderen Computersysteme 110 Clients sind. Alternativ kann die vorliegende Erfindung als ein verteiltes System implementiert werden, das Teile auf mehr als einem Computersystem hat. In einer alternativen Ausführungsform kann die Erfindung auf einem einzigen Computersystem 110 implementiert werden.
  • Die vorliegende Erfindung betrifft das dynamische Laden eines Transportprotokolls in einem Zusammenarbeitssystem in einem Computernetzwerk. Gemäß einer Ausführungsform wird ein Zusammenarbeitssystem als Antwort darauf verwaltet, dass ein Prozessor Folgen von Anweisungen ausführt, die im Speicher enthalten sind. Die Ausführung der Folgen von Anweisungen bewirkt, dass das Computernetzwerk eine Zusammenarbeitssitzung einrichtet, neue Sitzungen hinzufügt und ein Transportprotokoll dynamisch lädt, damit ein Benutzer in eine Zusammenarbeitssitzung eintreten kann, wie hierin nachstehend beschrieben wird. In alternativen Ausführungsformen kann eine Schaltungslogik innerhalb eines Computernetzwerks anstelle von oder in Kombination mit Software verwendet werden, um die vorliegende Erfindung zu implementieren. Somit ist die vorliegende Erfindung nicht auf irgendeine spezifische Kombination von Hardware und Software beschränkt.
  • Es versteht sich, dass, obwohl in der Beschreibung der Begriff „Quellenlokalisierer" (RL) verwendet wird, alternative Verfahren zum Spezifizieren eines Objekts im Internet genutzt werden können. Außerdem können innerhalb eines RL-Typs alternative Zugriffsprinzipien oder Protokolle genutzt werden. Somit kann ein RL genutzt werden, der dem Dateitransferprotokoll (FTP), Telnet und so weiter entspricht. Jedoch wird der Einfachheit halber nachfolgend der Begriff RL genutzt.
  • 2 ist ein Blockschaltbild, das eine Ausführungsform des Zusammenarbeitssystems der vorliegenden Erfindung darstellt. Das Zusammenarbeitssystem 210 der vorliegenden Erfindung kann auf einem oder mehreren Computersystemen 110 implementiert werden. Das Zusammenarbeitssystem 210 weist Elemente auf, die auf einem Server-Computer und auf einem Client-Computer implementiert sind. Der Server- und der Client-Computer können freilich derselbe Computer sein.
  • Eine Anwendungs-Benutzerschnittstelle 220 ist eine Schnittstelle, die den Clients/Benutzern Information anzeigt und Information von ihnen empfangt. In einer Ausführungsform kann die Schnittstelle 220 ein Teil einer WWW-Browseranwendung sein. Die Anwendungs-Benutzerschnittstelle 220 ist auf dem Computer, der als Client fungiert.
  • Das Zusammenarbeitssystem 210 weist ferner eine Registratur 230 auf. Die Registratur 230 enthält Information bezüglich der entfernten Sitzungen und Clients, was es anderen Computern ermöglicht, in verschiedene Sitzungen einzutreten und Clients zu werden, wie nachstehend beschrieben wird. In einer Ausführungsform ist die Registratur 230 ein Urlader-Namenserver. In einer Ausführungsform ist die Registratur 230 in dem Computer implementiert, der als Server fungiert.
  • Das Zusammenarbeitssystem 210 weist ferner einen Syntaxanalysator 240 auf. Der Syntaxanalysator 240 dient zur Syntaxanalyse eines empfangenen Quellenlokalisierers (RL). In einer Ausführungsform ist der Quellenlokalisierer ein einheitlicher Quellenlokalisierer (URL). Der Syntaxanalysator 240 zerlegt den RL zur weiteren Verarbeitung in seine Bestandteile, wie nachstehend beschrieben wird. Der Syntaxanalysator 240 ist auf dem Client-Computer implementiert.
  • Ein dynamischer Lader 250 ist Teil des Zusammenarbeitssystems 210. Der dynamische Lader dient zum dynamischen (das heißt automatischen) Laden eines Protokollstapels, der im Speicher 270 gespeichert ist. Der dynamische Lader 250 lädt einen Protokollstapel als Antwort auf einen RL, der einen Typ von Protokoll bezeichnet, der für eine neue Sitzung bzw. einen neuen Client verwendet werden soll, die bzw. der eingerichtet wird. Der dynamische Lader 250 empfängt die Typenbezeichnung von der Registratur 230, bestimmt den geeigneten Protokollstapel, der für den Typ zu laden ist, und ruft den Protokollstapel aus dem Speicher 270 ab. Somit lädt der dynamische Lader 250 dynamisch den geeigneten Protokollstapel als Antwort auf den Empfang einer Typenbezeichnung. In einer Ausführungsform ist der dynamische Lader 250 auf dem Client-Computer implementiert.
  • Eine Vergleichseinrichtung 260 vergleicht einen empfangenen RL mit RLs in der Registratur 230. Die Vergleichseinrichtung 260 bestimmt, ob der empfangene RL schon in der Registratur 230 steht. Die Vergleichseinrichtung 260 bestimmt, ob der RL eine neue Sitzung einrichten oder in eine bereits eingerichtete Sitzung eintreten muss, die in der Registratur 230 steht. Die Vergleichseinrichtung 260 gibt eine Bestimmung aus, ob im Speicher 270, welcher der Registratur 230 zugeordnet ist, ein übereinstimmender RL gefunden wurde. Die Vergleichseinrichtung 260 ist auf dem Server-Computer implementiert.
  • Der Sitzungsmanager 280 verwaltet jede der eingerichteten Sitzungen. Jede eingerichtete Sitzung hat einen RL in der Registratur 230 und mindestens einen Client. Ein Beispiel für eine Sitzung ist in 3 dargestellt. Ein Sitzungsmanager 280 ist auf dem Computer implementiert, der für die jeweils in Betracht kommende Sitzung als Server fungiert. Bei einer Ausführungsform muss der Server für eine Sitzung nicht auf dem gleichen Computer wie die Registratur 230 implementiert sein.
  • 3 stellt eine Übersicht einer Sitzung 300 für Computer-Zusammenarbeit dar. Sie ermöglicht, dass mehrere Personen eine Anwendung gemeinsam nutzen. Diese Sitzung 300 kann zum Beispiel ein Online-Chatprogramm, eine gemeinsam genutzte Dispotafel, ein Spielsystem und so weiter sein.
  • Die Sitzung 300 ist eine Zusammenstellung von zusammengehörigen Clients 320, 330, 360, die Nachrichten über definierte Kommunikationswege 380, 395 austauschen können. Die Clients 320, 330, 360 sind tatsächliche oder potentielle Teilnehmer an einer Instanz von Mehrteilnehmer-Kommunikation. Sobald sie einander in einer Sitzung 300 richtig zugeordnet sind, können die zusammengehörigen Clients 320, 330, 360 Daten nach einem Punkt-zu-Punkt- oder Punkt-zu-Mehrpunkt-Prinzip übermitteln. Die Sitzung 300 protokolliert den Zustand, welcher der Zusammenstellung von Clients 320, 330, 360 und ihren zugeordneten Kommunikationswegen 380, 395 zugeordnet ist, und kann mit einem Objekt zusammenwirken, das eine definierte Sitzungsverwaltungsrichtlinie einschließt, nämlich den Manager 310.
  • Ein Kanal 380, 395 ist eine spezifische Instanz eines potentiellen Mehrteilnehmer-Kommunikationsweges zwischen zwei oder mehr Clients 320, 330, 360 innerhalb einer gegebenen Sitzung 300. Ein Kanal 380 kann von mehreren Clients 320, 330, 360 gemeinsam genutzt werden, und zwei Clients 320, 330 können einen getrennten Kanal 395 einrichten. Alle Client-Objekte 320, 330, 360, die ein Interesse am Empfang von Nachrichten von einem gegebenen Kanal 380 anmelden, erhalten Nachrichten, die auf diesem Kanal 380 gesendet werden. Jedweder Client 320, der einen Objektverweis auf einem Kanal 380, 395 besitzt, ist imstande, eine Nachricht auf dem gegebenen Kanal 380, 395 zu senden, und ein Client 320 kann Verweise auf mehrere Kanäle 380, 395 haben. Somit kann zum Beispiel der Kanal 380 für Mehrteilnehmer-Kommunikation vom Kanal 395 für die Kommunikation zwischen zwei Clients 320, 330 getrennt sein.
  • Ein Kunde 325, 335, 355, 365 ist ein Client-Objekt, das sein Interesse am Empfang von Nachrichten angemeldet hat, die über einen gegebenen Kanal 380, 395 gesendet werden. Jeder Client 320, 330, 360 kann ein Kunde 325, 335, 355, 365 sein und es ist für einen gegebenen Clienten 330 möglich ein Kunde 335, 355 von mehreren Kanälen 380, 395 zur gleichen Zeit zu sein. Ein Client 320, 330, 360 setzt einen Kunden 325, 335, 355, 365 auf einen Kanal 380, 395, um Daten zu empfangen, die über diesen Kanal 380, 395 gesendet werden. Die Daten enthalten die Rohdaten plus den Namen des Senders, die Priorität der Daten, die gesendet wurden, und den Namen des Kanals 380, 395, über den die Daten gesendet wurden.
  • Ein Beobachter 315, 350, 390 ist ein Objekt, das sein Interesse daran angemeldet hat, über Veränderungen an einem Zustand eines anderen Objekts benachrichtigt zu werden. Ein Beobachter 315, 350, 390 kann Veränderungen in einer Sitzung 300, auf einem Kanal 380 oder an einem Token 340 beobachten. Ein Sitzungsbeobachter 315 wird über Clients 320, 330, 360 benachrichtigt, die in eine Sitzung 300 eintreten oder sie verlassen. Ein Kanalbeobachter 390 wird über Clients 320, 330, 360 benachrichtigt, die in einen Kanal 380, 395 eintreten, ihn verlassen, zum Eintreten eingeladen werden oder aus ihm ausgeschlossen werden. Ein Tokenbeobachter 350 wird über Clients 320, 330, 360 benachrichtigt, die in ein Token 340 eintreten, es verlassen, zum Eintreten eingeladen werden oder aus ihm ausgeschlossen werden. Der Tokenbeobachter 350 wird auch benachrichtigt, wenn ein Client 320, 330, 360 ein Token 340 an einen anderen Client 320, 330, 360 weiterzugeben oder von ihm zu übernehmen wünscht.
  • Ein Manager 310, 345, 385 schließt eine bestimmte Verwaltungsrichtlinie für ein anderes gegebenes Objekt ein. Der Zugriff auf eine Sitzung 300, einen Kanal 380 oder ein Token 340 kann gesteuert werden, indem ihr bzw. ihm zum Zeitpunkt der Erzeugung ein Manager 310, 345, 385 zugeordnet wird. Der Manager 310, 345, 385 authentifiziert Clients 320, 330, 360, die in diese Ressource einzutreten wünschen, und auf der Grundlage ihrer Antworten akzeptiert sie sie oder weist sie ab. Sowohl der Sende- als auch der Empfangszugriff auf individuelle Kanäle 395 können durch einen Privatkanal-Mechanismus gesteuert werden. Jedweder Client 320, 330, 360 kann einen privaten Kanal 395 einberufen, was dazu führt, dass der Client 320, 330, 360 der Privatkanal-Manager 385 eines leeren Kanals wird. Der Kanal-Manager 385 kann einen Client 320, 330, 360 einladen, in den Kanal 380 einzutreten, oder kann einen Client 320, 330, 360 zum Austreten zwingen.
  • Ein Token 340, 370 ist ein Synchronisationsobjekt, das eine eindeutige verteilte unteilbare Operation bildet. Die Token 340, 370 können verwendet werden, um eine Vielfalt von unterschiedlichen Synchronisationsmechanismen auf Anwendungsebene zu implementieren, zum Beispiel, um einen Alleinberechtigungszugriff auf eine gemeinsam genutzte Ressource sicherzustellen. Die Token 340, 370 stellen ein Mittel zur Implementierung eines Alleinberechtigungszugriffs dar. Um zum Beispiel in einer Ressourcen nutzenden Mehrpunktanwendung sicherzustellen, dass zu einem gegebenen Zeitpunkt ein und nur ein Standort eine gegebene Ressource hält, kann jeder Ressource ein Token 340, 370 zugeordnet werden. Wenn ein Standort eine spezifische Ressource zu verwenden wünscht, muss er um deren entsprechendes Token 340, 370 bitten, welches nur dann gewährt wird, wenn niemand sonst es hält. Ein einzelnes Token 340, 370 kann verwendet werden, um ein Ereignis mit mehreren Clients zu koordinieren, indem jeder Client 320, 330, 360 in einem Nicht-Alleinberechtigungsmodus veranlasst wird, das Token 340, 370 zu nehmen. Die Clients 320, 330, 360 können unabhängig voneinander das gleiche Token 340, 370 sperren oder freigeben. Wenn zum Beispiel erwünscht wäre, zu wissen, wann alle Clients 320, 330, 360 den Empfang und die Verarbeitung einer Massendaten-Dateiübertragung abgeschlossen haben, würden alle empfangenden Clients 320, 330, 360 bei Nicht-Alleinberechtigung das gleiche Token 340, 370 ergreifen (sperren), und jeder einzelne Client 320, 330, 360 würde das Token 340, 370 freigeben, wenn er den verbotenen Prozess abgeschlossen hätte. Jeder Client 320, 330, 360 könnte das Token 340, 370 nach Belieben prüfen, um zu bestimmen, ob das Token 340, 370 frei ist, was bedeutet, dass alle Clients 320, 330, 360 die Verarbeitung abgeschlossen haben.
  • BETRIEBSBEISPIEL
  • Innerhalb einer Mehrpunktsitzung 300 kann ein Client 320, 330, 360 Daten an unterschiedliche Mitglieder der Sitzung 300 senden und zur Ressourcenkonfliktlösung Zugriff auf Token 340, 370 haben. Dieses Beispiel wird mit Bezug auf den Client D 330 beschrieben. Es versteht sich jedoch, dass die gegebene Beschreibung auch für jeden anderen Client gilt, der in eine Sitzung eintritt. Als erstes muss ein Client 330 in eine Sitzung 300 eintreten. Der Client 330 bestimmt zuerst, was für Sitzungen für ihn verfügbar sind.
  • Der Client 330 tritt dann in eine Sitzung 300 oder in mehrere Sitzungen ein. Die Sitzung hat normalerweise mehrere Clients 320, 330, 360, entweder am selben Standort oder an unterschiedlichen Standorten. Eine Anwendung oder ein Applet kann mehrere Clients 320, 330, 360 in der gleichen Sitzung 300 haben. Ein Applet ist ein in der JavaTM-Sprache von Sun MicrosystemsTM (Sun, Sun Microsystems, das Sun-Logo und Java sind eingetragene Warenzeichen der Sun Microsystems Inc. in den USA und anderen Ländern) geschriebenes plattformunabhängiges Programm, das als Anhang in einem WWW-Dokument verteilt und durch einen Web-Browser ausgeführt werden kann. Jeder Client 320, 330, 360 könnte eine andere Art von Daten, nämlich Audio- oder Video-Daten, behandeln. Bin Client 330 kann auch Mitglied mehrerer Sitzungen sein.
  • Wenn die Sitzung 300 eingerichtet worden ist und der Client 330 in die Sitzung 300 eingetreten ist, tritt der Client 330 in die geeigneten Kanäle 380, 395 ein, die er zum Empfang von Daten benötigt. Die Verwendung dieser Kanäle 380, 395 ist anwendungsabhängig. Außerdem werden Token 340, 370 zur Verwaltung einer für den Client verfügbaren Ressource bereitgestellt. Die Kanäle 380, 395 sind sitzungsweite Adressen. Jeder Client 320, 330, 360 einer Sitzung 300 kann in einen Kanal 380, 395 eintreten, um an ihn gesendete Daten zu empfangen, und indem er in eine geeignete Kombination von Kanälen 380, 395 eintritt und sie nutzt, kann sich ein Client 330 dafür entscheiden, an diese Kanäle 380, 395 gesendete Nachrichten zu empfangen und an andere Kanäle gesendete Nachrichten zu ignorieren. Der Client 330 abonniert und verlässt die erwünschten Kanäle 380, 395 gemäß den Kanaleintritts- und -austrittsmethoden.
  • Sobald sich die teilnehmenden Clients 320, 330, 360 der gemeinsamen Sitzung 300 angeschlossen haben und in die richtige Kombination von Kanälen 380, 395 eingetreten sind, sind sie bereit, Daten nach einem echten Mehrpunkt-Prinzip auszutauschen.
  • 4 ist ein Blockschaltbild, das die verschiedenen Ebenen des Zusammenwirkens innerhalb einer Zusammenarbeitsumgebung darstellt. Die unterste Ebene ist die Transportebene 410. Die Transportebene 410 wird genutzt, um die Kopplung zum Netzwerk herzustellen, und kann folgendes aufweisen: Übertragungssteuerungsprotokoll (TCP), Benutzer-Datagramm-Protokoll (UDP), Aufruf entfernter Methoden (RMI), T.120, Objektanforderungsbroker-Architektur (CORBA), Skalierbarer Zuverlässiger Gruppenruf (SRM) und andere Implementierungen der Transportebene 410.
  • Eine Registratur 420 liegt eine Ebene über der Transportebene 410. Die Registratur 420 befindet sich auf dem Computersystem, das als Server fungiert, und wird verwendet, um den Überblick über alle aktuellen Sitzungen und Clients zu behalten. In einer Ausführungsform ist die Registratur 420 ein Urlader-Namenserver, der es einem Benutzer ermöglicht, entfernte Sitzungen auf einem gegebenen Zentralcomputer zu erlangen. Die Registratur 420 ist eigentlich ein Datensatz, der eine Liste aller verfügbaren Sitzungen und Clients enthält. Oberhalb der Registratur 420 liegt die Sitzungsverwaltung 430. Die Sitzungsverwaltung 430 fungiert als Manager jeder einzelnen Sitzung, die im Gange ist. Jede Sitzung hat einen getrennten Verwaltungsblock, und all diese Verwaltungsblöcke bilden zusammen die Sitzungsverwaltung 430.
  • Auf der gleichen Ebene wie die Registratur 420 liegt die gemeinsame Nutzung verteilter Daten 440. Die gemeinsame Nutzung verteilter Daten 440 ermöglicht, dass die verschiedenen Typen von Datenobjekten von einer Anzahl von Clients gemeinsam genutzt werden können. Die gemeinsame Datennutzung 440 ermöglicht die gemeinsame Nutzung der gemeinschaftlichen Objekte 450, der gemeinschaftlichen Grundelemente 460, der Token 470 und der Veröffentlichungs/Abonnements-Tupel 480. Die gemeinsame Nutzung verteilter Daten 440 enthält außerdem die Kanäle und die Software zum Senden und Empfangen von Daten.
  • Die gemeinschaftlichen Objekte 450 befinden sich oberhalb der Sitzungsverwaltung 430. Die gemeinschaftlichen Objekte 450 weisen Sitzungen, Kanäle, Daten, Token, Beobachter, Kunden, Manager und Grundelemente auf. Alle Daten, die diesen Objekten zugeordnet sind, können durch Verwendung der gemeinsamen Datennutzung 440 gemeinsam genutzt werden. Bei einer Ausführungsform ermöglichen die gemeinschaftlichen Objekte 450 außerdem, dass Objekte außerhalb der Mehrpunkt-Zusammenarbeitsumgebung gemeinsam genutzt werden.
  • Die gemeinschaftlichen Grundelemente 460 befinden sich oberhalb der gemeinsamen Nutzung verteilter Daten 440 und der Sitzungsverwaltung 430. Die gemeinschaftlichen Grundelemente 460 werden verwendet, um einfache bezeichnete Datenelemente zu erzeugen und zu aktualisieren, die von den Mitgliedern einer Sitzung gemeinsam genutzt werden. Sie können folgendes aufweisen: Boolesch, Doppeltgenau, Fließkomma, Ganzzahl, Lang und Zeichenkette. Die gemeinschaftlichen Grundelemente 460 haben immer einen aktuellen internen Wert.
  • Die Token 470 befinden sich oberhalb der gemeinschaftlichen Grundelemente 460. Die Token 470 bilden ein Mittel, um Alleinberechtigungszugriff auf gemeinsam genutzte Ressourcen zu implementieren. Wenn ein Standort eine spezifische Ressource zu verwenden wünscht, muss er deren Token anfordern, welches nur dann gewährt wird, wenn kein anderer des Token hält. Die Token 470 werden auch dafür verwendet, ein Ereignis mit mehreren Clients zu koordinieren, und zwar durch Nicht-Alleinberechtigungstoken, die durch mehrere Clients zur gleichen Zeit gemeinsam genutzt werden können.
  • Die Veröffentlichungs/Abonnements-Tupel 480 befinden sich oberhalb der gemeinschaftlichen Grundelemente 460. Jedem Client sind Veröffentlichungs/Abonnements-Tupel 480 zugeordnet. Die Veröffentlichungs/Abonnements-Tupel 480 ermöglichen einem Client, etwas im Zusammenarbeitssystem zu veröffentlichen und Veröffentlichungen anderer zu abonnieren.
  • 5 ist ein Ablaufplan, der den Ablauf zum Eintreten in eine Sitzung oder zum Anmelden bei der Registratur 420 darstellt. In Block 510 wird ein universeller Quellenlokalisierer (RL) von einem Client empfangen. In einer Ausführungsform hat der Quellenlokalisierer die folgende Form:
    coll://<host>:<port>/<type>/Session/<session_name>
    oder
    coll://<host>:<port>/<type>/Client/<client_name>
    wobei die Information in „<>"-Klammern durch den tatsächlichen Namen ersetzt wird. Host:port bezeichnet den Standort des für diese bestimmte Sitzung vorgesehenen Servers. „Host" gibt den Namen des Zentralcomputers an. „Port" gibt die Portnummer des Computers an, auf dem die bzw. der gegenwärtige Sitzung oder Client eingerichtet werden soll. „Type" bezeichnet den für die Zusammenarbeit verwendeten Verbindungstyp, einschließlich zum Beispiel TCP, UDP, RMI, T.120, CORBA, SRM und anderer Transporttypen. Die Sitzung oder der Client bestimmt, ob der RL auf eine Sitzung oder einen Client verweist. Der Sitzungsname (session_name) und der Clientname (client_name) sind selbsterklärend.
  • In Block 520 wird der RL syntaktisch analysiert. Die syntaktische Analyse des RL trennt die oben beschriebenen Elemente voneinander, um den RL zu analysieren.
  • In Block 530 wird der empfangene RL mit den RLs in der Registratur verglichen. Jede eingerichtete Sitzung hat einen RL, der in der Registratur gespeichert ist, damit andere Benutzer sich an die gleiche Sitzung anschließen können. Somit wird jedes Element des RL mit den RLs in der Registratur verglichen.
  • In Block 540 bestimmt der Ablauf, ob der empfangene RL mit einem RL in der Registratur identisch ist. Wenn der RL bereits in der Registratur steht, geht der Ablauf direkt mit Block 570 weiter. Andernfalls geht der Ablauf mit Block 550 weiter.
  • In Block 550 wird der im RL festgelegte Transportmechanismus bestimmt. Das heißt, der festgelegte Typ, wie etwa TCP, UDP, RMI, T.120, CORBA, SRM, wird identifiziert. Somit ist zum Beispiel in einem RL wie etwa „coll://stard.Eng:4461/TCP/Session/ChatSession/" der Typ „TCP".
  • In Block 560 wird der neue RL zur Registratur hinzugefügt. Das Hinzufügen des RL zur Registratur ermöglicht es späteren Benutzern/Clients, sich für einen Eintritt in die Zusammenarbeitssitzung anzumelden. Die Registratur 230 kann Sitzungen mit einem anderen Transportmechanismus haben.
  • In Block 570 wird eine Standortkennung, die den Standort der eingerichteten Sitzung angibt, an den Benutzer zurückgesendet. In einer Ausführungsform ist die Standortkennung ein Zeiger auf den RL in der Registratur. In einer anderen Ausführungsform ist die Standortkennung eine Internet-Adresse. In einer Ausführungsform wird die Sitzung auf dem gleichen Server eingerichtet, auf dem sich die Registratur befindet. Alternativ kann die Sitzung auf einem anderen Computer eingerichtet werden, der durch den RL angegeben ist.
  • In Block 580 lädt der Client als Antwort auf den Empfang der Standortkennung dynamisch die Objektklasse und den geeigneten Protokollstapel. In einer Ausführungsform ist die Objektklasse eine SharedData-Klasse (Klasse der gemeinsam genutzten Daten). Jeder Typ von Transportmechanismus hat einen Protokollstapel, das heißt eine geschichtete Menge von Protokollen, die zusammenarbeiten, um eine Menge von Netzwerkfunktionen bereitzustellen. Der Protokollstapel kann dem siebenschichtigen Modell der Internationalen Standardisierungsorganisation folgen. Jedem Client im Mehrpunkt-Zusammenarbeitssystem steht mindestens ein Protokollstapel zur Verfügung. Als Antwort auf den Empfang der Standortkennung des RL lädt der dynamische Lader 250 des Clients den geeigneten Protokollstapel, was den Client befähigt, mit der Sitzung zu kommunizieren. In einer Ausführungsform wird der Protokollstapel automatisch geladen, was bedeutet, dass ein Client oder Benutzer nicht mit dem vorliegenden System zusammenwirken muss, um ein neues Protokoll auszuwählen.
  • In der vorangegangenen Beschreibung ist die Erfindung mit Bezug auf spezifische Ausführungsformen derselben beschrieben worden. Es ist jedoch offensichtlich, dass daran verschiedene Modifikationen und Veränderungen vorgenommen werden können, ohne vom Schutzbereich der Erfindung abzuweichen. Die Beschreibung und die Zeichnungen sind dementsprechend in einem veranschaulichenden statt in einem einschränkenden Sinne zu verstehen. Die vorliegende Erfindung sollte nicht so ausgelegt werden, dass sie durch solche Ausführungsformen und Beispiele begrenzt wird, sondern vielmehr gemäß den folgenden Ansprüchen ausgelegt werden.
  • Der oben beschriebene Ablauf kann durch ein Computerprogramm ausgeführt werden, das auf einem Computer in der beschriebenen Umgebung läuft. Ein solches Computerprogramm kann auf eine dem Fachmann bekannte Art und Weise auf einem Aufzeichnungsmedium (zum Beispiel einer Magnetplatte oder einem Magnetband, einer optischen Speicherplatte oder einer elektronischen Speichervorrichtung, wie etwa einem ROM) aufgezeichnet sein. Wenn das Aufzeichnungsmedium durch eine geeignete Lesevorrichtung, wie etwa ein magnetisches oder optisches Speicherplattenlaufwerk, gelesen wird, wird ein Signal erzeugt, das einen Computer veranlasst, die beschriebenen Abläufe auszuführen.
  • Die Ablaufe können auch durch elektronische Mittel ausgeführt werden.

Claims (13)

  1. Verfahren zum Eintreten in eine Zusammenarbeitssitzung (300), die folgenden Schritte umfassend: Erzeugen einer Anforderung in Form eines Quellenlokalisierers, der einer Zusammenarbeitssitzung in einer Registratur (230) entspricht; Empfangen (510) einer Quellenkennung, die einem gespeicherten Quellenlokalisierer in der Registratur (230) entspricht; und als Antwort auf den Empfang (510) der Quellenkennung, die dem gespeicherten Quellenlokalisierer in der Registratur (230) entspricht, dynamisches Laden (580) eines im Quellenlokalisierer angegebenen Transportmechanismus, wobei der Transportmechanismus ein Protokollstapel ist; und Eintreten in die Zusammenarbeitssitzung.
  2. Verfahren nach Anspruch 1, wobei der Schritt des dynamischen Ladens (580) des Transportmechanismus ferner die folgenden Schritte umfasst: Erzeugen einer neuen Instanz einer Objektklasse, die einem Typ des Transportmechanismus entspricht; Abrufen eines Protokollstapels, der dem Transportmechanismus entspricht; und Initialisieren des Protokollstapels.
  3. Verfahren nach Anspruch 1 mit den folgenden Schritten: Empfangen (510) eines ersten Quellenlokalisierers; Bestimmen, ob der erste Quellenlokalisierer an eine Vielzahl von Quellenlokalisierem in der Registratur (230) angepasst ist; wenn der erste Quellenlokalisierer nicht an die Vielzahl von Quellenlokalisierem in der Registratur (230) angepasst ist, Hinzufügen des ersten Quellenlokalisierers zu der Vielzahl von Quellenlokalisierem in der Registratur (230); und Zurücksenden der Quellenkennung an einen entsprechenden gespeicherten Quellenlokalisierer am der Vielzahl von Quellenlokalisierem in der Registratur (230).
  4. Verfahren nach Anspruch 1, wobei der Quellenlokalisierer ferner eine Host- und eine Portkennung, eine Sitzungs- oder Clientkennung und einen Sitzungs- oder Clientnamen aufweist.
  5. Vorrichtung zur Vereinfachung der Zusammenarbeit zwischen Computerbenutzern, umfassend: einen Client-Prozess zum Erzeugen einer Anforderung in Form eines Quellenlokalisierers, der einer Zusammenarbeitssitzung in einer Registratur (230) entspricht; den Client-Prozess zum Empfangen (510) einer Quellenkennung, die einem Quellenlokalisierer entspricht, wobei der Quellenlokalisierer eine Typenbezeichnung aufweist; einen dynamischen Lader zum Laden eines Transportmechanismus, der der Typenbezeichnung des Quellenlokalisierers entspricht; und Mittel zum Eintreten in die Zusammenarbeitssitzung; wobei die Typenbezeichnung des Quellenlokalisierers einen Typ eines Transportmechanismus kennzeichnet, der für die Zusammenarbeit verwendet wird.
  6. Vorrichtung nach Anspruch 5, wobei der Transportmechanismus eines von folgendem sein kann: Übertragungssteuerungsprotokoll (TCP), Benutzer-Datagramm-Protokoll (UDP), Methodenfernaufruf (RMI), T.120, Objektanforderungsbroker-Architektur (CORBA), Skalierbarer Zuverlässiger Gruppenruf (SRM).
  7. Vorrichtung nach Anspruch 5, wobei der Quellenlokalisierer ferner eine Host- und eine Portkennung, eine Sitzungs- oder Clientkennung und einen Sitzungs- oder Clientnamen aufweist.
  8. Vorrichtung nach Anspruch 5, wobei der Client-Prozess den Quellenlokalisierer von einem Serverprozess empfängt.
  9. Computerdatensignal, das in einer Trägerwelle enthalten ist und Folgen von Anweisungen darstellt, die bei Ausführung durch einen Prozessor bewirken, dass der Prozessor in eine Zusammenarbeitssitzung eintritt, wobei das Computerdatensignal Anweisungen umfasst, die dafür konfiguriert sind, ein Verfahren nach einem der Ansprüche 1 bis 4 auszuführen.
  10. Signal nach Anspruch 9, wobei das Signal auf einem Aufzeichnungsmedium aufgezeichnet ist.
  11. Signal nach Anspruch 10, wobei das Aufzeichnungsmedium eine Magnetplatte, ein Magnetband, eine Bildplatte oder eine elektronische Speichervorrichtung umfasst.
  12. Maschinenlesbares Medium mit darauf gespeicherten Daten, die Folgen von Anweisungen darstellen, die bei Ausführung durch ein Computersystem bewirken, dass das Computersystem in eine Zusammenarbeitssitzung eintritt, wobei die Folgen von Anweisungen folgendes umfassen: eine erste Folge zum Anfordern eines Quellenlokalisierers, der einer Zusammenarbeitssitzung entspricht, von einer Registratur (230); eine zweite Folge zum Empfangen (510) einer Quellenkennung, die dem Quellenlokalisierer in der Registratur (230) entspricht; und eine dritte Folge zum dynamischen Laden (580) eines im ersten Quellenlokalisierer angegebenen Transportmechanismus als Antwort auf den Empfang einer Quellenkennung, die dem Quellenlokalisierer in der Registratur entspricht; und eine vierte Folge zum Eintreten in die Zusammenarbeitssitzung.
  13. Maschinenlesbares Medium nach Anspruch 12, wobei die dritte Folge ferner aufweist: eine fünfte Folge zum Erzeugen einer neuen Instanz einer Objektklasse, die einem Typ des Transportmechanismus entspricht; eine sechste Folge zum Abrufen eines Protokollstapels, der dem Transportmechanismus entspricht; und eine siebente Folge zum Initialisieren des Protokollstapels.
DE69838314T 1997-06-30 1998-06-29 Verfahren und Vorrichtung zum dynamischen Laden eines Transportmechanismus in einem Mehrpunktdatenübermittlungssystem Expired - Lifetime DE69838314T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US884924 1992-05-18
US08/884,924 US6446116B1 (en) 1997-06-30 1997-06-30 Method and apparatus for dynamic loading of a transport mechanism in a multipoint data delivery system

Publications (2)

Publication Number Publication Date
DE69838314D1 DE69838314D1 (de) 2007-10-11
DE69838314T2 true DE69838314T2 (de) 2008-05-29

Family

ID=25385732

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69838314T Expired - Lifetime DE69838314T2 (de) 1997-06-30 1998-06-29 Verfahren und Vorrichtung zum dynamischen Laden eines Transportmechanismus in einem Mehrpunktdatenübermittlungssystem

Country Status (4)

Country Link
US (1) US6446116B1 (de)
EP (1) EP0891063B1 (de)
JP (1) JP4477154B2 (de)
DE (1) DE69838314T2 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256620B1 (en) * 1998-01-16 2001-07-03 Aspect Communications Method and apparatus for monitoring information access
US6298356B1 (en) * 1998-01-16 2001-10-02 Aspect Communications Corp. Methods and apparatus for enabling dynamic resource collaboration
US6430567B2 (en) * 1998-06-30 2002-08-06 Sun Microsystems, Inc. Method and apparatus for multi-user awareness and collaboration
US6317777B1 (en) 1999-04-26 2001-11-13 Intel Corporation Method for web based storage and retrieval of documents
DE19926081A1 (de) * 1999-06-08 2000-12-21 Giesecke & Devrient Gmbh Chipkarte mit mehreren Anwendungsprogrammen
US6823364B1 (en) * 1999-12-21 2004-11-23 Nortel Networks Limited Distribution of location information in IP networks by intelligent endpoints
CA2400438A1 (en) * 2000-02-16 2001-08-23 Bea Systems, Inc. Open market collaboration system for enterprise wide electronic commerce
US7050453B1 (en) 2000-02-17 2006-05-23 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US6718497B1 (en) 2000-04-21 2004-04-06 Apple Computer, Inc. Method and apparatus for generating jitter test patterns on a high performance serial bus
US6618785B1 (en) 2000-04-21 2003-09-09 Apple Computer, Inc. Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus
FR2813469B1 (fr) * 2000-08-22 2003-01-31 France Telecom Systeme d'acces a au moins un environnement de travail cooperatif
WO2002035835A2 (fr) * 2000-10-23 2002-05-02 Thomson Licensing Sa Methode d'etablissement d'une connexion et dispositif recepteur de services interactifs associe
US20020107910A1 (en) * 2001-02-02 2002-08-08 Yan Zhao Client/server two-way communication system framework under HTTP protocol
JP2002342088A (ja) * 2001-03-15 2002-11-29 Sony Corp 情報処理装置、情報処理方法、情報送受信方法、記録媒体、並びにプログラム
US7797375B2 (en) 2001-05-07 2010-09-14 International Business Machines Corporat System and method for responding to resource requests in distributed computer networks
US20020165948A1 (en) * 2001-05-07 2002-11-07 International Business Machines Corporation Scalable resource discovery and reconfiguration for distributed computer networks
KR100948317B1 (ko) * 2001-12-15 2010-03-17 톰슨 라이센싱 클라이언트 사이의 세션을 위한 QoS 계약의 설정 능력을 제공하는 방법 및 시스템
US7668099B2 (en) 2003-06-13 2010-02-23 Apple Inc. Synthesis of vertical blanking signal
US7353284B2 (en) 2003-06-13 2008-04-01 Apple Inc. Synchronized transmission of audio and video data from a computer to a client via an interface
US8275910B1 (en) 2003-07-02 2012-09-25 Apple Inc. Source packet bridge
US7308517B1 (en) 2003-12-29 2007-12-11 Apple Inc. Gap count analysis for a high speed serialized bus
US7237135B1 (en) 2003-12-29 2007-06-26 Apple Inc. Cyclemaster synchronization in a distributed bridge
WO2007024830A2 (en) * 2005-08-23 2007-03-01 Matsushita Electric Industrial Co. Ltd. Method and system for peer-to-peer services architecture and framework
WO2009032548A2 (en) * 2007-09-06 2009-03-12 Microsoft Corporation Session broker extensibility application program iinterface
WO2014182674A1 (en) * 2013-05-06 2014-11-13 Convida Wireless LLC Machine-to-machine bootstrapping
CN104571986B (zh) 2013-10-22 2018-07-06 精工爱普生株式会社 显示系统、显示装置以及显示方法
US9609068B2 (en) * 2013-12-16 2017-03-28 Fuji Xerox Co., Ltd. Session management system, session management apparatus, and non-transitory computer readable medium
US9864861B2 (en) * 2014-03-27 2018-01-09 Intel Corporation Object oriented marshaling scheme for calls to a secure region

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5869819A (en) * 1994-08-17 1999-02-09 Metrologic Instuments Inc. Internet-based system and method for tracking objects bearing URL-encoded bar code symbols
US5392400A (en) * 1992-07-02 1995-02-21 International Business Machines Corporation Collaborative computing system using pseudo server process to allow input from different server processes individually and sequence number map for maintaining received data sequence
US5425028A (en) * 1992-07-16 1995-06-13 International Business Machines Corporation Protocol selection and address resolution for programs running in heterogeneous networks
US5852807A (en) * 1993-11-24 1998-12-22 Intel Corporation Method and apparatus for modeling business card exchanges in a point-to-point or a multi-point personal computer conference
US5809237A (en) * 1993-11-24 1998-09-15 Intel Corporation Registration of computer-based conferencing system
US5754765A (en) * 1993-11-24 1998-05-19 Intel Corporation Automatic transport detection by attempting to establish communication session using list of possible transports and corresponding media dependent modules
US5499343A (en) 1993-12-17 1996-03-12 Taligent, Inc. Object-oriented networking system with dynamically configurable communication links
US5548723A (en) * 1993-12-17 1996-08-20 Taligent, Inc. Object-oriented network protocol configuration system utilizing a dynamically configurable protocol stack
US5548779A (en) * 1993-12-21 1996-08-20 Taligent System for providing system services for a device to a client using stack definition and stack description of a stack having top, intermediate, and bottom service objects
US5903754A (en) * 1994-06-21 1999-05-11 Microsoft Corporation Dynamic layered protocol stack
US5613096A (en) 1994-11-04 1997-03-18 Canon Information Systems, Inc. Network protocol sensor
US5724508A (en) * 1995-03-09 1998-03-03 Insoft, Inc. Apparatus for collaborative computing
US5710591A (en) * 1995-06-27 1998-01-20 At&T Method and apparatus for recording and indexing an audio and multimedia conference
US5956509A (en) * 1995-08-18 1999-09-21 Microsoft Corporation System and method for performing remote requests with an on-line service network
US5826027A (en) * 1995-10-11 1998-10-20 Citrix Systems, Inc. Method for supporting an extensible and dynamically bindable protocol stack in a distrubited process system
US5764906A (en) * 1995-11-07 1998-06-09 Netword Llc Universal electronic resource denotation, request and delivery system
US5793365A (en) * 1996-01-02 1998-08-11 Sun Microsystems, Inc. System and method providing a computer user interface enabling access to distributed workgroup members
US6058393A (en) * 1996-02-23 2000-05-02 International Business Machines Corporation Dynamic connection to a remote tool in a distributed processing system environment used for debugging
US6343313B1 (en) * 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
US5867653A (en) * 1996-04-18 1999-02-02 International Business Machines Corporation Method and apparatus for multi-cast based video conferencing
US5874954A (en) * 1996-04-23 1999-02-23 Roku Technologies, L.L.C. Centricity-based interface and method
US5884033A (en) * 1996-05-15 1999-03-16 Spyglass, Inc. Internet filtering system for filtering data transferred over the internet utilizing immediate and deferred filtering actions
US5835724A (en) * 1996-07-03 1998-11-10 Electronic Data Systems Corporation System and method for communication information using the internet that receives and maintains information concerning the client and generates and conveys the session data to the client
US5862330A (en) * 1996-07-16 1999-01-19 Lucent Technologies Inc. Technique for obtaining and exchanging information on wolrd wide web
US5944791A (en) * 1996-10-04 1999-08-31 Contigo Software Llc Collaborative web browser
US5870559A (en) * 1996-10-15 1999-02-09 Mercury Interactive Software system and associated methods for facilitating the analysis and management of web sites
US5897622A (en) * 1996-10-16 1999-04-27 Microsoft Corporation Electronic shopping and merchandising system
US6023698A (en) * 1996-12-05 2000-02-08 International Business Machines Corporation System and method for transparently registering and updating information over the internet
US5918010A (en) * 1997-02-07 1999-06-29 General Internet, Inc. Collaborative internet data mining systems
US5870562A (en) * 1997-03-24 1999-02-09 Pfn, Inc. Universal domain routing and publication control system
US5941945A (en) * 1997-06-18 1999-08-24 International Business Machines Corporation Interest-based collaborative framework
US6138144A (en) * 1997-06-24 2000-10-24 At&T Corp. Method for managing multicast addresses for transmitting and receiving multimedia conferencing information on an internet protocol (IP) network implemented over an ATM network

Also Published As

Publication number Publication date
EP0891063A3 (de) 2001-02-21
JP4477154B2 (ja) 2010-06-09
EP0891063A2 (de) 1999-01-13
DE69838314D1 (de) 2007-10-11
US6446116B1 (en) 2002-09-03
EP0891063B1 (de) 2007-08-29
JPH1198138A (ja) 1999-04-09

Similar Documents

Publication Publication Date Title
DE69838314T2 (de) Verfahren und Vorrichtung zum dynamischen Laden eines Transportmechanismus in einem Mehrpunktdatenübermittlungssystem
DE60127078T2 (de) Vorrichtung für anhaltende Chatsitzungen
DE60120084T2 (de) Methode und Gerät zur Teilnahme an einer elektronischen Konferenz
DE69730929T2 (de) System zur Verwaltung der Mitanwesenheit innerhalb Gemeinschaften
DE60038705T2 (de) Verfahren und vorrichtung für die aktivitäts-basierte zusammenarbeit eines rechnersystems, ausgestattet mit einem kommunikations-manager
DE602004006902T2 (de) Verfahren und System zur Verarbeitung von Mitteilungen von geteilten Ressourcen
DE602004007864T2 (de) Architektur für ein ausdehnbares Echtzeitzusammenarbeitssystem
DE602004004300T2 (de) Verfahren, System und Computerprogramm für das Senden und Empfangen von Meldungen durch einen individuellen Kommunikationskanal
DE69634950T2 (de) Identifizierung von anwendungsfähigkeiten für telekonferenzverbindungen
DE4436677B4 (de) Verfahren und Einrichtung zum Übertragen von Datenblöcken großer Objekte in einem Telekonferenzsystem
EP2198589B1 (de) Verfahren zum ausführen einer auf einem netzwerkprotokoll, insbesondere tcp/ip und/oder udp, aufbauenden multimedialen kommunikation.
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
DE60034261T2 (de) Verfahren und Vorrichtung für eine Zustandsänderungsmeldung
DE69927713T2 (de) Angekündigte Sitzungsbeschreibung
DE69726701T2 (de) Verfahren zur Übertragung von Verbindungsverwaltungsinformationen in World Wide Web Anforderungen und Antworten
DE69631866T2 (de) Multimediakoordinationssystem
DE19842673B4 (de) Verfahren und Vorrichtung zur Vermittlung bei der Datenkommunikation
DE60110727T2 (de) Verfahren und Vorrichtung zum Eröffnen einer elektronischen Konferenz
DE69720857T2 (de) Systeme und Verfahren zum Betrieb einer Netzwerk-Verwaltungsstation
DE69917925T2 (de) Steuerung einer angekündigten sitzung
DE602005003179T2 (de) Verfahren zum Verwalten von Knoten in einer Gruppe von gleichrangigen Knoten
DE112010005499T5 (de) Steuern der Nachrichtenübermittlung beim Publish/Subscribe-Nachrichtenaustausch
DE112006001922T5 (de) Verfahren und Vorrichtung zur Vergabe von Zugangsberechtigungen (&#34;Floor-Control&#34;) in einem Kommunikationssystem
DE202016107383U1 (de) System für das automatische Erstellen und Teilen einer Besprechungsnotiz mithilfe von Kontext und räumlicher Nähe des Benutzers
DE60132360T2 (de) Verwaltung von netzwerk-verkehr durch anwendung einer hashfunktion

Legal Events

Date Code Title Description
8364 No opposition during term of opposition