DE60006845T2 - Verfahren und vorrichtung zur zusammenarbeit bei multimediaerzeugung über einem netzwerk - Google Patents

Verfahren und vorrichtung zur zusammenarbeit bei multimediaerzeugung über einem netzwerk Download PDF

Info

Publication number
DE60006845T2
DE60006845T2 DE60006845T DE60006845T DE60006845T2 DE 60006845 T2 DE60006845 T2 DE 60006845T2 DE 60006845 T DE60006845 T DE 60006845T DE 60006845 T DE60006845 T DE 60006845T DE 60006845 T2 DE60006845 T2 DE 60006845T2
Authority
DE
Germany
Prior art keywords
data
server
data units
units
objects
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
DE60006845T
Other languages
English (en)
Other versions
DE60006845D1 (de
Inventor
D. Matthew MOLLER
Graham Lyus
Michael Franke
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.)
Avid Technology Inc
Original Assignee
Avid Technology 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 Avid Technology Inc filed Critical Avid Technology Inc
Application granted granted Critical
Publication of DE60006845D1 publication Critical patent/DE60006845D1/de
Publication of DE60006845T2 publication Critical patent/DE60006845T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/175Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments for jam sessions or musical collaboration through a network, e.g. for composition, ensemble playing or repeating; Compensation of network or internet delays therefor

