-
GEBIET DER
ERFINDUNG
-
Das
Gebiet der vorliegenden Erfindung betrifft digitale Bildaufnahmevorrichtungen.
Genauer bezieht sich die vorliegende Erfindung auf ein Verfahren
zum Zugreifen auf eine digitale Kamera aus der Ferne über ein
Kommunikationsnetzwerk.
-
HINTERGRUND
DER ERFINDUNG
-
Nuclear
Instruments and Methods in Physics Research, Section A, Volume 412,
Nr. 1, 21. Juli 1998, Seiten 140–155 von Albuquerque MP et
al., mit dem Titel "Remote
Monitoring over the Internet" beschreibt
das Überwachen
von wissenschaftlichen Instrumenten aus der Ferne über das
Internet, wobei eine Java Client-Server Architektur verwendet wird.
Ein Client baut eine Verbindung mit einem Server auf und sendet
die Dateinamen von abgefragten Datendateien. Die Datendateien, welche
durch die zentralen Workstations des Instrumentes erzeugt werden,
werden dann durch den Server gelesen (gescannt) und zu dem Client übertragen.
-
US-A-5
671 354 beschreibt ein Verfahren zum Unterstützen eines Server-Zugriffs,
durch Verwenden von Authentifierzierungsinformationen eines Benutzers.
Wenn ein Client (Kunde) seine Benutzerauthentifizierungsinformationen
eingibt und einen Ziel-Server spezifiziert, wird diese Information
zu dem Benutzermanagement-Server übertragen, einem von den Servern,
welche die Benutzerauthentifizierungsinformationen haben. Der Benutzermanagement-Server
wiederum überträgt die Benutzerauthentifizierungsinformationen
zurück
zu dem Client, welcher diese verwendet, um sich in den Ziel-Server
einzuloggen.
-
Moderne
digitale Kameras umfassen typischerweise eine Bildaufnahmeeinrichtung,
welche durch ein Computersystem gesteuert wird, das ein Software-Programm
ausführt.
Wenn ein Bild aufgenommen wird, wird die Bildaufnahmeeinrichtung
gegenüber
dem Licht ausgesetzt und erzeugt Rohbilddaten, die das Bild repräsentieren.
Die Rohbilddaten werden typischerweise in einem Bildzwischenspeicher
(Buffer) gespeichert, in welchem sie dann durch den Prozessor des
Computersystems bearbeitet und komprimiert werden. Viele Arten von
Komprimierungsschemata können
verwendet werden, um die Bilddaten zu komprimieren, wie zum Beispiel
der Joint Photographic Expert Group (JPEG) Standard. Nachdem der
Prozessor die Rohbilddaten bearbeitet und in Bilddateien komprimiert
hat, speichert der Prozessor die Bilddateien in einem internen Speicher oder
auf einer externen Speicherkarte.
-
Einige
digitale Kameras sind ferner mit einer Flüssigkristallanzeige (LCD) oder
einem anderen Typ von Bildschirm auf der Rückseite der Kamera ausgestattet.
Durch die Verwendung der LCD kann der Prozessor verursachen, dass
die Kamera in einem von zwei Modi arbeitet, Abspielen und Aufnahme,
obwohl einige Kameras nur einen Aufnahmemodus aufweisen. In dem
Abspielmodus wird die LCD als ein Abspielbildschirm verwendet, was
dem Benutzer ermöglicht,
die zuvor aufgenommenen Bilder entweder individuell oder in einem Feld
von vier, neun oder sechzehn Bildern zu überprüfen. In dem Aufnahmemodus wird
die LCD als ein Sucher verwendet, durch welchen der Benutzer ein
Objekt oder eine Szene betrachten kann, bevor er ein Bild aufnimmt.
-
Neben
dem LCD umfassen Benutzerschnittstellen für digitale Kameras ebenso eine
Anzahl von Knöpfen
oder Schaltern zum Einstellen der Kamera in einen von zwei Modi
und zum Navigieren zwischen Bildern in dem Abspielmodus. Beispielsweise
umfassen die meisten digitalen Kameras zwei Knöpfe, die mit „–„ und „+" markiert sind, welche
einem Benutzer ermöglichen,
dass er durch die aufgenommenen Bilder navigiert oder scrollt (rollt).
Zum Beispiel, wenn der Benutzer Bilder individuell durchsieht, dann
verursacht das Drücken
von einem der Navigationsknöpfe,
dass das gerade dargestellte Bild durch das nächste Bild ersetzt wird.
-
Eine
digitale Kamera weist keinen Film auf, und daher gibt es keine zunehmenden
Kosten beim Aufnehmen und Speichern von Bildern. Somit ist es möglich, eine unbegrenzte
Anzahl von Bildern aufzunehmen, wobei die jüngsten Bilder die frühsten Bilder
ersetzen, für
tatsächlich
keine (null) zunehmenden Kosten. Dementsprechend kann dieser Vorteil
am besten realisiert werden, wenn die Kamera so oft wie möglich benutzt wird,
wobei Bilder von praktisch allem von Interesse aufgenommen werden.
-
Ein
Weg, um dieses einzigartige Merkmal am besten zu benutzen, ist,
die digitale Kamera und ihre intern gespeicherten Bilder aus der
Ferne zugreifbar zu machen. Wenn auf die Bilder aus der Ferne zugegriffen werden
kann, kann die Kamera derart eingestellt werden, dass sie kontinuierlich
die Bilder von Szenen oder Sachen von Interesse aufnimmt. Idealerweise
würde ein
Benutzer in der Lage sein, auf solche Bilder zu jeder Zeit zuzugreifen.
Der Benutzer würde
ebenso in der Lage sein, ein weit verbreitet verfügbares Kommunikationsmedium
zu verwenden, um auf die Kamera von tatsächlich einer unbegrenzten Anzahl
von Positionen aus zuzugreifen.
-
Die
Entstehung des Internets als ein verteiltes, weit umfassend zugreifbares
Kommunikationsmedium stellt eine bequeme Art zum Implementieren
der Zugreifbarkeit aus der Ferne zur Verfügung. Das zur Verfügung Stellen
der Zugreifbarkeit aus der Ferne über das Internet ist ein Hebel
für die
Tatsache, dass das Internet vertraut für eine zunehmende Anzahl von
Personen wird. Viele Benutzer haben sich daran gewöhnt, Informationen
aus entfernt positionierten Systemen über das Internet zu beschaffen.
Es gibt viele und verschiedene Anwendungen, welche heutzutage das
Internet verwenden, um einen Fernzugriff oder eine Fernverbindung zur
Verfügung
zu stellen. Die Internettelefonie ist eine solche Anwendung, wie
zum Beispiel NetMeeting von Microsoft und CoolTalk von Netscape.
-
NetMeeting
und CoolTalk sind beides Echtzeitsoftwareanwendungen zur Desktop-Audiokonferenz und
zur Datenzusammenarbeit, welche spezifisch dafür entworfen wurden, um das
Internet als ihr Kommunikationsmedium zu verwenden. Beide Softwareanwendungen
erlauben einem „lokalen" Benutzer, einen „Anruf" zu einem „fernen" Benutzer, der sich
irgendwo auf der Welt aufhält,
zu platzieren. Bei beidem, NetMeeting und CoolTalk, ist die Softwareanwendung
auf einem Personal-Computersystem installiert (gehostet), an dem
Ort des Benutzers, und auf einem Personal-Computersystem an dem
Ort des fernen Benutzers. Beides, NetMeeting und CoolTalk, erfordern
einen SLIP- oder PPP-Account (SLIP: Serial Line Internet Protocol;
PPP: Point-to-Point Protocol), wobei ein Internetzugriff über ein
Einwahlmodem stattfindet, und wobei der Benutzer, wie dies typisch
ist, auf das Internet durch einen ISP (Internet Service Provider)
zugreift. Beides, Netmeeting und CoolTalk, erfordern Personal-Computersysteme
für die
Ressourcen, die notwendig sind, um diese Anwendungen auszuführen (zum
Beispiel Rechenleistung, Speicher, Kommunikationshardware und ähnliches).
Zudem erfordert beides, NetMeeting und CoolTalk, dass ein Benutzer
eine IP-Adresse
(IP: Internet Protocol) für den
anderen Benutzer eingibt, um eine Kommunikation zwischen den Benutzern
aufzubauen.
-
Um
den Prozess des Erzielens einer geeigneten Internet-Adresse zu erleichtern,
ermöglicht
CoolTalk zum Beispiel Online-Benutzern, ihre jeweiligen IP-Adressen
aufzulisten, mit einem im Eigentum von CoolTalk befindlichen zentralen
Web-Server. Dies
ermöglicht
einem Benutzer, eine Liste von Benutzern zu erzielen, welche augenblicklich
online sind, zu welchen eine Kommunikation aufgebaut werden kann.
Nach dem Lokalisieren des gewünschten
fernen Benutzers in der Internet-Adressenliste, die durch den Web-Server
gepflegt wird, platziert der lokale Benutzer den Anruf.
-
Auf
diese Art und Weise pflegt der im Eigentum von CoolTalk befindliche
Web-Server ein durch
Benutzer betrachtbares und von Benutzern aktualisiertes „Adressbuch", in welchem die
Benutzer ihre jeweiligen Internet-Adressen listen und in welchem
sie nach Internet-Adressen von anderen suchen, mit welchen sie kommunizieren
möchten.
Beides, NetMeeting und CoolTalk, erfordern jedoch eine aktive Benutzereingabe,
dadurch, dass jedes erfordert, dass der Benutzer seine augenblickliche
Internet-Adresse eingibt, und dadurch, dass jedes erfordert, dass
der lokale Benutzer das Adressbuch nach der Internet-Adresse des
fernen Benutzers, der kontaktiert werden soll, durchsucht. Dies
kann wirklich problematisch in dem Fall sein, in welchem Benutzer
einen Zugriff zu dem Internet über
Einwahlverbindungen erzielen und somit verschiedene Internet-Adressen
haben, jedesmal, wenn ihre jeweiligen Einwahlverbindungen aufgebaut
werden.
-
Auf
eine Art und Weise ähnlich
zu der Internettelefonie ist die Internet-Desktop-Videokonferenz eine weitere
Anwendung gemäß dem Stand
der Technik, welche das Internet als ihr Kommunikationsmedium verwendet.
Eine solche Anwendung ist zum Beispiel das CU-SeeMe von White Pine.
CU-SeeMe ermöglicht
eine Videokonferenz in Echtzeit zwischen zwei oder mehr Benutzern.
Wie bei NetMeeting und CoolTalk ist CU-SeeMe eine Softwareanwendung,
welche auf beiden Systemen läuft,
dem Personal-Computersystem des lokalen Benutzers und dem Personal-Computersystem
des fernen Benutzers. Die Personal-Computersysteme stellen die Ressourcen
zum Ausführen
der Anwendung zur Verfügung.
Wie bei NetMeeting und CoolTalk erfordert CU-SeeMe, dass der lokale
(Benutzer die IP-Adresse des fernen Benutzers eingibt. Ähnlich wie
CoolTalk erleichtert CU-SeeMe dieses Verfahren dadurch, dass es
Online-Benutzern ermöglicht,
ihre jeweiligen IP-Adressen mit einem in Eigentum stehenden zentralen
Web-Server zu listen, so dass die Adressen leicht mit einem Index
versehen und durchsucht werden können.
-
Ein
weiteres Beispiel des Standes der Technik eines Fernzugriffs über das
Internet sind Statusabfragen von fernen Einrichtungen, wobei das
Internet als das Kommunikationsmedium verwendet wird. Eine typische
Anwendung des Standes der Technik umfasst die Kopplung einer fernen
Einrichtung mit einem Computersystem und das Zugreifen auf das Computersystem über das
Internet. Zum Beispiel kann auf einen Verkaufsautomat aus der Ferne
zugegriffen werden, um seinen Status (zum Beispiel die Anzahl von
ausgeführten Verkäufen, ob
der Automat aufgefüllt
werden muss, ob der Automat einer Wartung bedarf und ähnliches)
zu bestimmen. Der Automat wird geeignet mit Sensoren, Schaltern
und ähnlichem
ausgestattet, welche wiederum an das Computersystem gekoppelt sind,
wobei ein Software-Treiber verwendet wird. Das Computersystem ist an
das Internet angeschlossen und über
den Treiber mit dem Automaten verkoppelt, was die relevanten Informationen über das
Internet verfügbar
macht, wobei eine Web-Server-Software
verwendet wird. Somit ist jeder interessierte Benutzer (zum Beispiel
die Servicefirma des Verkaufsautomaten) in der Lage, den Status
des Automaten über
das Internet festzustellen.
-
Ein
Problem bei den oben beschriebenen Anwendungen gemäß dem Stand
der Technik ist, dass der Zugriff auf das Internet und die Kommunikation
darüber
ein separates Host-Computersystem (zum Beispiel ein Personal-Computersystem)
auf jeder Seite der Internetverbindung erfordert, zusätzlich zu
dem Server-Computersystem
in dem Internet. Die zwei Host-Computersysteme stellen die Rechenleistungen
zur Verfügung,
um die jeweiligen Softwareanwendungen zu hosten, die Software zum
Zugriff auf das Internet und jegliche notwendigen Treiber für die Einrichtung.
Die erforderten Rechenleistungen verbrauchen einen wesentlichen
Anteil des Speichers. Daher können,
neben anderen Gründen,
die obigen Anwendungen gemäß dem Stand
der Technik nicht leicht in den Bereich von leicht zu gebrauchenden,
intuitiven, elektronischen Einrichtungen für Verbraucher übertragen
werden, wie zum Beispiel digitale Kameras, welche eine kleine Größe aufweisen
und im allgemeinen durch die Speichergröße, welche sie unterbringen
können,
beschränkt
sind. Zudem würde
eine elektronische Einrichtung für
Verbraucher, wie zum Beispiel eine digitale Kamera, die ein separates
Computersystem erfordert, teurer und komplexer sein und würde daher
nicht mit den Wünschen
der Verbraucher nach geringeren Kosten und einfacheren Einrichtungen übereinstimmen.
-
Zudem
erfordern separate Host-Computersysteme (bei welchen die Host-Computersysteme die
Software und die Treiber hosten, welche durch die Anwendungen gemäß dem Stand
der Technik erfordert werden, wie oben beschrieben worden ist) einen
zusätzlichen
Aufwand zur Verwaltung, insbesondere im Hinblick auf Netzwerke,
die aus einer großen
Anzahl von Computersystem bestehen (zum Beispiel digitale Kameras,
von denen jede ein Computersystem umfasst). Zum Beispiel muss ein
Upgrade der Software, welche auf jedem Computersystem hinterlegt
ist, individuell auf jedem Computersystem installiert werden. Zudem
muss jedes Computersystem individuell abgefragt werden, um abzufragen,
ob das Computersystem die Daten von Interesse für den Benutzer aufweist, und
dann muss auf die Daten getrennt zugegriffen werden, und sie müssen von
jedem Computersystem gesammelt werden und dann compiliert werden.
Zum Beispiel wenn eine Anwendung zwei digitale Kameras umfasst,
kann ein Benutzer daran interessiert sein, herauszufinden, welche
digitale Kamera Bilder im Speicher aufweist. Gemäß dem Stand der Technik muss
der Benutzer auf jede digitale Kamera individuell zugreifen. In
einem anderen Fall kann ein Benutzer Interesse daran haben, eine
Aufzeichnung von Übertragungen
zwischen allen Benutzern und allen digitalen Kameras zu führen. Wiederum
wird dies gemäß dem Stand
der Technik dadurch ausgeführt,
dass individuell auf jede digitale Kamera zugegriffen wird (oder
alternativ auf jedes Computersystem des Benutzers), um die Daten
zu sammeln und dann zu compilieren, um die Liste der Übertragungen
zu vervollständigen.
-
Ein
weiteres Problem bei dem Stand der Technik ist die Tatsache, dass
die Anwendungen, welche oben beschrieben worden sind, erfordern,
dass der Benutzer die Internet-Adresse der Person oder der Einrichtung
kennt, welche kontaktiert werden soll. Die Anwendungen der Internettelefonie
(zum Beispiel CoolTalk) verwenden häufig ein für den Benutzer sichtbares und
von den Benutzern aktualisiertes Adressbuch, um das Verfahren des
Lokalisierens und Erzielens der korrekten Internet-Adresse zu erleichtern;
sie erfordern jedoch eine aktive Benutzereingabe. Dies ist schwierig
in dem Fall, in welchem Benutzer den Zugriff zu dem Internet über Einwahlverbindungen
erzielen, und somit sich ändernde
Internet-Adressen aufweisen. Ein noch weiteres Problem bei dem Stand
der Technik ist, dass die Anwendungen, welche oben beschrieben worden
sind, nur ein begrenztes Ausmaß von
Funktionalität
zur Verfügung
stellen; das bedeutet, sie sind darauf beschränkt, entweder zu Chatten, eine
Videokonferenz durchzuführen
oder ähnliches.
Als solches sind sie nicht in der Lage, eine Verbindung zwischen
jedem Typ von Benutzersystem und einer fernen Einrichtung herzustellen.
-
Ein
System gemäß dem Stand
der Technik wird in der parallel anhängigen zuvor eingereichten
Patentanmeldung beschrieben, welche auf den Annehmenden der vorliegenden
Erfindung übertragen
worden ist, mit dem Titel „A
Method and System for Hosting an Internet Web Site on a Digital
Camera", Eric C.
Anderson und andere, Anmeldenummer 09/044,644. Dieses System gemäß dem Stand
der Technik stellt eine Lösung für das Problem
des Erzielens eines Fernzugriffs zu solchen digitalen Einrichtungen
zur Verfügung,
bei welchen die Position und die Internet-Adresse der Einrichtung
hochgradig wechselbar sind. Dieses System gemäß dem Stand der Technik inkorporiert
einen Web-Server in die digitale Einrichtung, insbesondere eine
digitale Kamera. Der Nachteil bei diesem System gemäß dem Stand
der Technik ist jedoch, dass der Web-Server wertvollen Speicher
und Rechenleistungen in der digitalen Kamera verbraucht. Zusätzlich ist,
wegen dem begrenzten Speicher in einer Einrichtung wie zum Beispiel
einer digitalen Kamera, der Web-Server nicht so leistungsfähig wie
ein Web-Server auf einem Server-Computersystem.
-
Somit
gibt es einen Bedarf für
ein nicht teures und leistungsfähiges
Verfahren zum Implementieren eines Fernzugriffs für digitale
Einrichtungen, wie zum Beispiel digitale Kameras, wobei die Position
und die Internet-Adresse der Einrichtung hochgradig veränderbar
sind. Ein weiterer Bedarf besteht für ein intuitives, einfaches
Protokoll zum Darstellen der Funktionalität der Einrichtung und der Leistungsfähigkeiten
für Benutzer. Zudem
existiert ein Bedarf für
ein Verfahren zum effizienten Verwalten einer Vielzahl von separaten
Einrichtungen. Es existiert ferner ein Bedarf für ein effizientes Verfahren
zum Erzielen der Adresse der Einrichtung, welches transparent für den Betrachter
ist. Die vorliegende Erfindung stellt eine neue Lösung für die obigen Notwendigkeiten
zur Verfügung.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung stellt ein nicht teures und leistungsfähiges Verfahren
zum Implementieren eines Fernzugriffes auf digitale Einrichtungen,
wie zum Beispiel digitale Kameras, zur Verfügung, wobei die Position und
die Internet-Adresse
der Einrichtung hochgradig veränderlich
sind. Die vorliegende Erfindung stellt ferner ein intuitives, einfaches
Protokoll zum Präsentieren
der Funktionalität
und der Leistungsfähigkeiten
der Einrichtung für
Benutzer zur Verfügung.
Zudem stellt die vorliegende Erfindung ein Verfahren zum effizienten Verwalten
einer Vielzahl von getrennten Einrichtungen zur Verfügung. Die
vorliegende Erfindung stellt ferner ein effizientes Verfahren zum
Erzielen der Adresse einer Einrichtung zur Verfügung, welches transparent für den Benutzer
ist.
-
In
einer Ausführung
ist die vorliegende Erfindung ein ausführbares Programm zum Zugreifen
auf eine digitale Kamera über
ein Kommunikationsnetzwerk, wobei ein Web-Server auf einem Server-Computersystem und
ein Web-Browser (oder ein Programm mit einer ähnlichen Funktion) auf einem
Client-Computersystem verwendet werden, welche über das Internet kommunikativ
miteinander verbunden sind. Die Adresse der digitalen Kamera wird
dann in einem ausführbaren
Programm auf dem Server-Computersystem registriert. Auf das ausführbare Programm
wird dann durch das Client-Computersystem zugegriffen. Das ausführbare Programm
verbindet die digitale Kamera und das Server-Computersystem. Das ausführbare Programm
ermöglicht,
dass das Client-Computersystem
und die digitale Kamera miteinander kommunizieren, wobei jegliches Protokoll
verwendet wird, das durch diese Einrichtungen verwendet wird, was
somit ermöglicht,
dass Daten (zum Beispiel Bilder), die von der digitalen Kamera aufgenommen
worden sind, auf das Client-Computersystem übertragen werden.
-
Das
ausführbare
Programm kann in einer Vielzahl von Formen implementiert werden.
Zum Beispiel kann das ausführbare
Programm ein Java-Servlet sein. Alternativ kann das ausführbare Programm
ein cgi-bin (Common Gateway Interface-binaries) sein.
-
Zum
Beispiel kommuniziert in dem Fall einer digitalen Kamera das ausführbare Programm
direkt Befehle von dem Client-Computersystem zu der digitalen Kamera,
wenn beides, das Client-Computersystem und die digitale Kamera zur
selben Zeit online sind. Alternativ, wenn die digitale Kamera nicht
online ist, werden die Befehle von dem Client-Computersystem zuerst
in dem Server-Computersystem
gespeichert und dann später durch
das ausführbare
Programm an die digitale Kamera kommuniziert, nachdem eine Verbindung
zwischen dem Server-Computersystem und der digitalen Kamera hergestellt
worden ist. Die Fähigkeit,
Befehle und Daten zu speichern und diese dann weiterzuleiten, ist
nicht auf die Anwendung mit einer digitalen Kamera beschränkt, noch
ist sie auf ein besonderes Datenspeicherformat beschränkt. Das
Datenspeicherformat kann jegliches Format sein, welches durch beides
verstanden wird, das Client-Computersystem
und die digitale Einrichtung.
-
Auf
Bilder und jegliche andere Daten, die durch die digitale Kamera
aufgenommen worden sind, wird durch das Server-Computersystem zugegriffen,
wobei das ausführbare
Programm verwendet wird, und sie werden direkt auf das Client-Computersystem übertragen,
wenn beides, das Client-Computersystem und die digitale Kamera,
zur selben Zeit online sind. Alternativ, wenn das Client-Computersystem nicht
online ist, werden die Daten zuerst durch das Server-Computersystem gespeichert,
und dann später
zu dem Client-Computersystem kommuniziert, nachdem eine Verbindung
zwischen dem Server-Computersystem und dem Client-Computersystem
hergestellt worden ist.
-
Es
soll jedoch angemerkt werden, dass die vorliegende Erfindung leicht
modifiziert werden kann, damit sie in anderen Ausführungen
funktioniert, wie zum Beispiel bei digitalen Hand-Held-Einrichtungen,
Personal-Computern im Laptop-Format und ähnlichem, welche ein effizientes
Verfahren zum Erzielen der Adresse einer Einrichtung erfordern,
welches für
den Benutzer transparent ist.
-
Diese
und andere Aufgaben und Vorteile der vorliegenden Erfindung werden
für den
Fachmann offensichtlich werden, nachdem er die folgende detaillierte
Beschreibung der vorzuziehenden Ausführungen, welche in den verschiedenen
Zeichnungsfiguren dargestellt sind, gelesen hat.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
vorliegende Erfindung wird im Wege eines Beispiels und nicht im
Wege einer Beschränkung
dargestellt, in den Figuren der begleitenden Zeichnungen, in welchen
sich entsprechende Bezugszeichen auf sich entsprechende Elemente
beziehen, und in welchen:
-
Die 1A ein
Blockdiagramm eines Fernzugriffsystems über das Internet in Übereinstimmung
mit einer Ausführung
der vorliegenden Erfindung zeigt.
-
Die 1B ein
Blockdiagramm eines Fernzugriffsystems über ein lokales Netzwerk (Local
Area Network) in Übereinstimmung
mit einer Ausführung
der vorliegenden Erfindung zeigt.
-
Die 1C ein
Blockdiagramm einer digitalen Kamera, die über einen Internet-Service-Provider
mit dem Internet verbunden ist, zeigt.
-
Die 2 ein
Computersystem für
einen allgemeinen Zweck zeigt, auf welchem Ausführungen der vorliegenden Erfindung
in die Praxis umgesetzt werden können.
-
Die 3 ein
Blockdiagramm einer digitalen Kamera zur Verwendung in Übereinstimmung
mit der vorliegenden Erfindung zeigt.
-
Die 4 ein
Blockdiagramm eines Computersystems einer digitalen Kamera in Übereinstimmung
mit einer vorzuziehenden Ausführung
der vorliegenden Erfindung zeigt.
-
Die 5 eine
Speicherkarte eines dynamischen Direktzugriffsspeichers (Random
Access Memory) einer digitalen Kamera in Übereinstimmung mit einer Ausführung der
vorliegenden Erfindung zeigt.
-
Die 6 ein
Diagramm der Verbindungs- und Anwendungssoftware einer digitalen
Kamera in Übereinstimmung
mit einer Ausführung
der vorliegenden Erfindung zeigt.
-
Die 7 ein
Flussdiagramm eines Verfahrens zum Zugreifen auf eine digitale Kamera
aus der Ferne, welches durch ein ausführbares Programm in Übereinstimmung
mit einer Ausführung
der vorliegenden Erfindung implementiert ist, zeigt.
-
Die 8 ein
Flussdiagramm eines Verfahrens zeigt, das von einer digitalen Kamera
zum Fernzugriff in Übereinstimmung
mit einer Ausführung
der vorliegenden Erfindung angewendet wird.
-
Die 9 ein
Flussdiagramm eines Verfahrens zeigt, das durch ein Client-Computersystem für einen Fernzugriff
einer digitalen Kamera in Übereinstimmung
mit einer Ausführung
der vorliegenden Erfindung angewendet wird.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
In
der folgenden detaillierten Beschreibung der vorliegenden Erfindung
werden zahlreiche spezifische Details ausgeführt, um dem Fachmann zu ermöglichen,
die Erfindung auszuführen
und zu benutzen, und sie werden im Zusammenhang einer Patentanmeldung
und ihren Anforderungen zur Verfügung
gestellt. Obwohl die vorliegende Erfindung im Zusammenhang mit einer
digitalen Kamera beschrieben werden wird, werden zahlreiche Modifikationen
bei der vorzuziehenden Ausführung
für den
Fachmann leicht erkennbar sein, und die generischen Prinzipien,
welche hier dargestellt werden, können leicht bei anderen Ausführungen
angewendet werden. Das bedeutet, jede digitale Einrichtung, welche
Daten, Bilder, Icons und/oder andere Merkmale darstellt, kann die
Merkmale, welche unten beschrieben werden, verwenden, und diese
Einrichtung würde
innerhalb des Gedankens und des Schutzumfangs der vorliegenden Erfindung
liegen. Somit soll die vorliegende Erfindung nicht auf die gezeigte
Ausführung
beschränkt
sein, sondern sie soll den weitesten Schutzumfang umfassen, der
mit den hier beschriebenen Prinzipien und Merkmalen übereinstimmt.
-
Einige
Bereiche der detaillierten Beschreibungen, welche folgen, werden
in Begriffen von Verfahren, logischen Blöcken, Prozesse und anderen
symbolischen Darstellungen der Verarbeitung von Datenbits innerhalb
eines Computerspeichers dargestellt. Diese Beschreibungen und Darstellungen
sind das Mittel, welches von dem Fachmann bei der Technik der Datenverarbeitung
verwendet wird, um die Substanz ihrer Arbeit für andere Fachleute am effektivsten
zu übermitteln.
-
Ein
Verfahren, ein logischer Block, ein Prozess etc. wird hier und im
allgemeinen derart betrachtet, dass es eine in sich konsistente
Abfolge von Schritten oder Anweisungen ist, die zu einem gewünschten
Ergebnis führen.
Die Schritte sind jene, welche die physikalische Manipulation von
physikalischen Größen erfordern.
Gewöhnlich,
aber nicht notwendigerweise, nehmen diese Größen die Form von elektrischen
oder magnetischen Signalen ein, welche geeignet sind, dass sie gespeichert, übertragen,
kombiniert, verglichen und anderweitig in einem Computersystem manipuliert
werden. Es hat sich zu Zeiten als bequem herausgestellt, prinzipiell
aus dem Grund der gemeinsamen Verwendung, diese Signale als Bits,
Bytes, Werte, Elemente, Symbole, Buchstaben, Begriffe, Zahlen oder ähnliches
zu bezeichnen.
-
Es
soll jedoch im Gedächtnis
behalten werden, dass alle diese und ähnliche Begriffe mit den geeigneten
physikalischen Größen assoziiert
werden sollen, und dass sie eher bequeme Bezeichnungen sind, welche für diese
Größen verwendet
werden. Solange dies nicht anders spezifisch dargestellt wird, wird
vorgezogen, wie aus den folgenden Diskussionen offensichtlich ist,
dass bei der vorliegenden Erfindung Diskussionen, welche Begriffe
wie zum Beispiel „Verarbeiten" oder „Berechnen" oder „Kalkulieren" oder „Bestimmen" oder „Darstellen" oder ähnliches
verwenden, sich auf die Aktion und Prozesse (zum Beispiel die Prozesse
der
-
7, 8 und 9)
eines Computersystems oder einer ähnlichen elektronischen Computer-Einrichtung
beziehen, welche Daten, die als physikalische (elektronische) Größen innerhalb
der Register und Speicher eines Computersystems vorhanden sind,
in andere Daten manipulieren und übertragen, welche ähnlich als
physikalische Größen innerhalb
der Speicher oder Register oder anderer solcher Einrichtungen zum Speichern, Übertragen
oder Anzeigen von Informationen dargestellt werden.
-
Die
vorliegende Erfindung stellt ein Verfahren dafür zur Verfügung, dass auf eine digitale
Einrichtung (zum Beispiel eine digitale Kamera) und ihre intern
gespeicherten Daten aus der Ferne zugegriffen werden kann, über ein
Kommunikationsnetzwerk, wie zum Beispiel das Internet oder ein lokales
Netzwerk (LAN: Local Area Network). Die vorliegende Erfindung ist
ein ausführbares
Programm, das auf einem Server-Computersystem (insbesondere einem
Web-Server) platziert ist, welches Befehle, die durch einen Client
(oder einen Benutzer) initierte werden, der ein Client-Computersystem
mit einem Web-Browser
oder einem Programm mit einer ähnlichen
Funktion verwendet, umsetzt. Die vorliegende Erfindung ermöglicht,
dass die digitale Kamera derart eingestellt wird, dass sie kontinuierlich
Bilder von Szenen/Gegenständen
von Interesse aufnimmt und einem Client ermöglicht, zu jeder Zeit auf diese
Bilder zuzugreifen. Die vorliegende Erfindung ermöglicht dem Client,
aus einer tatsächlich
unbegrenzten Anzahl von Orten und mit der Kamera an tatsächlich jeglichem
Ort auf die digitale Kamera zuzugreifen.
-
Bezugnehmend
nun auf die 1A ist ein Blockdiagramm eines
Kommunikationsnetzwerks 100 gezeigt. Das Kommunikationsnetzwerk 100 stellt
ein Verfahren in Übereinstimmung
mit einer Ausführung
der vorliegenden Erfindung dar, welches einen Fernzugriff auf die
Kamera 300 und ihre intern gespeicherten Daten implementiert/umsetzt.
Das Kommunikationsnetzwerk 100 umfasst eine Kamera 300,
einen Internet-Service-Provider (ISP) 110, einen Internet-Service-Provider 115,
ein Client- (oder Benutzer-) Computersystem 120 und ein
Server-Computersystem 190. ISP 110 und ISP 115 sind
beide direkt mit dem Internet 150 verbunden. Das Client-Computersystem 120 umfasst
einen Web-Browser 121 oder ein Programm mit einer ähnlichen Funktion,
und das Server-Computersystem 190 umfasst einen Web-Server 161.
Der Web-Browser 121 interpretiert HTML-Dokumente (HyperText
Mark-up Language) und andere Daten, welche von dem Web-Server 161 abgerufen
werden.
-
In
der vorliegenden Ausführung
der vorliegenden Erfindung ist ein ausführbares Programm auf dem Server-Computersystem 190,
insbesondere auf dem Web-Server 161,
hinterlegt. Das ausführbare
Programm implementiert und verwaltet die Verbindung zwischen dem
Server-Computersystem 190, dem Client-Computersystem 120 und der
Kamera 300. Das ausführbare
Programm kann als ein Java-Servlet, als ein cgi-bin (Common Gateway
Interface-binaries) oder als ein ähnlicher Typ einer Anwendung
implementiert werden.
-
Immer
noch mit Bezug auf die 1A ist ein Client-Computersystem 120 kommunikativ
mit dem ISP 115 über
eine POTS (plain old telephone system) Einwahlverbindung verbunden.
Das Client-Computersystem 120 ist mit dem Internet 150 über eines
von einer Bank von Modems, welche in den Räumlichkeiten des ISP 115 gewartet
werden, verbunden. Der ISP 115 ist direkt mit dem Internet über eine
volldigitale Verbindung (zum Beispiel eine T1-Leitung) verbunden.
Es können
jedoch andere Mittel zum Verbinden des Client-Computersystems 120 mit dem
Internet 150 in Übereinstimmung
mit der vorliegenden Erfindung verwendet werden.
-
Wie
in der 1A gezeigt ist, ist die Kamera 300 kommunikativ
mit dem Server-Computersystem 190 über das
Internet 150 verbunden (gekoppelt), wobei eine Einwahlverbindung
zu dem ISP 110 über
eine POTS-Leitung verwendet wird. Die digitale Kamera 300 greift
auf den ISP 110 dadurch zu, dass ein Modem verwendet wird,
welches eine Verbindung zu einem von einer Bank von Modems, die
in den Räumlichkeiten des
ISP 110 gewartet werden, herstellt. Der ISP 110 ist
wiederum direkt mit dem Internet 150 verbunden, über eine
volldigitale Verbindung. Es können
jedoch andere Mittel zum Verbinden der Kamera 300 mit dem
Internet 150 in Übereinstimmung
mit der vorliegenden Erfindung verwendet werden.
-
Immer
noch mit Bezug auf die 1A wird ferner vorgezogen, dass,
obwohl das Kommunikationsnetzwerk 100 eine Kamera 300 zeigt,
die mit dem Internet 150 über einen ISP (zum Beispiel
ISP 110) verbunden wird, und einen Benutzer 120,
der mit dem Internet 150 über einen separaten ISP (zum
Beispiel ISP 115) verbunden wird, der Benutzer 120 und
die Kamera 300 mit dem Internet 150 durch einen
einzigen ISP verbunden werden können.
In solch einem Fall würden
der Benutzer 120 und die Kamera 130 mit zwei separaten Zugriffsanschlüssen (Ports)
(zum Beispiel zwei getrennte Modems aus der Bank von Modems) desselben
ISP verbunden werden.
-
Mit
Bezug nun auf die 1B besteht in einer anderen
Ausführung
der vorliegenden Erfindung das Kommunikationsnetzwerk aus einem
lokalen Netzwerk (LAN) 170. Zum Beispiel kann das LAN 170 ein
Kommunikationsnetzwerk sein, welches innerhalb einer Firewall einer
Organisation oder eines Unternehmens positioniert ist. Das Client-
oder (Benutzer) Computersystem 171 und das Server-Computersystem 172 sind über die
Kommunikationsleitung 173a kommunikativ verbunden (gekoppelt).
Das Client-Computersystem 171 umfasst
eine Anwendung, welche analog zu einem Web-Browser zum Interpretieren von HTML-Dokumenten
oder anderen Daten ist. Auf ähnliche
Art und Weise umfasst das Server-Computersystem 172 eine
Anwendung, die analog zu einem Web-Server zum Abrufen von HTML-Dokumenten und anderen
Daten ist. Die Kamera 300 kann mit dem Server-Computersystem 172 durch
eines einer Vielzahl von Mitteln, die im Stand der Technik bekannt
sind, verbunden werden. Zum Beispiel kann die Kamera 300 mit
dem Server-Computersystem 172 über eine Kommunikationsleitung 173b des
LAN 170 verbunden werden. Dieses Verbinden kann über jegliches
Netzwerkprotokoll ausgeführt
werden, welches eine dauerhafte Netzwerkverbindung unterstützt, wie
zum Beispiel TCP (Transmission Control Protocol), NetBIOS, IPX (Internet
Packet Exchange) und LU6.2, und über Verbindungsschichtenprotokolle
flink layers protocols), wie zum Beispiel Ethernet, Token Ring und
ATM (Asynchronous Transfer Mode). Alternativ kann die Kamera 300 mit
dem Server-Computersystem 172 über einen Ein-/Ausgabe-Anschluss
(zum Beispiel einen seriellen Anschluss) des Server-Computersystems 172 verbunden
werden.
-
Bezugnehmend
nun auf die 1C ist ein detaillierteres Diagramm
der Kamera 300, welche mit dem Internet 150 verbunden
ist, gezeigt. Die Kamera 300 ist mit einem externen Modem 101 verbunden.
Die Kamera 300 ist mit dem Modem 101 über eines
von zahlreichen Kommunikationsmitteln (zum Beispiel einen universellen
seriellen Bus/Universal Seriell Bus, eine Infrarotverbindung und ähnliches)
verbunden. Das Modem 101 ist wiederum mit einer POTS Telekommunikations-Anschluss-Einheit 102 an
dem Ort der Kamera verbunden. Die Telekommunikations-Anschluss-Einheit 102 verbindet
das Modem 101 mit einem der Modems 103 des ISP 110 über die
lokale Schleife des Telekommunikationsunternehmens. Der ISP 110 ist
direkt mit dem Internet 150 über eine volldigitale Verbindung
(zum Beispiel eine T1-Leitung) verbunden.
-
Fortfahrend
mit Bezug auf die 1C ist das Modem 101 als
ein externes Modem gezeigt. Die Funktionalität des Modems 101 kann
jedoch direkt innerhalb der Elektronik der Kamera 300 implementiert
sein (zum Beispiel über
eine integrierte Schaltung oder eine ASIC für eine Modemanwendung), oder
sie kann alternativ als ein reines Software-Modem implementiert
sein, welches auf einem Computer innerhalb der Kamera 300 ausgeführt wird.
Daher wird vorgezogen, dass das Modem 101 auf der Schicht
der Hardwareverbindung verschiedene Formen einnehmen kann. Zum Beispiel
kann ein drahtloses Modem verwendet werden, in welchem Fall die
Kamera nicht über
ein externes Kabel zu irgendeiner Festnetzleitung verbunden ist.
Alternativ kann es Anwendungen geben, in welchen die Kamera 300 geeignete
elektronische Komponenten umfasst, die eine Verbindung mit einem
herkömmlichen
Computer-Systemnetzwerk ermöglichen
(zum Beispiel Ethernet, AppleTalk und so weiter), welches wiederum
direkt mit dem Internet verbunden ist (zum Beispiel über ein
Gateway, eine Firewall und ähnliches),
wodurch die Anforderungen für
einen ISP umgangen werden. Somit soll vorgezogen werden, dass die
vorliegende Erfindung nicht auf irgendein besonderes Verfahren des
Zugreifens auf das Internet 150 beschränkt ist.
-
Es
wird nun auf die 2 Bezug genommen, welche ein
Server-Computersystem 190 darstellt,
auf welchem Ausführungen
der vorliegenden Erfindung in die Praxis umgesetzt werden können (die
nachfolgende Beschreibung gilt ebenso für ein Client-Computersystem).
Im allgemeinen umfasst das Server-Computersystem 190 einen
Bus 200 zum Kommunizieren von Informationen, einen Prozessor 201,
der mit dem Bus 200 zum Verarbeiten von Informationen und
Anweisungen verbunden ist, einen Direktzugriffsspeicher (random
access memory) 202, der mit dem Bus 200 zum Speichern
von Informationen und Anweisungen für den Prozessor 201 verbunden
ist, einen nur lesbaren Speicher (read only memory) 203,
der mit dem Bus 200 zum Speichern statischer Informationen
und Anweisungen für
den Prozessor 201 verbunden ist, eine Datenspeicherungseinrichtung 204,
wie zum Beispiel eine magnetische oder optische Scheibe und ein
Scheibenlaufwerk, welche mit dem Bus 200 zum Speichern
von Informationen und Anweisungen verbunden ist, eine optische Anzeigeeinrichtung 205,
die mit dem Bus 200 zum Darstellen von Informationen für den Benutzer
des Computers verbunden ist, eine optionale alphanumerische Eingabeeinrichtung 206,
umfassend alphanumerische und Funktionstasten, die mit dem Bus 200 zum
Kommunizieren von Informations- und Befehlsauswahlen an den Prozessor 201 verbunden
ist, eine optionale Cursorsteuerungseinrichtung 207, die
mit dem Bus 200 zum Kommunizieren von Eingabeinformationen
des Benutzers und Befehlsauswahlen an den Prozessor 201 verbunden ist,
und eine Netzwerkkarte (NIC: network interface card) 208,
die mit dem Bus 200 zum Kommunizieren aus einem Kommunikationsnetzwerk
mit dem Prozessor 201 verbunden ist.
-
Die
Anzeigeeinrichtung 205 der 2, welche
mit dem Server-Computersystem 190 der vorliegenden Erfindung
verwendet wird, kann eine Flüssigkristalleinrichtung
sein, eine Kathodenstrahlröhre
oder eine andere Anzeigeeinrichtung, welche zum Erzeugen von graphischen
Bildern und alphanumerischen Zeichen, die für den Benutzer erkennbar sind,
geeignet ist. Die Cursorsteuerungseinrichtung 207 ermöglicht dem
Benutzer des Computers, die zweidimensionale Bewegung eines sichtbaren
Symbols (Zeigers) auf einem Anzeigeschirm der Anzeigeeinrichtung 205 dynamisch
zu signalisieren. Viele Ausführungen
der Cursorsteuerungseinrichtung sind in der Technik bekannt, umfassend
einen Trackball, eine Maus, einen Joystick oder spezielle Tasten
auf einer alphanumerischen Eingabeeinrichtung 206, welche
geeignet sind, die Bewegung einer vorgegebenen Richtung oder einer
Art von Versatz zu signalisieren. Es ist daher vorzuziehen, dass
die Cursorsteuerung 207 ebenso über eine Eingabe über die
Tastatur gelenkt und/oder aktiviert werden kann, wobei spezielle
Tasten und Befehle einer Tastenabfolge verwendet werden. Alternativ
kann der Cursor über
eine Eingabe mit einer Anzahl von spezifisch angepassten Cursorlenkeinrichtungen
gelenkt und/oder aktiviert werden.
-
Bezugnehmend
nun auf die 3 ist ein Blockdiagramm einer
digitalen Kamera 300 gezeigt, zur Verwendung in Übereinstimmung
mit der vorliegenden Erfindung. Die Kamera 300 umfasst
vorzugsweise eine Bildaufnahmeeinrichtung 314, einen Systembus 316 und
einen Computer 318. Die Bildaufnahmeeinrichtung 314 ist
optisch mit einem Objekt 312 verbunden, und elektrisch über den
Systembus 316 mit dem Computer 318 verbunden.
Sobald ein Fotograf die Bildaufnahmeeinrichtung 314 auf
das Objekt 312 fokussiert hat und der Kamera 300 angewiesen
hat, wobei er einen Aufnahmeknopf oder ein anderes Mittel verwendet,
ein Bild des Objektes 312 aufzunehmen, befiehlt der Computer 318 der
Bildaufnahmeeinrichtung 314 über den Systembus 316,
die rohen Daten aufzunehmen, welche das Objekt 312 repräsentieren.
Die aufgenommenen rohen Daten werden dann über den Systembus 316 zu
dem Computer 318 übertragen,
welcher verschiedene Bearbeitungsfunktionen an den Daten ausführt, bevor
er sie im Speicher speichert. Der Systembus 316 überträgt zudem
verschiedene Status- und
Steuersignale zwischen der Bildaufnahmeeinrichtung 314 und
dem Computer 318.
-
Bezugnehmend
nun auf die 4 ist ein Blockdiagramm von
einer Ausführung
des Computers 318 gezeigt. Der Systembus 316 stellt
Verbindungswege zwischen der Bildaufnahmeeinrichtung 314,
einem optionalen Leistungsmanager 442, einer zentralen
Recheneinheit (CPU) 444, einem dynamischen Direktzugriftsspeicher
(DRAM: dynamic random access memory) 446, einer Eingabe/Ausgabeschnittstelle
(I/O) 448, einem nicht flüchtigen Speicher 450 und
Puffern (Bufters)/Verbindungseinrichtung 452 zur Verfügung. Der
entfernbare Speicher 454 wird über die Puffer/das Verbindungsstück 452 mit
dem Systembus 316 verbunden. Alternativ kann die Kamera 300 ohne
den entfernbaren Speicher 454 oder die Puffer/das Verbindungsstück 452 ausgeführt werden.
-
Der
Leistungsmanager 442 steht über der Leitung 466 mit
der Leistungsversorgung 456 in Verbindung und koordiniert
die Leistungsmanagementvorgänge
für die
Kamera 300. Die CPU 444 umfasst typischerweise eine
herkömmliche
Recheneinheit zum Steuern des Betriebs der Kamera 300.
In der vorliegenden Ausführung ist
die CPU 444 in der Lage, gleichzeitig mehrere Softwareroutinen
auszuführen,
um die verschiedenen Prozesse der Kamera 300 innerhalb
einer Umgebung mit Mehrpfadbetrieb zu steuern. DRAM 446 ist
ein zusammenhängender
Block eines dynamischen Speichers, welcher wahlweise für verschiedene
Speicherungsfunktionen vergeben werden kann. Die LCD-Steuerung 490 greift
auf den DRAM 446 zu und überträgt bearbeitete Bilddaten zu
dem LCD-Schirm 402 zur Anzeige.
-
I/O 448 ist
eine Schnittstelleneinrichtung, welche Kommunikationen zu dem und
von dem Computer 318 ermöglicht. I/O 448 erlaubt
einer externen Einrichtung (nicht gezeigt), dass diese sich mit
dem Computer 318 verbindet und mit diesem kommuniziert.
I/O 448 stellt ebenso eine Schnittstelle mit einer Vielzahl
von Knöpfen
und/oder Wahlscheiben 404 her, und einer optionalen Status-LCD 406,
welche zusätzlich
zu dem LCD-Schirm 402 die Hardwareelemente der Benutzerschnittstelle 408 der
Kamera sind.
-
Der
nicht flüchtige
Speicher 450, welcher typischerweise einen herkömmlichen
nur lesbaren Speicher oder Flash-Speicher umfassen kann, speichert
einen Satz von computerlesbaren Programmanweisungen, um den Betrieb
der Kamera 300 zu steuern.
-
Bezugnehmend
nun auf die 5 ist eine Speicherkarte, welche
eine Ausführung
des dynamischen Direktzugriffsspeichers (DRAM) 446 zeigt,
gezeigt. In der vorliegenden Ausführung umfasst der DRAM 446 eine
RAM-Scheibe 532, einen Systembereich 534 und einen
Arbeitsspeicher 530.
-
Die
RAM-Scheibe 532 ist ein Speicherbereich, welcher zum Speichern
von rohen und komprimierten Daten verwendet wird und typischerweise
in einem in Sektoren eingeteilten „sectored" Format organisiert wird, ähnlich zu
jenem von herkömmlichen
Festplattenlaufwerken. In der vorliegenden Ausführung verwendet die RAM-Scheibe 532 ein
sehr bekanntes und standardisiertes Dateisystem, um externen Einrichtungen
zu ermöglichen, über das
I/O 448 der 4, leicht die Daten, die auf
der RAM-Scheibe 532 gespeichert sind, zu erkennen und auf
diese zuzugreifen. Der Systembereich 534 speichert typischerweise
Daten, welche Systemfehler betreffen (zum Beispiel warum ein Herunterfahren
des Systems aufgetreten ist), zur Verwendung durch die CPU 444 (4)
bei einem erneuten Start des Computers 318 (3).
-
Der
Arbeitsspeicher 530 umfasst verschiedene Stacks (Stapel),
Datenstrukturen und Variablen, welche durch die CPU 444 verwendet
werden, während
die Softwareroutinen, die innerhalb des Computers 318 verwendet
werden, ausgeführt
werden. Der Arbeitsspeicher 530 umfasst ferner verschiedene
Eingabepuffer 538 zum temporären Speichern von Sätzen von
rohen Daten, welche von der Bildaufnahmeeinrichtung 314 (3)
empfangen werden, und Rahmenpuffer 536 zum Speichern von Daten zum
Darstellen auf dem LCD-Schirm 402 (4). In der
vorliegenden Ausführung
ist jeder Eingabepuffer 538 und Rahmenpuffer 536 in
zwei getrennte Puffer (gezeigt durch die gestrichelten Linien) aufgeteilt,
um die Darstellungsgeschwindigkeit der digitalen Kamera zu verbessern,
und um ein Verzerren des Bildes auf dem LCD-Schirm 402 zu
verhindern.
-
Bezugnehmend
nun auf die 6 ist ein Diagramm der Verbindungs-
und Anwendungssoftware der Kamera 300 der 3 gezeigt.
Auf der Softwareschicht hostet der Computer 318 (3)
der Kamera 300 jedes Netzwerkprotokoll, welches eine dauerhafte
Netzwerkverbindung unterstützt.
Dieses Verbinden kann über jegliches
Netzwerkprotokoll ausgeführt
werden, welches eine dauerhafte Netzwerkverbindung unterstützt, wie zum
Beispiel TCP/IP (Transmission Control Protocol/Internet Protocol),
umfassend ein Punkt-zu-Punkt-Protokoll,
NetBIOS, IPX und LU6.2, und Verbindungsschichtenprotokolle, wie
zum Beispiel Ethernet, Token Ring und ATM. Der Protokollstapel 601 stellt
eine Schnittstelle mit der Kommunikationshardware 602 (zum
Beispiel einem Modem) der Kamera 300 und der Anwendungsschicht 603 her.
Das untere Ende des Protokollstapels 601 umfasst Schnittstellentreiber
für die
Kommunikationshardware, welche direkt eine Schnittstelle mit der
verschiedenen Kommunikationshardware herstellen, mit welcher die
Kamera 300 arbeiten muss (zum Beispiel einen universellen
seriellen Bus und ähnliches).
Die Anwendungsschicht 603, der Protokollstapel 601 und
das Betriebssystem 604 sind als Softwaremodule in dem DRAM 446 (4)
der Kamera 300 installiert. Softwareanwendungen innerhalb
der Anwendungsschicht 603 stellen eine Schnittstelle mit
dem Betriebssystem 604 her. Das Betriebssystem 604 steuert
die Hardwarefunktionen der Kamera 300 (zum Beispiel das
Aufnehmen von Bildern, das Speichern von Bildern und ähnliches).
Eingehende Daten 620, wie zum Beispiel HTTP-Abfragen (HyperText
Transfer Protocol) und ähnliches,
werden empfangen, und ausgehende Daten 630, wie zum Beispiel
HTML-Dateien (HyperText Mark-up Language) und ähnliches werden zu der und
von der Kamera 300 über
den Protokollstapel 601 und die Kommunikationshardware 602 übertragen.
Der Web-Browser 121 der 1A (oder
ein Programm mit einer ähnlichen
Funktion) kann die Datendateien bearbeiten, Plug-Ins starten und
Java-Applets ausführen, welche
mit der Kamera 300 kommunizieren, in einer Vielzahl von
Verfahren zusätzlich
zu jenen Verfahren, die einen Austausch von HTML-Dateien umfassen.
-
Die 7 stellt
ein ausführbares
Programm 700 für
ein Client-Computersystem 120 (insbesondere für den Web-Browser 121 der 1A oder
ein Programm mit einer ähnlichen
Funktion) dar, um aus der Ferne auf die Kamera 300 (3)
zuzugreifen, wobei das ausführbare
Programm 700 in Übereinstimmung
mit der vorliegenden Erfindung als Programmanweisungen implementiert
ist, die in computerlesbaren Speichereinheiten (zum Beispiel dem
nur lesbaren Speicher 203) gespeichert sind und durch den
Prozessor 201 des Server-Computersystems 190 aus
der 1A (insbesondere durch den Web-Server 161)
implementiert werden. Das ausführbare
Programm 700 führt
Funktionen aus, sowohl für
den und in Abhängigkeit
von dem Web-Browser 121 (oder einem Programm mit einer ähnlichen
Funktion) als auch die Kamera 300. Die nachstehende Beschreibung
diskutiert zunächst
die Schritte, welche mit dem Einrichten einer Verbindung zwischen
dem ausführbaren
Programm 700 und der Kamera 300 verbunden sind,
und diskutiert dann die Schritte, welche mit dem Einrichten einer
Verbindung zwischen dem ausführbaren
Programm 700 und dem Web-Browser 121 (oder einem
Programm mit einer ähnlichen
Funktion) verbunden sind; die vorliegende Erfindung ist jedoch nicht
auf die Reihenfolge beschränkt,
in welcher diese Schritte dargestellt werden.
-
In
der vorliegenden Ausführung
wird das ausführbare
Programm 700 durch seine eigene einzigartige Adresse identifiziert,
und es wird durch diese auf dieses zugegriffen, welche gewöhnlich als
eine URL (Unified Resource Locator) bezeichnet wird, wie in der
Technik sehr bekannt ist. Die URL für das ausführbare Programm 700 beschreibt
vollständig,
wo es auf einem Kommunikationsnetzwerk hinterlegt ist (zum Beispiel
dem Internet 150) und wie auf es zugegriffen wird. In der
vorliegenden Ausführung
ist in der URL für
das ausführbare
Programm 700 der Name der Kamera 300 beinhaltet.
Dementsprechend ist in einer Ausführung, welche ein Servlet für das ausführbare Programm 700 verwendet,
ein Standardformat für
eine URL:
http://webserverHostName/cameraSenrvletWellKnownName/cameraName.
-
Im
Schritt 705 empfängt
das ausführbare
Programm 700 eine Verbindungsabfrage und akzeptiert diese
von der Kamera 300. Das ausführbare Programm 700 läuft fortwährend auf
dem Web-Server 161 ab und ist derart eingerichtet, dass
es auf Verbindungsanfragen auf einer Vielzahl von Kommunikationsprotokollen (zum
Beispiel TCP, NetBIOS und ähnliches)
wartet. In der vorliegenden Ausführung
ist die Kamera 300 über den
Web-Server 161, wie er in Verbindung mit der 1A beschrieben
worden ist, mit dem ausführbaren
Programm 700 verbunden und eröffnet die Verbindung, indem
sie die Verbindungs- und Anwendungssoftware verwendet, die in Verbindung
mit der 6 beschrieben worden ist.
-
Im
Schritt 710 empfängt
das ausführbare
Programm 700 Anmeldungsinformationen (Registrierungsinformationen)
und liest diese von der Kamera 300. Wie oben beschrieben
worden ist, ist das ausführbare
Programm 700 derart eingerichtet, dass es bei Verwendung
einer Anzahl von verschiedenen Kommunikationsprotokollen kommuniziert.
Solche Anmeldungsinformationen umfassen den Namen der Kamera und
Authentifikationsinformationen, wie zum Beispiel Sicherheitsinformationen
und Account-Informationen (Kontoinformationen). Das ausführbare Programm 700 verwendet
den Kameranamen, um die Kamera zu identifizieren und sie zu lokalisieren,
in Reaktion auf eine Client-Abfrage.
-
Im
Schritt 720 vergleicht das ausführbare Programm 700 die
Anmeldungsinformationen mit einer vorbestimmten Zugriffskontrollliste,
um zu bestimmen, ob die Kamera 300 eine Kamera ist, für welche
der Web-Server 161 Unterstützung und Service bieten soll.
Wenn nicht, schließt
das ausführbare
Programm 700 die Verbindung zwischen dem Web-Server 161 und
der Kamera 300.
-
Im
Schritt 725 meldet das ausführbare Programm 700 nach
dem erfolgreichen Abschließen
des Schrittes 720 die Kamera 300 an (registriert
diese) und speichert den Namen der Kamera und zugeordnete Anforderungen
ab, wie zum Beispiel Sicherheits- und Account-Informationen. Das
ausführbare
Programm 700 sendet ferner eine Nachricht, dass die Kamera 300 angemeldet
worden ist. Zu diesem Zeitpunkt kann die Verbindung zwischen dem
ausführbaren
Programm 700 entweder beendet werden oder beibehalten werden,
als Option für
den Bediener der Kamera. Wenn die Verbindung beendet wird, wird
die Anmeldungsinformation durch den Web-Server 161 aufrechterhalten,
und auf diese kann später
durch das ausführbare
Programm 700 zugegriffen werden, wenn eine spätere Verbindung
mit der Kamera 300 hergestellt wird.
-
Im
Schritt 730 akzeptiert das ausführbare Programm 700 die
Verbindungsanfrage von der Kamera 300 und weist somit eine
dauerhafte und Langzeitverbindung mit der Kamera 300 auf.
Wie oben beschrieben worden ist, kann die Verbindung eine anhaltende
Verbindung sein, die von der Zeit an aufrechterhalten wird, wenn die
Kamera 300 das erste Mal angemeldet wurde. Neue Verbindungen
können
in der Zukunft hergestellt werden, wann immer die Kamera 300 das
Anmeldeprotokoll erneut startet. Sobald die Kamera 300 und
das ausführbare
Programm 700 eine Verbindung aufgebaut haben, dann warten
sie, bis ein Client ebenso eine Verbindung herstellt, um auf die
Kamera zuzugreifen. Wie jedoch unten in Verbindung mit dem Schritt 770 beschrieben
werden wird, ist es nicht notwendig, dass es eine offene Verbindung
zwischen dem Web-Server und der Kamera zu derselben Zeit gibt, in
welcher es eine offene Verbindung zwischen dem Web-Browser (oder einem
Programm mit einer ähnlichen
Funktion) und dem Web-Server
gibt, um den Fernzugriff der Kamera in Übereinstimmung mit der vorliegenden
Erfindung durchzuführen.
-
Im
Schritt 740 empfängt
das ausführbare
Programm 700 eine Anfrage für eine Verbindung von einem Client
und akzeptiert diese. Der Client gibt die URL des ausführbaren
Programms 700 ein, umfassend den Namen der Kamera (zum
Beispiel die Kamera 300), zu welchem ein Zugriff erwünscht ist,
in einen Web- Browser (zum
Beispiel dem Web-Browser 121 auf dem Client-Computersystem 120 der 1A oder
einem Programm mit einer ähnlichen
Funktion). Der Web-Server 161 wird
mit der URL für
das ausführbare
Programm 700 abgefragt, wobei Standardkommunikationsprotokolle,
wie zum Beispiel TCP/IP, verwendet werden. Der Web-Server 161 erkennt
die URL und stellt die Verbindung zu dem ausführbaren Programm 700 her.
Somit richtet die vorliegende Erfindung eine einzige Position ein,
die durch eine bekannte URL identifiziert wird, zu welcher der Client
stets geht, um sich mit der Kamera zu verbinden, ungeachtet davon,
wo sich die Kamera befindet oder wo sich der Client befindet. (Für solche
Fälle,
in welchen TCP/IP nicht verfügbar
ist – zum
Beispiel, wenn die Einrichtung nicht an das Internet oder ähnliches
angeschlossen ist – verbindet
sich die Kamera 300 mit dem ausführbaren Programm 700,
wobei sie direkt eine sehr bekannte Adresse verwendet, welche dem
Protokoll zugeordnet ist, das verwendet wird, wie zum Beispiel ein
NetBIOS-Name.)
-
Im
Schritt 745 übernimmt
das ausführbare
Programm 700 dann die Kontrolle über die TCP/IP-Verbindung zwischen
dem Web-Browser 121 (oder einem Programm mit einer ähnlichen
Funktion) und dem Web-Server 161. Das ausführbare Programm 700 baut
eine dauerhafte und langzeitige Verbindung zwischen dem Browser
und dem Server auf. Das bedeutet, die Verbindung zwischen dem Web-Browser 121 (oder
einem Programm mit einer ähnlichen
Funktion) und dem Web-Server 161 wird
durch das ausführbare
Programm 700 offen gehalten. Wie unten in Verbindung mit
dem Schritt 770 beschrieben werden wird, ist es nicht notwendig, dass
es eine offene Verbindung zwischen dem Client-Computersystem und
dem Web-Server zu derselben Zeit gibt, in welcher es eine offene
Verbindung zwischen dem Web-Server und der Kamera gibt, um einen
Fernzugriff der Kamera in Übereinstimmung
mit der vorliegenden Erfindung durchzuführen.
-
Im
Schritt 750 bestimmt das ausführbare Programm 700 als
nächstes,
ob die Kamera 300 angemeldet worden ist, wie in Verbindung
mit Schritt 735 diskutiert worden ist. Wenn die Kamera 300 nicht
angemeldet worden ist, sendet das ausführbare Programm 700 eine
geeignete Nachricht zu dem Client, um dieses anzuzeigen.
-
Im
Schritt 760 validiert das ausführbare Programm 700,
wenn die Kamera angemeldet worden ist, die erforderlichen Zugriffsinformationen,
die von dem Client zur Verfügung
gestellt werden, gegenüber
den Sicherheits- und Account-Informationen,
welche zur Verfügung
gestellt wurden, als die Kamera 300 angemeldet worden ist.
Zum Beispiel validiert das ausführbare
Programm 700, ob der Client ein autorisiertes Passwort
oder einen autorisierten Benutzernamen verwendet. Wenn nicht, übersendet
das ausführbare
Programm 700 eine geeignete Nachricht zu dem Client. Die
vorliegende Erfindung kann optional zusätzliche Serviceeinrichtungen zur
Verfügung
stellen, welche auf Sicherheits- und
Account-Informationen bezogen sind. Zum Beispiel kann sie den Typ
des Zugriffes steuern, der einem Client ermöglicht wird, basierend auf
den Authentifikationsinformationen, die von dem Client empfangen
wurden, oder sie kann Kreditinformationen verifizieren und dem Client
Serviceleistungen in Rechnung stellen, die eine Bezahlung erfordern.
-
Im
Schritt 765 verlängert
das ausführbare
Programm 700 nach einem zufriedenstellenden Abschluss des
Schrittes 760 die Verbindung von dem Web-Browser 121 (oder
einem Programm mit einer ähnlichen
Funktion) zu der Kamera 300, wenn es eine eingerichtete
Verbindung zu der Kamera gibt, wie in Verbindung mit dem Schritt 730 beschrieben
worden ist. Somit hat ein Client, welcher den Web-Browser 121 oder
ein Programm mit einer ähnlichen
Funktion benutzt, einen direkten Fernzugriff auf die Kamera 300, über das
ausführbare
Programm 700 in dem Web-Server 161.
-
Im
Schritt 770 leitet das ausführbare Programm 700 Befehle
von einem Client weiter zu der Kamera 300 und leitet Bilder
und jegliche andere Daten von der Kamera 300 weiter zu
dem Client, über
den Web-Server 161 und den Web-Browser 121 (oder ein Programm
mit einer ähnlichen
Funktion). Das bedeutet, das ausführbare Programm ermöglicht eine
direkte Kommunikation zwischen dem Client-Computersystem und der Kamera,
welche ermöglicht,
dass der Client aus der Ferne auf die Kamera zugreift und diese
steuert. Wenn der Client und die Kamera gleichzeitig mit dem ausführbaren
Programm 700 verbunden sind, dann empfängt der Client unmittelbar
die Daten, und die Kamera 300 führt unmittelbar jegliche Befehle
von dem Client aus.
-
Wenn
jedoch der Web-Browser 121 (oder ein Programm mit einer ähnlichen
Funktion) und die Kamera 300 nicht beide gleichzeitig verbunden
sind, wird ein Fernzugriff auf die Kamera immer noch in Übereinstimmung
mit der vorliegenden Erfindung ausgeführt. Wenn die Kamera 300 nicht
online ist, benutzt ein Client den Web-Browser 121 (oder
ein Programm mit einer ähnlichen
Funktion), um auf den Web-Server 161 und das ausführbare Programm 700 zuzugreifen.
Der Client überträgt Befehle,
und das ausführbare
Programm 700 speichert die Befehle auf dem Web-Server 161.
Der Client kann dann die Verbindung mit dem Web-Server schließen. Nachfolgend,
wenn die Kamera 300 eine Verbindung mit dem Web-Server 161 und
dem ausführbaren
Programm 700 eröffnet,
ruft das ausführbare
Programm 700 die Befehle ab und leitet sie zu der Kamera weiter.
Die Kamera 300 lädt
die Befehle herunter und führt
sie aus. Die Ergebnisse aus dem Ausführen der Befehle werden dann
zu dem ausführbaren
Programm 700 gesendet, welches diese auf dem Web-Server 161 speichert,
bis sie durch den Client abgerufen werden.
-
Auf ähnliche
Art und Weise, wenn die Kamera 300 eine Verbindung mit
dem Web-Server 161 und
dem ausführbaren
Programm 700 aufbaut, aber der Client nicht online ist,
kann die Kamera zum Beispiel Bilder und jegliche andere Daten herunterladen,
welche das ausführbare
Programm 700 auf dem Web-Server 161 speichert.
Die Kamera 300 kann dann die Verbindung zu dem Web-Server
schließen.
Der Client kann dann später eine
Verbindung zu dem Web-Server 161 und dem ausführbaren
Programm 700, welches die Daten abruft und sie zu dem Client
weiterleitet, herstellen. Der Client kann ferner zu derselben Zeit
Befehle eingeben, welche durch das ausführbare Programm 700 gespeichert
werden, wie oben beschrieben worden ist.
-
In
Zusammenfassung mit Bezugnahmen auf die 1A und
die 7 greift der Client über den Web-Browser 121 oder
ein Programm mit einer ähnlichen
Funktion, den Web-Server 161 und das ausführbare Programm 700 auf
die Kamera 300 zu, um Daten abzufragen und zu beschaffen.
Der Web-Browser 121 oder ein Programm mit einer ähnlichen
Funktion setzt die Internet-Adresse in die Datenabfrage (zum Beispiel
eine HTTP-Abfrage) ein und sendet die Abfrage zu dem Web-Server 161.
Der Web-Server 161 empfängt
die Datenabfrage und ordnet die Datenabfrage dem ausführbaren
Programm 700 zu, welches wiederum die Verbindung zwischen
dem Web-Server 161 und dem Web-Browser 121 (oder
einem Programm mit einer ähnlichen Funktion) übernimmt,
und welches ferner eine Verbindung zwischen dem Web-Browser 121 (oder
einem Programm mit einer ähnlichen
Funktion) und der Kamera 300 aufbaut. Das ausführbare Programm 700 leitet
nachfolgend die Befehle von dem Client zu der Kamera 300 weiter
und beschafft die abgefragten Daten (zum Beispiel eine HTML-Datei),
welche die Daten beinhalten, und sendet sie zurück zu dem Web-Browser 121 (oder einem
Programm mit einer ähnlichen
Funktion). Der Web-Browser 121 (oder ein Programm mit einer ähnlichen Funktion)
interpretiert dann die Befehle und zeigt das resultierende Bild
an. Das Verfahren des Zugreifens auf eine Datendatei von einem Web-Server
wird gewöhnlich
als Zugreifen auf eine Internet-Seite bezeichnet. Auf ähnliche
Art und Weise wird das Verfahren des Sendens von Datendateien von
einem Web-Server zu einem Web-Browser gewöhnlich als das Senden einer
Internet-Seite bezeichnet.
-
Somit,
wie oben beschrieben worden ist, stellt die vorliegende Erfindung
eine intuitive und leicht zu verwendende Schnittstelle zur Verfügung, welche
einen Fernzugriff zwischen einem Client und einer Kamera ermöglicht.
Dadurch, dass sie mit weit verbreiteten und vertrauten Web-Browsern
(oder Programmen mit einer ähnlichen
Funktion) arbeitet, welche URLs im Standardformat verwendet, um
das ausführbare
Programm und die Kamera zu identifizieren, stellt die vorliegende
Erfindung eine einfache und vertraute Schnittstelle zum Zugreifen
auf die Kamera zur Verfügung.
Durch Anmelden der Kamera und durch Verwenden eines sich nicht verändernden
URL-Namens, um das ausführbare
Programm und die Kamera zu identifizieren, ermöglicht die vorliegende Erfindung
einem Client, die Kamera zu lokalisieren und auf diese zuzugreifen
von jeglicher entfernten Position aus, ungeachtet davon, wo die
Kamera positioniert ist. Zudem wird die vorliegende Erfindung, dadurch,
dass sie ein Java-Servlet oder ein cgi-bin für das ausführbare Programm verwendet,
durch gewöhnlich
verwendete Web-Server unterstützt
und wird leicht implementiert.
-
Das
ausführbare
Programm 700 ist auf dem Web-Server und nicht auf der Kamera 300 angeordnet, so
dass es keinen zusätzlichen
und wesentlichen Speicher erfordert, der dazu bestimmt ist, den
Fernzugriff zu ermöglichen.
Als solches ermöglicht
die vorliegende Erfindung einen Fernzugriff innerhalb der Beschränkungen
der Größe der Kamera.
Zudem erfordert die Kamera 300 in Übereinstimmung mit der vorliegenden
Erfindung nicht ein separates, externes Computersystem (zum Beispiel
ein Personal-Computersystem) zum Verbinden mit dem ISP 110 (1A)
oder zum Implementieren von Befehlen und zum Übertragen von Daten, wodurch
ein nicht teures Verfahren zum zur Verfügung Stellen eines Fernzugriffs
auf Kameras zur Verfügung
gestellt wird.
-
Ferner
durch Positionieren der vorliegenden Erfindung auf einem Web-Server
(zum Beispiel dem Web-Server 161 der 1A)
wird der Web-Server ein zentraler Punkt zum Zugreifen auf und Verwalten
einer Vielzahl von Kameras, welche anderweitig getrennt verwaltet
und konfiguriert werden müssten.
Zum Beispiel kann das ausführbare
Programm 700 auf dem Web-Server 161 mit einer
neuen Software aktualisiert werden, und als Wirkung hieraus würden alle
Kameras, auf welche durch das ausführbare Programm zugegriffen
wird, automatisch ebenfalls aktualisiert werden. Als ein anderes
Beispiel kann das ausführbare
Programm 700 derart konfiguriert werden, dass es Daten
kompiliert, mit Bezug auf Interaktionen zwischen Clients und allen
Kameras, auf welche durch das ausführbare Programm zugegriffen
wird. In einem anderen Beispiel muss in Übereinstimmung mit der vorliegenden
Erfindung ein Client nur zu einer einzelnen Position gehen, um zu
bestimmen, welche der Vielzahl von Kameras, die durch das ausführbare Programm
bedient werden, die Daten aufweist, welche auf den Web-Server heruntergeladen
werden sollen. Somit richtet die vorliegende Erfindung eine einzige
Position ein, von welcher aus ein Client auf Informationen über mehrere
Kameras zugreifen kann, anstelle dessen, dass ein Zugriff zu einer
Anzahl von Kameras getrennt durchgeführt werden muss.
-
Dadurch,
dass sie mit einer Web-basierten Schnittstelle und weit verbreitet
verwendeten Web-Browsern (oder Programmen mit einer ähnlichen
Funktion) arbeitet, stellt die vorliegende Erfindung eine einfache, intuitive
und vertraute Schnittstelle zum Zugreifen auf die Funktionen der
Kamera 300 zur Verfügung.
Dementsprechend sind die Steuerungen und Funktionen der Kamera 300 intuitiv
einfach zu verwenden. Weil Web-Seiten und ihre zugeordneten Steuerungen
(zum Beispiel Druckknöpfe,
Dateneingabefelder und ähnliches)
für die meisten
Benutzer sehr vertraut sind, kann die Funktionalität des Fernzugriffes
der Kamera 300 verwendet werden, ohne dass eine extensive
Lernzeit für
neue Benutzer erforderlich ist. Zum Beispiel ist ein Verbraucher, welcher
eine aus der Ferne zugreifbare Kamera kauft, typischerweise in der
Lage, die Funktionen der Fernzugreifbarkeit leicht und unverzüglich zu
verwenden, mit einer minimalen Einrichtung (Set-up).
-
Die 8 stellt
ein Verfahren 800 zum Zugreifen auf die Kamera 300 (3)
aus der Ferne dar, wobei das Verfahren 800 als Programmanweisungen
in computerlesbaren Speichereinheiten (zum Beispiel dem nicht flüchtigen
Speicher 450 der 4) implementiert
ist und durch die CPU 444 (4) der Kamera 300 in Übereinstimmung
mit der vorliegenden Erfindung umgesetzt wird. Die 8 stellt
das Verfahren zum Zugreifen auf eine Kamera aus der Ferne aus der
Perspektive der Aktionen dar, welche durch die Kamera und den Kamerabetreiber
in Übereinstimmung
mit der vorliegenden Erfindung ausgeführt werden.
-
Im
Schritt 805 öffnet
die Kamera 300 der 3 eine Verbindung
mit dem Kommunikationsnetzwerk 100 der 1A.
In der vorliegenden Ausführung
ist die Kamera 300 mit einem Server-Computersystem 190 (insbesondere
dem Web- Server 161)
verbunden, wie in Verbindung mit der 1A beschrieben
worden ist, und öffnet
die Verbindung dadurch, dass sie die Verbindungs- und Anwendungssoftware
verwendet, die in Verbindung mit der 6 beschrieben
worden ist. Wie in Verbindung mit der 1C beschrieben
worden ist, verbindet sich in der vorliegenden Ausführung die
Kamera 300 direkt mit dem Telefonsystem, so dass ein separates
und zugeordnetes Computersystem (zum Beispiel ein Personal-Computersystem)
nicht notwendig ist.
-
Im
Schritt 810, wenn die Verbindung zu dem Web-Server 161 hergestellt
worden ist, fragt die Kamera 300 eine Verbindung zu dem
ausführbaren
Programm 700 (7) ab. In den Fällen, in
welchen die Kamera 300 auf das ausführbare Programm 700 über zum
Beispiel ein TCP/IP-Netzwerk, wie zum Beispiel das Internet 150,
zugreift, wird dann das ausführbare
Programm 700 durch eine URL identifiziert, welche von der
Kamera verwendet wird, um auf das ausführbare Programm zuzugreifen.
Für jene
Fälle,
in welchen TCP/IP nicht verfügbar
ist (zum Beispiel wenn die Einrichtung nicht an das Internet oder ähnliches
angeschlossen ist), verbindet sich die Kamera 300 mit dem
ausführbaren
Programm 700, wobei sie direkt eine bekannte Adresse verwendet,
welche dem Protokoll zugeordnet ist, das verwendet wird, wie zum
Beispiel ein NetBIOS-Name.
-
Im
Schritt 820, wenn die Kamera mit dem ausführbaren
Programm verbunden ist, meldet sich die Kamera 300 bei
dem ausführbaren
Programm 700 an. Zum Beispiel stellt die Kamera 300 Informationen
zur Verfügung,
umfassend einen Identifikationsnamen, und Authentifikationsinformationen,
wie zum Beispiel ein Passwort und Account-Informationen. Diese Informationen
werden dann elektronisch von der Kamera 300 übersendet
und durch das ausführbare
Programm 700 gelesen. Basierend auf diesen Informationen
wird die Verbindung zwischen der Kamera 300 und dem ausführbaren
Programm 700 aufgebaut, wenn die Kamera der Typ ist, der
dazu bestimmt ist, von dem Web-Server 161 unterstützt zu werden.
-
Im
Schritt 830 werden die Kamera 300 und das ausführbare Programm 700 über eine
dauerhafte und langzeitige Verbindung miteinander verbunden; das
bedeutet, die Verbindung bleibt geöffnet, in Erwartung, dass ein
Client einen Zugriff auf die Kamera über den Web-Server 161 anfragt.
Wie oben in Verbindung mit der 7 beschrieben
worden ist, ist es nicht notwendig, dass die Kamera und ein Client
zu derselben Zeit mit dem ausführbaren
Programm 700 verbunden sind.
-
Im
Schritt 835 empfängt
die Kamera 300 Befehle von einem Client und überträgt Daten
zu diesem, wobei sie einen Web-Browser oder ein Programm mit einer ähnlichen
Funktion auf einem Client-Computersystem (zum Beispiel dem Client-Computersystem 120 und
dem Web-Browser 121 der 1A oder
ein Programm mit einer ähnlichen
Funktion) verwendet. Wie oben in Verbindung mit der 7 beschrieben
worden ist, können
die Befehle und Daten durch eine aktive Verbindung übertragen
werden oder auf dem Web-Server gespeichert werden.
-
In
der vorliegenden Ausführung
ist die Kamera 300 mit mehreren verschiedenen Betriebsmodi
zum Unterstützen
verschiedener Kamerafunktionen versehen. In dem Aufnahmemodus unterstützt die
Kamera 300 die Aktionen der Vorbereitung, um ein Bild aufzunehmen,
und des Aufnehmens eines Bildes. In dem Durchsicht-Modus (Review-Modus)
unterstützt
die Kamera die Aktionen des Durchsehens der Kamerainhalte, des Editierens
und Sortierens von Bildern und des Druckens und Übertragens von Bildern. In
dem Abspielmodus ermöglicht
die Kamera 300 dem Client, Bilder in Bildschirmgröße in der
Ausrichtung anzusehen, in welcher das Bild aufgenommen worden ist.
Der Abspielmodus ermöglicht
dem Client ferner, die aufgenommenen Klänge zu hören, die einem dargestellten
Bild zugeordnet wurden, und sequentielle Gruppen von Bildern abzuspielen, welche
Zeitraffer-, Diaschau- und Hochgeschwindigkeitsbild-Bilder (burst
image images) beinhalten können. Der
Client schaltet vorzugsweise zwischen den Aufnahme-, Durchsicht- und Abspielmodi
um.
-
Die
Kamera 300 ist in der Lage, eine große Vielfalt von Fernzugriffs-
und Fernbildaufnahme-/Überwachungsanwendungen
zu implementieren. In der vorliegenden Ausführung nimmt die Kamera 300 nur
sukzessive Bilder für
einen Fernzugriff durch den Client auf. Die Bilder werden in den
Speicher der Kamera geladen, auf einer FIFO-Basis (First-In, First-Out),
wobei das als erstes aufgenommene Bild durch das zuletzt aufgenommene
Bild ersetzt wird. Die Anzahl von Bildern, die für den Client verfügbar sind,
hängt von
der Größe des installierten
Speichers in der Kamera ab.
-
Mit
Bezug immer noch auf den Schritt 835 der 8 können die
Befehle, wenn der Client und die Kamera gleichzeitig mit dem Web-Server
verbunden sind, direkt von dem Web-Browser 121 (oder einem
Programm mit einer ähnlichen
Funktion) zu der Kamera 300 über das ausführbare Programm 700 auf
dem Web-Server 161 übertragen
werden, und die Kamera führt
dann die Befehle online aus. Alternativ, wenn die Kamera 300 nicht
mit dem ausführbaren
Programm 700 verbunden ist, kann ein Client Befehle auf
dem Web-Server 161 dadurch speichern, dass er auf den Web-Server
auf eine normale Art und Weise zugreift, dann die Befehle, die gespeichert
werden sollen, über
das ausführbare
Programm 700 eingibt. Die Kamera 300 führt dann
die Befehle aus, wenn sie sich nachfolgend mit dem ausführbaren
Programm 700 verbindet.
-
Ebenso
im Schritt 835 überträgt die Kamera 300 Daten
zu einem Client. Ähnlich
zu dem Obigen können
Daten von der Kamera 300 direkt zu dem Web-Browser 121 oder
einem Programm mit einer ähnlichen Funktion über das
ausführbare
Programm 700 auf dem Web-Server 161 übertragen
werden, wenn der Client und die Kamera gleichzeitig mit dem Web-Server
verbunden sind. Alternativ, wenn der Client nicht mit dem ausführbaren
Programm 700 verbunden ist, werden die Daten durch das
ausführbare
Programm 700 auf dem Web-Server 161 gespeichert,
welches die Daten dann abfragt und zu einem Client überträgt, wenn
sich der Client nachfolgend mit dem ausführbaren Programm 700 verbindet.
-
Dieses
Verfahren des Zugreifens auf eine Kamera 300 von einem
Web-Browser 121 oder einem Programm mit einer ähnlichen
Funktion aus erfolgt transparent mit Bezug auf den Client. In einem
typischen Fall gibt der Client zum Beispiel die URL für das ausführbare Programm 700 (welche
den Namen der Kamera 300 umfasst) in den Web-Browser 121 (oder
ein Programm mit einer ähnlichen
Funktion) ein und drückt „Enter" oder „Return". In Übereinstimmung
mit der vorliegenden Erfindung ist die nächste Web-Seite, welche der
Client betrachtet, das Bild, welches durch die Daten erzeugt worden
ist, die von der Kamera 300 zurückgeleitet worden sind. Neben
dem Eingeben der URL für
das ausführbare
Programm 700, umfassend die Kamera 300, ist keine
weitere Aktion von dem Client erforderlich, um auf die Web-Seiten
zuzugreifen, die von der Kamera 300 gehostet werden.
-
Die 9 stellt
ein Verfahren 900 dar, um aus der Ferne auf die Kamera 300 (3)
zuzugreifen, wobei das Verfahren 900 als Programmanweisungen
in computerlesbaren Speichereinheiten (zum Beispiel ein nur lesbarer
Speicher) implementiert ist und durch den zentralen Prozessor des
Client-Computersystems 120 (insbesondere dem Web-Browser 121 oder
einem Programm mit einer ähnlichen
Funktion) der 1A implementiert (umgesetzt)
wird. Die 9 stellt das Verfahren zum Zugreifen
auf eine Kamera aus der Ferne aus der Perspektive der Aktionen dar,
welche durch den Client in Übereinstimmung
mit der vorliegenden Erfindung ausgeführt werden.
-
Im
Schritt 905 eröffnet
der Client eine Netzwerkverbindung, wie zum Beispiel eine Einwahlverbindung zu
dem ISP 115 der 1A.
-
Im
Schritt 910 gibt der Client in einen Web-Browser (zum Beispiel
den Web-Browser 121 auf
dem Client-Computersystem 120 der 1A oder
ein Programm mit einer ähnlichen
Funktion) die URL des ausführbaren
Programmes 700 ein, umfassend den Namen der Kamera (zum
Beispiel Kamera 300), auf welche ein Zugriff erwünscht wird.
Alternativ gibt der Client nur die URL des ausführbaren Programmes 700 ein.
(Für solche
Fälle,
in welchen TCP/IP nicht verfügbar
ist, zum Beispiel wenn die Einrichtung nicht an das Internet oder ähnliches
angeschlossen ist – verbindet
sich die Kamera 300 direkt mit dem ausführbaren Programm 700,
wobei sie eine bekannte Adresse verwendet, die dem Protokoll zugeordnet
ist, das verwendet wird, wie zum Beispiel ein NetBIOS-Name.) Bei Verwendung
von Standard-Kommunikationsprotokollen, wie zum Beispiel TCP/IP,
wird der Web-Server 161 mit der URL für das ausführbare Programm 700 abgefragt.
Der Web-Server 161 erkennt die URL und stellt die Verbindung
mit dem ausführbaren
Programm 700 her. Eine dauerhafte und langzeitige Zweiwegeverbindung
wird zwischen dem Client auf dem Web-Browser 121 (oder
einem Programm mit einer ähnlichen
Funktion) und dem ausführbaren
Programm 700 geöffnet.
-
Im
Schritt 915 gibt der Client die Authentifikationsinformationen
ein, welche erfordert werden, um Zugriff zu dem ausführbaren
Programm 700 und der Kamera 300 zu erhalten.
-
Im
Schritt 920 sendet der Client, wie oben beschrieben worden
ist, von seiner/ihrer entfernten Position Befehle zu der Kamera 300 und
empfängt
Bilder von der Kamera. Wie oben beschrieben worden ist, müssen der
Client und die Kamera nicht mit dem Web-Server zu der gleichen Zeit
verbunden sein, um einen Fernzugriff zu ermöglichen. In Abhängigkeit
von der einzelnen Anwendung kann die Web-Seite für die Kamera 300 Steuerknöpfe, Dateneintragsfelder,
Pull-Down-Menüs und ähnliches
umfassen. Somit ermöglicht
das ausführbare Programm 700 dem
Client, von einer fernen Position aus auf die funktionale Steuerung
der Kamera 300 sowie auf die Bilder und die anderen Daten,
welche durch die Kamera beschafft worden sind, zuzugreifen.
-
Die
Pseudocode-Abschnitte A, B, C, D und E unten stellen zusätzliche
Details mit Bezug auf die Verfahren 700, 800 und 900 der 7, 8 und 9 zur
Verfügung.
Die Pseudocode-Abschnitte A bis E stellen das Verfahren von einer
Ausführung
der vorliegenden Erfindung dar. Es ist jedoch vorzuziehen, dass
andere Ausführungen
in Übereinstimmung
mit der vorliegenden Erfindung möglich
sind.
-
Mit
Bezugnahmen auf die 7 und 9 wird der
Pseudocode für
die Verbindung von einem Client mit dem Server-Computersystem, insbesondere
mit dem ausführbaren
Programm 700, in Übereinstimmung mit
einer Ausführung
der vorliegenden Erfindung in dem Pseudocode-Abschnitt A unten beschrieben.
-
Pseudocode-Abschnitt A:
Client-Verbindungs-Einrichtung
-
- 1. Client sendet HTTP-Post-Befehl zu http://serverName/gateway
device=„deviceName" Beachte: Authentifikations-/Sicherheitsdaten
sind optional und werden durch den Browser gehandhabt.
- 2. Client empfängt
HTTP-Antwort vom Gateway
- 3. Wenn die Antwort OK oder OKDataPresent ist dann
-
-
Mit
Bezugnahmen auf die 7 und 8 wird der
Pseudocode für
die Verbindung einer Einrichtung (zum Beispiel der digitalen Kamera 300 der 1A)
mit dem Server-Computersystem, insbesondere dem ausführbaren
Programm 700, in Übereinstimmung
mit einer Ausführung
der vorliegenden Erfindung in dem Pseudocode-Abschnitt B unten beschrieben.
-
Pseudocode-Abschnitt B:
Einrichtungs-Verbindungseinrichtung/-anmeldung
-
- 1. Die Einrichtung baut eine Verbindung zu
dem Gateway auf, wobei sie irgendein Netzwerkprotokoll verwendet,
das durch das Gateway unterstützt
wird (TCP, NetBIOS, IPX, 802.2 etc), wobei sie eine bekannte Adresse
verwendet.
- 2. Die Einrichtung sendet eine Anmeldeabfrage zu dem Gateway
auf der Verbindung, wobei sie ihre Namen (und optional Authentifikations-/Sicherheits-Informationen)
durchleitet.
- 3. Die Einrichtung empfängt
die Antwort von dem Gateway.
- 4. Wenn die Antwort OK oder OKDataPresent ist, dann
-
-
Mit
Bezug auf die 7 wird der Pseudocode für das ausführbare Programm 700 als
Antwort auf eine Abfrage einer Client-Verbindung in Übereinstimmung
mit einer Ausführung
der vorliegenden Erfindung in dem Pseudocode-Abschnitt C unten beschrieben.
-
Pseudocode-Abschnitt C:
Das Gateway handhabt die Client-Verbindungs-Anfrage
-
-
-
-
-
Mit
Bezug auf die 7 wird der Pseudocode für das ausführbare Programm 700 in
Reaktion auf eine Verbindungsabfrage einer Einrichtung beschrieben,
in Übereinstimmung
mit einer Ausführung
der vorliegenden Erfindung, in dem Pseudocode-Abschnitt D unten.
-
Pseudocode-Abschnitt D:
Gateway handhabt Einrichtungsanfragen
-
-
-
-
Mit
Bezug auf die 7 wird der Pseudocode für das ausführbare Programm 700,
insbesondere das Handhaben der Daten, wenn eine offene Verbindung zwischen
der Einrichtung und dem Client-Computersystem vorhanden ist, in Übereinstimmung
mit einer Ausführung
der vorliegenden Erfindung beschrieben, in dem Pseudocode-Abschnitt
E unten.
-
Pseudocode-Abschnitt E:
Gateway handhabt Daten auf existierenden Verbindungen
-
-
Wie
oben beschrieben worden ist, ermöglicht
die Fernzugreifbarkeit auf die Kamera 300 viele neue Anwendungen
bei der digitalen Bildverarbeitung. Eine solche Anwendung umfasst
das Einrichten der Kamera 300 an einer entfernt gelegenen
Position und das Verwenden derselben, um Bilder in abfolgenden Intervallen aufzunehmen.
Auf diese Bilder würde über das
Internet 150 zugegriffen werden, wenn sie aufgenommen worden
sind. Das Intervall kann eingestellt werden (zum Beispiel mehr oder
weniger Bilder pro Minute) in Abhängigkeit von Befehlen, die
durch einen Client über
einen Web-Browser (zum Beispiel den Web-Browser 121 der 1A oder
ein Programm mit einer ähnlichen
Funktion) eingegeben werden.
-
Eine
andere Anwendung umfasst das Verwenden der Kamera 300 in
Verbindung mit einem Bewegungsdetektor. Wenn sie in Verbindung mit
einem Bewegungsdetektor verwendet wird, kann die Kamera 300 derart
konfiguriert werden, dass sie ein Bild in Abhängigkeit davon aufnimmt, dass
sie ein Signal von dem Bewegungsdetektor empfängt (zum Beispiel das Erfassen
der Bewegung eines Einbrechers), wodurch sie ein Bild von dem aufnimmt,
was immer die Signalausgabe des Detektors ausgelöst hat. Alternativ kann die
Kamera 300 die Bewegung einfach dadurch detektieren, dass
sie abfolgende Bilder vergleicht, um Änderungen zwischen diesen festzustellen,
wodurch sie die Notwendigkeit eines separaten Bewegungsdetektors
vermeidet.
-
Noch
eine andere Anwendung umfasst das Verwenden der Kamera 300 in
Verbindung mit einer fern gelegenen Zieleinrichtung (aming device).
Die Kamera 300 kann auf einer fern betätigten Zieleinrichtung (zum Beispiel
einem motorisierten Dreibein) montiert werden. Die Zieleinrichtung
wird über
das Internet 150 auf dieselbe Art und Weise gesteuert,
wie die Kamera über
das Internet 150 gesteuert wird. Alternativ kann die Kamera 300 derart
verbunden werden, dass sie die entfernte Zieleinrichtung direkt
steuert. Die entfernte Zieleinrichtung ermöglicht einem Client, das Sichtfeld
der Kamera 300 auf dieselbe Art und Weise zu steuern, wie
der Client andere Funktionen (zum Beispiel die Bildauflösung, das
Bildintervall und ähnliches)
steuert.
-
Auf
diese Art und Weise ist das ausführbare
Programm 700 der vorliegenden Erfindung in der Lage, eine
hochentwickelte Fernüberwachung
des Typs zu implementieren, der vorher durch teure, Fernseheinrichtungen
gemäß dem Stand
der Technik mit geschlossenem Regelkreis geleistet wurde. Anders
als beim Stand der Technik ist jedoch das ausführbare Programm 700 nicht
teuer und relativ einfach zu implementieren.
-
Somit
stellt die vorliegende Erfindung ein Verfahren zur Verfügung, um
eine digitale Kamera und ihre intern gespeicherten Daten aus der
Ferne zugreifbar zu machen. Die vorliegende Erfindung ermöglicht,
dass die digitale Kamera derart eingestellt wird, dass sie kontinuierlich
Bilder von Szenen und Objekten von Interesse aufnimmt und einem
Benutzer ermöglicht,
auf diese Bilder zu jeder Zeit zuzugreifen. Die vorliegende Erfindung
implementiert die Fernzugreifbarkeit über ein Kommunikationsnetzwerk,
wie zum Beispiel das Internet, wodurch sie dem Benutzer ermöglicht,
von tatsächlich
einer unbegrenzten Anzahl von Positionen aus auf die Kamera zuzugreifen,
und mit der Kamera an tatsächlich
jeglichem Ort.
-
Eine
digitale Kamera in Übereinstimmung
mit der vorliegenden Erfindung benötigt nicht ein separates externes
Computersystem (zum Beispiel ein Personal-Computersystem) zur Verbindung mit dem
Internet, wodurch ein nicht teures Verfahren dafür zur Verfügung gestellt wird, dass fernzugreifbare
digitale Kameras weit verbreitet verfügbar gemacht werden. Zusätzlich wird
auf eine digitale Kamera in Übereinstimmung
mit der vorliegenden Erfindung über
die weit verbreitet verwendeten und sehr vertrauten Web-Browser
(oder ein Programm mit einer ähnlichen
Funktion) zugegriffen. Dadurch, dass sie mit typischen weit verbreitet
verwendeten Web-Browsern (oder Programmen mit einer ähnlichen
Funktion) arbeitet, stellt die vorliegende Erfindung eine einfache,
intuitive und vertraute Schnittstelle zum Fernzugreifen auf die
Funktionen und die Eigenschaften der digitalen Kamera zur Verfügung. Dadurch,
dass sie dies derart ermöglicht,
sind die Steuerungen und Funktionen der digitalen Kamera intuitiv
einfach zu verwenden und erfordern nicht eine übermäßige Lernzeit für neue Benutzer.
Die vorliegende Erfindung stellt ferner ein effizientes und benutzertransparentes
Verfahren zum Erzielen der Adresse einer digitalen Kamera zur Verfügung. Ferner
stellt die vorliegende Erfindung ein Verfahren zum effizienten Verwalten
einer Vielzahl von separaten digitalen Kameras zur Verfügung.
-
Obwohl
die vorliegende Erfindung im Zusammenhang mit einer digitalen Kamera
beschrieben worden ist, ist sie nicht auf diese Ausführung beschränkt. Somit
stellt die vorliegende Erfindung nicht nur ein beschränktes Ausmaß an Funktionalität wie bei
den Anwendungen des Standes der Technik zur Verfügung; das bedeutet, sie ist
nicht beschränkt,
entweder zu Chatten oder eine Videokonferenz durchzuführen. Als
solches ist die vorliegende Erfindung in der Lage, eine Verbindung
zwischen jeglichem Typ von Client-System und einer fern gelegenen
Einrichtung aufzubauen.
-
Die
vorhergehenden Beschreibungen von spezifischen Ausführungen
der vorliegenden Erfindung sind zum Zwecke der Darstellung und Beschreibung
präsentiert
worden. Sie sollen nicht erschöpfend
sein oder die Erfindung auf die präzise offenbarten Formen beschränken, und
offensichtlich sind viele Modifikationen und Variationen im Lichte
der obigen Lehre möglich.
Die Ausführungen
wurden ausgewählt
und beschrieben, um die Prinzipien der Erfindung und ihre praktische
Anwendung am besten zu erläutern,
um dadurch anderen Fachleuten zu ermöglichen, die Erfindung am besten
zu verwenden, und verschiedene Ausführungen mit zahlreichen Modifikationen,
wie sie geeignet für
die besondere Verwendung sind, werden beabsichtigt. Es ist beabsichtigt,
dass der Schutzumfang der Erfindung durch die Ansprüche definiert
wird, welche hier angehängt sind.