Title:
Kollaborative Bildsteuerung
Kind Code:
B4


Abstract:

System, das Folgendes umfasst:
eine lokale Uhr; und
eine Steuerungslogik, um:
eine Zeitverzögerung zu bestimmen, die mit einem Satz aus einem oder mehreren räumlich abgesetzten Mobilgeräten verbunden ist,
eine lokale Ausführungszeit für einen Befehl mindestens teilweise auf der Grundlage der lokalen Uhr und der Zeitverzögerung zu bestimmen,
eine oder mehrere Steuerungsmeldungen an den Satz aus einem oder mehreren räumlich abgesetzten Mobilgeräten zu senden, wobei die eine oder die mehreren Steuerungsmeldungen den Befehl und die lokale Ausführungszeit enthalten, und
den Befehl gemäß der lokalen Ausführungszeit auszuführen, wobei der Befehl zumindest einer kollaborativen Aufnahmesitzung und einer kollaborativen Spiele-Sitzung zugeordnet ist. embedded image




Inventors:
Gong, Michelle X., Calif. (Sunnyvale, US)
Balasundaram, Sai P., Oreg. (Beaverton, US)
Want, Roy, Calif. (Los Altos, US)
Haussecker, Horst W., Calif. (Palo Alto, US)
Walker, Jesse, Oreg. (Hillsboro, US)
Application Number:
DE112011105104T
Publication Date:
07/12/2018
Filing Date:
12/22/2011
Assignee:
Intel Corporation (Calif., Santa Clara, US)
International Classes:



Foreign References:
62366232001-05-22
200601232972006-06-08
200601616912006-07-20
200701530902007-07-05
42518011981-02-17
Attorney, Agent or Firm:
Maucher Jenkins, 80538, München, DE
Claims:
System, das Folgendes umfasst:
eine lokale Uhr; und
eine Steuerungslogik, um:
eine Zeitverzögerung zu bestimmen, die mit einem Satz aus einem oder mehreren räumlich abgesetzten Mobilgeräten verbunden ist,
eine lokale Ausführungszeit für einen Befehl mindestens teilweise auf der Grundlage der lokalen Uhr und der Zeitverzögerung zu bestimmen,
eine oder mehrere Steuerungsmeldungen an den Satz aus einem oder mehreren räumlich abgesetzten Mobilgeräten zu senden, wobei die eine oder die mehreren Steuerungsmeldungen den Befehl und die lokale Ausführungszeit enthalten, und
den Befehl gemäß der lokalen Ausführungszeit auszuführen, wobei der Befehl zumindest einer kollaborativen Aufnahmesitzung und einer kollaborativen Spiele-Sitzung zugeordnet ist.

System nach Anspruch 1, wobei die Steuerungslogik dazu dient:
eine End-to-End-Verzögerung des Satzes aus einem oder mehreren räumlich abgesetzten Mobilgeräten zu bestimmen,
einen Uhr-Versatz entsprechend der maximalen End-to-End-Verzögerung zu bestimmen, und
die Zeitverzögerung mindestens teilweise auf der Grundlage der maximalen End-to-End-Verzögerung und des Uhr-Versatzes zu bestimmen.

System nach Anspruch 1, wobei die eine oder die mehreren Steuerungsmeldungen des Weiteren einen Dialog-Token und/oder eine Ausführungsverzögerung und/oder einen oder mehrere Identifikatoren des Satzes aus einem oder mehreren räumlich abgesetzten Mobilgeräten enthalten.

System nach Anspruch 3, wobei, wenn die eine oder die mehreren Steuerungsmeldungen einen Dialog-Token enthalten, die Logik eine laufende Nummer inkrementiert, wobei der Dialog-Token die laufende Nummer enthält.

System nach Anspruch 1, wobei der Befehl einen Verschlusszeit-Befehl, der der kollaborativen Aufnahmesitzung zugeordnet ist, einen Fokus-Befehl, der der kollaborativen Aufnahmesitzung zugeordnet ist, und einen Bildanzeige-Befehl, der der kollaborativen Spiele-Sitzung zugeordnet ist, enthält.

System nach Anspruch 1, das des Weiteren eine Benutzerschnittstelle enthält, wobei die Steuerungslogik dazu dient:
ein Vorhandensein eines oder mehrerer verfügbarer Mobilgeräte zu detektieren,
einen Identifikator des einen oder der mehreren verfügbaren Mobilgeräte über die Benutzerschnittstelle anzuzeigen,
eine Aufforderung an den Nutzer auszugeben, eine Auswahl unter den Identifikatoren über die Benutzerschnittstelle zu treffen, und
eine Nutzereingabe zu empfangen, wobei die Nutzereingabe dem Identifizieren des Satzes aus einem oder mehreren räumlich abgesetzten Mobilgeräten dient.

System nach Anspruch 1, wobei die Steuerungslogik den Satz des einen oder der mehreren räumlich abgesetzten Mobilgeräte aus einem oder mehreren verfügbaren Mobilgeräten auf der Grundlage von Signalstärke-Informationen und/oder Positionsinformationen auswählt.

Nicht-transitorisches computerlesbares Speichermedium, das einen Satz Anweisungen umfasst, die, wenn sie durch einen Prozessor ausgeführt werden, ein lokales Mobilgerät veranlassen:
eine Zeitverzögerung zu bestimmen, die mit einem Satz aus einem oder mehreren räumlich abgesetzten Mobilgeräten verbunden ist;
eine lokale Ausführungszeit für einen Befehl mindestens teilweise auf der Grundlage einer lokalen Uhr und der Zeitverzögerung zu bestimmen;
eine oder mehrere Steuerungsmeldungen an den Satz aus einem oder mehreren räumlich abgesetzten Mobilgeräten zu senden, wobei die eine oder die mehreren Steuerungsmeldungen den Befehl und die lokale Ausführungszeit enthalten; und
den Befehl gemäß der lokalen Ausführungszeit auszuführen, wobei der Befehl zumindest einer kollaborativen Aufnahmesitzung und einer kollaborativen Spiele-Sitzung zugeordnet ist.

Medium nach Anspruch 8, wobei die Anweisungen, wenn sie ausgeführt werden, ein lokales Mobilgerät veranlassen:
eine End-to-End-Verzögerung des Satzes aus einem oder mehreren räumlich abgesetzten Mobilgeräten zu bestimmen;
einen Uhr-Versatz entsprechend der maximalen End-to-End-Verzögerung zu bestimmen; und
die Zeitverzögerung mindestens teilweise auf der Grundlage der maximalen End-to-End-Verzögerung und des Uhr-Versatzes zu bestimmen.

Medium nach Anspruch 8, wobei die eine oder die mehreren Steuerungsmeldungen des Weiteren einen Dialog-Token und/oder eine Ausführungsverzögerung und/oder einen oder mehrere Identifikatoren des Satzes aus einem oder mehreren räumlich abgesetzten Mobilgeräten enthalten.

Medium nach Anspruch 10, wobei, wenn die eine oder die mehreren Steuerungsmeldungen einen Dialog-Token enthalten, wobei die Anweisungen, wenn sie ausgeführt werden, ein lokales Mobilgerät veranlassen, eine laufende Nummer zu inkrementieren, wobei der Dialog-Token die laufende Nummer enthält.

Medium nach Anspruch 8, wobei der Befehl einen Bildaufnahmebefehl, der der kollaborativen Aufnahmesitzung zugeordnet ist, und/oder einen Bildanzeige-Befehl, der der kollaborativen Spiele-Sitzung zugeordnet ist, enthält.

Medium nach Anspruch 12, wobei der Bildaufnahmebefehl mindestens einen Verschlusszeit-Befehl und einen Fokus-Befehl enthält.

Medium nach Anspruch 8, wobei die Anweisungen, wenn sie ausgeführt werden, ein lokales Mobilgerät veranlassen:
ein Vorhandensein eines oder mehrerer verfügbarer Mobilgeräte zu detektieren;
einen Identifikator des einen oder der mehreren verfügbaren Mobilgeräte über eine Benutzerschnittstelle auszugeben;
eine Aufforderung an den Nutzer auszugeben, eine Auswahl unter den Identifikatoren über die Benutzerschnittstelle zu treffen; und
eine Nutzereingabe zu empfangen, wobei die Nutzereingabe dem Identifizieren des Satzes aus einem oder mehreren räumlich abgesetzten Mobilgeräten dient.

Medium nach Anspruch 8, wobei die Anweisungen, wenn sie ausgeführt werden, ein lokales Mobilgerät veranlassen, den Satz aus einem oder mehreren räumlich abgesetzten Mobilgeräten unter einem oder mehreren verfügbaren Mobilgeräten auf der Grundlage von Signalstärke-Informationen und/oder Positionsinformationen auszuwählen.