Description

  • HINTERGRUND DER ERFINDUNG Bereich der Erfindung
  • Die Erfindung betrifft das gemeinsame Benutzen von Daten, und insbesondere das gemeinsame Benutzen von Multimediadaten innerhalb eines Netzwerkes.
  • In zunehmendem Maße wird von Musikern und Multimedia-Produktionsspezialisten Computertechnologie eingesetzt, um den kreativen Prozess zu unterstützen. Musiker verwenden beispielsweise als "Sequenzer" oder "DAWs" (Digital-Audio-Workstations) konfiugurierte Computer, um Multimedia-Quellmaterial, wie Digital-Audio-, Digital-Video-, und Musikalische-Instrument-Digital-Schnittstellen- (MIDI, "Musical Instrument Digital Interface") Daten aufzuzeichnen. Sequenzer und DAWs erzeugen dann Sequenzdaten, um es dem Anwender zu ermöglichen, verschiedene Abschnitte der aufgezeichneten Daten auszuwählen und zu editieren, um ein fertiges Produkt zu erzeugen.
  • Sequenzersoftware wird oft verwendet, üblicherweise in Form von Mehrspur-Aufnahmen individueller, in einem Aufnahmestudio versammelter Instrumente, wenn mehrere Künstler in einem Projekt zusammenarbeiten. Ein Produktionsspezialist verwendet dann die Sequenzersoftware zum Editieren der verschiedenen Spuren, sowohl einzeln als auch in Gruppen, um das endgültige Arrangement für das Produkt zu erzeugen. Oft werden in einer Aufnahmesitzung mehrere Aufnahmeversionen des gleichen Musikabschnitts aufgezeichnet, wodurch dem Produktionsspezialisten ermöglicht wird, die besten Abschnitte von verschiedenen Aufnahmeversionen auswählen. Soweit notwendig, können während der Sitzung weitere Aufnahmeversionen angefertigt werden.
  • Eine solche Zusammenarbeit ist selbstverständlich dann am bequemsten, wenn alle Künstler zur gleichen Zeit am gleichen Ort anwesend sind. Allerdings ist dies oft nicht möglich. Beispielsweise kann ein Orchester in einem Aufnahmestudio in Los Angeles zusammenkommen, aber der Vokalist kann sich in New York oder London befinden und daher nicht in der Lage sein, persönlich an der Sitzung teilzunehmen. Selbstverständlich könnte der Vokalist von einem entfernten, mit dem Hauptstudio durch Breitband-High-Fidelity-Kommunikationskanäle verbundenem Studio aus teilnehmen. Dies ist allerdings häufig unerschwinglich teuer, wenn nicht unmöglich.
  • Im Stand der Technik sind verschiedene Verfahren zum Überwinden dieses Problems bekannt. Beispielsweise ermöglicht es das "Res Rocket" System von Rocket Networks, Inc. es geographisch getrennten Anwendern, MIDI-Daten über das Internet gemeinsam zu benutzen. Allerdings verwenden professionelle Multimedia-Produktionsspezialisten im Allgemeinen eine kleine Zahl weitbekannter professioneller Sequenzer-Softwarepakete. Da sie eingehende Erfahrung in der Verwendung der Schnittstellen eines speziellen Softwarepaketes haben, sind sie häufig nicht bereit, die Vorzüge dieser Erfahrung aufzugeben, um einen nicht geläufigen Sequenzer anzunehmen.
  • Es ist daher wünschenswert, ein System und ein Verfahren für professionelle Künstler und Multimedia-Produktionsspezialisten bereitzustellen, um von geographisch getrennten Orten aus und unter Verwendung vertrauter Anwenderschnittstellen existierender Sequenzersoftware zusammenzuarbeiten.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Merkmale und Vorteile der Erfindung werden in der folgenden Beschreibung erklärt und werden teilweise aus der Beschreibung offensichtlich oder können durch Ausführen der Erfindung gelernt werden. Die Ziele und weitere Vorteile der Erfindung werden insbesondere durch die in der vorliegenden schriftlichen Beschreibung und den vorliegenden Ansprüchen aufgezeigten Systemen und Verfahren, sowie die beiliegenden Zeichnungen verwirklicht und erreicht.
  • Gemäß dem Zweck der Erfindung, wie ausgeführt und in Breite beschrieben, weist die Erfindung eine Vorrichtung zum gemeinsamen Benutzen von Sequenzdaten zwischen einer lokalen Sequenzerstation und wenigstens einer entfernten Sequenzerstation über ein Netzwerk mittels eines Servers auf, wobei die Sequenzdaten audiovisuelle Ereignisse darstellen, von welchen jedes beschreibende Merkmale und Zeitmerkmale hat. Die Vorrichtung weist ein erstes Schnittstellenmodul zum Empfangen von Befehlen von einer lokalen Sequenzerstation auf, und ein mit dem ersten Schnittstellenmodul verbundenes Datenverpackungsmodul ("data packaging module"). Das Datenverpackungsmodul reagiert auf die empfangenen Befehle durch Einkapseln von Sequenzdaten von der lokalen Sequenzerstation in Sendedateneinheiten, unter Beibehaltung der beschreibenden Merkmale und Zeitbeziehungen der Sequenzdaten. Das Datenverpackungsmodul extrahiert ferner Sequenzdaten aus vom Server zum Zugriff durch das lokale Sequenzerendgerät empfangenen Sendedateneinheiten. Die Vorrichtung weist ferner einen mit dem ersten Schnittstellenmodul und dem Datenverpackungsmodul verbundenen Sendungsbehandler auf.
  • Der Sendungsbehandler verarbeitet über das erste Schnittstellenmodul empfangene Befehle. Die Vorrichtung weist ferner ein Serverkommunikationsmodul auf, welches auf vom Sendungsbehandler verarbeitete Befehle durch Übertragen von Sendedateneinheiten zu dem Server zum Verteilen an wenigstens eine entfernte Sequenzerstation antwortet, wobei das Serverkommunikationsmodul auch Daten-Verfügbar-Nachrichten und Sendedateneinheiten vom Server empfängt. Die Vorrichtung weist ferner einen mit dem Serverkommunikationsmodul gekoppelten Mitteilungswarteschlangen-Behandler auf, welcher auf den Empfang von Daten-Verfügbar-Nachrichten und Sendedateneinheiten vom Server antwortet, um Mitteilungen an die erste Schnittstelle zum Zugriff durch das lokale Sequenzerendgerät herauszugeben.
  • In einem weiteren Aspekt stellt die Erfindung ein Verfahren zum gemeinsamen Benutzen von Sequenzdaten zwischen einer lokalen Sequenzerstation und wenigstens einer entfernten Sequenzerstation mittels eines Servers über ein Netzwerk bereit, wobei die Sequenzdaten audiovisuelle Ereignisse darstellen, von denen jedes beschreibende Eigenschaften und Zeitmerkmale aufweist. Das Verfahren weist auf: Empfangen von Befehlen mittels einer Client-Anwendungskomponente von einem Benutzer an einer lokalen Sequenzerstation; Antworten auf der empfangenen Befehle durch Einkapseln von Sequenzdaten von der lokalen Sequenzerstation in Sendedateneinheiten, unter Beibehaltung der beschreibenden Merkmale und Zeitbeziehungen der Sequenzdaten und Übertragen von Sendedateneinheiten zum Server zum Verteilen an wenigstens eine entfernte Sequenzerstation; Empfangen von Daten-Verfügbar-Nachrichten vom Server; Antworten auf den Empfang von Daten-Verfügbar-Nachrichten vom Server zum Übertragen. von Mitteilungen an die Client-Anwendungskomponente; Antworten auf von der Client-Anwendungskomponente empfangenen Befehlen zum Anfordern des Herunterladens von Sendedateneinheiten vom Server, und Empfangen von Sendedateneinheiten von dem Server und Extrahieren von Sequenzdaten von den empfangenen Sendedateneinheiten zum Zugriff durch die Client-Anwendungskomponente.
  • Es ist zu bemerken, dass sowohl die oben angegebene allgemeine Beschreibung, als auch die folgende detaillierte Beschreibung exemplarisch und erklärend sind und darauf zielen, ein weiteres Verständnis der Erfindung, wie sie beansprucht ist, zu geben.
  • Die begleitenden Zeichnungen sind zum weiteren Verständnis der Erfindung beigefügt. Sie sind in die Beschreibung aufgenommen und stellen ein Teil von ihr dar, um Ausführungsformen der Erfindung zu erläutern, und dienen gemeinsam mit der Beschreibung dazu, die Prinzipien der Erfindung zu erklären.
  • Kurzbeschreibung der Zeichnungen
  • Die begleitenden Zeichnungen, welche in die Beschreibung aufgenommen sind und ein Teil von ihr darstellen, erläutern Ausführungsformen der Erfindung und dienen zusammen mit der Beschreibung dazu, die Ziele, Vorteile und Prinzipien der Erfindung zu erläutern.
  • In den Zeichnungen ist:
  • 1 ein Blockdiagramm, welches ein System gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt;
  • 2 ein Blockdiagramm, welches Module der Dienstekomponente von 1 zeigt;
  • 3 ein Diagramm, welches die hierarchische Beziehung von Sendedateneinheiten des Systems von 1 zeigt;
  • 4 ein Diagramm, welches die Beziehung zwischen Arrangement-Objekten und Spurobjekten des Systems von 1 zeigt;
  • 5 ein Diagramm, welches die Beziehung zwischen Spurobjekten und Ereignisobjekten des Systems von 1 zeigt;
  • 6 ein Diagramm, welches die Beziehung zwischen Bestandobjekten und Rendering-Objekten des Systems von 1 zeigt;
  • 7 ein Diagramm, welches die Beziehung zwischen Clipobjekten und Bestandobjekten des Systems von 1 zeigt;
  • 8 ein Diagramm, welches die Beziehung zwischen Ereignisobjekten, Clip-Ereignisobjekten, Clipobjekten und Bestandobjekten des Systems von 1 zeigt;
  • 9 ein Diagramm, welches die Beziehung zwischen Ereignisobjekten, Rahmenereignisobjekten und Zeitgeradeobjekten des Systems von 1 zeigt;
  • 10 ein Diagramm, welches die Beziehung zwischen Projektobjekten und Kundenspezifikations-Objekten des Systems von 1 zeigt; und
  • 11 ein Diagramm, welches die Beziehung zwischen Rocket-Objekten, Kundenspezifikations- und Erweiterbar-Objekten des Systems von 1 zeigt.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Computer Anwendungen für Musiker und Multimedia-Produktionsspezialisten (üblicherweise Sequenzer und DAWs) sind dazu eingerichtet, es Anwendern zu erlauben, Multimediadaten aufzunehmen und zu editieren, um ein Multimedia-Projekt zu erzeugen. Solche Anwendungen sind inhärent Einzel-Zweck-, Einzel-Anwender- Anwendungen. Die vorliegende Erfindung erlaubt es geographisch getrennten Personen, welche individuelle Sequenzer und DAWs bedienen, zusammenzuarbeiten.
  • Das grundlegende Paradigma der vorliegenden Erfindung ist das eines "virtuellen Studios". Dieses ist, wie ein reales Studio, ein "Platz", wo sich Menschen "treffen" und zusammen an Multimedia-Projekten arbeiten. Allerdings können sich die Menschen, mit denen ein einzelner Anwender in diesem virtuellen Studio zusammenarbeitet, irgendwo auf der Welt befinden, verbunden durch ein Computernetzwerk.
  • 1 zeigt ein System 10 gemäß der vorliegenden Erfindung. System 10 weist einen Server 12 auf, eine lokale Sequenzerstation 14, und ein Mehrzahl von entfernten Sequenzerstationen 16, alle durch ein Netzwerk 18 verbunden. Netzwerk 18 kann das Internet sein, oder ein privates Netzwerk.
  • Lokale und entfernte Sequenzerstationen 14 und 16 sind bevorzugterweise Personal-Computer, wie Apple PowerMacintosh-Computer oder Pentium-basierte Personal-Computer, welche unter einer Version des Windows-Betriebssystems betrieben werden.
  • Lokale und entfernte Sequenzerstationen 14 und 16 weisen eine Client-Anwendungskomponente 20 auf, welche bevorzugterweise ein Sequenzer-Softwarepaket, oder "Sequenzer", aufweist. Wie oben angegeben, erzeugen Sequenzer Sequenzdaten, welche Multimediadaten repräsentieren, welche ihrerseits audiovisuelle Ereignisse repräsentieren, die jeweils beschreibende Eigenschaften und Zeitmerkmale aufweisen. Sequenzer ermöglichen es ferner einem Anwender, die Sequenzdaten zu manipulieren und zu editieren, um Multimedia-Produkte zu erzeugen. Beispiele von geeigneten Sequenzern enthalten: Logic Audio von Emagic Inc. aus Grass Valley, Kalifornien; Cubase von Steinberg Soft- und Hardware GmbH aus Hamburg, Deutschland; und ProTools von Digidesign, Inc. aus Palo Alto, Kalifornien.
  • Die lokale Sequenzerstation 14 und entfernte Sequenzer Stationen 16 können, müssen aber nicht, identisch sein, und weisen üblicherweise Anzeige-Hardware, wie einen Bildschirm und eine Soundkarte (nicht dargestellt) auf, um Audio- und Video-Ausgabe bereitzustellen. Die lokale Sequenzerstation 14 weist außerdem eine Verbindungssteuerungskomponente 22 auf, welche es einem Anwender an der lokalen Sequenzerstation 14 erlaubt, sich an Server 12'' einzuwählen", zu einem virtuellen Studio zu navigieren, andere Kooperationspartner an entfernten Sequenzerstationen 16 zu finden, und mit diesen Kooperationspartnern zu kommunizieren. Jede Client-Anwendungskomponente 20 an lokalen oder entfernten Sequenzerstationen 14 oder 16 ist in der Lage, ein in dem virtuellen Studio gespeichertes Projekt zu laden, weitgehend so, als wäre es von der Client-Anwendungskomponente an dieser Station erzeugt worden, aber mit einigen wichtigen Abweichungen.
  • Client-Anwendungskomponenten 20 stellen üblicherweise ein "Arrangement-" Fenster auf einem Bildschirm dar, welches eine Mehrzahl von "Spuren" aufweist, die jeweils eine(n) Spurnamen, Aufnahmestatus, Kanalzuordnung und andere, ähnliche Informationen anzeigen. Gemäß der vorliegenden Erfindung zeigt das Arrangement-Fenster auch eine neue Einzelheit: Anwendername. Der Anwendername ist der Name des Individuums, dem die betreffende Spur "gehört", nachdem sie auf seiner lokalen Sequenzerstation erzeugt worden ist. Dieses neue Konzept zeigt an, dass mehr als eine Person zu der derzeit bearbeiteten Sitzung beiträgt. Spuren in dem Arrangement-Fenster sind bevorzugterweise entsprechend dem Anwender sortiert und farbkodiert.
  • Verbindungssteuerungskomponente 22 ist auch auf dem Bildschirm des lokalen Anwenders sichtbar, und stellt (unter anderem) zwei Fenster bereit: eingehende Unterhaltung und ausgehende Unterhaltung. Der lokale Anwender kann Text von anderen Anwendern an entfernten Sequenzerstationen 16 durchlaufen sehen, und der lokale Anwender an der lokalen Sequenzerstation 14 ist in der Lage, Nachrichten an andere Anwender zu schreiben.
  • In Antwort auf einen Befehl eines entfernten Anwenders, kann eine neue Spur auf dem Bildschirm des lokalen Anwenders erscheinen, und spezielle musikalische Beiträge beginnen sich hierin zu zeigen. Wenn der lokale Anwender auf seinem Bildschirm "abspielen" auswählt, kommt Musik aus Lautsprechern der lokalen Sequenzerstation. Mit anderen Worten, während der lokale Anwender an seinen Spuren gearbeitet hat, haben andere, entfernte Anwender ihre eigenen Beiträge erzeugt.
  • Während der lokale Anwender arbeitet, "unterhält" er sich mit anderen Anwendern mittels Verbindungssteuerungskomponente 22, und empfängt von entfernten Anwendern deren Veränderungen an deren Spuren, sobald sie diese senden, oder "Posten". Der lokale Anwender kann also seine Bemühungen durch Aufnehmen neuen Materials und Durchführen von Veränderungen beisteuern. Wenn er fertig ist, betätigt der lokale Anwender eine "Post-" Schaltfläche der Client-Anwendungskomponente 20 auf seinem Bildschirm, und alle entfernten Anwender in dem virtuellen Studio können hören, was der lokale Anwender hört- live.
  • Wie in 1 dargestellt, weist die lokale Sequenzerstation 14 ferner eine Dienstekomponente 24 auf, welche Dienste bereitstellt, um der lokalen Sequenzerstation 14, das gemeinsame Verwenden von Sequenzdaten mit entfernten Sequenzerstationen 16 über ein Netzwerk 18 mittels Server 12, inklusive Serverkommunikationen und lokalem Daten-Management zu ermöglichen. Dieses gemeinsame Benutzen wird erreicht durch Einkapseln von Einheiten von Sequenzdaten in Sendedateneinheiten zum Übertragen zu Server 12.
  • Obwohl Server 12 hier als ein Einzel-Server gezeigt und beschrieben ist, werden Fachleute bemerken, dass die beschriebenen Server-Funktionen von einem oder mehreren individuellen Servern ausgeführt werden können. Beispielsweise kann es in gewissen Anwendungen wünschenswert sein, einen Server bereitszustellen, der für das Management von Sendedateneinheiten verantwortlich ist, und einen separaten Server, welcher für andere Server-Funktionen, wie das Zugangsmanagement oder die Verwaltung des Unterhaltens verantwortlich ist.
  • 2 zeigt die Unter-Systeme von Dienstekomponente 24, inklusive einem ersten Schnittstellenmodul 26, einem Datenverpackungsmodul 28, einem Sendungsbehandler 30, einem Serverkommunikationsmodul 32 und einem Mitteilungswarteschlangen-Behandler 34. Dienstekomponente 24 weist ferner ein Rendering-Modul 36 und ein Zwischenspeichermodul 38 auf. Von diesen Unter-Systemen, ist nur das erste Schnittstellenmodul 26 für die Software der Client-Anwendungskomponente 20 zugänglich. Das erste Schnittstellenmodul 26 empfängt Befehle von der Client-Anwendungskomponente 20 der lokalen Sequenzerstation 14 und reicht diese weiter zu Sendungsbehandler 30 und zum Datenverpackungsmodul 28. Datenverpackungsmodul 28 antwortet auf die empfangenen Befehle durch Einkapseln von Sequenzdaten von der lokalen Sequenzerstation 14 in Sendedateneinheiten, unter Beibehaltung der beschreibenden Merkmale und Zeitbeziehungen der Sequenzdaten. Datenverpackungsmodul 28 extrahiert zum Zugriff durch Client-Anwendungskomponente 20 ferner Sequenzdaten aus von Server 12 empfangenen Sendedateneinheiten.
  • Serverkommunikationsmodul 32 antwortet auf von dem Sendungsbehandler verarbeitete Befehle mit Übertragen von Sendedateneinheiten an Server 12 zum Verteilen an wenigstens eine entfernte Sequenzerstation 16. Serverkommunikationsmodul 32 empfängt ferner Daten-Verfügbar-Nachrichten von Server 12, und mittels Server 12 Sendedateneinheiten von einer oder mehreren entfernten Sequenzerstationen 16 und reicht die empfangenen Sendedateneinheiten an das Datenverpackungsmodul 28 weiter. Insbesondere empfängt das Serverkommunikationsmodul Daten-Verfügbar-Nachrichten von Server 12, dass eine Sendedateneinheit (von entfernten Sequenzerstationen 16) am Server verfügbar ist. Wenn die verfügbare Sendedateneinheit von einem Nicht-Medien-Typ ist, wie unten im Detail beschrieben, beantragt das Serverkommunikationsmodul, dass die Sendedateneinheit von Server 12 heruntergeladen wird. Wenn die verfügbare Sendedateneinheit von einem Medien-Typ ist, beantragt das Serverkommunikationsmodul, dass die Sendedateneinheit vom Server 12 erst nach Empfang eines Herunterlade-Befehls von der Client-Anwendungskomponente 20 heruntergeladen wird.
  • Mitteilungswarteschlangenbehandler 34 ist an das Serverkommunikationsmodul 32 gekoppelt und antwortet auf den Empfang von Daten-Verfügbar-Nachrichten vom Server 12 durch Übertragen von Mitteilungen an das erste Schnittstellenmodul 26 zum Zugriff durch die Client-Anwendungskomponente 20 des lokalen Sequenzerendgerätes 14.
  • Üblicherweise wird ein Anwender an der beispielsweise lokalen Sequenzerstation 14 ein Projekt durch Aufnahme von Multimediadaten beginnen. Dies kann durch die Verwendung eines Mikrofons und einer Videokamera zum Aufnehmen von Audio- und/oder visuellen Darbietungen in Form von Digital-Quelle-Audio-Daten und auf einem Massenspeicher der lokalen Sequenzerstation 14 gespeicherten Digital-Quelle-Audio-Daten erreicht werden. Alternativ hierzu können Quelldaten durch Abspielen eines an die lokale Sequenzerstation 14 gekoppelten MIDI-Instrumentes und Speichern der Darbietung in Form von MIDI-Daten erzeugt werden. Es können auch andere Arten von Multimediadaten aufgezeichnet werden.
  • Sobald die Daten aufgezeichnet sind, können sie in einem "Arrangement"-Fenster auf dem Bildschirm der lokalen Sequenzerstation 14 von der Client-Anwendungskomponente 20, üblicherweise einem Sequenzerprogramm, dargestellt werden. In einer wohlbekannten Weise kann der Anwender mehrere aufgezeichnete Spuren entweder vollständig oder in Abschnitten auswählen und kombinieren, um ein Arrangement zu erzeugen. Die Client-Anwendungskomponente 20 repräsentiert daher dieses Arrangement in Form von Sequenzdaten, welche die Zeitmerkmale und beschreibenden Merkmale der aufgezeichneten Quell-Daten beibehalten.
  • Wenn der Anwender mit anderen Anwendern an entfernten Sequenzerstationen 16 zusammenzuarbeiten wünscht, verbindet er sich mit Verbindungssteuerungskomponente 22. Der Anwender gibt Befehle an die Verbindungssteuerungskomponente 22, um eine Einwahl-Prozedur auszuführen, in welcher die Verbindungssteuerungskomponente 22 mittels der Dienstekomponente 24 durch das Internet 18 eine Verbindung zu Server 12 errichtet. Unter Verwendung gut bekannter Verfahren zur Einwahl-Registrierung mittels Passwörtern, kann sich der Anwender entweder in ein existierendes virtuelles Studio auf Server 12 einwählen, oder ein neues Studio einrichten. Virtuelle Studios auf Server 12 enthalten von Sequenzerstationen erzeugte Sendedateneinheiten in Form von Arrangements enthaltenden Projekten, wie im Detail unten beschrieben.
  • Im Folgenden wird ein Verfahren gemäß der vorliegenden Erfindung beschrieben. Das Verfahren ermöglicht mittels Server 12 über Netzwerk 18 das gemeinsame Verwenden von Sequenzdaten zwischen der lokalen Sequenzerstation 14 und wenigstens einer entfernten Sequenzerstation 16. Wie oben angegeben, stellen die Sequenzdaten audiovisuelle Ereignisse dar, die jeweils beschreibende Eigenschaften und Zeitmerkmale aufweisen.
  • Wenn der Anwender an seiner Sequenzerstation erzeugte Sequenzdaten zu entweder einem neuen oder einem existierenden virtuellen Studio beisteuern möchte, aktiviert der Anwender eine POST-Schaltfläche auf seinem Bildschirm, was die Client-Anwendungskomponente 20 veranlasst, Befehle an die Dienstekomponente 24 zu senden. Ein Verfahren gemäß der vorliegenden Erfindung beinhaltet ein Empfangen von Befehlen von Dienstekomponente 24, welche von einem Anwender an der lokalen Sequenzerstation 14 stammen und mittels Client-Anwendungskomponente 20 übertragen werden. Der Sendungsbehandler 30 der Dienstekomponente 24 antwortet auf die empfangenen Befehle durch Einkapseln von Sequenzdaten von der lokalen Sequenzerstation 14 in Sendedateneinheiten, unter Beibehalten der beschreibenden Merkmale und Zeitbeziehungen der Sequenzdaten. Der Sendungsbehandler 30 verarbeitet empfangene Befehle durch Übertragen von Sendedateneinheiten mittels des Serverkommunikationsmoduls 32 an Server 12 zum Verteilen an entfernte Sequenzerstationen 16. Das Serverkommunikationsmodul 32 empfängt Daten-Verfügbar-Nachrichten von Server 12 und übermittelt Mitteilungen an die Client-Anwendungskomponente 20. Das Serverkommunikationsmodul 32 antwortet auf von der Client-Anwendungskomponente 20 empfangene Befehle zum Anfragen des Herunterladens von Sendedateneinheiten von Server 12. Das Serverkommunikationsmodul 32 empfängt Sendedateneinheiten mittels des Servers von der wenigstens einen entfernten Sequenzerstation. Das Datenverpackungsmodul 28 extrahiert dann zum Zugriff durch Client-Anwendungskomponente 20 Sequenzdaten aus von Server 12 empfangenen Sendedateneinheiten.
  • Wenn ein Anwender in einem virtuellen Studio an einem Projekt arbeitet, bearbeitet er eigentlich Sätze von Sendedaten, welche von Server 12 verwaltet, und auf ihm gepflegt werden. In der bevorzugten Ausführungsform verwendet Dienstekomponente 24 zum Darstellen der Sendedaten ein objektorientiertes Daten-Modell, welches vom Datenverpackungsmodul 28 verwaltet und bearbeitet wird. Durch Verwenden von Sendedateneinheiten in Form von durch Dienstekomponente 24 aus Sequenzdaten erzeugten Objekten, können Anwender eine Hierarchie definieren und gegenseitige Abhängigkeiten von Sequenzdaten in dem Projekt abbilden.
  • 3 zeigt die Hohe-Ebene-Kapselungs-Hierarchie für Sendedateneinheiten bildende Objekte gemäß der bevorzugten Ausführungsform. Jedes Sendeobjekt stellt einen Satz von Schnittstellen bereit, um die Attribute des Objektes zu beeinflussen, und Vorgänge an dem Objekt auszuführen. Dienstekomponente 24 hält Kopien von allen Sendeobjekten.
  • Sendeobjekte werden in einer der beiden folgenden Weisen erzeugt:
    • – Lokales Erzeugen von Objekten und Senden von ihnen an Server 12. Client-Anwendungskomponente 20 erzeugt Sendeobjekte lokal durch Aufruf von Erzeuge-Methoden ("Create-Methods")(im Detail im Anhang angegeben) von anderen Objekten der Hierarchie.
    • – Empfangen eines neuen Sendeobjektes von Server 12. Wenn ein Sendeobjekt an Server 12 gesendet ist, wird es auf dem Server zu einer Projekt-Datenbank zugefügt und an alle mit dem Projekt verbundenen entfernten Sequenzerstationen weitergesendet.
  • Die Dienstekomponente 24 verwendet ein Mitteilungssystem des Mitteilungswarteschlangen-Behandlers 34, um mit der Client-Anwendungskomponente 20 zu kommunizieren. Mitteilungen erlauben es der Dienstekomponente 24, der Client-Anwendung Änderungen in den Zuständen von Sendeobjekten mitzuteilen.
  • Client-Anwendungskomponente 20 ist häufig in einem Zustand, in dem die von ihr verwendeten Daten nicht geändert werden sollten. Wenn beispielsweise eine Sequenzer-Anwendung sich mitten im Abspielen einer Datensequenz von einer Datei befindet, kann es wichtig sein, dass sie das Abspielen beendet, bevor die Daten verändert werden. Um sicherzustellen, dass dies nicht geschieht, versendet der Mitteilungswarteschlangen-Behandler 34 von Dienstekomponente 24 Mitteilungen nur in Antwort auf eine Anforderung durch Client-Anwendungskomponente 20, was es der Client-Anwendungskomponente 20 ermöglicht, die Mitteilung zu behandeln, wenn dies sicher und zweckmäßig ist.
  • An der Spitze des Sendeobjektmodells des Datenverpackungsmoduls 28 steht Projekt, siehe 3. Ein Projektobjekt ist die Wurzel des Sendeobjektmodells, und stellt den primären Zusammenarbeits-Kontext bereit, wobei es alle Objekte enthält, auf die von innerhalb des Projektes aus zugegriffen werden muss. Das Projektobjekt kann man sich als Sätze oder "Pools" von Objekten enthaltend denken, die innerhalb des Projektobjektes als Kompositions-Elemente agieren. Das Arrangement-Objekt ist das Kompositions-Element der höchsten Ebene in dem Objekt-Modell.
  • Wie in 4 gezeigt, ist ein Arrangement-Objekt eine Sammlung von Spurobjekten. Diese Gruppierung von Spurobjekten dient zwei Zwecken:
    • 1. Es ermöglicht es dem Arrangement, den Kompositions-Kontext der Spuren zu definieren.
    • 2. Es ermöglicht es dem Arrangement, den Zeitkontext für diese Spuren zu setzen.
  • Spurobjekte (s. 5) sind die Behälter ("Container") der höchsten Ebene für Ereignisobjekte, und setzen deren Zeitkontext. Alle Ereignisobjekte in einem Spurobjekt beginnen zu einer Zeit mit Bezug auf den Beginn eines Spurobjektes. Spurobjekte sind ferner die am häufigsten verwendeten Eigentümer-Einheiten in einer Zusammenarbeits-Sitzung. Das Datenverpackungsmodul 28 kapselt daher die Sequenzdaten in Sendedateneinheiten, oder Objekte, inklusive einem Arrangement-Objekt, welches eine Zeit-Referenz errichtet, und wenigstens einem Spurobjekt mit einer zur Arrangement-Zeit-Referenz korrespondierenden Spurzeitreferenz. Jedes Spurobjekt hat wenigstens ein zugeordnetes Ereignisobjekt, welches ein audiovisuelles Ereignis zu einer bezüglich der zugeordneten Spur-Zeit-Referenz festgelegten Zeit repräsentiert.
  • Die von der Client-Anwendungskomponente 20 der lokalen Sequenzerstation 14 erzeugten Sequenzdaten enthalten Multimediadaten-Quelldateneinheiten, welche von aufgenommenen Daten abgeleitet sind. Typischerweise werden diese aufgenommenen Daten MIDI-Daten, digitale Audio-Daten oder digitale Video-Daten sein, obwohl jeder Datentyp aufgenommen und gespeichert werden kann. Diese in dem Projekt verwendeten Multimediadaten-Quelldateneinheiten werden durch einen Typ von Sendedateneinheiten repräsentiert, der als Bestandobjekt bekannt ist. Wie 6 zeigt, hat ein Bestandobjekt einen zugeordneten Satz von Rendering-Objekten. Bestandobjekte verwenden diese Rendering-Objekte, um verschiedene "Ansichten" ("views") eines bestimmten Medien-Teils zu repräsentieren. Daher werden Bestand- und Rendering-Objekte als Medien-Sendedateneinheiten bezeichnet. Alle von Bestand- und Rendering-Objekten abweichenden Sendedateneinheiten sind von einem als Nicht-Medien-Sendedateneinheiten bezeichneten Typ.
  • Jedes Bestandobjekt hat ein spezielles Rendering-Objekt, welches die Original-Quellaufnahme der Daten repräsentiert. Da digitale Mediendaten häufig sehr umfangreich sind, kann es sein, dass diese Original-Quelldaten niemals über das Netzwerk verteilt werden. Stattdessen werden komprimierte Versionen der Daten gesendet werden. Diese komprimierten Versionen werden von abweichenden Rendering-Objekten des Bestandobjektes repräsentiert.
  • Durch Definieren von Hohe-Ebene-Methoden (im Detail im Anhang angegeben) zum Setzen und Manipulieren dieser Rendering-Objekte, stellen Bestandobjekte ein Mittel zum Verwalten verschiedener Versionen von Quelldaten bereit, um sie als ein gemeinsames Kompositions-Element zu gruppieren. Das Datenverpackungsmodul 28 kapselt somit die Multimedia-Quelldatenobjekte in wenigstens einen Typ von Bestand-Rendering-Sendeobjekt, wobei jeder Bestand-Rendering-Objekttyp eine Version von Multimediadaten-Quelldaten mit einem unterschiedlichen Grad an Datenkompression spezifiziert.
  • Die von der Client-Anwendungskomponente 20 der lokalen Sequenzerstation 14 erzeugten Sequenzdateneinheiten enthalten Clipdateneinheiten, welche jeweils einen speziellen Abschnitt einer Multimediadaten-Quelldateneinheit repräsentieren. Datenverpackungsmodul 28 kapselt diese Sequenzdateneinheiten als Clipobjekte, welche verwendet werden, um einen Abschnitt eines Bestandobjektes zu referenzieren, wie in 7 gezeigt. Der Haupt-Zweck der Clipobjekte ist es, diejenigen Abschnitte des Bestandobjektes zu definieren, die kompositionsrelevant sind. Beispielsweise könnte ein Bestandobjekt, welches einen Trommel-Part repräsentiert, zwanzig Takte lang sein. Ein Clipobjekt könnte verwendet werden, um Vier-Takt-Abschnitte der Original-Aufnahme zu referenzieren. Diese Clipobjekte könnten dann als Schleifen verwendet werden, um den Trommel-Part neu zu arrangieren.
  • Clipobjekte sind unter Verwendung von Clip-Ereignisobjekten in Arrangement-Objekte aufgenommen. Wie in 8 gezeigt, ist ein Clip-Ereignisobjekt ein Typ eines Ereignisobjektes, der verwendet wird, um ein Clipobjekt zu referenzieren. Dies bedeutet: das Datenverpackungsmodul 28 kapselt Sequenzdateneinheiten in Sendedateneinheiten, welche als Clip-Ereignisobjekte bekannt sind, und jeweils einen spezifischen Abschnitt einer Multimediadaten-Quelldateneinheit repräsentieren, welcher zu einer festgelegten Zeit bezüglich einer zugeordneten Spurzeitreferenz beginnt.
  • Es mag auf den ersten Blick zu kompliziert erscheinen, zwei Verweisungs-Ebenen auf Bestandobjekte vorzusehen. Der Bedarf hierfür ist allerdings einfach: Kompositionen werden oft durch Wiederverwenden geläufiger Elemente aufgebaut. Diese Elemente beziehen sich typischerweise auf ein Bestandobjekt, verwenden aber nicht die gesamten aufgezeichneten Daten des Bestandobjektes. Die Clipobjekte identifizieren somit diejenigen Abschnitte von Bestandobjekten, die tatsächlich innerhalb der Komposition von Interesse sind.
  • Obwohl es viele Anwendungen gibt, die erfolgreich allein unter Verwendung von Arrangement-, Spur- und Clip-Ereignisobjekten arbeiten könnten, verlangen viele Client-Anwendungskomponenten auch, dass Kompositions-Elemente geschachtelt werden.
  • Beispielsweise könnte ein Trommel-Part mittels einer Sammlung von Spuren arrangiert werden, wobei jede Spur eine individuelle Trommel repräsentiert (d.h. Schnarrtrommel, Bass-Trommel und Zimbel). Obwohl ein Komponist einen Trommel-Part unter Verwendung dieser individuellen Trommel-Spuren aufbauen kann, denkt er sich den ganzen Trommel-Part als ein einzelnes Kompositions-Element und wird – nachdem er mit dem Editieren fertig ist – das ganze Trommel-Arrangement als einen einzelnen Part bearbeiten. Viele Client-Anwendungskomponenten erzeugen Ordner für diese Spuren, ein geschachtelter Part, der als eine einzige Einheit editiert und arrangiert werden kann.
  • Um dieses Schachteln zu ermöglichen, weist die Sende-Objekt Hierarchie von Datenverpackungsmodul 28 einen speziellen Typ von Ereignisobjekten auf, welcher Rahmenereignisobjekt genannt wird (s. 9).
  • Ein Rahmenereignisobjekt ist ein Typ von Ereignisobjekt, welcher ein oder mehrere Zeitgeradeobjekte enthält. Diese Zeitgeradeobjekte enthalten ihrerseits weitere Ereignisse, wodurch sie einen Schachtelungs-Mechanismus bereitstellen. Rahmenereignisobjekte sind daher sehr ähnlich zu Arrangement-Objekten: das Rahmenereignisobjekt setzt eine Start-Zeit (den Zeitkontext) für alle in ihm enthaltenen Zeitgeradeobjekte.
  • Zeitgeradeobjekte sind sehr ähnlich zu Spurobjekten, so dass in diesen Zeitgeradeobjekten enthaltene Ereignisobjekte sich alle auf die Start-Zeit des Rahmenereignisobjektes beziehen. Daher kapselt das Datenverpackungsmodul 28 Sequenzdateneinheiten in Rahmenereignis-Datenobjekte, die jeweils eine Rahmenereignis-Zeitreferenz haben, welche zu einer festgelegten Zeit mit Bezug zur zugeordneten Spurzeitreferenz errichtet wird. Jedes Rahmenereignisobjekt enthält wenigstens ein Zeitgeradeereignisobjekt, wobei jedes Zeitgeradeereignisobjekt eine Zeitgeradeereignis-Zeitreferenz aufweist, welche zu einer festgelegten Zeit mit Bezug zur zugeordneten Rahmenereignis-Zeitreferenz errichtet wird, und welche wenigstens ein Ereignisobjekt aufweist, welches ein audiovisuelles Ereignis zu einer festgelegten Zeit mit Bezug zur zugeordneten Zeitgeradeereigniszeitreferenz enthält.
  • Ein Projektobjekt enthält Null oder mehr Kundenspezifikations-Objekte (s. 10). Kundenspezifikations-Objekte stellen einen Mechanismus bereit, jegliche generischen Daten zu enthalten, die Client-Anwendungskomponente 20 möglicherweise verwenden will. Kundenspezifikations-Objekte werden vom Projektobjekt verwaltet, und können beliebig oft von anderen Sendeobjekten referenziert werden.
  • Das von Datenverpackungsmodul 28 implementierte Sendeobjektmodell enthält zwei spezielle Objekte: Rocket-Objekt und Erweiterbar. Alle Sendeobjekte sind von diesen Klassen abgeleitet, wie in 11 gezeigt.
  • Das Rocket-Objekt enthält Methoden und Attribute, die allen Objekten in der Hierarchie gemeinsam sind. (Beispielsweise haben alle Objekte in der Hierarchie ein Name-Attribut).
  • Erweiterbar-Objekte sind Objekte, die von Client-Anwendungskomponente 20 erweitert werden können. Wie in 11 gezeigt, stellen diese Objekte Standard-Sendedateneinheiten dar, welche die Hierarchie der Sequenzdaten ausdrücken, inklusive Projekt-, Arrangement-, Spur-, Ereignis-, Zeitgerade-, Bestand- und Rendering-Objekten. Die Erweiterbarkeit dieser Standard-Sendedateneinheiten erlaubt es Dritt-Entwicklern, spezialisierte Typen von Sendedateneinheiten zur eigenen Verwendung zu erzeugen. Beispielsweise könnte es die Client-Anwendungskomponente 20 dem Datenverpackungsmodul 28 erlauben, ein spezialisiertes, als Mischspur bezeichnetes, Objekt zu implementieren, welches alle Attribute des Standard-Spurobjektes enthält, und außerdem zusätzliche Attribute enthält. Client-Anwendungskomponente 20 errichtet das Mischspur-Objekt durch Erweitern des Spurobjektes mittels der Spur-Klasse.
  • Wie oben angegeben, können Erweiterbar-Sendedateneinheiten erweitert werden, um spezialisierte Datentypen zu unterstützen. Viele Client-Anwendungskomponenten 20 werden allerdings herkömmliche Datentypen zum Aufbau von Kompositionen verwenden. Beispielsweise werden Musik-Sequenzer-Anwendungen praktisch immer Digital-Audio- und MIDI-Datentypen verwenden.
  • Verbindungssteuerungskomponente 22 bietet dem Anwender Zugang zu Kommunikations- und Navigations-Diensten innerhalb der Virtuellstudio-Umgebung. Insbesondere antwortet Verbindungssteuerungskomponente 22 auf vom Anwender an der lokalen Sequenzerstation 14 empfangene Befehle zum Errichten eines Zugangs mittels Server 12 zu einer vorbestimmten Untermenge von auf dem Server 12 gespeicherten Sendedateneinheiten. Verbindungssteuerungskomponente 22 enthält die folgenden Haupt-Module:
    • 1. Einen Einwahl-Dialog
    • 2. Eine Weiterleit-Schnittstelle zu einem externen Web-Browser, welcher Zugang zu dem Ressourcen-Server 12 gibt.
    • 3. Eine floating Schnittstelle zum Unterhalten.
    • 4. Eine private Schnittstelle zum Unterhalten.
    • 5. Audio-Kompressions Codec-Präferenzen.
    • 6. Eine Schnittstelle für Client-spezifische Anwender-Präferenzen.
  • Der Einwahl-Dialog erlaubt es dem Anwender, ein neues Benutzerkonto an Server 12 anzulegen, oder sich in verschiedene, auf Server 12 unterhaltene virtuelle Studios durch Eingeben eines vorher registrierten Anwendernamens und eines registrierten Passwortes einzuwählen.
  • Verbindungssteuerungskomponente 22 verbindet den Anwender mit Server 12 und errichtet eine Web-Brower-Verbindung.
  • Sobald eine Verbindung errichtet ist, kann der Anwender verfügbare virtuelle Studios auf Server 12 durchsuchen, ein Studio zum "Eintreten" auswählen, und Unterhalte-Nachrichten mit anderen Anwendern an entfernten Sequenzerstationen 16 durch ein Unterhalte-Fenster austauschen.
  • Insbesondere reicht Verbindungssteuerungskomponente 22 Befehle an Dienstekomponente 24 weiter, welche mittels Serverkommunikationsmodul 32 Nachrichten mit Server 12 austauscht. Bevorzugterweise werden Unterhalte-Nachrichten mittels eines Mehrfach-Anwender-Bereich objektorientierten Protokolls (MOO, "Multi User Domain, Object Oriented Protocol") implementiert.
  • Serverkommunikationsmodul 32 empfängt Daten von anderen Modulen der Dienstekomponente 24 zum Übertragen an Server 12, und empfängt ferner Daten von Server 12 zum Verarbeiten durch Client-Anwendungskomponente 20 und Verbindungssteuerungskomponente 22. Diese Kommunikation erfolgt in Form von Nachrichten zum Unterstützen von Transaktionen, d.h. von Nachrichten-Stapeln, welche zu Server 12 und von Server 12 gesendet werden, um eine spezielle Funktion zu erreichen. Die von Serverkommunikationsmodul 32 ausgeführten Funktionen enthalten: Herunterladen eines Einzel-Objektes, Herunterladen eines Objektes und seiner Kinder, Herunterladen von Medien-Daten, Herraufladen von Sendedateneinheiten zu Server 12, Einwählen in Server 12 zum Auswählen eines Studios, Einwählen in Server 12 zum Zugreifen auf Daten und zum Lokalisieren eines Studios.
  • Diese Funktionen werden von einer Mehrzahl von unten beschriebenen Nachrichten-Typen erreicht:
  • ACK
  • Dies ist eine Einzel-Empfangs-Bestätigung
  • NACK
  • Diese Nachricht ist ein Nicht-Bestätigen und enthält einen Fehler-Code.
  • Anfrage Einzel-Objekt
  • Diese Nachricht identifiziert das Studio, identifiziert das das Objekt enthaltende Projekt und identifiziert die Objekt-Klasse.
  • Anfrage Objekt und Kind-Objekte
  • Diese Nachricht identifiziert das Studio, identifiziert das das Objekt enthaltende Projekt, identifiziert das gemeinsam mit seinen Kind-Objekten herunterzuladende Objekt, und identifiziert die Objekt-Klasse.
  • Senden Start
  • Diese Nachricht identifiziert das Studio und identifiziert das gesendete Projekt.
  • Senden Erzeuge
  • Diese Nachricht identifiziert das Studio, identifiziert das das Objekt enthaltende Projekt, identifiziert das erzeugte Objekt und enthält die Objekt-Daten.
  • Senden Modifiziere
  • Diese Nachricht identifiziert das Studio, identifiziert das das Objekt enthaltende Projekt, identifiziert das modifizierte Objekt und enthält die Objekt-Daten.
  • Senden Lösche
  • Diese Nachricht identifiziert das Studio, identifiziert das das Objekt enthaltende Projekt, identifiziert das gelöschte Objekt und identifiziert die Klasse des aktualisierten Objektes.
  • Senden Beende
  • Diese Nachricht identifiziert das Studio und identifiziert das gesendete Projekt.
  • Transaktion rückgängig machen
  • Diese Nachricht bricht die derzeitig aktive Transaktion ab.
  • Beginn Objekt-Herunterladen
  • Diese Nachricht identifiziert das mit dieser Nachricht heruntergeladene Objekt, identifiziert die Objekt-Klasse, identifiziert das übergeordnete Objekt des Objektes und enthält die Objekt-Daten.
  • Einzel-Objekt-Herunterladen
  • Diese Nachricht identifiziert das heruntergeladene Objekt, identifiziert die Objekt-Klasse, und enthält die Objekt-Daten.
  • Anfrage Medien-Herunterladen
  • Diese Nachricht identifiziert das Studio, identifiziert das das Objekt enthaltende Projekt, identifiziert das den herunterzuladenen Medien zugeordnete Rendering-Objekt und identifiziert die Objekt-Klasse(immer Rendering).
  • Sende Medium
  • Diese Nachricht identifiziert das Studio, identifiziert das das Objekt enthaltene Projekt, identifiziert das herauf zuladende Medien-Objekt, identifiziert die Objektklasse (immer Medien), identifiziert das übergeordnete Rendering-Objekt der Medien und enthält Medien-Daten.
  • Medium-Herunterladen
  • Diese Nachricht identifiziert das den herunterzuladenden Medien zugeordnete Rendering-Objekt, identifiziert die Objekt-Klasse (immer Rendering) und enthält die Medien-Daten.
  • Anfrage Zeitstempel
  • Diese Nachricht erfragt einen Zeitstempel.
  • Antwort Zeitstempel
  • Diese Nachricht enthält einen Zeitstempel im Format JJJJMMTTHHMMSSMMM (Jahr, Monat, Tag im Monat, Stunde, Minute, Sekunde, Millisekunden).
  • Anfrage Einwahl
  • Diese Nachricht identifiziert den Name eines Anwenders, der versucht sich einzuwählen, und stellt aus Sicherheitsgründen einen MD5-Digest bereit.
  • Antwort SSS Einwahl
  • Diese Nachricht zeigt an, ob ein Anwender eine registrierte 'Pro-' Version besitzt, und stellt einen Sitzungs-Token, eine URL für die Web-Seite des Servers, einen Datenserver-Port und die Adresse des Datenservers bereit.
  • Anfrage Studio-Ort
  • Diese Nachricht identifiziert das Studio, dessen Ort angefragt wird, und die Namen der Gemeinschaft und des Studios.
  • Antwort Studio-Ort
  • Diese Nachricht identifiziert das Studio, den Port für das MOO und die Adresse des MOO.
  • Anfrage Einzel-Objekt
  • Diese Nachricht identifiziert das Studio, identifiziert das das Objekt enthaltende Projekt, identifiziert das herunterzuladende Objekt und identifiziert die Objekt-Klasse.
  • Beende Objekt-Herunterladen
  • Diese Nachricht identifiziert das Objekt, dessen Herunterladen beendet wurde, identifiziert die Objekt-Klasse und identifiziert das übergeordnete Objekt des Objektes.
  • Die Client-Anwendungskomponente 20 erhält durch einen Satz von Schnittstellen-Klassen, welche das erste Schnittstellenmodul 26 definieren, und welche in einer Klassenbibliothek enthalten sind, Zugriff auf die Dienstekomponente 24. In der bevorzugten Ausführungsform sind diese Klassen in einfachem, plattformübergreifendem C++ implementiert, und benötigen keine speziellen Kenntnisse von COM oder anderen Inter-Prozess-Kommunikations-Technologien.
  • Ein Sequenzer-Hersteller integriert eine Client-Anwendungskomponente 20 in die Dienstekomponente 24 durch Zusammenbinden der Klassenbibliothek mit Quell-Code der Client-Anwendungskomponente 20 in gut bekannter Weise, beispielsweise durch Verwenden von Visual C++ für Windows-Anwendungen oder Metroworks Codewarrier (Pro Release 4) für Macintosh Anwendungen.
  • Ausnahmebehandlung wird ermöglicht durch:
    • – Hinzufügen von Initialisierungs- und Beendigungs-Eintrittspunkten zu der Client-Anwendungskomponente 20 (Engl.: _initialize und _terminate für "_initialisiere" und "_beendige"),
    • – Hinzufügen der "MSL RuntimePPC++.DLL" zu der Client-Anwendungskomponente 20, und
    • – Hinzufügen der "MSL AppRuntime.Lib" zu der Client-Anwendungskomponente 20
    • – Sobald diese Pfade einmal spezifiziert sind, werden bei Bedarf einfach Header-Dateien von der Dienstekomponente 24 in Quelltext-Dateien aufgenommen.
  • Eine ausführliche Beschreibung der zum Implementieren des erfindungsgemäßen Systems notwendigen Klassen der Klassenbibliothek ist im Anhang angegeben.
  • Für die Client-Anwendungskomponente 24 ist CrktServices die grundlegendste Klasse in dem ersten Schnittstellenmodul 26. Sie stellt Methoden zur Durchführung der folgenden Funktionen bereit:
    • – Initialisieren der Dienstekomponente 24.
    • – Herunterfahren der Dienstekomponente 24.
    • – Empfangen von Mitteilungen von der Dienstekomponente 24.
    • – Erzeugen von Projektobjekten.
    • – Behandeln des Sendens von Objekten zu Server 12 mittels Dienstekomponente 24.
    • – Anfragen nach anderen Sendeobjekt-Schnittstellen.
  • Jede Implementierung, welche die Dienstekomponente 24 verwendet, ist einzigartig. Der erste Schritt ist daher, eine Dienstekomponente 24 -Klasse zu erzeugen. Hierzu erzeugt ein Anwender einfach eine neue, von CRktservices abgeleitete Klasse:
    Figure 00260001
  • Eine Anwendung verbindet sich mit Dienstekomponente 24 mittels Erzeugens einer Instanz ihrer
    Figure 00260002
    Klasse und Aufrufens von
    Figure 00260003
    Figure 00270001
  • Figure 00260003
    führt automatisch alle notwendigen Operationen aus, um die Kommunikation mit der Dienstekomponente 24 für die Client-Anwendungskomponente 20 zu initiieren.
  • Client-Anwendungskomponente 20 trennt sich durch Löschen der
    Figure 00260002
    -Instanz von der Dienstekomponente 24 ab:
    Figure 00270002
  • Die Dienstekomponente 24 wird automatisch nur diejenigen Kundenspezifikations-Datenobjekte herunterladen, die von der Client-Anwendung registriert worden sind.
    Figure 00260002
    stellt eine Schnittstelle hierfür bereit:
    Figure 00270003
  • Wie
    Figure 00260002
    weisen alle Sendeobjekte im ersten Schnittstellenmodul 26 zugeordnete -Schnittstellen-Implementations-Klassen auf. Mittels dieser
    Figure 00270004
    Schnittstellen-Klassen werden Sendeobjekte erzeugt und manipuliert.
  • Sendeobjekte werden in einer von zweierlei Weisen erzeugt:
    • – Lokales Erzeugen von Objekten und Senden dieser Objekte zum Server.
    • – Empfangen neuer Objekte vom Server.
  • Es gibt einen dreistufigen Prozess zum lokalen Erzeugen von Objekten:
    • 1. Die Client-Anwendungskomponente erzeugt Sendeobjekte durch Aufrufen der zugehörigen
      Figure 00280001
      -Methoden ihres Behälter-Objektes("container object").
    • 2. Die Client-Anwendungskomponente ruft
      Figure 00280002
      auf, um eine Schnittstelle zu diesem Objekt zu erhalten.
    • 3. Die Clent-Anwendungskomponente ruft
      Figure 00280003
      auf, um den Server mit diesen neuen Objekten zu aktualisieren.
  • Sendeobjekte haben
    Figure 00280001
    -Methoden für jede Art von Objekt, das sie enthalten. Diese
    Figure 00280001
    -Methoden erzeugen das Sendeobjekt in der Dienstekomponente 24 und geben die ID des Objektes zurück.
  • Beispielsweise weist
    Figure 00260002
    -Methoden zum Erzeugen eines Projektes auf.
  • Der folgende Code würde mit diesem Verfahren ein Projekt erzeugen:
  • Figure 00280004
  • Zum Erzeugen einer Spur ruft die Client-Anwendungskomponente 20 die
    Figure 00290001
    -Methode des Arrangement-Objektes auf. Jedes übergeordnete Sendeobjekt hat Methode(n) seines spezifischen Typs von abgeleiteten Sendeobjekten.
  • Es ist nicht notwendig (und nicht wünschenswert)
    Figure 00280003
    unmittelbar nach Erzeugen neuer Sendeobjekte aufzurufen. Das Senden wird bevorzugterweise von der Anwender-Schnittstelle der Client-Anwendungskomponente 20 gestartet. (Beispielsweise, sobald der Anwender eine "Sende-" Schaltfläche betätigt).
  • Da die Dienstekomponente 24 alle geänderten Sendeobjekte beaufsichtigt und verwaltet, kann die Client-Anwendungskomponente 20 sich das Daten-Management der Dienstekomponente 24 zu Nutze machen, während sie gleichzeitig Anwendern die Wahl ermöglicht, wann sie ihre Beiträge und Änderungen mit anderen, in dem Projekt verbundenen Anwendern teilen wollen.
  • Es ist zu beachten, dass (anders als
    Figure 00260002
    ) die Schnittstellen-Objekte des Datenmodells nicht direkt erzeugt werden. Sie müssen mittels der Erzeuge-Methoden oder der übergeordneten Objekte erzeugt werden.
  • Client-Anwendungskomponente 20 kann jederzeit
    Figure 00270004
    Schnittstellen-Objekte erhalten. Diese Objekte werden erst dann vom Datenverpackungsmodul 28 gelöscht, wenn die
    Figure 00290002
    -Methode erfolgreich ausgeführt worden ist. Client-Anwendungskomponente 20 greift wie folgt auf ein Sendeobjekt zu:
    Figure 00290003
  • Die
    Figure 00300001
    Template-Klasse wird verwendet, um Auto-Pointer-Objekte zu erzeugen. Dies ist nützlich, um Schnittstellen-Objekte zu erzeugen, die automatisch zerstört werden, sobald
    Figure 00300002
    seinen Gültigkeitsbereich verliert.
  • Zum Modifizieren der Attribute eines Sendeobjekts ruft Client-Anwendungskomponente 20 die für das Attribut der korrespondierenden
    Figure 00270004
    Schnittstellen- Klasse definierten Zugriff-Methoden auf:
    Figure 00300003
  • Jedes Sendeobjekt hat einen zugeordneten Editierer, welcher der einzige Anwender ist, dem es erlaubt ist, das Objekt zu modifizieren. Wenn ein Objekt erzeugt wird, wird als Voreinstellung derjenige Anwender, der das Objekt erzeugt hat, sein Editierer.
  • Vor Modifizieren eines Objektes stellt Dienstekomponente 24 sicher, dass der derzeitige Anwender der Editierer des Objektes ist. Wenn der Anwender keine Erlaubnis zum Modifizieren des Objektes hat, oder wenn das Objekt gerade zum Server gesendet wird, wird die Operation fehlschlagen.
  • Einmal erzeugt, ist die Client-Anwendungskomponente 20 verantwortlich für das Löschen des Schnittstellen-Objektes:
    Figure 00300004
  • Löschen von
    Figure 00270004
    Schnittstellen-Klassen darf nicht mit Entfernen des Objektes aus dem Datenmodell verwechselt werden. Um ein Objekt aus dem Datenmodell zu entfernen, wird die
    Figure 00290002
    -Methode des Objektes aufgerufen:
    Figure 00300005
  • Schnittstellen-Objekte sind "Referenz-gezählt". Obwohl der Aufruf von
    Figure 00290002
    das Objekt effektiv aus dem Datenmodell entfernen wird, wird er nicht die Schnittstellen zu ihm wieder freigeben. Der Code zum ordnungsgemäßen Entfernen eines Objektes aus dem Datenmodell ist:
    Figure 00310001
    oder unter Verwendung des
    Figure 00300002
    -Templates
  • Figure 00310002
  • Wie bei dem Erzeuge-Prozess, werden Objekte solange nicht global gelöscht, bis die
    Figure 00280003
    -Methode aufgerufen wird.
  • Hat der Anwender keine Erlaubnis, das Objekt zu modifizieren, oder findet gerade ein Senden statt, wird die Operation fehlschlagen, unter Auswerfen einer Ausnahmemeldung.
  • Sendeobjekte werden erst dann an Server 12 gesendet oder ihm anvertraut, wenn die
    Figure 00280003
    -Schnittstellen-Methode aufgerufen wird. Dies erlaubt es Anwendern, lokal Änderungen durchzuführen, bevor sie dem Server oder anderen Anwendern anvertraut werden. Der Sendeprozess ist eine asynchrone Operation. Dies erlaubt es Client-Anwendungskomponente 20, sogar dann fortzufahren, wenn Daten im Hochladen begriffen sind.
  • Um sicherzustellen, dass seine Datenbank während des Sendevorganges konsistent bleibt, erlaubt es Dienstekomponente 24 keinen Objekten, modifiziert zu werden, während gerade ein Senden fortschreitet. Wenn alle geänderten Objekte an den Server gesendet worden sind, wird eine
    Figure 00320001
    -Mitteilung an die Client-Anwendungskomponente gesendet werden.
  • Client-Anwendungskomponente 20 kann durch Aufrufen von
    Figure 00320002
    vor ihrem Anvertrauen an den Server 12 beliebige von ihr an dem Datenmodell ausgeführte Änderungen rückgängig machen. Bei Aufruf dieser Operation kehren die Objekte zu dem Zustand zurück, in dem sie sich vor dem letzten Senden befunden hatten. (Diese Operation ist nicht auf Medien-Daten anwendbar).
  • Figure 00320003
    ist eine synchrone Methode.
  • Die Client-Anwendungskomponente 20 kann ein im Fortschreiten begriffenes Senden durch Aufruf von
    Figure 00320004
    abbrechen. Dieser Prozess läßt alle Objekte in den Zustand zurückkehren, in dem sie sich auf der sendenden Maschiene befinden. Dies beinhaltet alle Objekte, die vor dem Aufruf von
    Figure 00320005
    gesendet worden waren.
  • Figure 00320005
    ist eine synchrone Methode.
  • Mitteilungen sind der primäre Mechanismus, den Dienstekomponente 24 verwendet, um mit Client-Anwendungskomponente 20 zu kommunizieren. Wenn eine Sendedateneinheit zu Server 12 gesendet wird, wird sie der Projekt-Datenbank auf Server 12 zugefügt und es wird eine Daten-Verfügbar-Nachricht erneut an alle anderen mit dem Projekt verbundenen Sequenzerstationen gesendet. Die Dienstekomponente 24 von anderen Sequenzerstationen erzeugen eine Mitteilung für ihre zugehörigen Client-Anwendungskomponenten 20. Bei Nicht-Medien-Sendedateneinheiten fragen die anderen Sequenzerstationen ebenfalls unmittelbar das Herunterladen der verfügbaren Sendedateneinheiten an. Für Medien-Sendedateneinheiten muß ein Befehl der zugehörigen Client-Anwendungskomponente 20 empfangen worden sein, bevor eine Anfrage zum Herunterladen der verfügbaren Sendedateneinheiten erzeugt wird.
  • Auf Empfang einer neuen Sendedateneinheit hin erzeugt die Dienstekomponente 24 eine Mitteilung für die Client-Anwendungskomponente 20. Beispielsweise würde, wenn ein Bestandobjekt empfangen worden wäre, die
    Figure 00330001
    -Mitteilung erzeugt werden.
  • Alle Mitteilungen werden von der
    Figure 00260002
    -Instanz behandelt und sind als virtuelle Funktionen des
    Figure 00260002
    -Objektes implementiert.
  • Um eine Mitteilung zu behandeln, überlädt die Client-Anwendungskomponente 20 die korrespondierende virtuelle Funktion in ihrer
    Figure 00260002
    -Klasse.
  • Beispielsweise:
  • Figure 00330002
  • Wenn die Client-Anwendungskomponente 20 mittels des Mitteilungswarteschlangen-Behandlers 28 Mitteilungen empfängt, werden diese überladenen Methoden aufgerufen:
    Figure 00330003
  • Sequenzer sind oft in Zuständen, in denen die Daten, die sie verwenden, nicht geändert werden sollten. Wenn beispielsweise Client-Anwendungskomponente 20 sich mitten in einem Abspielen einer Datensequenz aus einer Datei befindet, kann es wichtig sein, dass sie das Abspielen beendet, bevor die Daten verändert werden.
  • Um Datenintegrität sicherzustellen, werden alle Mitteilungs-Übertragungen bei Client-Anwendungskomponente 20 angefordert, was es ihr erlaubt, die Mitteilung innerhalb ihres eigenen Threads zu behandeln. Wenn eine Mitteilung verfügbar ist, wird eine Nachricht an die Client-Anwendungskomponente 20 gesendet.
  • Bei unter Windows betriebenen Sequenzerstationen hat diese Mitteilung die Form einer Windows-Message. Um diese Mitteilung zu empfangen, müssen das Rückmeldungs-Fenster und die Mitteilungs-Nachricht gesetzt werden.
  • Dies wird mit der
    Figure 00340001
    Methode vorgenommen:
    Figure 00340002
  • Dieses Fenster wird dann die
    Figure 00340003
    -Nachricht empfangen, sobald es Mitteilungen in der Ereigniswarteschlange des Warteschleifenbehandlermoduls 34 gibt.
  • Die Client-Anwendungskomponente 20 würde dann
    Figure 00340004
    aufrufen, um die Dienstekomponente 24 anzuweisen, Mitteilungen für die nächste Mitteilung über anliegende Daten zu senden:
    Figure 00340005
  • Figure 00340006
    veranlaßt Dienstekomponente 24, die Mitteilung von der Warteschlange zu entfernen, und den korrespondierend Mitteilungs-Behandler aufzurufen, den Client-Anwendungskomponente 20 in ihrer Implementierung von
    Figure 00260002
    überladen hatte.
  • Bei einer Macintosh-Sequenzerstation, plaziert Client-Anwendungskomponente 20 einen
    Figure 00340007
    -Aufruf
  • Figure 00350001
  • Wie oben in dem Windows-Abschnitt beschrieben, veranlaßt
    Figure 00340006
    die Dienstekomponente 24, die Mitteilung von der Warteschlange zu entfernen und den korrespondierenden Mitteilungs-Behandler aufzurufen, den Client-Anwendungskomponente 20 in ihrer Implementierung von
    Figure 00260002
    überladen hatte.
  • Da Mitteilungen nur dann behandelt werden, wenn die Client-Anwendungskomponente 20 sie anfordert, verwendet der Mitteilungswarteschlangen-Behandler der Dienstekomponente 24 ein "intelligentes Warteschlangen-"System, um anliegende Mitteilungen zu behandeln.
  • Der Zweck hiervon ist zweifach:
    • 1. Um redundante Nachrichten zu entfernen.
    • 2. Um sicherzustellen, dass bei Löschen eines Objektes alle Nachrichten von Kind-Objekten von der Warteschlange entfernt werden.
  • Dieser Prozess hilft Datenintegriät sicherzustellen, wenn der Fall eintritt, dass Mitteilungen eintreffen, bevor Client-Anwendungskomponente 20 alle Mitteilungen von der Warteschlange behandelt hat.
  • Das System aus l ermöglicht es auszuwählen, ob Mitteilungen für Objekte, welche innerhalb von anderen Objekten enthalten sind, gesendet werden sollen oder nicht. Wenn ein Wert von
    Figure 00350002
    bei einer Start-Mitteilung zurückgegeben wird, werden alle Mitteilungen für in dem Objekt enthaltene Objekte gesendet werden. Wenn
    Figure 00350003
    zurückgegeben wird, werden keine Mitteilungen für enthaltene Objekte gesendet werden. Die
    Figure 00360001
    -Mitteilung zeigt an, dass das Objekt und alle Kind-Objekte erzeugt worden sind.
  • Wenn beispielsweise die Client-Anwendungskomponente 20 sicherstellen wollte, dass sie nie Mitteilungen von irgendwelchen Ereignissen erhält, die innerhalb von Spuren enthalten sind, würde sie die
    Figure 00360002
    -Methode überladen, und würde sie zurückgeben lassen:
    Figure 00360003
  • Und würde in der
    Figure 00360004
    Mitteilung die von der Spur enthaltenen Objekte parsen:
    Figure 00360005
  • In der bevorzugten Ausführungsform werden, wenn immer dies möglich ist, vordefinierte Sendeobjekte verwendet. Hierdurch wird ein gemeinsamer Austausch-Standard unterstützt. Die meissten Client-Anwendungskomponenten 20 werden in der Lage sein, ausführlichen Gebrauch von den vordefinierten Objekten des Sendeobjektmodells zu machen. Es gibt allerdings Zeiten, in denen eine Client-Anwendungskomponente 20 Objekte auf ihren eigenen Bedarf zuzuschneiden hat.
  • Das beschriebene System stellt zwei primäre Methoden zum Erzeugen von Kundenspezifikations- und Erweiterungs- Objekten bereit. Wenn die Client-Anwendungskomponente 20 ein Objekt aufweist, welches eine Variation von einem der Objekte des Sendeobjektmodells ist, kann sie wählen, das Sendeobjekt zu erweitern. Dies erlaubt ein Beibehalten aller Attribute, Methoden und Enthalten-Sein-Eigenschaften des Sendeobjektes, während es auf eine spezifische Anwendung zugeschnitten wird. wenn beispielsweise die Client-Anwendungskomponente 20 einen Spur-Typ mit Misch-Information aufweist, kann sie das Spurobjekt dahingehend erweitern, dass es Attribute beinhaltet, welche sich auf Misch-Spur-Implementierung beziehen. Alle vordefinierten Sendeobjekt-Datentypen in der vorliegenden Erfindung (Audio, MIDI, MIDI-Trommel, Tempo) sind unter Verwendung dieses Erweiterungs-Mechanismus implementiert.
  • Der erste Schritt bei der Erweiterung eines Sendeobjektes ist es, ein global einzigartiges
    Figure 00370001
    zu definieren:
    Figure 00370002
  • Diese ID wird zum Markieren des Daten-Typs des Objektes verwendet. Sie erlaubt der Dienstekomponente 20 die Kenntnis des im Sendeobjekt enthaltenen Datentyps. Der nächste Schritt ist das Erzeugen einer Attribut-Struktur, welche die erweiterte Attribut-Daten des Objektes enthält:
    Figure 00370003
  • Um ein erweitertes Objekt zu initialisieren, setzt die Client-Anwendungskomponente 20 die Datentyp-ID, die Datengröße, und die Daten:
    Figure 00380001
  • Wenn eine Mitteilung für ein Objekt des erweiterten Typs empfangen wird, wird angenommen, dass dieses initialisiert worden ist. Die Client-Anwendungskomponente 20 fragt einfach seine Attribut-Struktur von der
    Figure 00270004
    Schnittstelle ab und verwendet ihre Werte nach Bedarf.
  • Figure 00380002
  • Kundenspezifikations-Objekte werden verwendet, um private Objekte zu erzeugen, welche sich nicht direkt Objekten in dem Sendeobjekt-Model des Datenverpackungsmoduls 28 zuordnen lassen. Ein Kundenspezifikations-Datenobjekt ist ein Sendeobjekt, welches willkürliche Binär-Daten enthält. Kundenspezifikations-Datenobjekte weisen ebenfalls Attribute auf, die den von dem Objekt enthaltenen Datentyp spezifizieren, so dass Anwendungen das Datenobjekt identifizieren können. Die Dienstekomponente 24 stellt für Kundenspezifikations-Datenbeschreiber alle normalen Dienste bereit, die mit Sendeobjekten assoziiert sind: Methoden zum Erzeugen, Löschen, Modifizieren, und Mitteilungen.
  • Der erste Schritt zum Erzeugen eines neuen Typs von Kundenspezifikations-Daten ist, eine einzigartige ID zu erzeugen, welche den Datentyp (oder Klasse) des Objektes repräsentiert:
    Figure 00390001
  • Es muss sichergestellt sein, dass diese ID einzigartig ist, da diese ID dazu verwendet wird, den Typ von zu sendenden Daten festzulegen, wenn Kundenspezifikations-Daten-Mitteilungen empfangen werden. Der nächste Schritt ist daher, eine Struktur zum Halten der Attribute und der Daten für das Kundenspezifikations-Datenobjekt zu definieren.
  • Figure 00390002
  • Figure 00390003
    kann aufgerufen werden, um ein neues Kundenspezifikations-Objekt zu erzeugen, den Daten-Typ des Datenbeschreiber-Objektes zu setzen, und die Attribut-Struktur des Objektes zu setzen:
    Figure 00390004
    Figure 00400001
  • Wenn die Client-Anwendungskomponente 20 die Mitteilung für das Objekt empfängt, überprüft sie einfach den Datentyp und behandelt es in der notwendigen Weise:
    Figure 00400002
  • Alle Kundenspezifikations-Datentypen müssen bei der Dienstekomponente 24 (während der Initialisierung der Dienstekomponente 24) registriert werden. Die Dienstekomponente 24 wird das Erzeugen und Empfangen nur von solchen Kundenspezifikations-Objekten erlauben, welche registriert wurden. Einmal registriert, werden die Daten automatisch heruntergeladen.
  • Figure 00410001
  • Wenn ein Anwender eine musikalische Komposition erzeugt, arrangiert er oder sie Daten-Clips, welche auf aufgezeichnete Medien Bezug nehmen. Diese aufgezeichneten Medien werden in dem Sendeobjektmodell der Daten-Verpackungs-Komponente 32 als ein Bestandobjekt wiedergegeben. Ein Bestandobjekt ist dazu vorgesehen, ein aufgezeichnetes Kompositions-Element zu repräsentieren. Es sind diese Bestandobjekte, die von Clips referenziert werden, um Arrangements zu bilden.
  • Obwohl jedes Bestandobjekt ein einzelnes Element repräsentiert, kann es mehrere Versionen von tatsächlich aufgezeichneten Medien für das Objekt geben. Dies erlaubt es Anwendern, verschiedene Versionen des Bestandes zu erzeugen. Innerhalb des Bestandes wird jede dieser Versionen von einem Rendering-Objekt repräsentiert.
  • Bestand-Daten sind häufig sehr umfangreich, und es ist für Anwender in hohem Maße wünschenswert, komprimierte Versionen von Bestand-Daten zu versenden. Da diese komprimierten Daten häufig verschlechterte Versionen der Original-Aufnahme darstellen, kann ein Bestand nicht einfach die Original-Medien-Daten durch komprimierten Daten ersetzen.
  • Bestandobjekte stellen einen Mechanismus zum Nachverfolgen jeder Daten-Version und zu ihrem Zuordnen zu den Original-Quell-Daten, sowie zum Festlegen der zu Server 12 zu sendenden Version(en) bereit. Dies wird durch Rendering-Objekte ausgeführt.
  • Jedes Bestandobjekt hat eine Liste von einem oder mehreren Rendering-Objekten, wie in 6 dargestellt. Für jedes Bestandobjekt gibt es ein Quell-Rendering-Objekt, welches die ursprünglichen, Bit-genauen Daten repräsentiert. Abweichende Rendering-Objekte sind von diesen Original-Quell-Daten abgeleitet.
  • Die Daten für jedes Rendering-Objekt werden nur dann zu Server 12 gesendet, wenn dies von der Client-Anwendungskomponente 20 festgelegt wird. In gleicher Weise werden Rendering-Objekt-Daten nur dann vom Server 12 heruntergeladen, wenn Client-Anwendungskomponente 20 hierum ersucht.
  • Jedes Rendering-Objekt agiert daher als ein Platzhalter für alle potentiellen Versionen eines Bestandobjektes, die der Anwender erhalten kann und beschreibt alle Attribute der dargestellten Daten. Basierend auf dem Verhältnis von Qualität zu Datenumfang wählen Anwendungen aus, für welche Rendering-Objekte auf Server 12 die Daten herunterladen werden.
  • Rendering-Objekte agieren in dem Sendeobjektmodell als Dateilokalisier-Objekte. Bestände sind in gewissem Sinn abstrakte Elemente. Es sind die Rendering-Objekte, die tatsächlich die Daten enthalten.
  • Renderings weisen zwei Methoden zum Daten-Speichern auf:
    • – In RAM als ein Datenblock.
    • – Auf Platte als eine Datei.
  • Die Verwendung von RAM oder Platte basiert zum größten Teil auf dem Umfang und dem Typ der zu speichernden Daten. Üblicherweise sind beispielsweise MIDI Daten RAM-gestützt, und Audio-Daten Datei-gestützt.
  • Von allen Objekten des Sendeobjektmodells werden nur Rendering-Objekte von dem Zwischenspeichermodul 36 zwischengespeichert. Da Rendering-Objekte vom Server 12 auf einer Nur-bei-Anfrage-Basis gesendet werden, kann die Dienstekomponente 24 überprüfen, ob das Rendering-Objekt von der lokalen Sequenzer Station 14 vor dem Senden der Daten-Anforderung auf Platte gespeichert worden ist.
  • In der bevorzugten Ausführungsform sind Bestand-Rendering-Objekte auf drei spezielle Typen beschränkt:
  • Quelle: Spezifiziert die Original-Quell-Aufnahme- stellt buchstäblich eine Bit-genaue Wiedergabe der Original-aufgezeichneten Datei dar.
  • Standard: Spezifiziert das Standard-Rendering der zu verwendenden Datei, im Allgemeinen eine moderat komprimierte Version der Original-Quell-Daten.
  • Preview: Spezifiziert das Rendering, welches heruntergeladen werden soll, um ein Preview über die Medien zu erhalten. Dies ist im Allgemeinen eine hoch-komprimierte Version der Original-Quell-Daten.
  • Jeder der im Anhang angegebenen Bestand-Aufrufe auf hoher Ebene verwendet ein Flag, welches angibt, welche der drei Rendering-Objekt-Typen von dem Aufruf referenziert wird.
  • Üblicherweise wird der Typ des ausgewählten Rendering-Objektes auf dem in dem Bestand enthaltenen Datentyp basieren. Einfache Datentypen – wie MIDI – werden keine Kompression oder alternative Renderings verwenden. Komplexere Datentypen – wie Audio oder Video – verwenden eine Anzahl verschiedener Rendering-Objekte, um eine effiziente Bandbreiten-Ausnutzung zu ermöglichen.
  • Ein erstes Beispiel der Anwendung von Bestandobjekten wird unter Verwendung von MIDI-Daten erklärt. Da der Daten-Umfang verhältnismäßig klein ist, wird nur das Quell-Rendering-Objekt gesendet, ohne Komprimierung und ohne alternative Renderings-Typen.
  • Der Sender erzeugt ein neues Bestandobjekt, setzt seine Daten, und sendet es an den Server 12.
  • Schritt 1
  • Erzeugen eines Bestandobjekt
  • Der erste Schritt für Client-Anwendungskomponente 20 ist das Erzeugen eines Bestandobjektes. Dies wird in der normalen Weise durchgeführt:
    Figure 00440001
  • Schritt 2
  • Setzen der Bestand-Daten und der Daten-Art
  • Der nächste Schritt ist das Setzen der Daten und der Daten-Art für das Objekt. In diesem Fall werden, weil der gesendete Daten-Umfang klein ist, nur die Quell-Daten gesetzt:
    Figure 00440002
  • Der
    Figure 00440003
    -Aufruf wird verwendet, um die Daten des Quell-Renderings zu setzen.
  • Die Daten-Art der Daten wird auf
    Figure 00440004
    gesetzt, um zu signalisieren, dass die Daten im Standard-MIDI Dateiformat vorliegen.
  • Schritt 3
  • Setzen der Bestand-Flags
  • Der dritte Schritt ist das Setzen der Flags für den Bestand. Diese Flags legen fest, welche Dastellung des Bestandes beim nächsten Aufruf von
    Figure 00440005
    zum Server 12 hochgeladen wird. Im vorliegenden Fall sind nur die Quell-Daten notwendig.
  • Figure 00440006
  • Setzen des
    Figure 00440007
    -Flags spezifiziert, dass das Quell-Rendering für das Objekt hochgeladen werden muss.
  • Schritt 4
  • Senden
  • Der letzte Schritt ist das Senden. Dies geschieht in normaler Weise, in Antwort auf einen vom Anwender erzeugten Befehl:
    Figure 00450001
  • Um einen Bestand zu empfangen, behandelt die Client-Anwendungskomponente 20 der lokalen Sequenzerstation 14 die Neuer-Bestand-Mitteilung und fragt nach den Bestand-Daten nach. Wenn die
    Figure 00450002
    -Mitteilung empfangen wird, wurde das Bestandobjekt vom Datenverpackungsmodul 28 erzeugt. Client-Anwendungskomponente 20 erzeugt eine Schnittstelle zu dem Bestandobjekt und erfragt seine Attribute und verfügbaren Renderings:
    Figure 00450003
  • Daten müssen immer von der lokalen Sequenzerstation 12 für Bestände angefragt werden. Dies erlaubt Flexibilität beim Empfangen von großen Daten-Mengen. Hierzu initiiert die Client-Anwendungskomponente 20 einfach das Herunterladen:
    Figure 00460001
  • Wenn die Daten erfolgreich heruntergeladen worden sind, wird die
    Figure 00460002
    -Mitteilung gesendet. An diesem Punkt sind die Daten lokal verfügbar, und die Client-Anwendungskomponente 20 ruft
    Figure 00460003
    auf, um eine Kopie der Daten zu erhalten:
    Figure 00460004
  • Figure 00470001
  • In einem zweiten Beispiel wird ein Audiodaten-Bestand erzeugt. Die Client-Anwendungskomponente 20 setzt die Audiodaten und von der Dienstekomponente 24 wird automatisch ein komprimiertes Preview-Rendering erzeugt.
  • In diesem Szenario ist der Datenumfang relativ groß, so dass die Daten in einer Datei gespeichert werden.
  • Der Sender verfolgt viele der Schritte des einfachen MIDI-Falls von oben. Diesmal werden allerdings die Daten in einer Datei gespeichert, und es wird ein anderes Sende-Flag verwendet:
    Figure 00470002
  • Da
    Figure 00470003
    spezifiziert worden war, wird die Dienstekomponente 24 automatisch das Preview-Rendering aus dem spezifizierten Quell-Rendering erzeugen, und die Flags für sein Heraufladen beim nächsten Aufruf von
    Figure 00480001
    setzen.
  • Alternativ hierzu könnte das Preview durch Aufruf von
    Figure 00480002
    explizit erzeugt werden:
    Figure 00480003
  • In diesem Beispiel war
    Figure 00440007
    nicht gesetzt. Dies bedeutet, dass das Quell-Rendering nicht zum Heraufladen markiert wurde und nicht zum Server 12 heraufgeladen werden wird.
  • Das Quell-Rendering könnte zum späteren Heraufladen beigefügt werden durch Aufruf von:
    Figure 00480004
  • Wenn ein Bestand von einer entfernten Sequenzerstation 16 erzeugt und gesendet wird, erzeugt der Mitteilungswarteschlangenbehandler 28 eine
    Figure 00330001
    -Mitteilung. Die Client-Anwendungskomponente sucht nach dem Bestandobjekt, im Allgemeinen mittels eines ID-Nachschlagens ("lookup") innerhalb ihres eigenen Datenmodells:
    Figure 00480005
  • Wie oben würden die Daten angefordert:
    Figure 00480006
  • Figure 00480007
    spezifiziert die Klassifikation der herunterzuladenden Rendering-Daten und des Verzeichnisses, in das die heruntergelade Datei geschrieben werden soll.
  • Wenn die Daten erfolgreich heruntergeladen worden sind, wird die
    Figure 00490001
    Mitteilung gesendet.
  • Jetzt sind die komprimierten Daten verfügbar, aber sie müssen dekomprimiert werden:
    Figure 00490002
  • Wenn die Daten erfolgreich dekomprimiert worden sind, wird die
    Figure 00490003
    Mitteilung gesendet:
    Figure 00490004
  • Die Dienstekomponente 24 verfolgt nach, welche Dateien sie auf Platte geschrieben hat. Die Client- Anwendungskomponente 20 kann dann diese Dateien überprüfen, um festzustellen, welche Dateien während eines Daten-Anfragens heruntergeladen werden müssen. Dateien, die bereits verfügbar sind, müssen nicht heruntergeladen werden. Aufrufe an
    Figure 00500001
    zeigen an, ob Medien bereits heruntergeladen worden sind.
  • Dienstekomponente 24 verwendet Daten-Lokalisier-Dateien, um Daten für Rendering-Objekte nachzuverfolgen und diese zwischenzuspeichern. Jede Daten-Lokalisier-Datei wird identifiziert anhand der ID des zugehörigen Renderings, der Zeit der letzten Änderung des Renderings und einem Präfix, welcher anzeigt, ob die zwischengespeicherten Daten vorverarbeitet (komprimiert) oder nachgearbeitet (dekomprimiert) worden sind.
  • Für Datei-basierte Rendering-Objekte werden Dateien an von der Client-Anwendung festgelegten Stellen geschrieben. Dies erlaubt es, Medien-Dateien projektweise in Ordner zu gruppieren. Es bedeutet auch, dass die Client-Anwendungskomponente 20 ein Datei-Organisations-Schema ihrer Wahl verwenden kann.
  • Jedes Projektobjekt weist einen korrespondierenden Ordner in dem Zwischenspeicher-Verzeichnis auf. Wie bei den Daten-Lokalisierern, sind die Verzeichnisse mit der ID des zugehörigen Projektes bezeichnet. Daten-Lokalisier-Objekte werden innerhalb des Ordners des sie enthaltenden Projektes gespeichert.
  • Da Medien-Dateien recht großen Platten-Speicherplatz beanspruchen können, ist es wichtig, dass nicht verwendete Dateien gelöscht werden. Dies ist insbesondere gegeben, wenn die derzeitige Rendering-Datei durch eine Datei höherer Qualität ersetzt wird. Beispielsweise kann ein Anwender für eine Weile mit der Preview-Version eines Bestandes arbeiten und sich dann später entscheiden, das Quell-Rendering herunterzuladen. Jetzt ist das Preview- Rendering redundant.
    Figure 00510001
    stellt eine Methode zum Löschen dieser redundanten Daten zur Verfügung:
    Figure 00510002
  • Dieser Aufruf löscht die Rendering-Datei vom Zwischenspeicher und löscht die Datei von der Platte oder vom RAM.
  • Für Fachleute ist offensichtlich, dass verschiedene Modifikationen und Veränderungen an den erfindungsgemäßen Verfahren und Systemen durchgeführt werden können, ohne vom Gültigkeitsbereich der Erfindung abzuweichen. Wenn beispielsweise alle in der oben beschriebenen Erfindung vorhandenen Konstanten mit der gleichen Konstante multipliziert würden, wäre das Ergebnis eine skalierte Version der vorliegenden Erfindung, und wäre funktionell äquivalent. Der wahre Bereich der Ansprüche ist durch die folgenden Ansprüche definiert.

