-
Die
vorliegende Erfindung beansprucht den Nutzen der vorläufigen US-Anmeldung Nr. 60/616,719,
eingereicht am 5. Oktober 2004, die durch Literaturhinweis in ihrem
gesamten Umfang hierin eingefügt
ist.
-
HINTERGRUND
-
Die
vorliegende Erfindung betrifft die Verwendung von Software-Code
zum Schützen
und Überprüfen eines
Einnahmen generierenden Software-Downloads.
-
Kurze Beschreibung
verwandter Entwicklungen
-
Ein
Post-Großkunde
benutzt möglicherweise eine
Frankiermaschine, in der ein Frankiersystem-Sicherheitsmodul (Postal
Security Device, „PSD") integriert ist,
um den Nachweis der Bezahlung von Postfreistempeln zu sichern. Der
Freistempel wird auf Postartikel aufgebracht und identifiziert den
Wert des aufgebrachten Portos und andere Informationen. Der Kunde
kann Porto kaufen und der gekaufte Wert kann im PSD gespeichert
werden. Wenn der Portofreistempel auf Artikel aufgebracht wird,
kann der aufgebrachte Wert vom gespeicherten Wert abgezogen werden.
Nachdem der Portofreistempel aufgetragen wurde, kann der Artikel
in den Sammelstrom des jeweiligen Postsystems aufgegeben und anschließend zur
Auslieferung verarbeitet werden.
-
In
verschiedenen Ländern,
beispielsweise in den Vereinigten Staaten, können Frankiermaschinen mit
einer entfernten Datenzentrale kommunizieren, um das Portoguthaben
aufstocken zu lassen. In den Vereinigten Staaten kann ein Postkunde
allgemein auf zwei Arten Porto zur Frankiermaschine hinzufügen. Die
erste besteht darin, die Frankiermaschine selbst zur Postbehörde, hierin
allgemein als „die Post" bezeichnet, zu bringen,
wo Porto gekauft und zum PSD hinzugefügt wird. Die zweite besteht
darin, Porto aus der Ferne über
ein Netzwerk hinzuzufügen, beispielsweise
eine Telefonleitung mit einem Modem oder das Internet, wobei das
hinzugefügte
Porto von einem Konto abgebucht wird, das normalerweise bei einem
Frankiermaschinenverkäufer
oder einem bewährten
dritten Verwalter, beispielsweise einer Finanzinstitution, geführt wird.
In diesem Fall ist der Zugriff des Kunden oder der Postbehörde auf
das Abrechnungssystem oder Speichersystem der Frankiermaschine im
Allgemeinen nicht möglich.
Frankiermaschinen mit dieser Art von Kommunikationsfähigkeit kommunizieren
im Allgemeinen mit einer Postdienstanbieter-Datenzentrale, um Guthaben
hinzuzufügen
oder die Authentizität
wiederherzustellen. Ein Kommunikationszyklus kann automatisch oder durch
den Benutzer einer Frankiermaschine ausgelöst werden.
-
Gelegentlich
kann es sein, dass eine Frankiermaschine ein Update ihres Betriebssystems
oder eine Änderung
der angebotenen Zusatzdienste (beispielsweise Postgebühren) benötigt oder
sie kann allgemein einen Download von Informationen irgend einer
Art benötigen.
Obwohl Postgeräte
im Allgemeinen sehr zuverlässig
sind, kann eine Frankiermaschine ausfallen, was für den Benutzer
unbequem ist. Wenn ein Programm oder Daten anderer Art installiert
werden müssen,
um das Problem zu beheben, ist aufgrund der sicheren Ausführung der
Frankiermaschine eine Reparatur vor Ort nicht angebracht. Daher
muss eine Ersatzfrankiermaschine bereitgestellt werden, was die
Ausfallzeit für
den Kunden weiter verlängert.
Im Fall einer Postfrankiermaschine muss die ausgefallene Vorrichtung
aus dem Betrieb genommen werden, die Postbehörde muss benachrichtigt werden,
eine Ersatzvorrichtung muss bei der Postbehörde angemeldet werden und dann
muss die Ersatzvorrichtung dem Kunden bereitgestellt werden.
-
Es
ist von Vorteil, Dienste, Upgrades, Revisionen, Programme und allgemein
Informationen verschiedener Arten über eine Verfahrensweise und
ein System zum Herunterladen aus der Ferne bereitzustellen, wodurch
das Versenden oder anderweitige Transportieren von Software auf
physikalischen Medien minimiert wird. Es besteht ein Bedarf, zu
gewährleisten,
dass eine entfernte Vorrichtung sicher und sachgemäß aktualisiert
wird und dass das Update gültig
ist, von einer gültigen
Quelle stammt und dass die Vorrichtung selbst für den Download berechtigt ist.
-
ZUSAMMENFASSUNG
DER BEISPIELHAFTEN AUSFÜHRUNGSFORMEN
-
Es
ist ein Merkmal der beispielhaften Ausführungsformen, dass ein Server
Software-Updates für eine
oder mehrere entfernte Vorrichtungen bereitstellt. Als Teil des
Update-Prozesses erstellt der Server Software-Code, der als ein
Code-Paket bezeichnet
wird. Nachdem ein Update für
eine entfernte Vorrichtung bereitgestellt wurde, greift die Vorrichtung auf
das Server-Code-Paket zu, vergleicht es mit einem intern generierten
Code-Paket und aktiviert die heruntergeladene Software, wenn die
Code-Pakete übereinstimmen.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
vorangehenden Aspekte und weitere Merkmale der vorliegenden Erfindung
werden in der nachfolgenden Beschreibung zusammen mit den beiliegenden
Zeichnungen erläutert,
wobei:
-
1 ein
Blockdiagram eines zur praktischen Ausführung der Erfindung geeigneten
Systems zeigt; und
-
2 eine
entfernte Vorrichtung zeigt, die innerhalb des Systems in 1 betrieben
werden kann.
-
AUSFÜHRLICHE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
1 zeigt
ein Blockdiagram eines zur praktischen Ausführung der hierin offenbarten
Erfindung geeigneten Systems. Obwohl die vorliegende Erfindung unter
Verweis auf die in den Zeichnungen gezeigten Ausführungsform
beschrieben wird, ist zu beachten, dass die vorliegende Erfindung
in vielen alternativen Ausführungsformen
ausgeführt
werden kann. Darüber
hinaus könnte
jede beliebige Größe, Form
oder Art von Elementen oder Materialien verwendet werden.
-
Das
System 100 ist ein System zum Bereitstellen von Diensten,
zum Beispiel ein Postdienstanbietersystem. Das System 100 umfasst
eine oder mehrere entfernte Vorrichtungen, beispielsweise Freistempelerzeugungs-
oder -markierungsvorrichtungen, die in 1 als Frankiermaschinen 1151 ... 115n dargestellt
sind und eine entfernte Datenzentrale, die allgemein als ein Server 135 dargestellt
ist.
-
Es
ist ein Merkmal der vorliegenden Erfindung, dass der Server für die entfernten
Vorrichtungen als Downloads bezeichnete revidierte Informationen,
Updates, Zusatzfunktionen usw. bereitstellt. Als Teil des Bereitstellens
eines Downloads wird als Code-Paket bezeichneter Software-Code erstellt. Nachdem
der Download bereitgestellt wurde, greift die entfernte Vorrichtung
auf das erstellte Code-Paket zu, vergleicht es mit einem intern
generierten Code-Paket und aktiviert den Download, wenn das erstellte
und das intern generierte Code-Paket übereinstimmen.
-
Der
Server 135 umfasst allgemein einen Prozessor 105,
einen Speicher 110 und eine Datenbank 130 zum
Speichern von Informationen. Der Prozessor 105 funktioniert
allgemein unter der Steuerung von Programmen, die im Speicher 110 gespeichert sind,
um den Betrieb des Servers 135 zu verwalten. Wie zuvor
erwähnt,
stellt der Server 135 allgemein als Downloads bezeichnete
Updates, Programme, die zusätzliche
Funktionen ermöglichen,
Ersatzprogramme, Datentabellen, andere Daten und Informationen an
die entfernten Vorrichtungen 1151 ... 115n bereit. Darüber hinaus kann der Server 135 Daten
von entfernten Vorrichtungen 1151 ... 115n erfassen und Berichterstattungs- und
Abrechnungsdienste bereitstellen.
-
Der
Server 135 kann an ein Datenkommunikationsnetz 120 gekoppelt
sein. Das Datenkommunikationsnetz 120 kann ein beliebiges
geeignetes Kommunikationsnetz umfassen, beispielsweise das öffentliche
Fernsprechwählnetz
(PSTN) ein Drahtlos-Netz, ein verdrahtetes Netz, ein Ortsnetz (LAN), ein
weiträumiges
Netz (WAN), ein virtuelles Privatnetz (VPN), usw. Der Server 135 kann
mit den entfernten Vorrichtungen 1151 ... 115n unter Verwendung eines beliebigen
geeigneten Protokolls oder Modulationsstandards kommunizieren, beispielsweise
X.25, ATM, TCP/IP, V34, V90, usw. Wenn das Datenkommunikationsnetz 120 als
Drahtlos-Netz ausgeführt ist,
umfasst es im Allgemeinen eine Luftschnittstelle, die ein beliebiges
drahtloses Kommunikationsprotokoll oder Meldetechnik oder -standards
nutzt, beispielsweise TDMA, CDMA, IEEE 802.11, Bluetooth, Nah-RF,
optisch, beliebige geeignete Satellitenkommunikationsstandards,
usw.
-
2 zeigt
ein allgemeines Blockdiagramm einer entfernten Vorrichtung 115.
Die entfernten Vorrichtungen 1151 ... 115n liefern allgemein Dienste an einen
oder mehrere Kunden. In einer Ausführungsform können die
entfernten Vorrichtungen Freistempel mit Wert, beispielsweise Porto,
Eintrittskarten oder Gutscheine für die Nutzung eines Dienstes
usw. bereitstellen. Die entfernte Vorrichtung 115 kann
einen Kommunikations-Port 117 und einen Mikroprozessor 118 umfassen,
um Abrechnungs-, Steuerungs- und Handhabungsfunktionen nach Programmen,
die in einer Speichervorrichtung 119 gespeichert sind,
auszuführen.
Manche dieser Funktionen bzw. Untermengen dieser Funktionen können innerhalb
einer sicheren Eingrenzung zu etwas gruppiert werden, was allgemein
als Frankiersystem-Sicherheitsmodul (PSD) bezeichnet wird.
-
Die
Speichervorrichtung 119 speichert allgemein maschinenlesbaren
Programmcode, der dazu angepasst ist, zu bewirken, dass der Mikroprozessor 118 Funktionen
ausführt,
die mit dem Bereitstellen von Diensten, beispielsweise dem Erzeugen
von Freistempeln, assoziiert werden. Die Speichervorrichtung 119 kann
optische, magnetische, Halbleiter-, elektronische oder andere Arten
geeigneter Vorrichtungen zum Speichern des Programmcodes nutzen.
-
Im
System in 1 hat ein Kunde, der eine entfernte
Vorrichtung nutzt, im Allgemeinen ein Konto auf dem Server 135.
Als Teil des Kontos kann der Server für die entfernte Vorrichtung 115 spezifische Informationen
speichern. Solche Informationen können die MAC-Adresse der entfernten
Vorrichtung, Benutzer- oder Kundeninformationen (Name, Firma, Telefon,
Anschrift usw.), die Seriennummer, Public Key, Kunden-Upload-Informationen,
vom Kunden gekaufte Optionen, Informationen, die mit einem Betreiberunternehmen,
das möglicherweise
Dienste an die entfernte Vorrichtung liefert, zusammenhängen und beliebige
andere, für
die entfernte Vorrichtung 115 spezifische Informationen
umfassen. Der Server kann zusätzliche,
für die
entfernte Vorrichtung spezifische Informationen enthalten und kann
die spezifischen Informationen zu einem Informationsbündel für die entfernte
Vorrichtung 115 zusammenstellen und sie im Server 135 speichern.
Außerdem
kann eine Kopie des Informationsbündels zusammengestellt und
in der entfernten Vorrichtung 115 als lokales Informationsbündel gespeichert
werden.
-
Gemäß den beispielhaften
Ausführungsformen
wirkt der Server, um für
die entfernte Vorrichtung 115 einen Software-Download bereitzustellen.
Allgemein wirkt der Server während
des Downloads auf das Server-Informationsbündel ein,
um ein Server-Code-Paket zu erstellen. Solche Vorgehensweisen können Signieren,
Verschlüsseln,
Codieren oder andere Vorgehensweisen umfassen. Das Server-Code-Paket
wird als Teil des Downloads an die entfernte Vorrichtung geliefert.
-
Nach
dem Download kann die entfernte Vorrichtung allgemein neu starten
und Anwendungssoftware in der Vorrichtung kann auf das lokale Informationsbündel einwirken,
um ein lokales Code-Paket zu erstellen. Die Anwendungssoftware in
der Vorrichtung vergleicht das lokale Code-Paket mit dem Server-Code-Paket
und wenn sie genau übereinstimmen,
wird die heruntergeladene Software aktiviert. Wenn die Code-Pakete
nicht übereinstimmen,
kann die Anwendungssoftware eine entsprechende Meldung anzeigen
und kann außerdem
eine Kommunikation mit dem Server 135 generieren, um ein
Problem zu melden.
-
In
einer anderen Ausführungsform
erfolgen die Zusammenstellung der Informationsbündel und die Generierung der
Code-Pakete gleichzeitig mit oder als Teil des Download-Prozesses.
Beispielsweise kann der Server 135, zum Zeitpunkt, zu dem
ein Download angefordert wird, die für die entfernte Vorrichtung 115 spezifischen
Informationen sammeln und kann als Option zusätzliche Informationen hinzufügen, um
das Informationsbündel
zu erstellen und kann dann auf das Informationsbündel einwirken, um das Code-Paket
zu erstellen. Der Server kann dann sowohl die angeforderte Software
als auch das Server-Code-Paket herunterladen. Nach Erhalt des Downloads
kann die entfernte Vorrichtung dann ihren eigenen Sammelvorgang
durchführen
und ein lokales Informationsbündel
zum Zeitpunkt des Downloads zusammenstellen und dann auf das Informationsbündel einwirken,
um das lokale Code-Paket zu erstellen.
-
Nach
dem Download kann die entfernte Vorrichtung 115 allgemein
neu starten und Anwendungssoftware in der Vorrichtung kann das lokale
Code-Paket mit dem Server-Code-Paket vergleichen und wenn sie genau übereinstimmen,
kann die heruntergeladene Software aktiviert werden. Andernfalls, wenn
die Code-Pakete nicht übereinstimmen,
kann die Anwendungssoftware eine Fehlermeldung anzeigen und eine
Fehlermeldungskommunikation mit dem Server 135 generieren.
-
In
noch einer weiteren Ausführungsform kann
das Download-Verfahren einen Registrierungsprozess umfassen. Beispielsweise
kann ein Benutzer an der entfernten Vorrichtung 115 Software
installieren. Die entfernte Vorrichtung kann dann den Benutzer zum
Registrieren auffordern. Der Benutzer kann Informationsfelder ausfüllen, einschließlich zum
Beispiel Benutzerinformationen, eine Betreiberunternehmenskennung
usw. Die entfernte Vorrichtung 115 kann die Informationsfelder
dann als Teil des lokalen Informationsbündels speichern und eine Verbindung zum
Server 135 auslösen,
zu dem die entfernte Vorrichtung die Registrierungsinformationen
hochlädt. Am
Server 135 kann der Server die Registrierungsinformationen
in das Server-Informationsbündel
aufnehmen und dann würde
der Download wie oben beschrieben ablaufen.
-
In
einer weiteren Ausführungsform
kann die entfernte Vorrichtung ihr lokales Informationsbündel regelmäßig aktualisieren
und an den Server 135 schicken. Der Server 135 kann
das Informationsbündel der
entfernten Vorrichtung mit darin gespeicherten Informationen bezüglich Softwareversionen, älteren Downloads
usw. vergleichen, um die Übereinstimmung
sicherzustellen und kann Fehlermeldungen generieren, wenn Diskrepanzen
erkannt werden.
-
Die
offenbarten beispielhaften Ausführungsformen
können
gewisse, während
des Download-Prozesses auftretende Ausnahmen oder Fehler, die als
Ausnahmeabläufe
bezeichnet werden, handhaben. Beispielsweise kann ein Ausnahmeablauf ausgelöst werden,
weil sich die MAC-Adresse einer Vorrichtung geändert hat (neuer Computer oder
Vorrichtung), wobei beim Hochfahren das Laden einer Anwendung misslingt.
Die entfernte Vorrichtung 115 kann dem Benutzer Anweisungen
zu einer wahrscheinlichen Ursache anzeigen. Die entfernte Vorrichtung
kann dann eine neue Registrierung verlangen und ein neues Informationsbündel erstellen.
Der Server kann dann die neuen Informationen empfangen und wie oben
beschrieben fortfahren.
-
Es
ist zu beachten, dass die vorangehende Beschreibung für die Erfindung
lediglich veranschaulichend ist. Der Fachmann kann sich verschiedene Alternativen
und Abänderungen
ausdenken, ohne von der Erfindung abzuweichen. Dementsprechend soll
die vorliegende Erfindung alle solchen Alternativen, Abwandlungen
und Varianten abdecken, die im Umfang der angehängten Patentansprüche enthalten
sind.