System, das Folgendes umfasst:
eine lokale Uhr; und
eine Steuerungslogik, um:
eine Steuerungsmeldung von einem räumlich abgesetzten Mobilgerät zu empfangen, wobei die Steuerungsmeldung einen Befehl und eine Fernausführungszeit enthält,
eine lokale Ausführungszeit mindestens teilweise auf der Grundlage der Fernausführungszeit und eines Versatzes einer räumlich abgesetzten Uhr des räumlich abgesetzten Mobilgerätes relativ zu der lokalen Uhr zu bestimmen, und
den Befehl gemäß der lokalen Ausführungszeit auszuführen; wobei der Befehl zumindest einer kollaborativen Aufnahmesitzung und einer kollaborativen Spiele-Sitzung zugeordnet ist.

System nach Anspruch 16, wobei die Steuerungslogik den Versatz der räumlich abgesetzten Uhr zu der Fernausführungszeit addiert, um die lokale Ausführungszeit zu erhalten.

System nach Anspruch 16, wobei, wenn die Steuerungsmeldung einen Dialog-Token enthält, die Steuerungslogik:
eine laufende Nummer des Dialog-Tokens mit einer gespeicherten laufenden Nummer eines vorherigen Dialog-Token von dem räumlich abgesetzten Mobilgerät vergleicht,
die Steuerungsmeldung ignoriert, wenn die laufende Nummer nicht größer als die gespeicherte laufende Nummer ist, und
die gespeicherte laufende Nummer mit der laufenden Nummer des Dialog-Tokens überschreibt, wenn die laufende Nummer größer als die gespeicherte laufende Nummer ist.

System nach Anspruch 16, wobei, wenn die Steuerungsmeldung eine Ausführungsverzögerung enthält, die Steuerungslogik die lokale Ausführungszeit des Weiteren auf der Grundlage der Ausführungsverzögerung bestimmt.

System nach Anspruch 16, wobei, wenn die Steuerungsmeldung einen oder mehrere Identifikatoren eines Satzes teilnehmender Mobilgeräte enthält, die Steuerungslogik einen Status des Satzes teilnehmender Mobilgeräte zu „nicht verfügbar“ ändert.

System nach Anspruch 16, wobei die Steuerungslogik einen Bildaufnahmebefehl und/oder einen Bildanzeige-Befehl gemäß der lokalen Ausführungszeit ausführt.

System nach Anspruch 16, wobei die Steuerungslogik:
eine Verbindung mit dem räumlich abgesetzten Mobilgerät herstellt,
ein Profil des räumlich abgesetzten Mobilgerätes speichert, wenn die Verbindung eine dauerhafte Verbindung ist, und
die Steuerungsmeldung authentifiziert, ob die Verbindung eine sichere Verbindung ist.

Nicht-transitorisches computerlesbares Speichermedium, das einen Satz Anweisungen umfasst, die, wenn sie durch einen Prozessor ausgeführt werden, ein lokales Mobilgerät veranlassen:
eine Steuerungsmeldung von einem räumlich abgesetzten Mobilgerät zu empfangen, wobei die Steuerungsmeldung einen Befehl und eine Fernausführungszeit enthält;
eine lokale Ausführungszeit mindestens teilweise auf der Grundlage der Fernausführungszeit und eines Versatzes einer räumlich abgesetzten Uhr des räumlich abgesetzten Mobilgerätes relativ zu einer lokalen Uhr zu bestimmen; und
den Befehl gemäß der lokalen Ausführungszeit auszuführen, wobei der Befehl zumindest einer kollaborativen Aufnahmesitzung und einer kollaborativen Spiele-Sitzung zugeordnet ist.

Medium nach Anspruch 23, wobei die Anweisungen, wenn sie ausgeführt werden, ein lokales Mobilgerät veranlassen, den Versatz der räumlich abgesetzten Uhr zu der Fernausführungszeit zu addieren, um die lokale Ausführungszeit zu erhalten.

Medium nach Anspruch 23, wobei, wenn die Steuerungsmeldung einen Dialog-Token enthält, die Anweisungen, wenn sie ausgeführt werden, ein lokales Mobilgerät veranlassen:
eine laufende Nummer des Dialog-Tokens mit einer gespeicherten laufenden Nummer eines vorherigen Dialog-Tokens zu vergleichen; und
die Steuerungsmeldung zu ignorieren, wenn die laufende Nummer des Dialog-Tokens nicht größer als die gespeicherte laufende Nummer ist.

Medium nach Anspruch 25, wobei die Anweisungen, wenn sie ausgeführt werden, ein lokales Mobilgerät veranlassen, die gespeicherte laufende Nummer mit der laufenden Nummer des Dialog-Tokens zu überschreiben, wenn die laufende Nummer des Dialog-Tokens größer als die gespeicherte laufende Nummer ist.

Medium nach Anspruch 23, wobei, wenn die Steuerungsmeldung eine Ausführungsverzögerung enthält, die Anweisungen, wenn sie ausgeführt werden, ein lokales Mobilgerät veranlassen, die lokale Ausführungszeit des Weiteren auf der Grundlage der Ausführungsverzögerung zu bestimmen.

Medium nach Anspruch 23, wobei, wenn die Steuerungsmeldung einen oder mehrere Identifikatoren eines Satzes teilnehmender Mobilgeräte enthält, die Anweisungen, wenn sie ausgeführt werden, ein lokales Mobilgerät veranlassen, einen Status des Satzes teilnehmender Mobilgeräte für einen Zeitraum zu „nicht verfügbar“ zu ändern.

Medium nach Anspruch 23, wobei die Anweisungen, wenn sie ausgeführt werden, ein lokales Mobilgerät veranlassen, einen Bildaufnahmebefehl und/oder einen Bildanzeige-Befehl gemäß der lokalen Ausführungszeit auszuführen.

Medium nach Anspruch 23, wobei die Anweisungen, wenn sie ausgeführt werden, ein lokales Mobilgerät veranlassen:
eine Verbindung mit dem räumlich abgesetzten Mobilgerät herzustellen;
ein Profil des räumlich abgesetzten Mobilgerätes zu speichern, wenn die Verbindung eine dauerhafte Verbindung ist; und
die Steuerungsmeldung zu authentifizieren, wenn die Verbindung eine sichere Verbindung ist.

System, das Folgendes umfasst:
eine Steuerungslogik, um:
eine lokale Ausführungszeit für einen Bildaufnahmebefehl zu bestimmen, und
die lokale Ausführungszeit mit einer Fernausführungszeit eines räumlich abgesetzten Mobilgerätes zu synchronisieren; und
ein Bildaufnahmemodul, um den Bildaufnahmebefehl gemäß der lokalen Ausführungszeit auszuführen, wobei der Bildaufnahmebefehl zumindest einer kollaborativen Aufnahmesitzung und einer kollaborativen Spiele-Sitzung zugeordnet ist.

System nach Anspruch 31, wobei die Steuerungslogik:
eine Zeitverzögerung bestimmt, die mit einem Satz aus einem oder mehreren räumlich abgesetzten Mobilgeräten verbunden ist,
die lokale Ausführungszeit für den Bildaufnahmebefehl mindestens teilweise auf der Grundlage einer lokalen Uhr und der Zeitverzögerung bestimmt, und
eine oder mehrere Steuerungsmeldungen an den Satz aus einem oder mehreren räumlich abgesetzten Mobilgeräten sendet.

System nach Anspruch 32, wobei die Steuerungslogik:
eine End-to-End-Verzögerung des Satzes aus einem oder mehreren räumlich abgesetzten Mobilgeräten bestimmt,
einen Uhr-Versatz entsprechend der End-to-End-Verzögerung bestimmt, und
die Zeitverzögerung mindestens teilweise auf der Grundlage der End-to-End-Verzögerung und des Uhr-Versatzes bestimmt.

System nach Anspruch 31, wobei die Steuerungslogik:
eine Steuerungsmeldung von dem räumlich abgesetzten Mobilgerät empfängt, wobei die Steuerungsmeldung einen Befehl und die Fernausführungszeit enthält, und
die lokale Ausführungszeit mindestens teilweise auf der Grundlage der Fernausführungszeit und eines Versatzes einer räumlich abgesetzten Uhr des räumlich abgesetzten Mobilgerätes relativ zu einer lokalen Uhr zu bestimmen.

System nach Anspruch 31, wobei der Bildaufnahmebefehl mindestens einen Verschlusszeit-Befehl und einen Fokus-Befehl enthält.