Claims (14)

  1. Vorrichtung zum gemeinsamen Benutzen von Sequenzdaten zwischen einer lokalen Sequenzerstation (14) und wenigstens einer entfernten Sequenzerstation (16) mittels eines Servers (12) über ein Netzwerk (18), wobei die Sequenzdaten audiovisuelle Ereignisse verkörpern, von welchen jedes beschreibende Eigenschaften und Zeiteigenschaften hat, wobei die Vorrichtung aufweist: ein erstes Schnittstellenmodul (26), welches Befehle von einer lokalen Sequenzerstation empfängt; ein Datenverpackungsmodul, welches mit dem ersten Schnittstellenmodul verbunden ist, wobei das Datenverpackungsmodul auf die empfangenen Befehle durch Einkapseln der Sequenzdaten von der lokalen Sequenzerstation in Sendedateneinheiten reagiert, welche die beschreibenden Eigenschaften und Zeitbeziehungen der Sequenzdaten beibehalten, ebenso extrahiert das Datenverpackungsmodul Sequenzdaten von Sendedateneinheiten, welche von dem Server zum Zugriff durch das lokale Sequenzerendgerät empfangen wurden; einen Sendungsbehandler (30), der mit dem ersten Schnittstellenmodul und dem Datenverpackungsmodul verbunden ist, wobei der Sendungsbehandler (30) über das erste Schnittstellenmodul empfangene Befehle verarbeitet; ein Serverkommunikationsmodul (32), welches auf durch den Sendungsbehandler verarbeitete Befehle antwortet durch Übertragen von Sendedateneinheiten zu dem Server zum Verteilen an wenigstens eine entfernte Sequenzerstation, wobei das Serverkommunikationsmodul auch Daten-verfügbar-Nachrichten und Sendedateneinheiten vom Server empfängt; und einen Mitteilungswarteschlangen-Behandler (34), welcher mit dem Serverkommunikationsmodul verbunden ist und für den Empfang von Daten-verfügbar-Nachrichten und Sendedateneinheiten von dem Server empfangen kann, zum Übertragen von Mitteilungen zu der ersten Schnittstelle zum Zugriff durch das lokale Sequenzerendgerät.
  2. Vorrichtung gemäß Anspruch 1, wobei das Datenverpackungsmodul die Sequenzdaten in Sendedateneinheiten einkapselt, welche eine Anordnungsdateneinheit aufweisen, die eine Zeitreferenz bildet und wenigstens eine Spurdateneinheit, welche eine der Anordnungszeitreferenz entsprechende Spurzeitreferenz aufweist, wobei jede Spurdateneinheit wenigstens eine zugeordnete Ereignisdateneinheit aufweist, welche ein audiovisuelles Ereignis zu einer angegebenen Zeit mit Bezug auf den zugeordneten Spurzeitbezug darstellt.
  3. Vorrichtung gemäß Anspruch 2, wobei die durch die lokale Sequenzerstation erzeugten Sequenzdaten Multimediadaten-Quelldateneinheiten aufweist und wobei das Datenverpackungsmodul die Multimedia-Quelldateneinheiten in wenigstens eine Art einer bestanddarstellenden Sendeeinheit einkapselt, wobei jede bestanddarstellende Sendeeinheitsart eine Version von Multimediadaten-Quelldaten angibt, welche einen unterschiedlichen Grad von Datenkompression zeigen.
  4. Vorrichtung gemäß Anspruch 3, wobei das Serverkommunikationsmodul auf durch den Sendungsbehandler bearbeitete Befehle durch Übertragen von bestanddarstellenden Sendungseinheiten einer ausgewählten bestanddarstellenden Sendeeinheitsart zu dem Server zum Verteilen auf wenigstens eine entfernte Sequenzerstation antwortet.
  5. Vorrichtung gemäß Anspruch 3, wobei die durch die lokale Sequenzerstation erzeugten Sequenzdateneinheiten Clipdateneinheiten aufweisen, wobei jede einen festgelegten Teil einer Multimediadaten-Quelldateneinheit darstellt und wobei das Datenverpackungsmodul die Clipdateneinheiten in Sendeclipdateneinheiten einkapselt.
  6. Vorrichtung gemäß Anspruch 5, wobei das Datenverpackungsmodul Sequenzdateneinheiten in Sendeclipereignisdateneinheiten verpackt, wobei jedes einen festgelegten Anteil einer Multimediadaten-Quelldateneinheit darstellt, welche zu einer festgelegten Zeit in Bezug auf eine zugeordnete Spurzeitreferenz beginnt.
  7. Vorrichtung gemäß Anspruch 6, wobei: das Datenverpackungsmodul Sequenzdateneinheiten in Rahmenereignisdateneinheiten einkapselt, von denen jedes eine Rahmenereigniszeitreferenz aufweist, welche zu einer festgelegten Zeit mit Bezug auf eine zugeordnete Spurzeitreferenz eingerichtet ist; jede Rahmenereignisdateneinheit weist wenigstens eine Zeitgeradenereignis-Dateneinheit auf, wobei jede Zeitgeradenereignis-Dateneinheit eine Zeitgeradenereignis-Zeitreferenz hat, welche zu einer festgelegten Zeit mit Bezug zu der zugeordneten Rahmenereignis-Zeitreferenz eingerichtet wurde und wenigstens eine Ereignisdateneinheit aufweist, welche ein audiovisuelles Ereignis zu einer festgelegten Zeit mit Bezug zu der zugeordneten Zeitgeradenereignis-Zeitreferenz darstellt.
  8. Vorrichtung gemäß Anspruch 1, welche eine Verbindungssteuerungskomponente aufweist, welche in Antwort auf die Befehle, die von der lokalen Sequenzerstation empfangen wurden, zum Einrichten des Zugriffs über den Server zu einer vorgegebenen Untermenge von auf dem Server gespeicherten Sendedateneinheiten.
  9. Vorrichtung gemäß Anspruch 8, wobei die Verbindungssteuerungskomponente von der lokalen Sequenzerstation Registrierungsdaten empfängt und den Zugriff herstellt zu einer vorgegebenen Untermenge von auf dem Server gespeicherten Sendedateneinheiten, in Übereinstimmung mit auf dem Server gespeicherten Berechtigungsdaten.
  10. Vorrichtung gemäß Anspruch 1, wobei das Datenverpackungsmodul: Sequenzdaten in erste und zweite Arten von Sendedateneinheiten einkapselt; auf den Empfang einer Nachricht, welche die Verfügbarkeit der ersten Art von Sendedateneinheit am Server anzeigt durch Veranlassen des Serverkommunikationsmoduls zum Beginnen des Herunterladens der ersten Art von Sendedateneinheit antwortet, ohne die Autorisierung von der Client-Anwendungskomponente zu benötigen; und auf den Empfang einer Nachricht, welche die Verfügbarkeit der zweiten Art von Sendedateneinheit am Server anzeigt durch Veranlassen des Serverkommunikationsmoduls zum Beginnen des Herunterladens der zweiten Art von Sendedateneinheit nur nach Empfang eines Befehls zum Herunterladen von der Client-Anwendungskomponente antwortet.
  11. Vorrichtung gemäß Anspruch 10, wobei die erste Art von Sendedateneinheit eine nichtmediale Sendedateneinheit aufweist und die zweite Art von Sendedateneinheit eine mediale Sendedateneinheit aufweist.
  12. Vorrichtung zum Gemeinsamen Benutzen von Sequenzdaten zwischen einer lokalen Sequenzerstation (14) und wenigstens einer entfernten Sequenzerstation (16) mittels eines Servers (12) über ein Netzwerk (18), wobei die Sequenzdaten audiovisuelle Ereignisse verkörpern, wobei jedes beschreibende Eigenschaften und Zeiteigenschaften hat und Multimediadaten-Quelldateneinheiten aufweist, wobei die Vorrichtung aufweist: ein erstes Schnittstellenmodul (26), welches Befehle von einer lokalen Sequenzerstation empfängt; ein Datenverpackungsmodul (28), welches mit dem ersten Schnittstellenmodul verbunden ist, wobei das Datenverpackungsmodul auf die empfangenen Befehle durch Einkapseln der Sequenzdaten von der lokalen Sequenzerstation in Sendedateneinheiten reagiert, welche die beschreibenden Eigenschaften und Zeitbeziehungen der Sequenzdaten beibehalten, das Datenverpackungsmodul kapselt die Multimedia-Quelldateneinheiten in wenigstens eine Art von bestanddarstellender Sendungseinheit ein, wobei jede darstellende Sendungseinheitsart eine Version von Multimediadaten-Quelldaten festlegt, welche einen unterschiedlichen Grad von Datenkompression zeigt, das Datenverpackungsmodul extrahiert auch Sequenzdaten von Sendedateneinheiten, welche von dem Server empfangen wurden; einen Sendungsbehandler (30), der mit dem ersten Schnittstellenmodul und dem Datenverpackungsmodul verbunden ist, wobei der Sendungsbehandler (30) über das erste Schnittstellenmodul empfangene Befehle verarbeitet; ein Serverkommunikationsmodul (32), welches auf durch den Sendungsbehandler verarbeitete Befehle durch Übermittlung von Sendedateneinheiten zu dem Server zum Verteilen an wenigstens eine entfernte Sequenzerstation antwortet, wobei das Serverkommunikationsmodul auch Sendedateneinheiten von wenigstens einer entfernten Sequenzerstation empfängt; und
  13. Vorrichtung zum Gemeinsamen Benutzen von Sequenzdaten zwischen einer lokalen Sequenzerstation (14) und wenigstens einer entfernten Sequenzerstation (16) mittels eines Servers (12) über ein Netzwerk (18), wobei die Sequenzdaten audiovisuelle Ereignisse verkörpern, wobei jedes beschreibende Eigenschaften und Zeiteigenschaften hat, wobei die Vorrichtung aufweist: ein erstes Schnittstellenmodul (26), welches Befehle von einer lokalen Sequenzerstation empfängt; ein Datenverpackungsmodul (28), welches mit dem ersten Schnittstellenmodul verbunden ist, wobei das Datenverpackungsmodul auf die empfangenen Befehle durch Einkapseln der Sequenzdaten von der lokalen Sequenzerstation in Sendedateneinheiten reagiert, welche die beschreibenden Eigenschaften und Zeitbeziehungen der Sequenzdaten beibehalten, die Sendedateneinheiten weisen kundenspezifische Sendedateneinheiten auf, Standard-Sendedateneinheiten, welche die Hierarchie von Sequenzdaten ausdrücken und spezialisierte Sendedateneinheiten, welche alle Attribute von Standard-Sendedateneinheiten plus zusätzliche Attribute aufweisen, das Datenverpackungsmodul extrahiert auch Sequenzdaten von Sendedateneinheiten, welche von dem Server empfangen wurden; einen Sendungsbehandler (30), der mit dem ersten Schnittstellenmodul und dem Datenverpackungsmodul verbunden ist, wobei der Sendungsbehandler (30) über das erste Schnittstellenmodul empfangene Befehle bearbeitet; ein Serverkommunikationsmodul (32), welches auf durch den Sendungsbehandler bearbeitete Befehle durch Übermitteln von Sendedateneinheiten zu dem Server zum Verteilen an wenigstens eine entfernte Sequenzerstation antwortet, wobei das Serverkommunikationsmodul auch Sendedateneinheiten über den Server von wenigstens einer entfernten Sequenzerstation empfängt und die empfangenen Sendedateneinheiten zu dem Datenverpackungsmodul weitersendet.
  14. Verfahren zum Gemeinsamen Benutzen von Sequenzdaten zwischen einer lokalen Sequenzerstation (14) und wenigstens einer entfernten Sequenzerstation (16) mittels eines Servers (12) über ein Netzwerk (18), wobei die Sequenzdaten audiovisuelle Ereignisse darstellen, von denen jedes beschreibende Eigenschaften und Zeiteigenschaften hat, wobei das Verfahren aufweist: Empfangen von Befehlen über eine Client-Anwendungskomponente (20) von einem Benutzer an einer lokalen Sequenzerstation; Antworten auf die empfangenen Befehle durch Einkapseln von Sequenzdaten von der lokalen Sequenzerstation in Sendedateneinheiten, welche die beschreibenden Eigenschaften und Zeitbeziehungen der Sequenzdaten beibehalten und Übertragen von Sendedateneinheiten zu dem Server zum Verteilen an wenigstens eine entfernte Sequenzerstation; Empfangen von Daten-verfügbar-Nachrichten von dem Server; Antworten auf den Empfang von Daten-verfügbar-Nachrichten von dem Server zum Übertragen von Benachrichtigungen zu der Client-Anwendungskomponente; Antworten auf von der Client-Anwendungskomponente empfangenen Befehle zum Anfordern des Herunterladens von Sendedateneinheiten von dem Server; und Empfangen von Sendedateneinheiten von dem Server und Extrahieren von Sequenzdaten von den empfangenen Sendedateneinheiten zum Zugriff durch die Client-Anwendungskomponente.