Nicht-transitorisches computerlesbares Speichermedium, das einen Satz Anweisungen umfasst, die, wenn sie durch einen Prozessor ausgeführt werden, ein lokales Mobilgerät veranlassen:
eine lokale Ausführungszeit für einen Bildaufnahmebefehl zu bestimmen;
die lokale Ausführungszeit mit einer Fernausführungszeit eines räumlich abgesetzten Mobilgerätes zu synchronisieren; und
den Bildaufnahmebefehl gemäß der lokalen Ausführungszeit auszuführen wobei der Bildaufnahmebefehl zumindest einer kollaborativen Aufnahmesitzung und einer kollaborativen Spiele-Sitzung zugeordnet ist.

Medium nach Anspruch 36, wobei die Anweisungen, wenn sie ausgeführt werden, ein lokales Mobilgerät veranlassen:
eine Zeitverzögerung zu bestimmen, die mit einem Satz aus einem oder mehreren räumlich abgesetzten Mobilgeräten verbunden ist;
die lokale Ausführungszeit für den Bildaufnahmebefehl mindestens teilweise auf der Grundlage einer lokalen Uhr und der Zeitverzögerung zu bestimmen; und
eine oder mehrere Steuerungsmeldungen an den Satz aus einem oder mehreren räumlich abgesetzten Mobilgeräten zu senden.

Medium nach Anspruch 37, wobei die Anweisungen, wenn sie ausgeführt werden, ein lokales Mobilgerät veranlassen:
eine End-to-End-Verzögerung des Satzes aus einem oder mehreren räumlich abgesetzten Mobilgeräten zu bestimmen,
einen Uhr-Versatz entsprechend der End-to-End-Verzögerung zu bestimmen; und
die Zeitverzögerung mindestens teilweise auf der Grundlage der End-to-End-Verzögerung und des Uhr-Versatzes zu bestimmen.

Medium nach Anspruch 36, wobei die Anweisungen, wenn sie ausgeführt werden, ein lokales Mobilgerät veranlassen:
eine Steuerungsmeldung von dem räumlich abgesetzten Mobilgerät zu empfangen, wobei die Steuerungsmeldung einen Befehl und die Fernausführungszeit enthält; und
die lokale Ausführungszeit mindestens teilweise auf der Grundlage der Fernausführungszeit und eines Versatzes einer räumlich abgesetzten Uhr des räumlich abgesetzten Mobilgerätes relativ zu einer lokalen Uhr zu bestimmen.

Medium nach Anspruch 36, wobei der Bildaufnahmebefehl einen Verschlusszeit-Befehl und/oder einen Fokus-Befehl enthält.

Description:
HINTERGRUNDTECHNISCHES GEBIET

Ausführungsformen betreffen allgemein die Synchronisierung des Betriebes von Mobilgeräten. Insbesondere betreffen Ausführungsformen das Übertragen von Steuerungsmeldungen zwischen Mobilgeräten zum Verwalten eines synchronisierten Betriebes.

BESPRECHUNG

Bilder von mehreren Digitalkameras können zusammengesetzt werden, um ein Bild von höherer Qualität (zum Beispiel über Superauflösung) zu erzeugen, ein Stereobildpaar mit zwei unabhängigen Kameras aufzunehmen oder ein 3D-(dreidimensionales) Modell von Bildern zu erzeugen, die mit mehreren Kameras gleichzeitig aufgenommen wurden. Eine Zeitsynchronisation zwischen den Kameras kann jedoch eine große Herausforderung darstellen, insbesondere in Peer-to-Peer (P2P)-Umgebungen, in denen möglicherweise keine Netzwerk-basierte Zeitreferenz verfügbar ist. Doch selbst, wenn ein effektiver Mechanismus für eine Zeitsynchronisation verfügbar ist, bleibt immer noch ein beträchtlicher Verbesserungsspielraum mit Bezug auf Steuerungsprotokolle zum Ermöglichen einer kollaborativen Fotografie zwischen mehreren Kameras.

US 6,236,623 B1 zeigt ein Verfahren zur Synchronisation einer Vielzahl von Geräten, die über einen Kommunikationskanal verbunden sind. US 2007/0153090 A1 zeigt ein System umfassend mehrere Aufnahmegeräte, wobei eines der Aufnahmegeräte einen Befehl für alle weiteren Aufnahmegeräte erzeugt, der eine Bildaufnahme zu einem synchronisierten Zeitpunkt ermöglicht. US 2006/0161691 A1 beschreibt ebenfalls ein Verfahren zum synchronen Betrieb mehrerer Module, wobei von einem ersten Modul ein Synchronisationsbefehl erzeugt wird, der von einem weiteren Modul ausgeführt wird. US 4,251,801 A zeigt eine Vorrichtung die eine feste Station umfasst, die eine Fahrzeugflotte ständig abfragt und mit Informationen versorgt. US 2006/0123297 A1 zeigt eine Instrumentenanordnung, wobei jedes Instrument einen Taktgenerator enthält, der eine oder mehrere lokale Uhren mit einer Referenzuhr synchronisiert.

Figurenliste

Die verschiedenen Vorteile der Ausführungsformen der vorliegenden Erfindung werden dem Fachmann beim Lesen der folgenden Spezifikation und der beigefügten Ansprüche und beim Studium der folgenden Zeichnungen offenbar, in denen Folgendes zu sehen ist:

  • 1 ist ein Zeitsteuerungsdiagramm eines Beispiels eines Steuerungsmeldungsübermittllungsprotokolls gemäß einer Ausführungsform;
  • 2A ist ein Blockschaubild eines Beispiels einer kollaborativen Bildaufnahmeumgebung gemäß einer Ausführungsform;
  • 2B ist ein Blockschaubild eines Beispiels einer kollaborativen Bildanzeigeumgebung gemäß einer Ausführungsform;
  • 3 ist ein Flussdiagramm eines Beispiels eines Verfahrens zum Verwalten einer kollaborativen Mobilgerätesitzung gemäß einer Ausführungsform;
  • 4 ist ein Bildschirmfoto eines Beispiels einer Benutzerschnittstelle gemäß einer Ausführungsform;
  • 5A ist ein Flussdiagramm eines Beispiels eines Verfahrens zum Identifizieren teilnehmender Mobilgeräte in einer kollaborativen Sitzung gemäß einer Ausführungsform;
  • 5B ist ein Flussdiagramm eines Beispiels eines Verfahrens zum Teilnehmen an einer kollaborativen Mobilgerätesitzung gemäß einer Ausführungsform; und
  • 6 ist ein Blockschaubild eines Beispiels eines Systems gemäß einer Ausführungsform.

DETAILLIERTE BESCHREIBUNG

Ausführungsformen können ein nicht-transitorisches computerlesbares Speichermedium enthalten, das einen Satz Anweisungen enthält, die, wenn sie durch einen Prozessor ausgeführt werden, ein lokales Mobilgerät veranlassen, eine Zeitverzögerung zu bestimmen, die mit einem Satz aus einem oder mehreren räumlich abgesetzten Mobilgeräten verbunden ist, und eine lokale Ausführungszeit für einen Befehl mindestens teilweise auf der Grundlage einer lokalen Uhr und der Zeitverzögerung zu bestimmen. Die Anweisungen können auch ein lokales Mobilgerät veranlassen, eine Steuerungsmeldung zu dem Satz Mobilgeräte zu übertragen, wobei die Steuerungsmeldung den Befehl und die lokale Ausführungszeit enthält. Außerdem können die Anweisungen ein lokales Mobilgerät veranlassen, den Befehl gemäß der lokalen Ausführungszeit auszuführen.

Ausführungsformen können auch ein System mit einer lokalen Uhr und einer Steuerungslogik enthalten, um eine Zeitverzögerung zu bestimmen, die mit einem Satz aus einem oder mehreren räumlich abgesetzten Mobilgeräten verbunden ist. Die Steuerungslogik kann auch eine lokale Ausführungszeit für einen Befehl mindestens teilweise auf der Grundlage der lokalen Uhr und der Zeitverzögerung bestimmen. Die Steuerungslogik kann eine Steuerungsmeldung an den Satz Mobilgeräte senden, wobei die Steuerungsmeldung den Befehl und die lokale Ausführungszeit enthält. Außerdem kann die Steuerungslogik den Befehl gemäß der lokalen Ausführungszeit ausführen.

Andere Ausführungsformen können ein nicht-transitorisches computerlesbares Speichermedium mit einem Satz gespeicherter Anweisungen enthalten, die, wenn sie durch einen Prozessor ausgeführt werden, ein lokales Mobilgerät veranlassen, eine Steuerungsmeldung von einem räumlich abgesetzten Mobilgerät zu empfangen, wobei die Steuerungsmeldung einen Befehl und eine Fernausführungszeit enthält. Die Anweisungen können auch ein lokales Mobilgerät veranlassen, eine lokale Ausführungszeit mindestens teilweise auf der Grundlage der Fernausführungszeit und eines Versatzes einer räumlich abgesetzten Uhr des räumlich abgesetzten Mobilgerätes relativ zu einer lokalen Uhr zu bestimmen. Der Befehl kann gemäß der lokalen Ausführungszeit ausgeführt werden.

Ausführungsformen können auch ein System mit einer lokalen Uhr und einer Steuerungslogik zum Empfangen einer Steuerungsmeldung von einem räumlich abgesetzten Mobilgerät enthalten, wobei die Steuerungsmeldung einen Befehl und eine Fernausführungszeit enthält. Die Steuerungslogik kann auch eine lokale Ausführungszeit mindestens teilweise auf der Grundlage der Fernausführungszeit und eines Versatzes einer räumlich abgesetzten Uhr des räumlich abgesetzten Mobilgerätes relativ zu der lokalen Uhr bestimmen. Die Steuerungslogik kann auch den Befehl gemäß der lokalen Ausführungszeit ausführen.

Ausführungsformen können auch ein System mit einer Steuerungslogik enthalten, um eine lokale Ausführungszeit für einen Bildaufnahmebefehl zu bestimmen und die lokale Ausführungszeit mit einer Fernausführungszeit eines räumlich abgesetzten Mobilgerätes zu synchronisieren. Das System kann auch ein Bildaufnahmemodul enthalten, um den Bildaufnahmebefehl gemäß der lokalen Ausführungszeit auszuführen.

Andere Ausführungsformen können ein nicht-transitorisches computerlesbares Speichermedium mit einem Satz Anweisungen enthalten, die, wenn sie durch einen Prozessor ausgeführt werden, ein lokales Mobilgerät veranlassen, eine lokale Ausführungszeit für einen Bildaufnahmebefehl zu bestimmen. Die Anweisungen können auch ein lokales Mobilgerät veranlassen, die lokale Ausführungszeit mit einer Fernausführungszeit eines räumlich abgesetzten Mobilgerätes zu synchronisieren und den Bildaufnahmebefehl gemäß der lokalen Ausführungszeit ausführen.

Wenden wir uns nun 1 zu, wo eine Umgebung gezeigt ist, in der mehrere Mobilgeräte 10 (10a-10c) an einer kollaborativen Sitzung teilnehmen, in der eine Ausführung 12 eines Befehls in jedem der Mobilgeräte 10 zum selben Zeitpunkt stattfindet. Die Ausführung 12 des Befehls könnte alternativ in jedem der Mobilgeräte 10 an zuvor festgelegten Intervallen stattfinden. Wie noch ausführlicher besprochen werden wird, könnte der Befehl ein Bildaufnahmebefehl sein (zum Beispiel Fokus, Verschlusszeit, Blitz usw.), in dem die Mobilgeräte 10 Foto- und/oder Videokamera-Funktionalität enthalten, ein Bildanzeigebefehl, in dem die Mobilgeräte 10 visuelle-Ausgabe-Funktionalität enthalten (zum Beispiel Touchscreen), ein Audio-Ausgabe-Befehl, in dem die Mobilgeräte 10 einen oder mehrere Lautsprecher enthalten, und so weiter. Darüber hinaus können die Mobilgeräte 10 eine Peer-to-Peer (P2P)-Beziehung haben, bei der die Umgebung keine Netzwerk-basierte Zeitreferenz hat.

In dem veranschaulichten Beispiel verwaltet ein zweites Mobilgerät (lokales „Mobilgerät 2“) 10b die kollaborative Sitzung zwischen sich selbst, einem ersten Mobilgerät (räumlich abgesetztes „Mobilgerät 1“) 10a und einem dritten Mobilgerät (räumlich abgesetztes „Mobilgerät 3“) 10c. Das erste und das dritte Mobilgerät 10a, 10c können aus der Sicht des zweiten Mobilgerätes 10b als „räumlich abgesetzt“ angesehen werden, selbst wenn sich alle drei Geräte innerhalb derselben näheren Umgebung befinden, solange sie auf verschiedenen Plattformen operieren. Das zweite Mobilgerät 10b kann eine erste Steuerungsmeldung 14 an das erste Mobilgerät 10a senden, wobei die erste Steuerungsmeldung 14 den auszuführenden Befehl sowie eine Befehlsausführungszeit (Command Execution Time, CET) identifizieren kann. Das veranschaulichte erste Mobilgerät 10a antwortet mit einer Bestätigungs (Acknowledgement, ACK)-Meldung 16. Gleichermaßen kann das zweite Mobilgerät 10b eine zweite Steuerungsmeldung 18 an das dritte Mobilgerät 10c senden, wobei die zweite Steuerungsmeldung 18 den auszuführenden Befehl und die CET identifiziert und das dritte Mobilgerät 10c mit einer ACK-Meldung 20 antwortet.

Wie noch ausführlicher besprochen werden wird, kann die CET auf der Grundlage der lokalen Uhr des zweiten Mobilgerätes 10b festgestellt werden, selbst wenn die Mobilgeräte 10 keinen Zugang zu einer Netzwerk-basierten Zeitreferenz haben. Insbesondere können das erste und das dritte Mobilgerät 10a, 10c Informationen bezüglich ihres jeweiligen Uhr-Versatzes relativ zu der lokalen Uhr des zweiten Mobilgerätes 10b nutzen, um den richtigen Augenblick zu bestimmen, den betreffenden Befehl auszuführen. Obgleich die Steuerungsmeldungen 14, 18 als Unicast-Meldungen veranschaulicht sind, können auch andere Protokollkonfigurationen verwendet werden. Zum Beispiel könnte das zweite Mobilgerät 10b alternativ eine einzelne Steuerungsmeldung sowohl an das erste als auch an das dritte Mobilgerät 10a, 10c mittels einer Rundsende-Adresse rundsenden, die sowohl durch das erste als auch durch das dritte Mobilgerät 10a, 10c überwacht wird. Darüber hinaus kann das zweite Mobilgerät 10b bei der Disponierung der CET auch die kumulative End-to-End-Zeichengabeverzögerung berücksichtigen.

2A und 2B zeigen beispielhaft Umgebungen, in denen eine kollaborative Mobilgerätesitzung, wie im vorliegenden Text beschrieben, ausgeführt werden könnte. Insbesondere zeigt 2A eine kollaborative Bildaufnahmesitzung, in die mehrere Kameras 22 (zum Beispiel Digitalkamera, Filmkamera, Smartphone und/oder Tablet-Computer mit Bildaufnahmefunktionalität usw.) ein gleichzeitiges Bild eines zeitsensiblen gemeinsamen Sujets (zum Beispiel ein Bräutigam, der die Braut küsst, ein Sportereignis usw.) aufnehmen. Die Kameras 22 können darum ohne Weiteres an die Stelle der Mobilgeräte 10 (1), wie bereits besprochen, treten. So könnte ein Befehl, der gleichzeitig durch alle Geräte 22 ausgeführt werden soll, in dem gezeigten Beispiel einen Verschlusszeit-Steuerbefehl und/oder einen Fokus-Befehl enthalten. Durch die Verwendung von P2P-Steuerungsmeldungen 26 zum Ausrichten des Momente, in dem jedes Bild aufgenommen wird, ermöglicht es das veranschaulichte Beispiel den Kameras 22, synchronisierte Bilder zu erhalten, die zum Erzeugen von superaufgelösten Bildern, 3D-Bildern und so weiter verwendet werden können.

2B demonstriert, dass eine kollaborative Bildanzeigesitzung auch die im vorliegenden Text beschriebene Steuerungsmeldungsübermittlungsfunktionalität enthalten kann. Insbesondere können mehrere handgehaltene Geräte (zum Beispiel mobile Internet-Geräte (Mobile Internet Devices, MIDs), persönliche digitale Assistenten (Personal Digital Assistants, PDAs), Drahtlos-Smartphones, Media-Player, Notebook-Computer, Tablet-Geräte usw. oder beliebige Kombinationen davon) 28 (28a-28c) jeweils gleichzeitig ein zeitsensibles Ereignis, wie zum Beispiel ein explodierendes Objekt (zum Beispiel eine Bombe) 30, während der Echtzeitwiedergabe eines Mehspieler-Spiels, wie zum Beispiel ein kollaboratives Fahrspiel, anzeigen. Auf diese Weise könnten die handgehaltenen Geräte 28 ohne Weiteres an die Stelle der Mobilgeräte 10 (1), wie bereits beschrieben, treten, wobei Steuerungsmeldungen 32 dafür verwendet werden sicherzustellen, dass ein Spiele-Befehl, wie zum Beispiel ein Bildanzeige-/Animationsbefehl durch jedes der handgehaltenen Geräte 28 gleichzeitig ausgeführt wird.