DE60006845T 1999-09-23 2000-09-22 Verfahren und vorrichtung zur zusammenarbeit bei multimediaerzeugung über einem netzwerk Expired - Fee Related DE60006845T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US401318 1982-07-23
US09/401,318 US6598074B1 (en) 1999-09-23 1999-09-23 System and method for enabling multimedia production collaboration over a network
PCT/US2000/025977 WO2001022398A1 (en) 1999-09-23 2000-09-22 System and method for enabling multimedia production collaboration over a network

Publications (2)

Publication Number Publication Date
DE60006845D1 DE60006845D1 (de) 2004-01-08
DE60006845T2 true DE60006845T2 (de) 2004-11-11

Family

ID=23587254

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60006845T Expired - Fee Related DE60006845T2 (de) 1999-09-23 2000-09-22 Verfahren und vorrichtung zur zusammenarbeit bei multimediaerzeugung über einem netzwerk

Country Status (9)

Country Link
US (3) US6598074B1 (de)
EP (1) EP1224658B1 (de)
JP (1) JP2003510642A (de)
AT (1) ATE255264T1 (de)
AU (1) AU757950B2 (de)
CA (1) CA2384894C (de)
DE (1) DE60006845T2 (de)
HK (1) HK1047340B (de)
WO (1) WO2001022398A1 (de)