Wenden wir uns nun 3 zu, wo ein Verfahren 34 zum Verwalten einer kollaborativen Mobilgerätesitzung gezeigt ist. Das Verfahren 34 könnte in ausführbarer Software eines lokalen Mobilgerätes 10b (1) als ein Satz von Logik-/Modulanweisungen implementiert werden, die in einem maschinen- oder computerlesbaren Medium eines Speicher, wie zum Beispiel Direktzugriffsspeicher (Random Access Memory, RAM), Nurlesespeicher (Read-Only Memory, ROM), programmierbarer ROM (Programmable PROM), Firmware, Flash-Speicher usw., in Festfunktions-Logik-Hardware, die Schaltkreistechnologie verwendet, wie zum Beispiel ein anwendungsspezifischer integrierter Schaltkreis (Application-Specific Integrated Circuit, ASIC), komplementärer Metalloxid-Halbleiter (Complementary Metal Oxide Semiconductor, CMOS) oder Transistor-Transistor-Logik (TTL)-Technologie, oder beliebigen Kombinationen davon gespeichert sind. Zum Beispiel kann Computerprogramm-Code zum Ausführen von Operationen, die in Verfahren 34 gezeigt sind, in jeder Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, einschließlich einer objektorientierten Programmiersprache wie zum Beispiel Java, Smalltalk, C++ oder dergleichen, und herkömmlicher prozeduraler Programmiersprachen, wie zum Beispiel die Programmiersprache „C“ oder ähnliche Programmiersprachen.

Der Verarbeitungsblock 36 stellt eine Verbindung mit einem oder mehreren räumlich abgesetzten teilnehmenden Mobilgeräten her. Insbesondere kann Block 36 das Vorhandensein verfügbarer Mobilgeräte über ihre jeweiligen Drahtlosnetzwerk-Controller detektieren (zum Beispiel Wi-Fi-Controller/Transceiver (zum Beispiel IEEE 802.11. Ausgabe 1999, LAN/MAN Wireless LANS), Bluetooth-Controller/Transceiver (zum Beispiel IEEE 802.15.1-2005, Wireless Personal Area Networks)). In dieser Hinsicht ist eine Netzwerk-Infrastruktur möglicherweise nicht erforderlich, um die Verbindung herzustellen, die eine reine P2P-Verbindung sein kann, die keine Netzwerk-basierten Zeitreferenz besitzt. Identifikatoren der verfügbaren Mobilgeräte können dann über eine Benutzerschnittstelle (User Interface, UI) □ zusammen mit einer Aufforderung an den Nutzer, einen unter den Identifikatoren auszuwählen □ ausgegeben werden. Nach dem Empfang der Auswahleingabe des Nutzers kann ein Satz teilnehmender Mobilgeräte identifiziert werden. Alternativ könnte die Vorrichtung den Satz teilnehmender Mobilgeräte anhand von Empfangssignalstärkeindikator (Received Signal Strength Indicator, RSSI)-Informationen, GPS (Global Positioning System)-Positionsinformationen und so weiter auswählen.

Zum Beispiel zeigt 4 ein Mobilgerät 38 mit einer Benutzerschnittstelle 40, die mehrere detektierte Bildgabegeräte anzeigt. In dem veranschaulichten Beispiel ist der Status jeder Vorrichtung durch einen vollen (zum Beispiel „grünen“) oder schraffierten (zum Beispiel „roten“) Punkt neben dem Gerätenamen angegeben. Ein voller Punkt könnte darstellen, dass das Gerät nicht verwendet wird und zur Verfügung steht, um an einer kollaborativen Video -/Bildaufnahmesitzung teilzunehmen, während ein schraffierter Punkt darstellen könnte, dass das Gerät derzeit verwendet wird und nicht verfügbar ist. So stehen in dem veranschaulichten Beispiel „Ethans Kamera“, „Amys Smartphone“ und „Marks Camcorder“ zur Teilnahme zur Verfügung, „Sallys Kamera“ hingegen nicht. Wenn das Verwaltungsgerät eine kollaborative Videoaufnahmesitzung initiiert, so können Steuerbefehle an die anderen Geräte gesendet werden, die momentan verfügbar sind (d. h. die einen Vollpunkt-Status haben). Während die Geräte an der kollaborativen Bild-/Videoaufnahmesitzung teilnehmen, kann ihr Status lokal auf nicht-verfügbar gesetzt werden, was wiederum dazu führen kann, dass ihr Status in anderen Geräten in derselben Gruppe als schraffierte Punkte erscheint.

Wir kehren nun zu 3 zurück. Nachdem die teilnehmenden Geräte identifiziert wurden, kann eine Verbindung zwischen dem lokalen Verwaltungsgerät und jedem der räumlich abgesetzten teilnehmenden Mobilgeräte hergestellt werden. Zum Beispiel könnte Block 36 den Nutzer auffordern anzugeben, welche Art von Verbindung bevorzugt ist. In einem Beispiel kann es vier Verbindungsarten geben, unter denen ein Nutzer auswählen kann:

Offene dauerhafte Verbindung: Wenn ein Nutzer keine Authentifizierung der Peer- (zum Beispiel räumlich abgesetzten) Gerätes verlangt und der Nutzer das Profil des Peer-Gerät für die Zeitdauer des Ereignisses in dem lokalen Gerät speichern will, so kann der Nutzer diese Beziehung wählen. Das Profil eines Peer-Gerätes kann eine Kombination der MAC (Media Access Control)-Adresse einer Wi-Fi- oder Bluetooth-Karte, eines benutzerfreundlichen Namens usw. sein. Der Nutzer kann auch die Möglichkeit erhalten, die Zeitdauer der dauerhaften Verbindung zu wählen (zum Beispiel 4 Stunden, 8 Stunden, 24 Stunden usw.). Sobald eine dauerhafte Verbindung eingerichtet ist, kann der Nutzer für die Dauer der Verbindung - selbst wenn der Nutzer entscheidet, das Gerät auszuschalten und danach wieder einzuschalten - die Möglichkeit haben, den Einrichtungsprozess zu umgehen. Ein Nutzer könnte eine offene Verbindung aus verschiedenen Gründen wählen: weil der Nutzer visuell verifizieren kann, dass das Peer-Gerät in der näheren Umgebung/Nachbarschaft ein vertrauenswürdiges Gerät ist; weil die zwei Nutzer, die versuchen, ein Bild kollaborativ aufzunehmen, weit voneinander entfernt sind (zum Beispiel auf verschiedenen Seiten eines Stadions), und so weiter. Die Einrichtung einer offenen Verbindung kann einen minimalen Mitteilungsübermittlungs-Verwaltungsdatenaufwand haben, bietet aber möglicherweise keinen sicheren Kanal (zum Beispiel Schutz für Datenverkehr, der zwischen den zwei Geräten übertragen wird).

Offene einmalige Verbindung: Wenn ein Nutzer das Profil des Peer-Gerätes nicht in seinem eigenen Gerät speichern will, und wenn der Nutzer nicht um die Authentizität des Peer-Gerätes besorgt ist, so könnte der Nutzer entscheiden, eine offene Verbindung einzurichten. In diesem Fall geht die Verbindungseinrichtung verloren, sobald das Gerät ausgeschaltet wird. Dementsprechend muss das nächste Mal, wenn der Nutzer sein Gerät einschaltet, wieder eine Verbindung eingerichtet werden. Dieser Modus kann am besten für ein Szenario geeignet sein, in dem ein Nutzer nur ein oder zwei Bilder kollaborativ mit einem weiteren Nutzer aufnimmt.

Sichere dauerhafte Verbindung: Ein Nutzer kann entscheiden, das Profil eines Peer-Gerätes für die Dauer eines Ereignisses in seinem eigenen Gerät zu speichern. In diesem Fall könnte das Profil des Peer-Gerätes eine Kombination der MAC-Adresse der Wi-Fi- oder Bluetooth-Karte, eines benutzerfreundlichen Namens, eines gemeinsamen Geheimnisses zwischen dem lokalen Gerät und dem räumlich abgesetzten Gerät usw. sein. Bei einer dauerhaften Verbindung kann ein Gerät jedes Mal automatisch eine Verbindung mit einem bekannten Peer-Gerät einrichten, wenn es eingeschaltet wird, bis die vorgegebene Verbindungszeit abläuft. Wenn eine sichere Verbindung gewählt wird, so kann das Gerät vom Peer-Gerät verlangen, sich bei ihm zu authentifizieren, bevor die Verbindung eingerichtet wird und nutzungsbereit ist. Nachdem das Authentifizierungsverfahren erfolgreich vollendet wurde, kann der Datenverkehr zwischen den zwei Geräten verschlüsselt werden.

Sichere einmalige Verbindung: Das lokale Gerät speichert nicht das Profil des räumlich abgesetzten Gerätes, aber kann ein Authentifizierungsverfahren verlangen, bevor eine Verbindung eingerichtet wird. Nachdem das Authentifizierungsverfahren erfolgreich vollendet wurde, kann der Datenverkehr zwischen den zwei Geräten verschlüsselt werden.

Der Verarbeitungsblock 42 synchronisiert die lokale Uhr des Verwaltungsgerätes mit den Uhren der räumlich abgesetzten teilnehmenden Mobilgeräte. Insbesondere könnte das Verwaltungsgerät eine oder mehrere Zeitsynchronisationsanforderungen rundsenden, die durch die teilnehmenden Mobilgeräte empfangen werden, wobei jede Zeitsynchronisationsanforderung einen Absendezeit (Time of Departure, ToD)-Stempel sowie eine Reihe weiterer Parameter enthalten kann. Zum Beispiel kann die Zeitsynchronisationsanforderung anzeigen, dass der übertragene Frame eine Synchronisationsanforderung ist, und kann die MAC-Adresse des Verwaltungsgerätes und eine Empfängeradresse (zum Beispiel eine Rundsendeadresse, die durch andere Geräte in dem Bereich überwacht wird) enthalten. Außerdem könnte die Synchronisationsanforderung einen Dialog-Token enthalten, der dafür verwendet wird, zwischen Zeitsynchronisationsanforderungsframes von verschiedenen Geräten zu unterscheiden, wenn sich mehrere Sendegeräte in dem Bereich befinden. Darüber hinaus kann der ToD-Stempel zu dem Zeitpunkt angebracht werden, wenn der Frame übertragen wird.

Nach dem Empfang der Zeitsynchronisationsanforderung können die teilnehmenden Mobilgeräte die Ankunftszeit (Time of Arrival, ToA) der Zeitsynchronisationsanforderung bestimmen und eine Antwort auf die Zeitsynchronisationsanforderung senden. Die Zeitsynchronisationsantwort kann ein Unicast-Frame sein, der die ToA der Anforderung sowie die ToD der Zeitsynchronisationsantwort identifiziert. Wenn das Verwaltungsgerät jede Synchronisationsantwort empfängt, so kann es die ToA der Antwort bestimmen und einen Uhr-Versatz für die zwei Geräte berechnen. Die Berechnung könnte folgendermaßen ausgeführt werden: Versatz=[T2T1)(T4T3)]2embedded imagewobei T1 die Sendezeit der Zeitsynchronisationsanforderung ist, T2 die Ankunftszeit der Zeitsynchronisationsanforderung ist, T3 die Sendezeit der Zeitsynchronisationsantwort ist und T4 die Ankunftszeit der Zeitsynchronisationsantwort ist. Wenn zum Beispiel die lokale Uhr des Verwaltungsgerätes 13.30 Uhr anzeigt und der Versatz zwischen der lokalen Uhr des Verwaltungsgerätes und der Uhr eines teilnehmenden Mobilgerätes +2 Minuten beträgt, so kann das Verwaltungsgerät bestimmen, dass die Uhr des teilnehmenden Mobilgerätes auf 13.32 Uhr steht. Der obige Prozess kann durch die teilnehmenden Mobilgeräte wiederholt werden, um ihren Uhr-Versatz relativ zur Uhr des Verwaltungsgerätes zu bestimmen. Durch diese Herangehensweise kann ein Gerät mit mehreren Geräten gleichzeitig synchronisiert werden, ohne die Hauptuhr eines Netzwerks verwenden zu müssen. Weil des Weiteren das Zeitsynchronisationsverfahren dezentralisiert ist, kann das Verfahren schneller und effizienter sein, als wenn für jedes Gerät die Uhr-Werte der anderen Geräte kopiert werden müssten.

Der Verarbeitungsblock 44 bestimmt eine Zeitverzögerung für den Satz teilnehmender Mobilgeräte. Die Bestimmung der Zeitverzögerung kann berücksichtigen, dass die Zeit für das Übertragen einer Meldung zwischen Mobilgeräten eine Funktion der Betriebssystem- (Operating System, OS) und Hardware- (HW) Verzögerungen in dem sendenden Mobilgerät, der Over-the-Air (OTA)-Zeichengabeverzögerung und der HW- und OS-Verzögerungen in dem empfangenden Mobilgerät sein kann. Zum Beispiel kann das Verwaltungsgerät durch Anwenden des Versatzes jedes teilnehmenden Mobilgerätes auf einen oder mehrere ToD-Zeitstempel, die von dem betreffenden teilnehmenden Mobilgerät kommend empfangen werden, die End-to-End-Verzögerung bestimmen. VerzögerungETE=T4(T3+Versatz)embedded imagewobei VerzögerungETE die End-to-End-Verzögerung ist, die mit dem betreffenden teilnehmenden Mobilgerät verbunden ist, T3 die Sendezeit der Meldung (relativ zu der räumlich abgesetzten Uhr) ist, und T4 die Ankunftszeit der Meldung (relativ zu der lokalen Uhr) ist. Die End-to-End-Verzögerung könnte auch über mehrere Meldungen von einem bestimmten Gerät hinweg gemittelt werden und könnten auch über Meldungen von dem gesamten Satz teilnehmender Mobilgeräte hinweg gemittelt werden. Die maximale End-to-End-Verzögerung für den Satz teilnehmender Mobilgeräte kann darum durch das Verwaltungsgerät zum Identifizieren einer Zeitverzögerung für die kollaborative Sitzung verwendet werden. Andere Faktoren, wie zum Beispiel Zeitjitter, die aus mehreren End-to-End-Verzögerungsberechnungen errechnet werden können, können bei der Zeitverzögerungsfeststellung ebenfalls berücksichtigt werden.

Block 46 bestimmt eine Befehlsausführungszeit (Command Execution Time, CET) auf der Grundlage der lokalen Uhr des Verwaltungsgerätes und der Zeitverzögerung für den Satz teilnehmender Mobilgeräte. Zum Beispiel könnte die CET ein Moment in der Zukunft sein, wobei die Zeitverzögerung berücksichtigt wird, die mit der Übertragung der entsprechenden Steuerungsmeldungen zwischen Geräten verbunden ist. Wie noch ausführlicher besprochen werden wird, kann das Verwaltungsgerät auch andere Parameter bestimmen, wie zum Beispiel einen Dialog-Token und eine Ausführungsverzögerung für jedes teilnehmende Mobilgerät.

Eine Steuerungsmeldung wird zu dem Satz teilnehmender Mobilgeräte gesendet, wie in Block 48 veranschaulicht ist. Ein Beispiel der Felder, die in der Steuerungsmeldung enthalten sein könnten, ist unten in Tabelle I gezeigt. Tabelle I

ReihenfolgeInformation1Frame-Typ2Sender-Adresse3Empfänger (Rundsende)-Adresse4Dialog-Token5Befehlsausführungszeit (CET)6Ausführungsverzögerung7Liste der teilnehmenden Geräte......

Der Frame-Typ kann die Art der zu übertragenden Steuerungsmeldung identifizieren (zum Beispiel, ob die Meldung eine Fokus-Steuerungsmeldung, eine Verschlusszeit-Steuerungsmeldung, eine Blitz-Steuerungsmeldung, eine Bildanzeige-/Animationsmeldung usw. ist). Die Senderadresse (Transmitter Address, TA) kann die MAC-Adresse der Wi-Fi- oder Bluetooth-Karte des sendenden Gerätes oder ein universell eindeutiger Geräteidentifikator sein, der das sendende Gerät identifiziert. Die Empfängeradresse (Receiver Address, RA) kann die MAC-Adresse der Wi-Fi- oder Bluetooth-Karte des empfangenden Gerätes, ein universell eindeutiger Geräteidentifikator, der das empfangende Gerät identifiziert, oder eine Rundsendeadresse sein, die durch jedes der teilnehmenden Mobilgeräte überwacht wird. Der Dialog-Token kann eine laufende Nummer der Steuerungsmeldung sein, wobei das Verwaltungsgerät die laufende Nummer für jede neue übertrage Steuerungsmeldung um eins inkrementieren kann.