Families Citing this family (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598074B1 (en) * 1999-09-23 2003-07-22 Rocket Network, Inc. System and method for enabling multimedia production collaboration over a network
US8145776B1 (en) * 1999-10-15 2012-03-27 Sony Corporation Service providing apparatus and method, and information processing apparatus and method as well as program storage medium
US6621834B1 (en) * 1999-11-05 2003-09-16 Raindance Communications, Inc. System and method for voice transmission over network protocols
US6535909B1 (en) * 1999-11-18 2003-03-18 Contigo Software, Inc. System and method for record and playback of collaborative Web browsing session
US7349944B2 (en) * 1999-11-18 2008-03-25 Intercall, Inc. System and method for record and playback of collaborative communications session
US6668273B1 (en) * 1999-11-18 2003-12-23 Raindance Communications, Inc. System and method for application viewing through collaborative web browsing session
US7865545B1 (en) * 1999-12-28 2011-01-04 International Business Machines Corporation System and method for independent room security management
JP2001188754A (ja) * 1999-12-28 2001-07-10 Optrom Inc 電子回路を有する記憶媒体及び該記憶媒体を用いた情報管理方法と情報処理システム
JP3758450B2 (ja) * 2000-01-10 2006-03-22 ヤマハ株式会社 曲データ作成のためのサーバ装置、クライアント装置及び記録媒体
US7328239B1 (en) * 2000-03-01 2008-02-05 Intercall, Inc. Method and apparatus for automatically data streaming a multiparty conference session
US20010037367A1 (en) * 2000-06-14 2001-11-01 Iyer Sridhar V. System and method for sharing information via a virtual shared area in a communication network
JP2002082880A (ja) * 2000-06-28 2002-03-22 Oregadare Inc メッセージの送受信管理方法及びメッセージの送受信管理システム
FR2811504B1 (fr) * 2000-07-06 2003-07-04 Centre Nat Etd Spatiales Dispositif serveur de realisation multi-utilisateur en libre-service et de diffusion d'emissions de television et reseau de television
AU2001283004A1 (en) * 2000-07-24 2002-02-05 Vivcom, Inc. System and method for indexing, searching, identifying, and editing portions of electronic multimedia files
US20020107895A1 (en) * 2000-08-25 2002-08-08 Barbara Timmer Interactive personalized book and methods of creating the book
US7047273B2 (en) * 2000-11-28 2006-05-16 Navic Systems, Inc. Load balancing in set top cable box environment
US7107312B2 (en) * 2001-02-06 2006-09-12 Lucent Technologies Inc. Apparatus and method for use in a data/conference call system for automatically collecting participant information and providing all participants with that information for use in collaboration services
US7133895B1 (en) * 2001-02-20 2006-11-07 Siebel Systems, Inc. System and method of integrating collaboration systems with browser based application systems
US6482087B1 (en) * 2001-05-14 2002-11-19 Harmonix Music Systems, Inc. Method and apparatus for facilitating group musical interaction over a network
US20030046344A1 (en) * 2001-08-31 2003-03-06 International Business Machines Corp. Method and system for controlling and securing teleconference sessions
US7284032B2 (en) * 2001-12-19 2007-10-16 Thomson Licensing Method and system for sharing information with users in a network
US7636754B2 (en) * 2002-03-21 2009-12-22 Cisco Technology, Inc. Rich multi-media format for use in a collaborative computing system
US20030195929A1 (en) * 2002-04-15 2003-10-16 Franke Michael Martin Methods and system using secondary storage to store media data accessible for local area users
US7668901B2 (en) * 2002-04-15 2010-02-23 Avid Technology, Inc. Methods and system using a local proxy server to process media data for local area users
US7546360B2 (en) * 2002-06-06 2009-06-09 Cadence Design Systems, Inc. Isolated working chamber associated with a secure inter-company collaboration environment
US7143136B1 (en) * 2002-06-06 2006-11-28 Cadence Design Systems, Inc. Secure inter-company collaboration environment
SE0202019D0 (sv) * 2002-06-28 2002-06-28 Abb As Revalidation of a compiler for safety control
US7716312B2 (en) 2002-11-13 2010-05-11 Avid Technology, Inc. Method and system for transferring large data files over parallel connections
US7613773B2 (en) * 2002-12-31 2009-11-03 Rensselaer Polytechnic Institute Asynchronous network audio/visual collaboration system
US20040128698A1 (en) * 2002-12-31 2004-07-01 Helena Goldfarb Apparatus and methods for scheduling events
US7277883B2 (en) * 2003-01-06 2007-10-02 Masterwriter, Inc. Information management system
US7681136B2 (en) * 2003-01-08 2010-03-16 Oracle International Corporation Methods and systems for collaborative whiteboarding and content management
US8533268B1 (en) 2003-02-10 2013-09-10 Intercall, Inc. Methods and apparatus for providing a live history in a multimedia collaboration session
US8775511B2 (en) * 2003-02-10 2014-07-08 Open Invention Network, Llc Methods and apparatus for automatically adding a media component to an established multimedia collaboration session
US7701882B2 (en) 2003-02-10 2010-04-20 Intercall, Inc. Systems and methods for collaborative communication
US7529798B2 (en) 2003-03-18 2009-05-05 Intercall, Inc. System and method for record and playback of collaborative web browsing session
GB0307714D0 (en) * 2003-04-03 2003-05-07 Ibm System and method for information collation
US20040260752A1 (en) * 2003-06-19 2004-12-23 Cisco Technology, Inc. Methods and apparatus for optimizing resource management in CDMA2000 wireless IP networks
US7779039B2 (en) 2004-04-02 2010-08-17 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
WO2005043401A1 (en) * 2003-10-30 2005-05-12 Pepper Computer, Inc. Sharing multimedia collection
JP4305153B2 (ja) * 2003-12-04 2009-07-29 ヤマハ株式会社 音楽セッション支援方法、音楽セッション用楽器
US7426578B2 (en) * 2003-12-12 2008-09-16 Intercall, Inc. Systems and methods for synchronizing data between communication devices in a networked environment
US10152190B2 (en) 2003-12-15 2018-12-11 Open Invention Network, Llc Systems and methods for improved application sharing in a multimedia collaboration session
US20050234961A1 (en) * 2004-04-16 2005-10-20 Pinnacle Systems, Inc. Systems and Methods for providing a proxy for a shared file system
US8423602B2 (en) * 2004-10-13 2013-04-16 International Business Machines Corporation Web service broadcast engine
US7971001B2 (en) * 2004-12-28 2011-06-28 Sap Ag Least recently used eviction implementation
US7539821B2 (en) * 2004-12-28 2009-05-26 Sap Ag First in first out eviction implementation
US8204931B2 (en) 2004-12-28 2012-06-19 Sap Ag Session management within a multi-tiered enterprise network
US20060143256A1 (en) * 2004-12-28 2006-06-29 Galin Galchev Cache region concept
US7694065B2 (en) * 2004-12-28 2010-04-06 Sap Ag Distributed cache architecture
US7660416B1 (en) 2005-01-11 2010-02-09 Sample Digital Holdings Llc System and method for media content collaboration throughout a media production process
JP2006197041A (ja) * 2005-01-12 2006-07-27 Nec Corp PoCシステム、PoC携帯端末及びそれらに用いるポインタ表示方法並びにそのプログラム
KR100770828B1 (ko) * 2005-01-28 2007-10-26 삼성전자주식회사 이동 통신 단말의 회의 통화 중에 1:1 통화 제공방법
US8918458B2 (en) * 2005-04-20 2014-12-23 International Business Machines Corporation Utilizing group statistics for groups of participants in a human-to-human collaborative tool
US8589562B2 (en) 2005-04-29 2013-11-19 Sap Ag Flexible failover configuration
US8244179B2 (en) 2005-05-12 2012-08-14 Robin Dua Wireless inter-device data processing configured through inter-device transmitted data
US7966412B2 (en) * 2005-07-19 2011-06-21 Sap Ag System and method for a pluggable protocol handler
WO2007019480A2 (en) 2005-08-05 2007-02-15 Realnetworks, Inc. System and computer program product for chronologically presenting data
WO2007030796A2 (en) 2005-09-09 2007-03-15 Salesforce.Com, Inc. Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment
JP4591308B2 (ja) * 2005-10-25 2010-12-01 ヤマハ株式会社 音楽セッションシステム、音楽セッションシステム用サーバおよび該サーバを制御する制御方法を実現するためのプログラム
US20070139189A1 (en) * 2005-12-05 2007-06-21 Helmig Kevin S Multi-platform monitoring system and method
US8099508B2 (en) * 2005-12-16 2012-01-17 Comcast Cable Holdings, Llc Method of using tokens and policy descriptors for dynamic on demand session management
CN101405790B (zh) * 2005-12-20 2012-06-06 创新科技有限公司 多个输入设备对系统资源的同时共享
US8707323B2 (en) * 2005-12-30 2014-04-22 Sap Ag Load balancing algorithm for servicing client requests
US20070163428A1 (en) * 2006-01-13 2007-07-19 Salter Hal C System and method for network communication of music data
US9196304B2 (en) * 2006-01-26 2015-11-24 Sony Corporation Method and system for providing dailies and edited video to users
US7459624B2 (en) 2006-03-29 2008-12-02 Harmonix Music Systems, Inc. Game controller simulating a musical instrument
US20070245881A1 (en) * 2006-04-04 2007-10-25 Eran Egozy Method and apparatus for providing a simulated band experience including online interaction
US20070239839A1 (en) * 2006-04-06 2007-10-11 Buday Michael E Method for multimedia review synchronization
US8176153B2 (en) * 2006-05-02 2012-05-08 Cisco Technology, Inc. Virtual server cloning
US8909758B2 (en) * 2006-05-02 2014-12-09 Cisco Technology, Inc. Physical server discovery and correlation
US8006189B2 (en) * 2006-06-22 2011-08-23 Dachs Eric B System and method for web based collaboration using digital media
US8442958B2 (en) * 2006-06-26 2013-05-14 Cisco Technology, Inc. Server change management
US7706303B2 (en) 2006-06-26 2010-04-27 Cisco Technology, Inc. Port pooling
US20080163063A1 (en) * 2006-12-29 2008-07-03 Sap Ag Graphical user interface system and method for presenting information related to session and cache objects
CN101652807B (zh) * 2007-02-01 2012-09-26 缪斯亚米有限公司 音乐转录的方法、系统及装置
EP2122510A2 (de) * 2007-02-14 2009-11-25 Museami, Inc. Musikbasierte suchmaschine
US8745501B2 (en) * 2007-03-20 2014-06-03 At&T Knowledge Ventures, Lp System and method of displaying a multimedia timeline
US20080235247A1 (en) * 2007-03-20 2008-09-25 At&T Knowledge Ventures, Lp System and method of adding data objects to a multimedia timeline
US20090075711A1 (en) 2007-06-14 2009-03-19 Eric Brosius Systems and methods for providing a vocal experience for a player of a rhythm action game
US8678896B2 (en) 2007-06-14 2014-03-25 Harmonix Music Systems, Inc. Systems and methods for asynchronous band interaction in a rhythm action game
US8897211B2 (en) * 2007-06-29 2014-11-25 Alcatel Lucent System and methods for providing service-specific support for multimedia traffic in wireless networks
US8494257B2 (en) 2008-02-13 2013-07-23 Museami, Inc. Music score deconstruction
US9497494B1 (en) * 2008-02-29 2016-11-15 Clearwire Ip Holdings Llc Broadcast service channel optimization for TV services
US20090292731A1 (en) * 2008-05-23 2009-11-26 Belkin International, Inc. Method And Apparatus For Generating A Composite Media File
US9330097B2 (en) * 2009-02-17 2016-05-03 Hewlett-Packard Development Company, L.P. Projects containing media data of different types
US8449360B2 (en) 2009-05-29 2013-05-28 Harmonix Music Systems, Inc. Displaying song lyrics and vocal cues
US8465366B2 (en) 2009-05-29 2013-06-18 Harmonix Music Systems, Inc. Biasing a musical performance input to a part
US20160050080A1 (en) * 2014-08-12 2016-02-18 International Business Machines Corporation Method of autonomic representative selection in local area networks
US8086734B2 (en) 2009-08-26 2011-12-27 International Business Machines Corporation Method of autonomic representative selection in local area networks
US9981193B2 (en) 2009-10-27 2018-05-29 Harmonix Music Systems, Inc. Movement based recognition and evaluation
WO2011056657A2 (en) 2009-10-27 2011-05-12 Harmonix Music Systems, Inc. Gesture-based user interface
KR20120091325A (ko) * 2009-11-10 2012-08-17 둘세타 인코포레이티드 전자식 시각자료에 대한 사운드트랙의 동적 오디오 재생
US20130297599A1 (en) * 2009-11-10 2013-11-07 Dulcetta Inc. Music management for adaptive distraction reduction
WO2011076960A1 (es) * 2009-12-23 2011-06-30 Peran Estepa Cristobal Método, sistema y plug-in para la gestión colaborativa de creación de contenido
US8653349B1 (en) * 2010-02-22 2014-02-18 Podscape Holdings Limited System and method for musical collaboration in virtual space
US8401370B2 (en) * 2010-03-09 2013-03-19 Dolby Laboratories Licensing Corporation Application tracks in audio/video containers
US8636572B2 (en) 2010-03-16 2014-01-28 Harmonix Music Systems, Inc. Simulating musical instruments
US9358456B1 (en) 2010-06-11 2016-06-07 Harmonix Music Systems, Inc. Dance competition game
EP2579955B1 (de) 2010-06-11 2020-07-08 Harmonix Music Systems, Inc. Tanzspiel und tanzkurs
US8562403B2 (en) 2010-06-11 2013-10-22 Harmonix Music Systems, Inc. Prompting a player of a dance game
US9024166B2 (en) 2010-09-09 2015-05-05 Harmonix Music Systems, Inc. Preventing subtractive track separation
US8411132B2 (en) 2011-01-27 2013-04-02 Audio Properties, Inc. System and method for real-time media data review
WO2012162274A2 (en) * 2011-05-20 2012-11-29 Andreas Brian Asynchronistic platform for real time collaboration and connection
JP5877973B2 (ja) * 2011-08-08 2016-03-08 アイキューブド研究所株式会社 情報システム、情報再現装置、情報生成方法、およびプログラム
US9848236B2 (en) * 2011-10-17 2017-12-19 Mediapointe, Inc. System and method for digital media content creation and distribution
US9166976B2 (en) * 2011-10-17 2015-10-20 Stephen Villoria Creation and management of digital content and workflow automation via a portable identification key
KR101947000B1 (ko) * 2012-07-17 2019-02-13 삼성전자주식회사 방송 시스템에서 멀티미디어 데이터의 전송 특징 정보 전달 방법 및 장치
EP2880603A4 (de) * 2012-08-01 2016-04-27 Jamhub Corp Verteilte musikkollaboration
US20140081833A1 (en) * 2012-09-20 2014-03-20 Jonathan Koop Systems and methods of monetizing debt
US9350676B2 (en) 2012-12-11 2016-05-24 Qualcomm Incorporated Method and apparatus for classifying flows for compression
US9325762B2 (en) 2012-12-11 2016-04-26 Qualcomm Incorporated Method and apparatus for efficient signaling for compression
US20150006540A1 (en) * 2013-06-27 2015-01-01 Avid Technology, Inc. Dynamic media directories
US11438638B2 (en) 2019-06-27 2022-09-06 Infrared5, Inc. Systems and methods for extraterrestrial streaming
JP2022085046A (ja) * 2020-11-27 2022-06-08 ヤマハ株式会社 音響パラメータ編集方法、音響パラメータ編集システム、管理装置、および端末

Family Cites Families (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044205A (en) * 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
JP3161725B2 (ja) * 1990-11-21 2001-04-25 株式会社日立製作所 ワークステーションおよび共同情報処理システム
US5483618A (en) * 1991-12-26 1996-01-09 International Business Machines Corporation Method and system for distinguishing between plural audio responses in a multimedia multitasking environment
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
JPH06103143A (ja) * 1992-09-18 1994-04-15 Hitachi Software Eng Co Ltd 共同作業支援方式
US5420974A (en) * 1992-10-15 1995-05-30 International Business Machines Corporation Multimedia complex form creation, display and editing method apparatus
DE4238175A1 (de) 1992-11-12 1994-05-19 Basf Ag Herbizide Sulfonylharnstoffe, Verfahren zur Herstellung und ihre Verwendung
EP0669037A1 (de) * 1992-11-16 1995-08-30 Multimedia Systems Corporation System und vorrichtung zur interaktiven multimedia unterhaltung
JP3072452B2 (ja) * 1993-03-19 2000-07-31 ヤマハ株式会社 カラオケ装置
US5649104A (en) * 1993-03-19 1997-07-15 Ncr Corporation System for allowing user of any computer to draw image over that generated by the host computer and replicating the drawn image to other computers
US5872923A (en) * 1993-03-19 1999-02-16 Ncr Corporation Collaborative video conferencing system
CA2160343C (en) * 1993-04-13 2002-07-16 Peter J. Ahimovic System for computer supported collaboration
EP1343290A3 (de) * 1993-06-09 2005-01-05 BTG International Inc. Verfahren und Vorrichtung für ein digitales Multimediakommunikationssystem
US5930473A (en) * 1993-06-24 1999-07-27 Teng; Peter Video application server for mediating live video services
CA2106222C (en) * 1993-09-15 2000-10-31 Russell D. N. Mackinnon Object oriented communication network
US5689641A (en) * 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
US5644714A (en) * 1994-01-14 1997-07-01 Elonex Plc, Ltd. Video collection and distribution system with interested item notification and download on demand
US5694546A (en) * 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
CA2153445C (en) * 1994-09-08 2002-05-21 Ashok Raj Saxena Video optimized media streamer user interface
CA2201909C (fr) * 1994-10-12 2006-05-02 Technical Maintenance Corporation Systeme de reproduction audiovisuelle numerique intelligent
US5926205A (en) * 1994-10-19 1999-07-20 Imedia Corporation Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
JP3628359B2 (ja) * 1994-10-19 2005-03-09 株式会社日立製作所 データ転送方法、データ送信装置、データ受信装置およびビデオメールシステム
US5937162A (en) * 1995-04-06 1999-08-10 Exactis.Com, Inc. Method and apparatus for high volume e-mail delivery
US5796424A (en) * 1995-05-01 1998-08-18 Bell Communications Research, Inc. System and method for providing videoconferencing services
US6181867B1 (en) * 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
FI98175C (fi) * 1995-06-12 1997-04-25 Nokia Oy Ab Multimediaobjektien välitys digitaalisessa tiedonsiirtojärjestelmässä
US6230173B1 (en) * 1995-07-17 2001-05-08 Microsoft Corporation Method for creating structured documents in a publishing system
JPH0962631A (ja) * 1995-08-24 1997-03-07 Hitachi Ltd 共同作業支援システム
JPH09190359A (ja) * 1996-01-09 1997-07-22 Canon Inc アプリケーション共有システム及び該システム制御方法及び情報処理装置及びその方法
JPH09269931A (ja) * 1996-01-30 1997-10-14 Canon Inc 協調作業環境構築システム、その方法及び媒体
US5841432A (en) * 1996-02-09 1998-11-24 Carmel; Sharon Method and system of building and transmitting a data file for real time play of multimedia, particularly animation, and a data file for real time play of multimedia applications
SG77111A1 (en) * 1996-02-28 2000-12-19 It Innovations Pte Ltd A system for manipulating and upgrading data objects with remote data sources automatically and seamlessly
US5880788A (en) * 1996-03-25 1999-03-09 Interval Research Corporation Automated synchronization of video image sequences to new soundtracks
US6343313B1 (en) * 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
US6009457A (en) * 1996-04-01 1999-12-28 Rocket Network, Inc. Distributed real-time communications system
US6181336B1 (en) * 1996-05-31 2001-01-30 Silicon Graphics, Inc. Database-independent, scalable, object-oriented architecture and API for managing digital multimedia assets
US6266691B1 (en) * 1996-06-28 2001-07-24 Fujitsu Limited Conference support system with user operation rights and control within the conference
US5784561A (en) * 1996-07-01 1998-07-21 At&T Corp. On-demand video conference method and apparatus
JP3298419B2 (ja) * 1996-07-15 2002-07-02 ヤマハ株式会社 ネットワークシステムの接続機器
US6332153B1 (en) * 1996-07-31 2001-12-18 Vocaltec Communications Ltd. Apparatus and method for multi-station conferencing
US6154600A (en) * 1996-08-06 2000-11-28 Applied Magic, Inc. Media editor for non-linear editing system
US6728784B1 (en) * 1996-08-21 2004-04-27 Netspeak Corporation Collaborative multimedia architecture for packet-switched data networks
US5790114A (en) * 1996-10-04 1998-08-04 Microtouch Systems, Inc. Electronic whiteboard with multi-functional user interface
US6263507B1 (en) * 1996-12-05 2001-07-17 Interval Research Corporation Browser for use in navigating a body of information, with particular application to browsing information represented by audiovisual data
US5952599A (en) 1996-12-19 1999-09-14 Interval Research Corporation Interactive music generation system making use of global feature control by non-musicians
CN1248504C (zh) * 1997-01-29 2006-03-29 数字广告及销售有限公司 通过通信网络传送媒体文件的方法
JP3180751B2 (ja) * 1997-03-13 2001-06-25 ヤマハ株式会社 データの通信装置、通信方法、通信システム及びプログラムを記録した媒体
US6310941B1 (en) * 1997-03-14 2001-10-30 Itxc, Inc. Method and apparatus for facilitating tiered collaboration
JP3602326B2 (ja) * 1997-03-24 2004-12-15 日本電信電話株式会社 デジタル・コンテンツ編集方法、装置、およびデジタル・コンテンツ編集プログラムを記録した記録媒体
US6442604B2 (en) * 1997-03-25 2002-08-27 Koninklijke Philips Electronics N.V. Incremental archiving and restoring of data in a multimedia server
US5811706A (en) * 1997-05-27 1998-09-22 Rockwell Semiconductor Systems, Inc. Synthesizer system utilizing mass storage devices for real time, low latency access of musical instrument digital samples
US6014694A (en) * 1997-06-26 2000-01-11 Citrix Systems, Inc. System for adaptive video/audio transport over a network
US6604144B1 (en) * 1997-06-30 2003-08-05 Microsoft Corporation Data format for multimedia object storage, retrieval and transfer
US5886274A (en) * 1997-07-11 1999-03-23 Seer Systems, Inc. System and method for generating, distributing, storing and performing musical work files
US6288739B1 (en) * 1997-09-05 2001-09-11 Intelect Systems Corporation Distributed video communications system
CA2273179A1 (en) * 1997-09-22 1999-04-01 Hughes Electronics Corporation Broadcast delivery newsgroup of information to a personal computer for local storage and access
WO1999018530A1 (en) * 1997-10-06 1999-04-15 Nexprise, Inc. Trackpoint-based computer-implemented systems and methods for facilitating collaborative project development and communication
US6351467B1 (en) * 1997-10-27 2002-02-26 Hughes Electronics Corporation System and method for multicasting multimedia content
US6275937B1 (en) * 1997-11-06 2001-08-14 International Business Machines Corporation Collaborative server processing of content and meta-information with application to virus checking in a server network
US6166735A (en) * 1997-12-03 2000-12-26 International Business Machines Corporation Video story board user interface for selective downloading and displaying of desired portions of remote-stored video data objects
US6665835B1 (en) * 1997-12-23 2003-12-16 Verizon Laboratories, Inc. Real time media journaler with a timing event coordinator
US6351471B1 (en) * 1998-01-14 2002-02-26 Skystream Networks Inc. Brandwidth optimization of video program bearing transport streams
US6453355B1 (en) * 1998-01-15 2002-09-17 Apple Computer, Inc. Method and apparatus for media data transmission
JP3533924B2 (ja) * 1998-01-16 2004-06-07 富士ゼロックス株式会社 半同期型電子会議装置
JP3277875B2 (ja) * 1998-01-29 2002-04-22 ヤマハ株式会社 演奏装置、サーバ装置、演奏方法および演奏制御方法
US6105055A (en) * 1998-03-13 2000-08-15 Siemens Corporate Research, Inc. Method and apparatus for asynchronous multimedia collaboration
US6976093B2 (en) * 1998-05-29 2005-12-13 Yahoo! Inc. Web server content replication
US6820235B1 (en) * 1998-06-05 2004-11-16 Phase Forward Inc. Clinical trial data management system and method
US6338086B1 (en) * 1998-06-11 2002-01-08 Placeware, Inc. Collaborative object architecture
US6430567B2 (en) * 1998-06-30 2002-08-06 Sun Microsystems, Inc. Method and apparatus for multi-user awareness and collaboration
US6314454B1 (en) * 1998-07-01 2001-11-06 Sony Corporation Method and apparatus for certified electronic mail messages
US6321252B1 (en) * 1998-07-17 2001-11-20 International Business Machines Corporation System and method for data streaming and synchronization in multimedia groupware applications
US6295058B1 (en) * 1998-07-22 2001-09-25 Sony Corporation Method and apparatus for creating multimedia electronic mail messages or greeting cards on an interactive receiver
US6507845B1 (en) * 1998-09-14 2003-01-14 International Business Machines Corporation Method and software for supporting improved awareness of and collaboration among users involved in a task
US6373926B1 (en) * 1998-09-17 2002-04-16 At&T Corp. Centralized message service apparatus and method
US6424996B1 (en) * 1998-11-25 2002-07-23 Nexsys Electronics, Inc. Medical network system and method for transfer of information
US6320600B1 (en) * 1998-12-15 2001-11-20 Cornell Research Foundation, Inc. Web-based video-editing method and system using a high-performance multimedia software library
US6243676B1 (en) * 1998-12-23 2001-06-05 Openwave Systems Inc. Searching and retrieving multimedia information
US6356903B1 (en) * 1998-12-30 2002-03-12 American Management Systems, Inc. Content management system
US6286031B1 (en) * 1999-01-21 2001-09-04 Jerry Richard Waese Scalable multimedia distribution method using client pull to retrieve objects in a client-specific multimedia list
US6646655B1 (en) * 1999-03-09 2003-11-11 Webex Communications, Inc. Extracting a time-sequence of slides from video
US6446130B1 (en) * 1999-03-16 2002-09-03 Interactive Digital Systems Multimedia delivery system
US6317777B1 (en) * 1999-04-26 2001-11-13 Intel Corporation Method for web based storage and retrieval of documents
US6792615B1 (en) * 1999-05-19 2004-09-14 New Horizons Telecasting, Inc. Encapsulated, streaming media automation and distribution system
US6446113B1 (en) * 1999-07-19 2002-09-03 Groove Networks, Inc. Method and apparatus for activity-based collaboration by a computer system equipped with a dynamics manager
US6859821B1 (en) * 1999-07-19 2005-02-22 Groove Networks, Inc. Method and apparatus for prioritizing data change requests and maintaining data consistency in a distributed computer system equipped for activity-based collaboration
US6782412B2 (en) * 1999-08-24 2004-08-24 Verizon Laboratories Inc. Systems and methods for providing unified multimedia communication services
US6598074B1 (en) 1999-09-23 2003-07-22 Rocket Network, Inc. System and method for enabling multimedia production collaboration over a network
ES2236585T3 (es) * 2001-09-26 2005-07-16 Siemens Aktiengesellschaft Procedimiento para la sincronizacion de nodos de un sistema de comunicacion.
US20030195929A1 (en) * 2002-04-15 2003-10-16 Franke Michael Martin Methods and system using secondary storage to store media data accessible for local area users
US7668901B2 (en) * 2002-04-15 2010-02-23 Avid Technology, Inc. Methods and system using a local proxy server to process media data for local area users

Also Published As

Publication number Publication date
WO2001022398A1 (en) 2001-03-29
HK1047340A1 (en) 2003-02-14
AU757950B2 (en) 2003-03-13
CA2384894C (en) 2006-02-07
US20040054725A1 (en) 2004-03-18
US6598074B1 (en) 2003-07-22
US20030028598A1 (en) 2003-02-06
JP2003510642A (ja) 2003-03-18
CA2384894A1 (en) 2001-03-29
EP1224658A1 (de) 2002-07-24
EP1224658B1 (de) 2003-11-26
US7069296B2 (en) 2006-06-27
AU7602200A (en) 2001-04-24
DE60006845D1 (de) 2004-01-08
HK1047340B (zh) 2004-04-23
WO2001022398A9 (en) 2001-05-17
ATE255264T1 (de) 2003-12-15

Similar Documents

Publication Publication Date Title
DE60006845T2 (de) Verfahren und vorrichtung zur zusammenarbeit bei multimediaerzeugung über einem netzwerk
DE60314877T2 (de) Verfahren und vorrichtung zur bereitstellung elektronischer post an ein mobiles gerät
DE602004010807T2 (de) Techniken zur bereitstellung eines virtuellen arbeitsraums, bestehend aus einer vielzahl elektronischer einrichtungen
DE69719564T2 (de) Dynamischer dateiverzeichnisdienst
DE60224030T2 (de) Verwaltungs- und synchronisierungsapplikation für netzwerkdateisystem
DE69831904T2 (de) Dynamische Erstellung von Internetseiten
DE69530263T2 (de) Verfahren und Gerät zur Aufzeichnung und Verarbeitung von Daten
DE60317917T2 (de) Verfahren und vorrichtung zum weiterleiten von sitzungsinformationen von einem portal-server
DE69815695T2 (de) Netzwerkübermittlung interaktiver unterhaltung zur ergänzung von audio-aufzeichnungen
DE69730929T2 (de) System zur Verwaltung der Mitanwesenheit innerhalb Gemeinschaften
DE69433047T2 (de) Verfahren und Anordnung zur Zuteilung von Systembetriebsmitteln, um die Dienstqualität zu sichern
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
DE60016772T2 (de) Verfahren und system für die publikation und revision von hierarchisch organisierten sätzen von statischen intranet- und internet-seiten
DE69834807T2 (de) System und verfahren zum auswählen und laden verschiedener typen von videodaten in einem computernetzwerk
DE19747583B4 (de) Kommunikationssystem und Verfahren
DE10348337A1 (de) Inhaltsverwaltungsportal und Verfahren zum Kommunizieren von Informationen
DE10345365A1 (de) Inhaltübermittlungsserver mit Formatumsetzungsfunktion
DE69907482T2 (de) Vorrichtung und verfahren zur ausführung von interaktiven fernsehanwendungen auf set top boxen
DE10295699T5 (de) Eine Anordnung und ein Verfahren in Bezug auf Sitzungsverwaltung in einer Portalstruktur
DE60003278T2 (de) Hierarchische Auflösung von Adressen in einem Datennetzwerk
DE60306209T2 (de) Verfahren, mobile vorrichtungen und rechnerlesbare media zur datenverwaltung
DE60122671T2 (de) Anforderungsbedingte dynamische Schnittstellengenerierung
DE10151648A1 (de) Verfahren und System zum Erfassen und Speichern von während einer computerbasierten Sitzung gemachten Notizen
DE60033382T2 (de) Dateiverwaltungssystem
DE112018006004T5 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und programm

Legal Events

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