Wie bereits angemerkt, kann die lokale Befehlsausführungszeit (Command Execution Time) die Zeit sein, zu der das Verwaltungsgerät den Befehl ausführen würde, und kann auf der Grundlage der maximalen End-to-End-Verzögerung und der lokalen Uhr errechnet werden. Das Verzögerungsfeld kann den Zeitversatz (zum Beispiel in Mikrosekunden) definieren, den das empfangende Gerät zur Befehlsausführungszeit hinzurechnen soll. Wenn zum Beispiel eine räumlich abgesetzte Kamera den Befehl zum selben Zeitpunkt ausführen muss wie die lokale Kamera, so könnte das Verzögerungsfeld null sein. Wenn andererseits die kollaborative Sitzung eine sequenzielle Bildaufnahme beinhaltet, so kann jede teilnehmende Kamera eine andere Ausführungsverzögerung entsprechend ihrer Position in der Bildaufnahmesequenz empfangen. Die Steuerungsmeldung kann auch eine Liste von Geräten übertragen, die an der Sitzung teilnehmen, wobei jedes Gerät in der Liste durch seine MAC-Adresse oder einen anderen zweckmäßigen Identifikator identifiziert werden könnte. Der veranschaulichte Block 50 führt den Befehl gemäß der geplanten lokalen Ausführungszeit aus.

5A zeigt ein Verfahren 51 zum Identifizieren teilnehmender Mobilgeräte in einer kollaborativen Sitzung. Das Verfahren 51 könnte in ausführbarer Software eines Mobilgerätes 10a, 10c (1) als ein Satz Logik-/Modul-Anweisungen implementiert werden, die in einem maschinen- oder computerlesbaren Medium eines Speichers, wie zum Beispiel RAM, ROM, PROM, Firmware, Flash-Speicher usw., in Festfunktions-Logik-Hardware, die Schaltkreistechnologie verwendet, wie zum Beispiel ASIC-, CMOS- oder TTL-Technologie, oder beliebigen Kombinationen davon gespeichert sind. Wie bereits angemerkt, kann ein Mobilgerät eine Verbindung mit dem Verwaltungsgerät herstellen, um an der kollaborativen Sitzung zusammen mit anderen Mobilgeräten teilzunehmen, wobei die Verbindung eine offene dauerhafte, eine offene einmalige, eine sichere dauerhafte oder eine sichere einmalige Verbindung oder eine sonstige Art von Verbindung sein könnte.

In Block 53 wird eine Steuerungsmeldung empfangen. Wenn die Art der Verbindung eine sichere Verbindung ist (zum Beispiel eine sichere dauerhafte oder eine sichere einmalige Verbindung), so kann in Block 53 die Steuerungsmeldung authentifiziert werden. Wie bereits besprochen, kann die Steuerungsmeldung eine Senderadresse, eine Empfängeradresse, einen Dialog-Token, einen Liste von teilnehmenden Mobilgeräten und so weiter enthalten. Wenn in Block 55 festgestellt wird, dass die Empfängeradresse (zum Beispiel MAC-Adresse) der Befehlsmeldung mit einer Adresse des empfangenden Mobilgerätes übereinstimmt, so kann in Block 57 eine Feststellung getroffen werden, ob der Dialog-Token gültig ist. Auf diese Weise könnte in Block 57 eine laufende Nummer des Dialog-Tokens mit einer gespeicherten laufenden Nummer eines vorherigen Dialog-Tokens vom selben Sender verglichen werden, wobei die Steuerungsmeldung ignoriert wird, wenn die laufende Nummer nicht größer als die gespeicherte laufende Nummer ist.

Wenn die laufende Nummer jedoch größer als die gespeicherte laufende Nummer ist, so überschreibt der veranschaulichte Block 59 die gespeicherte laufende Nummer mit der laufenden Nummer des Dialog-Tokens. In Block 59 könnte auch eine Bestätigungs (Acknowledgement, ACK)-Meldung an das Verwaltungsgerät an der in der Steuerungsmeldung angegebenen Senderadresse gesendet werden. Dabei kann, wenn die Art der Verbindung eine dauerhafte Verbindung (zum Beispiel eine offene dauerhafte oder sichere dauerhafte Verbindung) ist, das teilnehmende Mobilgerät ein Profil für das Verwaltungsgerät speichern, das die MAC-Adresse, einen benutzerfreundlichen Namen, ein gemeinsames Geheimnis usw. enthält. Der veranschaulichte Block 61 extrahiert eine Liste von teilnehmenden Mobilgeräten aus der Steuerungsmeldung, wobei der Status der teilnehmenden Mobilgeräte in Block 63 zu „nicht verfügbar“ geändert werden kann.

Wenden wir uns nun 5B zu, wo ein Verfahren 52 zum Teilnehmen an einer kollaborativen Mobilgerätesitzung gezeigt ist. Das Verfahren 52 könnte in ausführbarer Software eines Mobilgerätes 10a, 10c (1) als ein Satz Logik-/Modul-Anweisungen implementiert werden, die in einem maschinen- oder computerlesbaren Medium eines Speichers, wie zum Beispiel RAM, ROM, PROM, Firmware, Flash-Speicher usw., in Festfunktions-Logik-Hardware, die Schaltkreistechnologie verwendet, wie zum Beispiel ASIC-, CMOS- oder TTL-Technologie, oder beliebigen Kombinationen davon gespeichert ist. Wie bereits angemerkt, kann das teilnehmende Mobilgerät eine Verbindung mit dem Verwaltungsgerät herstellen, wobei die Verbindung eine offene dauerhafte, eine offene einmalige, eine sichere dauerhafte oder eine sichere einmalige Verbindung oder eine sonstige Art von Verbindung sein könnte.

Block 54 empfängt eine Steuerungsmeldung. Wenn die Art der Verbindung eine sichere Verbindung ist (zum Beispiel eine sichere dauerhafte oder eine sichere einmalige Verbindung), so kann Block 54 die Steuerungsmeldung authentifizieren. Die Steuerungsmeldung kann eine Senderadresse, eine Empfängeradresse, einen Befehl, einen Dialog-Token, eine Befehlsausführungszeit (CET), die auf der räumlich abgesetzten Uhr des Verwaltungsgerätes basiert, und so weiter enthalten. Wenn in Block 56 festgestellt wird, dass die Empfängeradresse (zum Beispiel MAC-Adresse) der Befehlsmeldung mit einer Adresse des teilnehmenden Mobilgerätes übereinstimmt, so kann in Block 58 eine Feststellung getroffen werden, ob der Dialog-Token gültig ist. So könnte in Block 58 eine laufende Nummer des Dialog-Tokens mit einer gespeicherten laufenden Nummer eines vorherigen Dialog-Tokens vom selben Sender verglichen werden, wobei die Steuerungsmeldung ignoriert wird, wenn die laufende Nummer nicht größer als die gespeicherte laufende Nummer ist. Wenn die laufende Nummer jedoch größer als die gespeicherte laufende Nummer ist, so überschreibt der veranschaulichte Block 60 die gespeicherte laufende Nummer mit der laufenden Nummer des Dialog-Tokens. Block 60 könnte auch eine Bestätigungs (Acknowledgement, ACK)-Meldung an das Verwaltungsgerät an der in der Steuerungsmeldung angegebenen Senderadresse senden. Dabei kann, wenn die Art der Verbindung eine dauerhafte Verbindung (zum Beispiel eine offene dauerhafte oder sichere dauerhafte Verbindung) ist, das teilnehmende Mobilgerät ein Profil für das Verwaltungsgerät speichern, das die MAC-Adresse, einen benutzerfreundlichen Namen, ein gemeinsames Geheimnis usw. enthält.

Die CET des räumlich abgesetzten Verwaltungsgerätes kann in Block 62 aus der Steuerungsmeldung extrahiert werden, wie auch die Ausführungsverzögerung. Wie bereits angemerkt, kann, wenn der Befehl durch die teilnehmenden Mobilgeräte gleichzeitig ausgeführt werden soll, die Ausführungsverzögerung null sein. Der veranschaulichte Block 64 bestimmt die lokale Ausführungszeit des Befehls für das teilnehmende Mobilgerät auf der Grundlage der räumlich abgesetzten CET und des Versatzes der Uhr des räumlich abgesetzten Verwaltungsgerätes relativ zu der lokalen Uhr des teilnehmenden Mobilgerätes. Zum Beispiel könnte die lokale Ausführungszeit folgendermaßen berechnet werden: CET+Verzögerung+Versatz_Gerät1_Gerät2embedded imagewobei Verzögerung die Ausführungsverzögerung ist (sofern es eine gibt). Der Befehl kann in Block 68 gemäß der geplanten lokalen Ausführungszeit ausgeführt werden.

6 zeigt ein Beispiel eines Mobilgerätes 70, das eine Steuerungslogik 72 und eine lokale Uhr 74 enthält. Wenn das Mobilgerät 70 als ein Verwaltungsgerät in einer kollaborativen Sitzung fungiert, so kann die Steuerungslogik 72 dafür geeignet sein, eine Zeitverzögerung zu bestimmen, die mit einem Satz aus einem oder mehreren räumlich abgesetzten teilnehmenden Mobilgeräten verbunden ist, eine lokale Ausführungszeit für einen Befehl mindestens teilweise auf der Grundlage der lokalen Uhr und der Zeitverzögerung zu bestimmen, und eine Steuerungsmeldung an den Satz aus einem oder mehreren räumlich abgesetzten teilnehmenden Mobilgeräten über einen Drahtlos- (zum Beispiel Wi-Fi-, Bluetooth-) Transceiver 76 zu senden, wobei die Steuerungsmeldung den Befehl und die lokale Ausführungszeit enthält.

Wenn andererseits das Mobilgerät 70 als ein teilnehmendes Mobilgerät in einer kollaborativen Sitzung fungiert, so kann die Steuerungslogik 72 dafür geeignet sein, eine Steuerungsmeldung von einem räumlich abgesetzten Verwaltungsgerät über den Drahtlos-Transceiver 76 zu empfangen, wobei die Steuerungsmeldung einen Befehl und eine Fernausführungszeit enthält. Die Steuerungslogik 72 kann auch eine lokale Ausführungszeit mindestens teilweise auf der Grundlage der Fernausführungszeit und eines Versatzes einer räumlich abgesetzten Uhr des räumlich abgesetzten Mobilgerätes relativ zu der lokalen Uhr 74 bestimmen.

In jeder dieser Eigenschaften führt die veranschaulichte Steuerungslogik 72 den Befehl gemäß der geplanten lokalen Ausführungszeit aus, wobei die Ausführung des Befehls gemeinsam mit den anderen teilnehmenden Mobilgeräten erfolgt. Das Mobilgerät 70 kann außerdem ein Bildaufnahmemodul 78 enthalten, um die Ausführung von Bildaufnahmebefehlen, wie zum Beispiel Verschlusszeit-, Fokus- und Blitzbefehle zu ermöglichen, und kann einen Prozessor 80 enthalten, der einen oder mehrere (nicht gezeigte) Prozessorkerne enthalten kann, wobei jeder Kern komplett mit Anweisungsholeinheiten, Anweisungsdecodern, Level One (L1)-Cache, Ausführungseinheiten und so weiter ausgestattet sein kann. Der Prozessor 80 könnte die Steuerungslogik 72 ausführen, falls die Steuerungslogik 72 Anweisungen enthält.

Das veranschaulichte Mobilgerät 70 enthält außerdem eine Benutzerschnittstelle (UI) 82, die es einem Nutzer ermöglicht, mit dem Mobilgerät 70 zu interagieren und Informationen von dem Mobilgerät 70 zu erhalten. So kann die UI 82 ähnliche Funktionen wie die UI 40 (4), wie bereits beschrieben, enthalten und kann es dem Nutzer ermöglichen, teilnehmende Mobilgeräte für die kollaborative Sitzung auszuwählen. Die UI 82 könnte es dem Nutzer auch ermöglichen, die Art der Verbindung (zum Beispiel offene dauerhafte, offene einmalige, sichere dauerhafte oder sichere einmalige Verbindung) für die kollaborative Sitzung auszuwählen. Das Mobilgerät 70 kann außerdem einen RAM 84, einen ROM 86, einen (nicht gezeigten) Flash-Speicher usw. enthalten, um Bilder, Videos, Zeitversatz, Geräteprofile, Authentifizierungsdaten, laufende Nummern von Dialog-Token, Gerätestatus, Steuerungslogik-Anweisungen usw. zu speichern.

Die im vorliegenden Text beschriebenen Ausführungsformen sind zur Verwendung mit allen Arten von integrierten Halbleiterschaltkreis („IC“)-Chips geeignet. Zu Beispielen dieser IC-Chips gehören Prozessoren, Controller, Chipsatz-Komponenten, programmierbare Logik-Arrays (PLAs), SpeicherChips, Netzwerk-Chips und dergleichen. Des Weiteren sind in einigen der Zeichnungen Signalleitungen mit Linien dargestellt. Einige können verschieden sein, um mehr einzelne Signalpfade anzuzeigen, können einen Nummernbezeichner haben, um eine Nummer von einzelnen Signalpfaden anzuzeigen, und/oder können Pfeile an einem oder mehreren Enden haben, um die primäre Informationsflussrichtung anzuzeigen. Das darf jedoch nicht in einer einschränkenden Weise verstanden werden. Statt dessen können solche zusätzlichen Details in Verbindung mit einer oder mehreren beispielhaften Ausführungsformen verwendet werden, um das Verständnis eines Schaltkreises zu erleichtern. Alle dargestellten Signalleitungen, unabhängig davon, ob sie zusätzliche Informationen haben oder nicht, können praktisch ein oder mehrere Signale umfassen, die in mehreren Richtungen laufen können und mit jeder geeigneten Art von Signalregime implementiert werden können, zum Beispiel digitalen oder analogen Leitungen, die mit differenziellen Paaren, Lichtwellenleitern und/oder einzelendigen Leitungen implementiert sind.

Es können beispielhafte Größen/Modelle/Werte/Bereiche genannt worden sein, obgleich Ausführungsformen der vorliegenden Erfindung nicht darauf beschränkt sind. Die Fertigungstechniken (zum Beispiel Fotolithografie) entwickeln sich ständig weiter, so dass erwartet wird, dass eines Tages auch kleinere Bauelemente hergestellt werden können. Des Weiteren können gegebenenfalls in den Figuren allgemein bekannte Strom/Erde-Verbindungen zu IC-Chips und anderen Komponenten gezeigt sein, die aber nur der leichteren Veranschaulichung und Besprechung dienen, ohne bestimmte Aspekte der Ausführungsformen der Erfindung in den Hintergrund treten zu lassen. Des Weiteren können Anordnungen in Blockschaubildform gezeigt sein, um die wesentlichen Aspekte der Ausführungsformen der Erfindung nicht in den Hintergrund treten zu lassen, aber auch angesichts der Tatsache, dass Spezifika im Hinblick auf die Implementierung solcher Blockschaubild-Anordnungen in hohem Maße von der Plattform abhängig sind, innerhalb der die Ausführungsform implementiert werden soll; d. h. solche Spezifika sollten sich durchaus innerhalb des Kompetenzbereichs des Fachmanns befinden. Wo konkrete Einzelheiten (zum Beispiel Schaltkreise) dargelegt sind, um beispielhafte Ausführungsformen der Erfindung zu beschreiben, dürfte dem Fachmann einleuchten, dass Ausführungsformen der Erfindung mit oder ohne Änderung dieser konkreten Einzelheiten praktiziert werden können. Die Beschreibung ist darum als veranschaulichend und nicht als einschränkend anzusehen.

Der Begriff „gekoppelt“ kann im vorliegenden Text im Zusammenhang mit jeder Art von Beziehung, direkt oder indirekt, zwischen den betreffenden Komponenten verwendet werden und kann sich auf elektrische, mechanische, fluide, optische, elektromagnetische, elektromechanische oder sonstige Verbindungen beziehen. Des Weiteren können die Begriffe „erster“, „zweiter“ usw. im vorliegenden Text verwendet werden, jedoch nur zur Vereinfachung der Besprechung, und ohne eine bestimmte zeitliche oder chronologische Signifikanz zu implizieren, sofern nicht anders angegeben.

Der Fachmann versteht aus der vorangegangenen Beschreibung, dass die in einem weiten Sinne zu interpretierenden Techniken der Ausführungsformen der vorliegenden Erfindung auf vielfältigste Weise implementiert werden können. Das heißt, obgleich die Ausführungsformen dieser Erfindung in Verbindung mit konkreten Beispielen beschrieben wurden, darf der tatsächliche Geltungsbereich der Ausführungsformen der Erfindung nicht darauf beschränkt werden, weil dem Fachmann beim Studium der Zeichnungen, Spezifikation und der folgenden Ansprüche noch weitere Modifizierungen einfallen werden.