DE60225293T2 - System und verfahren zum organisieren der software eines im feld aktualisierbaren drahtlosen kommunikationsgerätes - Google Patents

System und verfahren zum organisieren der software eines im feld aktualisierbaren drahtlosen kommunikationsgerätes Download PDF

Info

Publication number
DE60225293T2
DE60225293T2 DE60225293T DE60225293T DE60225293T2 DE 60225293 T2 DE60225293 T2 DE 60225293T2 DE 60225293 T DE60225293 T DE 60225293T DE 60225293 T DE60225293 T DE 60225293T DE 60225293 T2 DE60225293 T2 DE 60225293T2
Authority
DE
Germany
Prior art keywords
code
symbol
section
address table
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60225293T
Other languages
English (en)
Other versions
DE60225293D1 (de
Inventor
Gowri Oceanside Rajaram
Paul San Diego SECKENDORF
Diego San Diego KAPLAN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Corp
Original Assignee
Kyocera Wireless Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/916,460 external-priority patent/US7159214B2/en
Priority claimed from US09/917,026 external-priority patent/US7328007B2/en
Priority claimed from US09/916,900 external-priority patent/US7027806B2/en
Priority claimed from US09/969,305 external-priority patent/US7386846B2/en
Application filed by Kyocera Wireless Corp filed Critical Kyocera Wireless Corp
Priority claimed from PCT/IB2002/002867 external-priority patent/WO2003010658A2/en
Application granted granted Critical
Publication of DE60225293D1 publication Critical patent/DE60225293D1/de
Publication of DE60225293T2 publication Critical patent/DE60225293T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/24Arrangements for testing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/11Allocation or use of connection identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/20Transfer of user or subscriber data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/05Aspects of automatic or semi-automatic exchanges related to OAM&P
    • H04M2203/052Aspects of automatic or semi-automatic exchanges related to OAM&P software update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42136Administration or customisation of services
    • H04M3/42178Administration or customisation of services by downloading data to substation equipment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Description

  • Hintergrund der Erfindung
  • 1. Gebiet der Erfindung
  • Diese Erfindung bezieht sich allgemein auf drahtlose Kommunikationsvorrichtungen und insbesondere auf ein System und ein Verfahren um Software zu organisieren in einer Weise, die es erlaubt, dass Aktualisierungen und Veränderungen an der Systemsoftware von einer drahtlosen Kommunikationsvorrichtung am Einsatzort über eine Funkverbindungs-Schnittstelle vorgenommen werden können.
  • 2. Stand der Technik
  • Es ist nicht ungewöhnlich, Softwareaktualisierungen für Telefone frei zu geben, die bereits am Einsatzort sind. Diese Aktualisierungen können sich auf Probleme beziehen, die in der Software gefunden wurden, nachdem die Telefone hergestellt wurden und an die Öffentlichkeit verteilt wurden. Einige Aktualisierungen können den Gebrauch neuer Eigenschaften für das Telefon beinhalten oder Dienste, die durch den Diensteanbieter zur Verfügung gestellt werden. Jedoch können andere Aktualisierungen regionale Probleme betreffen oder Probleme, die im Zusammenhang mit gewissen Trägern stehen. Zum Beispiel können in gewissen Regionen, die Netzwerk-Auslegungen für die Träger zu Bedingungen bei Funkverbindungs-Schnittstellen führen, dass das Handgerät ein unerwartetes Verhalten an den Tag legt, wie zum Beispiel eine ungeeignete Kanalsuche, ungeeignete Verbindungsbeendigung, ungeeignete Töne und dergleichen.
  • Die herkömmliche Herangehensweise an solche Aktualisierungen bestand darin, die drahtlose Kommunikationsvorrichtung zurück zu rufen, auf die hierin Bezug genommen wird als drahtlose Vorrichtung, Fernsprechapparat, Telefon oder Handgerät, zu der nächsten im Verbund stehenden Wiederverkäufer-/Servicestelle, oder zu dem Hersteller, um die Änderungen auszuführen. Die Kosten, die mit solchen Aktualisierungen verbunden sind, sind aufwendig und beeinträchtigen den Gesamterlös. Weiter ist der Kunde einer Unannehmlichkeit ausgesetzt und es ist wahrscheinlich, dass er irritiert ist. Oftmals ist die praktische Lösung, dass dem Kunden neue Telefone ausgegeben werden müssen.
  • Ein Beispiel eines konventionellen Systems zum Konfigurieren von Software in einer Telekommunikationsvorrichtung ist beschrieben in US 5,771,386 ( DE 19,502, 728 ) („Baumbauer"). Baumbauer bezieht sich auf eine Telekommunikationsvorrichtung mit Software, die verschiedene unabhängige kompilierbare Programmeinheiten beinhaltet. Um die erforderliche Zeit beim Herstellen der Vorrichtung herabzusetzen und die erforderliche Zeit, um Softwareänderungen zu implementieren, lehrt Baumbauer, dass jede der Programmeinheiten ein Kopfteil hat, das Adressen beinhaltet (Ap1, Ap2, Ad), die für Adressierungsprozeduren benutzt werden und/oder Daten, die mit den Programmeinheiten kombiniert werden. Darüber hinaus ist ein Katalog, der Referenzen für das Adressieren der Kopfteile von den Programmeinheiten beinhaltet, vorgesehen. Der Katalog ist für alle geladenen Programmeinheiten verfügbar. Mit den Bezugssystemen des Herstellers der Telekommunikationsvorrichtung müssen die vorbestimmten Programmeinheiten nicht verknüpft werden, wenn die Software der Telekommunikationsvorrichtung implementiert wird. Durch Baumbauer wird jedoch keine Lehre zur Verfügung gestellt, ein am Einsatzort befindliches, drahtloses Telekommunikationsgerät zu aktualisieren.
  • Es wäre vorteilhaft, wenn eine drahtlose Kommunikationsvorrichtungssoftware kostengünstig aktualisiert werden könnte, ohne dem Kunden Unannehmlichkeiten zu bereiten.
  • Es wäre vorteilhaft, wenn drahtlose Kommunikationsvorrichtungssoftware aktualisiert werden könnte, ohne dass die Kunden ihre Telefone für eine erhebliche Zeitdauer abgeben müssen.
  • Es wäre vorteilhaft, wenn drahtlose Kommunikationsvorrichtungs-Software aktualisiert werden könnte mit einem Minimum an Servicezeiten für einen Techniker, ohne dass es notwendig ist, dass die Vorrichtung zu der Serviceeinrichtung zu schicken.
  • Es wäre vorteilhaft, wenn die drahtlose Vorrichtungssoftware so organisiert werden könnte, dass es möglich ist, am Einsatzort Modifikationen durchzuführen über eine Funkverbindungs-Schnittstelle.
  • Zusammenfassung der Erfindung
  • Drahtlose Kommunikationsvorrichtungs-Software Aktualisierungen stellen für den Kunden das bestmöglichste Produkt und die bestmöglichste Anwenderpraxis dar. Ein sehr teurer Teil des Geschäftes betrifft das Zurückrufen von Handgeräten zum Aktualisieren von Software. Diese Aktualisierungen können notwendig sein, um zusätzliche Dienste zur Verfügung zu stellen oder um sich an gelöste Problemen zu richten, die aufgedeckt wurden, nachdem das Telefon hergestellt wurde. Die vorliegende Erfindung macht es möglich, um praktisch die Software eines Handgerätes, das sich am Einsatzort befindet, über die Funkverbindungs-Schnittstelle zu aktualisieren.
  • Die vorliegende Erfindung stellt ein Verfahren zur Verwaltung von Software in einer drahtlosen Kommunikationsvorrichtung nach dem Anspruch 1 und eine drahtlose Kommunikationsvorrichtung, die eine am Einsatzort aufrüstbare Systemsoftware aufweist, entsprechend dem Anspruch 12, zur Verfügung. Bevorzugte Ausführungsformen der vorliegenden Erfindung werden jeweilig in den abhängigen Ansprüchen 2 bis 11 und 13 bis 23 beschrieben.
  • Demgemäß wird ein Verfahren zur Verfügung gestellt, um eine am Einsatzort aktualisierbare Systemsoftware in einer drahtlosen Kommunikationsvorrichtung zu verwalten. Das Verfahren schließt ein: Bildung von System-Software-Kode in eine erste Mehrzahl von Symbolbibliotheken, wobei jede Bibliothek Symbole mit darauf bezogener Funktionalität enthält; Anordnen der ersten Mehrzahl von Symbolbibliotheken in einer zweiten Mehrzahl von Kodeabschnitten, so dass die Symbolbibliotheken am Start der Kodeabschnitte starten; Schaffung einer zweiten Mehrzahl von angrenzend adressierten Speicherblöcken; Identifizierung jedes Speicherblocks mit entsprechenden Kodeabschnitten; Speichern der Kodeabschnitte in den identifizierten Speicherblöcken, mit dem Start der Kodeabschnitte an entsprechenden Startadressen; Aufrechterhaltung einer Kodeabschnitts-Adresstabelle mit Querverweisung von Kodeabschnitts-Identifizierern mit entsprechenden Startadressen; und Ausführen der Systemsoftware der drahtlosen Vorrichtung.
  • Die Bildung von Systemsoftwarekodierungen in eine erste Mehrzahl von Symbolbibliotheken schließt einen Symbolzugangskode ein. Das Anordnen der ersten Mehrzahl von Symbolbibliotheken in einer zweiten Mehrzahl von Kodeabschnitten beinhaltet das Anordnen von jedem Symbol, dass es sich im Offset befindet von seiner entsprechenden Kodeabschnitts-Startadresse und ferner das Anordnen des Symbolzugangskodes in einem ersten Kodeabschnitt beinhaltet ist. Dann beinhaltet das Verfahren weiter: Aufrechterhaltung einer Symboloffset-Adressentabelle mit Querverweisung von Symbolidentifiziern zu entsprechenden Offsetadressen und entsprechenden Kodeabschnitts-Identifizierern; und Speichern des Symbolzugangs-Kodeadresse in einem ersten Ort im Speicher.
  • Die Kodeabschnittsspeichertabelle, die Symboloffset-Adressentabelle und die Schreib-Lese-Daten für alle Symbolbibliotheken, der Symbolzugangskode, welcher die Adressen von Symbolen der Bibliothek berechnet während die Software läuft, und die Symbolzugangs-Kodeadressen sind angeordnet als Symbolbibliotheken in einem gemeinsamen Kodeabschnitt, typischerweise ein Patchmanager-Kodeabschnitt. Die Lese-Schreib-Daten, die Kodeabschnitts-Adressentabelle, die Symboloffset-Adressentabelle, die Symbolzugangs-Kodeadresse und der Symbolzugangskode sind geladen und abrufbar in bzw. von der volatilen Lese-Schreib-Speichervorrichtung mit wahlfreiem Zugang.
  • Die Kodeabschnitte sind von der Größe her so gehalten, dass sie zu den angeordneten Symbolbibliotheken passen oder falls sie größer sind als die angeordneten Symbolbibliotheken, werden die Symbolbibliotheken aktualisiert mit den größeren Bibliotheken. Die angrenzend adressierten Speicherblöcke sind exakt an die entsprechenden Kodeabschnitte angepasst.
  • Weitere Einzelheiten des oben beschriebenen Verfahrens und eine drahtlose Kommunikationsvorrichtung mit einer am Einsatzort aufrüstbaren Systemsoftwarestruktur, sind nachfolgend vorgesehen.
  • Kurze Beschreibung der Zeichnungen
  • 1 betrifft ein schematisches Blockdiagramm des gesamten drahtlosen Vorrichtungssoftware-Instandhaltungssystems.
  • 2 ist ein schematisches Blockdiagramm des Softwareinstandhaltungssystems, das die Installation von Befehlssätzen über Funk-Schnittstellen herausstellt.
  • 3 ist ein schematisches Blockdiagramm der Erfindung mit am Einsatzort hochrüstbaren Systemsoftwarestruktur, für die Anwendung in der drahtlosen Kommunikationsvorrichtung.
  • 4 betrifft ein schematisches Blockdiagramm der Speichervorrichtung der drahtlosen Vorrichtung.
  • 5 ist eine Tabelle, die die Kodeabschnittstabelle aus 3 darstellt.
  • 6 ist eine detailierte Abbildung der Symbolbibliothek Eins aus 3, mit Symbolen.
  • 7 ist eine Tabelle die die Symbol-Offset-Adresstabelle von 3 darstellt.
  • 8a und 8b sind Flussdiagramme, die das Verfahren der Erfindung zum Organisieren der am Einsatzort hochrüstbaren Systemsoftware in einer drahtlosen Kommunikationsvorrichtung zeigen.
  • Detailierte Beschreibung der bevorzugten Ausführungsbeispiele
  • Einige Teile der detailierten Beschreibungen, die nun folgen, werden dargestellt durch Bezeichnung von Arbeitsabläufen, Ablaufschritten, logischen Blöcken, Kodierungen, Abarbeitungen oder andere symbolischer Nachbildungen von Operationen bezüglich Datenbytes innerhalb einer drahtlosen Vorrichtung mit Mikroprozessor oder Speicher. Diese Beschreibungen und Nachbildungen sind die Mittel, die von denen verwendet werden, die auf dem Gebiet der Datenverarbeitung Erfahrung haben und so auf effektivste Art das Wesentliche Ihrer Arbeit anderen, die auch Fachleute sind, übermitteln. Ein Ablauf, ein Mikroprozessorausführungsschritt, eine Anwendung, ein logischer Block, ein Prozess, etc. ist hier und allgemein zu verstehen als eine selbstkonsistente Folge von Schritten oder Instruktionen, die zu einem gewünschten Ergebnis führen. Die Schritte sind solche, die physikalische Manipulationen von physikalischen Größen erforderlich machen. Üblicherweise, aber nicht notwendigerweise, nehmen diese Größen die Form von elektrischen oder magnetischen Signalen an, die geeignet sind, gespeichert, übermittelt, kombiniert, verglichen zu werden oder in anderer Weise in einem Mikroprozessor einer drahtlosbasierenden Vorrichtung manipuliert zu werden. Es wurde bei Zeiten als passend gefunden, hauptsächlich aus den Gründen für den allgemeinen Gebrauch, diese Signale als Bits, Werte, Elemente, Symbole, Buchstaben, Ausdrücke, Zahlen oder Ähnliches zu bezeichnen. Wo physikalische Vorrichtungen, wie zum Beispiel eine Speichervorrichtung erwähnt werden sind, sind sie mit anderen physikalischen Vorrichtungen mittels eines Busses oder anderer physikalischen Verbindungen gekoppelt. Es kann angenommen werden, dass diese physikalischen Vorrichtungen mit logischen Prozessen oder Anwendungen in Wechselbeziehung stehen und folglich mit logischen Vorgängen „gekoppelt" sind. Zum Beispiel kann ein Speicher einen Kode speichern für eine weitere logische Operation.
  • Es sollte jedoch nicht vergessen werden, dass alle diese und ähnliche Begriffe geeigneten physikalischen Größen zu geordnet sind und nur geeignete Bezeichnungen sind, die auf diese Größen angewendet werden. Solange nicht spezifisch anders ausgedrückt, als aus der folgenden Diskussion offensichtlich ist, wird verstanden, dass in der gesamten Erfindung Diskussionen, die Begriffe, wie zum Beispiel „Verarbeiten" oder „Verbinden" oder „Übersetzen" oder „Anzeigen" oder „Abfragen" oder „Bestimmen" oder „Erkennen" oder Ähnliche verwenden, die Aktionen und Prozesse in einem Mikroprozessorsystem in einer drahtlosen Vorrichtung bezeichnen, die die Daten manipuliert und umwandelt, die als physikalische (elektronische) Größen innerhalb der Computersystem-Register und Speichervorrichtungen dargestellt sind, in andere Daten, die in ähnlicher Weise wiedergeben sind, als physikalische Größen innerhalb der Speichervorrichtungen oder Register der drahtlosen Vorrichtung oder anderer solcher Informationsspeicher, Übertragungs- oder Anzeigevorrichtungen.
  • 1 ist ein schematisches Blockdiagramm der gesamten drahtlosen Vorrichtungssoftwareinstandhaltungssysteme 100. Die Systemsoftwareorganisation der Erfindung ist im Detail unten dargestellt, einer allgemeinen Übersicht des Software-Instandhaltungssystems 100 folgend. Das allgemeine System 100 beschreibt einen Prozess zum Liefern von Systemsoftwareaktualisierungen und Befehlssätzen (Programmen) und Installieren der gelieferten Software zu einer drahtlosen Vorrichtung. Systemsoftwareaktualisierungen und Patch-Maker-Befehlssätze (PMIS) werden durch den Hersteller der Handsets geschaffen. Die Systemsoftware ist in Symbolbibliotheken organisiert. Die Symbolbibliotheken sind in Kode-Abschnitten angeordnet. Wenn Symbolbibliotheken aktualisiert werden, wird die Softwareaktualisierung 102 als ein Kodeabschnitt oder einer Mehrzahl von Kodeabschnitten transportiert. Die Softwareaktualisierung wird an drahtlose Vorrichtungen im Gebiet gesendet, von denen eine drahtlose Kommunikationsvorrichtung 104 repräsentativ ist, oder in getrennter Übertragung von einer Basisstation 106 unter Verwendung bekannter herkömmlicher Funk-, Daten- oder Nachrichten-Transportprotokolle übermittelt. Die Erfindung ist nicht auf ein Transportformat beschränkt, da die drahtlose Kommunikationsvorrichtung einfach modifiziert werden kann, um jedes verfügbare Funk-Transportprotokoll zum Zwecke des Empfangs von Systemsoftware und von PMIS-Aktualisierungen zu verarbeiten.
  • Die Systemsoftware kann als eine Sammlung verschiedener Subsysteme angesehen werden. Kodeobjekte können eng in eines dieser abstrakten Subsysteme gekoppelt werden und diese resultierende Sammlung kann als eine Systemsymbolbibliothek bezeichnet werden. Das schafft eine logische Aufschlüsselung der Kodebasis, und Softwarekorrekturen (patches) und – Fixes können einer dieser Symbolbibliotheken zugeordnet werden. In den meisten Fällen ist eine einzelne Aktualisierung einer, oder höchsten zwei, Symbolbibliotheken zugeordnet. Der Rest der Kodebasis, die anderen Symbolbibliotheken, bleiben unverändert.
  • Die begriffliche Einführung von Symbolbibliotheken schafft einen Mechanismus zum Umgehen mit Kode und Konstanten. Andererseits passen die Lese-Schreib(RW, read-write)-Daten in eine einzigartige, individuelle RW-Bibliothek, die RAM-basierte Daten für alle Bibliotheken aufweist.
  • Einmal von einer drahtlosen Vorrichtung 104 empfangen, muss der transportierte Kodeabschnitt verarbeitet werden. Diese drahtlose Vorrichtung überschreibt einen spezifischen Kodeabschnitt des nichtflüchtigen Speichers 108. Der nichtflüchtige Speicher 108 weist einen Dateisystemabschnitt (FSS, file system section) 110 und einen Kodespeicherabschnitt 112 auf. Der Kodeabschnitt ist typischerweise vor dem Transport komprimiert zum Minimieren der Belegung in dem FSS 110. Oft wird der aktualisierte Kodeabschnitt von seinen RW-Daten begleitet sein, die einen anderen Typ von System-Symbolbibliothek darstellen, die alle RW-Daten für jede Symbolbibliothek aufweisen. Obwohl in die flüchtige Leseschreibspeichervorrichtung 114 mit wahlfreien Zugriff geladen, wenn die Systemsoftware abgearbeitet wird, müssen die RW-Daten immer in der nichtflüchtigen Speichervorrichtung 108 gespeichert werden, damit sie jedes Mal, wenn die drahtlose Vorrichtung neu ausgerichtet wird, in die flüchtige Leseschreibspeichervorrichtung 114 mit wahlfreien Zugriff geladen werden können. Das schließt ein, dass die ersten RW-Daten in die flüchtige Leseschreibspeichervorrichtung mit wahlfreiem Zugriff geladen werden. Wie unten detaillierter erklärt wird, sind die RW-Daten typischerweise mit einer Patchmanager-Kodeabschnitt angeordnet.
  • Das System 100 weist das Konzept virtueller Tabellen auf. Unter Verwendung solcher Tabellen können Symbolbibliotheken einem Kodeabschnitt korrigiert (ersetzt) werden, ohne andere Teile der Systemsoftware oder Kodeabschnitte aufzubrechen (ersetzen). Virtuelle Tabellen werden aus Effizienzgründen von der flüchtigen Leseschreibspeicherung 114 für wahlfreien Zugriff ausgeführt. Eine Kodeabschnitt-Adresstabelle und eine Symboloffsettabelle sind virtuelle Tabellen.
  • Die aktualisierten Kodeabschnitte werden von drahtlosen Vorrichtung 104 empfangen und in dem FSS 110 gespeichert. Eine drahtlose Vorrichtungs-Benutzerschnittstelle (UI, user interface) wird typischerweise den Benutzer benachrichtigen, dass neue Software verfügbar ist. In Antwort auf die UI Bereitschaftsmeldungen bestätigt der Benutzer die Meldung und signalisiert den Patch- oder Aktualisierungs-Vorgang. Alternativ wird der Aktualisierungsvorgang automatisch durchgeführt. Die drahtlose Vorrichtung kann zum Durchführen von Standardkommunikationsaufgaben unfähig sein, wenn der Aktualisierungsprozess durchgeführt wird. Der Patchmanager-Kodeabschnitt weist eine nichtflüchtige Lese-Schreib-Treiber-Symbolbibliothek auf, die auch in die flüchtige Lese-Schreib-Speichervorrichtung 114 mit wahlfreiem Zugriff geladen wird. Die nichtflüchtige Lese-Schreib-Treiber-Symbolbibliothek bewirkt, dass Kodeabschnitte mit aktualisierten Kodeabschnitten überschrieben werden. Wie in der Figur gezeigt, werden Kode-Sektion n und die Patchmanager-Kode-Sektionen mit aktualisierten Kode-Sektionen überschrieben. Der Patchmanager-Kodeabschnitt weist Lese-Schreibdaten, die Kodeabschnitts-Adresstabelle und die Symbol- Offset-Adresstabelle, genauso wie einen Symbolzugriffskode und die Symbolzugriffskodeadresse (unten diskutiert) auf. Abschnitte für Daten sind ungültig, wenn aktualisierte Kodeabschnitte eingeführt werden und ein aktualisierter Patchmanager-Kodeabschnitt Leseschreibdaten aufweist, eine Kodeabschnitts-Adressentabelle und eine Symboloffset-Adressentabelle aufweisen, die für die aktualisierten Kodeabschnitte gültig sind. Wenn die aktualisierten Kodeabschnitte in den Kodespeicherabschnitt 112 geladen sind, ist die drahtlose Vorrichtung zurückgesetzt. Nachfolgend der Zurücksetzungsoperation kann die drahtlose Vorrichtung die aktualisierte Systemsoftware ausführen. Es sollte auch verstanden werden, dass der Patchmanager-Kodeabschnitt andere Symbolbibliotheken aufweisen kann, die oben nicht diskutiert wurden. Diese anderen Symbolbibliotheken brauchen nicht in die flüchtige Lese-Schreib-Speichervorrichtung 114 geladen werden.
  • 2 ist ein schematisches Blockdiagramm des Software-Instandhaltungssystem 100, das die Installation von Befehlssätzen über die Funkverbindungsschnittstelle hervorhebt. Zusätzlich zum Aktualisieren von Systemsoftware-Kodeabschnitten kann das Instandhaltungssystem 100 Befehlssätze oder Programme, auf die hierin als Patch-Maker-Instruktionssätze (PMIS) Bezug genommen wird, herunterladen und installieren. Der PMIS Kodeabschnitt 200 wird in der gleichen Weise zu der traglosen Vorrichtung 104 transportiert wie die oben beschriebenen Systemsoftware-Kodeabschnitte. PMIS Kodeabschnitte sind anfänglich in dem FSS 110 gespeichert. Ein PMIS Kodeabschnitt ist typischerweise eine Binärdatei, die man sich als kompilierte Befehle für das Handgerät/Handset vorstellen kann. Ein PMIS Kodeabschnitt ist umfassend genug zum Bereitstellen für die Leistung von grundlegenden mathematischen Operationen und die Leistung von bedingt aus geführten Operationen. Zum Beispiel kann ein RF-Kalibrierungs-PMIS die folgenden Operationen durchführen:
    • IF RF CAL ITEM IS LESS THAN X
    • EXECUTE INSTRUCTION
    • ELSE
    • EXECUTE INSTRUCTION
  • Ein PMIS kann grundlegende mathematische Operationen unterstützen wie zum Beispiel: Addition, Subtraktion, Multiplikation und Division. Wie bei den Systemsoftware-Kodeabschnitten kann der PMIS Kodeabschnitt in Beantwortung von UI Aufforderungen geladen werden und die drahtlose Vorrichtung muss zurückgesetzt werden, nachdem die PMIS in den Kodespeicherabschnitt 112 geladen ist. Dann kann der PMIS Abschnitt ausgeführt werden. Wenn der PMIS Kodeabschnitt virtuellen Tabellen oder Schreib-Lesedaten zugeordnet ist, wird ein aktualisierter Patchmanager-Kodeabschnitt mit dem PMIS transportiert zur Installation in dem Kodespeicherabschnitt 112. Alternativ kann der PMIS gehalten und von dem FSS 110 verarbeitet werden. Nachdem das Handgerät/Handset 104 alle Befehle in dem PMIS Abschnitt ausgeführt hat, kann der PMIS Abschnitt aus dem FSS 110 gelöscht werden.
  • In einigen Aspekten der Erfindung kann die Organisation der Systemsoftware in Systembibliotheken auf die Größe der flüchtigen Speichervorrichtung 114 und der nichtflüchtigen Speichervorrichtung 108, die zur Ausführung benötigt werden, Einfluss haben. Das ist aufgrund der Tatsache, dass die Kodeabschnitte typischerweise größer sind als die Symbolbibliotheken, die in den Kodeabschnitten angeordnet sind. Diese größeren Kodeabschnitte existieren zum Aufnehmen aktualisierter Kodeabschnitte. Das Organisieren von Systemsoftware als Sammlung von Bibliotheken hat Auswirkungen auf die Größenerfordernisse der nichtflüchtigen Speichervorrichtung. Für die gleiche Kodegröße, wird die verwendete Menge von nichtflüchtigem Speicher größer sein aufgrund der Tatsache, dass Kodeabschnitte eine Größe haben können, die größer ist als die Symbolbibliotheken, die darin angeordnet sind.
  • PMIS ist eine sehr leistungsfähige, die Laufzeit beeinflussende, Befehlsmaschine. Das Handgerät kann jeden Befehl ausführen, der durch die PMIS Umgebung geliefert wurde. Dieser Mechanismus kann benutzt werden zur Unterstützung von RF Kalibrierungen und PRI Aktualisierungen. Allgemein dargelegt, kann PMIS benutzt werden, um ungestört Software von drahtlosen Vorrichtungen zu entwanzen, wenn Softwareprobleme erkannt sind durch den Hersteller oder den Serviceprovider, typischerweise als ein Ergebnis von Beschwerden der Benutzer. PMIS kann auch Daten aufzeichnen, die benötigt werden, um Softwareprobleme zu diagnostizieren. PMIS kann neu herunter geladene Systemanwendungen für Datenanalysen, Entwanzen und Fixis einkoppeln. PMIS kann RW-Daten basierte Aktualisierungen zur Verfügung stellen für Analysen und kurzfristigen Lösungen für ein Problem anstatt einem aktualisierten Systemsoftware-Kodeabschnitt. PMIS kann Speicherverdichtungsalgorithmen für den Gebrauch durch drahtlose Vorrichtungen zur Verfügung stellen.
  • Wenn einmal Softwareaktualisierungen an die drahtlose Vorrichtung geliefert wurden, unterstützt das Software-Instandhaltungssystem 100 eine Speicherkomprimierung. Speicherkomprimierung ist den Disk-Defragmentierungs-Anwendungen in Desktop-Computern ähnlich. Der Komprimierungsmechanismus stellt sicher, dass ein Speicher optimal genutzt wird und für zukünftige Kodeabschnittsaktualisierungen gut ausgerichtet ist, wo die Größe der aktualisierten Kodeabschnitte nicht vorhersehbar ist. Das System 100 analysiert den Kodespeicherabschnitt, wenn er zu korrigieren (aktualisieren) ist. Das System 100 versucht, aktualisierte Kodeabschnitte an den Speicherplatz anzupassen, der von dem Kodeabschnitt besetzt ist, der zu ersetzen ist.
  • Falls der aktualisierte Kodeabschnitt größer ist als der Kodeabschnitt, der zu ersetzen, komprimiert das System 100 die Kodeabschnitte in dem Speicher 112. Alternativ kann die Komprimierung von dem Hersteller oder Dienstanbieter berechnet werden und Komprimieranweisungen können zu der drahtlosen Vorrichtung 104 transportiert werden.
  • Komprimierung kann aufgrund der Komplexität des Algorithmus und auch der enormen Menge an Datenbewegung ein zeitaufwendiger Prozess sein. Der Komprimieralgorithmus sagt die Durchführbarkeit vorher, bevor er irgendeine Verarbeitung beginnt. UI-Bereitschaftsmeldungen können zum Ersuchen nach der Erlaubnis des Benutzers verwendet werden, bevor der Versuch der Komprimierung vorgenommen wird.
  • Nach einigen Aspekten der Erfindung können alle Systemsoftwarecodeabschnitte gleichzeitig aktualisiert werden. Eine vollständige Systemsoftwareaktualisierung wird größeres FSS 110 benötigen.
  • 3 ist ein schematisches Blockdiagramm der erfindungsgemäßen, am Einsatzort aufrüstbaren Systemsoftwarestruktur für die Verwendung in der drahtlosen Kommunikationsvorrichtung 104. Die Systemsoftwarestruktur 300 umfasst ablauffähige Systemsoftware differenziert nach einer zweiten Mehrzahl von Kodeabschnitten. Es sind gezeigt Kodeabschnitte Eins (302), Zwei (304) und n (306) als auch der Patchmanager-Kodeabschnitt 308, jedoch ist die Erfindung nicht beschränkt auf eine bestimmte Anzahl von Kodeabschnitten. Ferner weist das System 300 eine erste Mehrzahl von Systembibliotheken auf, die in die zweite Mehrzahl von Kodeabschnitten angeordnet sind. Gezeigt sind eine Symbolbibliothek Eins (310), die im Kodeabschnitt Eins (302) angeordnet ist, Symbolbibliotheken Zwei (312) und Drei (314), die in dem Kodeabschnitt Zwei (304) angeordnet sind, und Symbolbibliothek m (316), die in dem Kodeabschnitt n (306) angeordnet ist. Jede Bibliothek weist Symbole mit in Zusammenhang stehender Funktionalität auf. Zum Beispiel kann die Symbolbibliothek Eins (310) in dem Betrieb der Flüssigkeitskristallanzeige (LCD) der drahtlosen Vorrichtung involviert sein. Dann wären die Symbole mit Anzeigefunktionen zugeordnet. Wie im Detail nachstehend erklärt, sind zusätzlichen Symbolbibliotheken in dem Patchmanager-Kodeabschnitte 308 angeordnet.
  • 4 ist ein schematisches Blockdiagramm des Speichers der drahtlosen Vorrichtung. Wie gezeigt, ist der Speicher der Kodespeicherabschnitt 112 von 1. Der Speicher ist ein beschreibbarer, nichtflüchtiger Speicher, wie zum Beispiel ein Flashspeicher. Es sollte verstanden werden, dass die Kodeabschnitte nicht notwendiger Weise in der gleichen Speichervorrichtung gespeichert zu werden brauchen wie die FSS 110. Es sollte auch verstanden werden, dass die Systemsoftwarestruktur der Erfindung mit Kodeabschnitten ermöglicht sein kann, die in einer Mehrzahl von miteinander zusammenarbeitenden Speichervorrichtungen gespeichert sind. Der Kodespeicherabschnitt 112 umfasst eine zweite Mehrzahl von fortlaufend adressierten Speicherblöcken, wo jeder Speicherblock einen entsprechenden Kodeabschnitt von einer zweiten Mehrzahl von Kodeabschnitten speichert. Folglich ist der Kodeabschnitt Eins (302) in einem ersten Speicherblock 400 gespeichert, Kodeabschnitt Zwei (304) in dem zweiten Speicherblock 402 Kodeabschnitt n (306) in dem n-ten Speicherblock 404 und der Patchmanager-Kodeabschnitt 308 in dem p-ten Speicherblock 406.
  • In den einander gegenübergestellten 3 und 4 ist der Start jedes Kodeabschnittes in entsprechenden Startadressen in der Speichervorrichtung gespeichert und Symbolbibliotheken sind zum Starten am Start der Kodeabschnitte angeordnet. Das heißt, jede Symbolbibliothek beginnt mit einer ersten Adresse und läuft aufeinander folgend von der ersten Adresse durch einen Bereich von Adressen. Zum Beispiel startet der Kodeabschnitt Eins (302) an der ersten Startadresse 408 (markiert mit „S") in der Kodespeicher-Speichervorrichtung 112. In 3 startet die Symbolbibliothek Eins am Start 318 des ersten Kodeabschnitts. In ähnlicher Weise startet der Kodeabschnitt Zwei (304) an einer zweiten Startadresse 410 (4), und die Symbolbibliothek Zwei startet am Start 320 des Kodeabschnitts Zwei (3). Der Kodeabschnitt n (306) startet an einer dritten Startadresse 412 in der Kodespeicher-Speichervorrichtung 112 (4) und Symbolbibliothek m (316) startet am Start des Kodeabschnitts n (3). Der Patchmanager-Kodeabschnitt startet an der p-ten Startadresse 414 in der Kodespeicher-Seichervorrichtung 112 und die erste Symbolbibliothek im Patchmanager-Kodeabchnitt 308 startet am Startet 324 des Patchmanager-Kodeabschnitts. Folglich ist die Symbolbibliothek Eins (310) schließlich in dem ersten Speicherblock 400 gespeichert. Falls ein Kodeabschnitt eine Mehrzahl von Symbolbibliotheken aufweist, wie zum Beispiel Kodeabschnitt Zwei (304), sind die Mehrzahl von Symbolbibliotheken in dem entsprechenden Speicherblock gespeichert, in diesem Fall im zweiten Speicherblock 402.
  • In 3 weist das System 300 ferner eine Kodeabschnitt-Adresstabelle 326 als ein Symboltyp auf, der in Symbolbibliothek enthalten ist, die in dem Patchmanager-Kodeabschnitt 308 angeordnet ist. Die Kodeabschnitt-Adresstabelle macht hier Querverweise von Kodeabschnitt-Identifizierern mit entsprechenden Kodeabschnitt-Startadressen im Speicher.
  • 5 ist eine Tabelle, die die Kodeabschnitt-Adresstabelle 326 von 3 darstellt. Die Kodeabschnitt-Adresstabelle 326 wird abgefragt zum Auffinden der Kodeabschnitt-Startadresse für eine Symbolbibliothek. Zum Beispiel sucht das System 300 Kodeabschnitt Eins, wenn ein Symbol in Symbolbibliothek Eins zur Ausführung benötigt wird. Zum Finden der Startadresse des Kodeabschnitts Eins, und daher zum Lokalisieren des Symbols in der Symbolbibliothek Eins, wird die Kodeabschnitt-Adresstabelle 326 abgefragt. Die Anordnung von Symbolbibliotheken in Kodeabschnitten und die Verfolgung von Kodeabschnitten mit einer Tabelle erlaubt, dass die Kodeabschnitte bewegt oder expandiert werden. Die Expansions- oder Bewegungsvorgänge können zum Installieren hochgerüsteter Kodeabschnitte (mit hochgerüsteten Symbolbibliotheken) benötigt werden.
  • Zurückkehrend zu 3 sollte bemerkt werden, dass nicht jede Symbolbibliothek notwendigerweise am Start eines Kodeabschnitts startet. Wie gezeigt, ist die Symbolbibliothek Drei (314) in Kodeabschnitt Zwei (304) angeordnet, aber sie startet nicht von der Kodeabschnitt-Startadresse 320. Folglich, falls ein Symbol in der Symbolbibliothek Drei (314) zur Ausführung benötigt wird, fragt das System 300 die Kodeabschnitt-Adresstabelle 326 für die Startadresse des Kodeabschnitts Zwei (304) ab. Wie unten erklärt, erlaubt eine Symbol-Offset-Adresstabelle, dass die Symbole in der Symbolbibliothek Drei (314) gefunden werden. Es bedeutet nichts, dass die Symbole über eine Mehrzahl von Bibliotheken verteilt sind, solange sie in dem gleichen Kodeabschnitt gespeichert sind.
  • Wie oben vermerkt, weist jede Symbolbibliothek funktionell verwandte Symbole auf. Ein Symbol ist ein Programmierer-definierter Name zum Auffinden und Verwenden einer gegenständlichen Routine einer Variablen oder einer Datenstruktur. Folglich kann ein Symbol eine Adresse oder ein Wert sein. Symbole können intern oder extern bestehen. Interne Symbole sind nicht über den Bereich des aktuellen Kodeabschnitts hinaus sichtbar. Insbesondere werden sie nicht von anderen Symbolbibliotheken in anderen Kodeabschnitten gesucht. Externe Symbole werden über Kodeabschnitte hinweg verwendet und abgerufen und werden von Bibliotheken in unterschiedlichen Kodeabschnitten gesucht. Die Symbol-Offset-Adresstabelle weist typischerweise eine Liste aller externen Symbole auf.
  • Zum Beispiel kann die Symbolbibliothek Eins Zeichen einer Anzeige einer drahtlosen Vorrichtung erzeugen. Symbole in dieser Bibliothek würden wiederum Telefonnummern, Namen, die Zeit oder andere Anzeigemerkmale erzeugen. Jedes Merkmal wird mit Routinen erzeugt, die hierin als ein Symbol bezeichnet werden. Zum Beispiel erzeugt ein Symbol in der Symbolbibliothek Eins (310) Telefonnummern auf der Anzeige. Dieses Symbol ist durch ein „X" dargestellt und ist extern. Wenn die drahtlose Vorrichtung einen Telefonanruf empfängt und der Anrufer-ID-Dienst aktiviert ist, soll das System das „X"-Symbol ausführen zum Erzeugen der Nummer auf der Anzeige. Folglich muss das System das „X-Symbol" auffinden.
  • 6 ist eine detaillierte Abbildung der Symbolbibliothek Eins (310) aus 3 mit Symbolen. Symbole sind angeordnet, um einen Offset von den jeweiligen Kodeabschnitt-Startadressen aufzuweisen. In vielen Fällen ist der Start der Symbolbibliothek der Start eines Symbolabschnitts, aber das gilt nicht, falls ein Kodeabschnitt mehr als eine Symbolbibliothek aufweist. Die Symbolbibliothek Eins startet am Start des Kodeabschnitts Eins (siehe 3). Wie in 6 gezeigt, ist das „X"-Symbol mit einem Offset von (03) von dem Start der Symbolbibliothek festgelegt und das „Y"-Symbol ist mit einem Offset von (15) festgelegt. Die Symboloffset-Adressen sind in einer Symboloffset-Adresstabelle 328 in dem Patchmanager-Kodeabschnitt gespeichert (siehe 3).
  • 7 ist eine Tabelle, die die Symbol-Offset-Adresstabelle 328 aus 3 darstellt. Die Symbol-Offset-Adresstabelle 328 macht Querverweise von Symbolidentifizierern zu entsprechenden Offsetadressen und zu entsprechenden Kodeabschnitt-Identifizierern und Speichern. Folglich wird die Symbol-Offset-Adresstabelle 328 abgefragt zum Auffinden der exakten Adresse des Symbols bezüglich des Kodeabschnittes in der es angeordnet ist, wenn das System versucht, das „X"-Symbol in der Symbolbibliothek Eins auszuführen.
  • Zurückgehend zu 3 weisen die erste Mehrzahl von Symbolbibliotheken typischerweise alle Lese-Schreib-Daten auf, die abgefragt oder gesetzt werden sollen zur Ausführung dieser Symbolbibliotheken. Zum Beispiel kann eine Symbolbibliothek einen Arbeitsablauf vorsehen, der von der Angabe einer Bedingung abhängig ist. Der Lese-Schreib-Datenabschnitt wird abgefragt zum Bestimmen des Status, der benötigt wird, um die Angabe der Bedingung zu vervollständigen. Die Erfindung gruppiert die Leseschreibdaten aller Symbolbibliotheken in einem miteinander geteilten Lese-Schreib-Abschnitt. In einigen Aspekten der Erfindung sind die Lese-Schreib-Daten 330 in dem Patchmanager-Kodeabschnitt 308 angeordnet. Alternativ (nicht gezeigt) können die Lese-Schreib-Daten in einem anderem Kodeabschnitt, zum Beispiel Kodeabschnitt n (306) angeordnet sein.
  • Die erste Mehrzahl von Symbolbibliotheken weist auch Symbolzugriffskode auf, der in einem Kodeabschnitt angeordnet ist, um die Adresse eines gesuchten Symbols zu berechnen. Der Symbolzugriffscode kann in einer Adresse in einem getrennten Kodeabschnitt, zum Beispiel Kodeabschnitt Zwei (304), angeordnet und gespeichert sein. Jedoch wie gezeigt, ist der Symbolzugriffscode 332 in einer Adresse in dem Patchmanager-Kodeabschnitt 308 angeordnet und gespeichert. Das System 300 weist ferner einen ersten Ort zum Speichern der Symbolzugriffs-Kodeadresse auf. Dieser erste Ort kann ein Kodeabschnitt in dem Kodespeicherabschnitt 112, oder ein getrennter Speicherabschnitt der drahtlosen Vorrichtung (nicht gezeigt). Der erste Ort kann auch in dem gleichen Kodeabschnitt wie die Lese-Schreib-Daten angeordnet sein. Wie gezeigt, ist der erste Ort 334 in dem Patchmanager-Kodeabschnitt 308 mit den Lese-Schreib-Daten 330, der Symboloffset-Adresstabelle 328, der Kodeabschnitt-Adresstabelle 326 und dem Symbolzugriffskode 332 und der Patchbibliothek (Patch-Symbolbibliothek) 336 abgelegt.
  • Der Symbolzugriffskode greift auf die Kode-Abschnitt-Adresstabelle und die Symboloffset-Adresstabelle zurück, um die genaue Adresse eines gesuchten Symbols in der Speichervorrichtung zu finden. Das heißt, der Symbolzugriffskode verschafft sich den Zugang zu der Kodeabschnitts-Adresstabelle und der Symbol-Offset-Adresstabelle um die Adresse des gesuchten Symbols zu berechnen. Falls zum Beispiel das „X"-Symbol in der Symbolbibliothek Eins gesucht wird, wird der Symbolzugang abgerufen zum Suchen des Symbolsindentifizierers (Symbol-ID) X_1, der dem „X"-Symbol entspricht (siehe 7). Der Symbolzugriffskode fragt die Symboloffset-Adresstabelle zum Bestimmen, dass der X_1-Symbolidentifizierer einen Offset von (03) von dem Start des Kodeabschnitts Eins aufweist (siehe 6), ab. Der Symbolzugriffskode wird an gerufen zum Suchen des Kodeabschnitt-Identifizierers CS_1, der dem Kodeabschnitt Eins entspricht. Der Symbolzugriffskode fragt die Kodeabschnitts-Aadresstabelle zum Bestimmen der Startadresse, die dem Kodeabschnitt-Identifizierer (Kodeabschnitt-ID) CS_1 zugeordnet ist, ab. Auf diese Weise bestimmt der Symbolzugriffskode, dass der Symbolidentifizierer X_1 von der Adresse (00100) einen Offset (03) aufweist oder an der Adresse (00103) gespeichert ist.
  • Das Symbol „X" ist ein reservierter Name, da es ein Teil des aktuellen Kode ist. Mit anderen Worten, es weist einen absoluten Datenwert auf, der damit in Verbindung steht. Der Datenwert kann eine Adresse oder ein Wert sein. Der Symbolidentifizierer ist ein angenommener Name, der zum Verfolgen des Symbols gebildet ist. Die Symboloffset-Adresstabelle und die Kodeabschnitt-Adresstabelle arbeiten beide mit Identifizierern zum Vermeiden von Verwechslungen mit reservierten Symbol- und Codeabschnittnamen. Es ist auch möglich, dass der gleiche Symbolname über viele Symbolbibliotheken hinweg verwendet wird. Der Gebrauch von Identifizierern verhindert eine Verwechslung zwischen diesen Symbolen.
  • Zurückgehend zu 1 weist der Systemsoftwareaufbau 300 weiter eine flüchtige Leseschreibspeichervorrichtung 114 typischerweise eine Speichervorrichtung mit wahlfreien Zugriff (RAM) auf. Die Lese-Schreib-Daten 330, die Kodeabschnitt-Adresstabelle 326, die Symboloffset-Adresstabelle 328, der Symbolzugriffscode 332, und die Symbolzugriffs-Kodeadresse 334 sind von dem Patchmanager-Kodeabschnitt in die flüchtige Lese-Schreib-Speichervorrichtung 114 geladen, zum Zugreifen während der Ausführung der Systemsoftware. Wie allgemein bekannt, sind die Zugriffszeiten für Kode, der im RAM gespeichert ist, wesentlich kürzer als der Zugriff auf eine nichtflüchtige Speichervorrichtung, wie zum Beispiel ein Flashmemory.
  • Zurück, die 3 beachtend, kann bemerkt werden, dass die Symbolbibliotheken nicht notwendigerweise die Kodeabschnitte, in denen sie angeordnet sind, ausfüllen, obwohl die Speicherblöcke eine Größe aufweisen, um die entsprechenden Kodeabschnitte, die darin gespeichert sind, exakt aufzunehmen. Alternativ ausgedrückt, jede der zweiten Mehrzahl von Kodeabschnitten weist eine Größe in Byte auf, die die angeordneten Symbolbibliotheken aufnehmen können, und jede aufeinanderfolgenden Speicherblöcke weist eine Größe in Byte auf, die an entsprechende Kodeabschnitte angepasst ist. Zum Beispiel kann der Kodeabschnitt Eins (302) ein 100-Byte-Abschnitt zum Aufnehmen einer Symbolbibliothek mit einer Länge von 100 Bytes sein. Der erste Speicherblock wäre 100 Bytes zum Übereinstimmen mit Bytegröße des Kodeabschnittes Eins. Jedoch kann die in den Kodeabschnitt 1 geladene Symbolbibliothek kleiner als 100 Byte sein. Wie in 3 gezeigt, weist der Kodeabschnitt Eins (302) einen unverwendeten Abschnitt 340 auf, da die Symbolbibliothek Eins (310) kleiner als 100 Bytes ist. Folglich kann jede der zweiten Mehrzahl von Kodeabschnitten eine Größe aufweisen, die größer ist als die Größe die zum Aufnehmen der angeordneten Symbolbibliotheken nötig ist. Durch „Überdimensionierung" der Kodeabschnitte können größere aktualisierte Symbolbibliotheken aufgenommen werden.
  • Die 8a und 8b betreffen Flussdiagramme, die das erfindungsgemäße Verfahren zum Verwalten der am Einsatzort aufrüstbaren Systemsoftware in einer drahtlosen Kommunikationsvorrichtung zeigen. Obwohl das Verfahren als eine Folge von mit Nummern versehenen Schritten zum Zwecke der Klarheit gezeigt ist, sollte aus dieser Nummerierung keine feste Ordnung abgeleitet werden, solange dies nicht ausdrücklich erwähnt ist. Das Verfahren beginnt bei Schritt 800. Mit Schritt 802 wird die Systemsoftware in einer ersten Mehrzahl von Symbolbibliotheken gebildet, wobei jede Symbolbibliothek Symbole beinhaltet, die sich auf eine bestimmte Funktionalität beziehen. Schritt 804 ordnet die erste Mehrzahl von Symbolbibliotheken in einer zweiten Mehrzahl von Kodeabschnitten an. Schritt 806 bewirkt die Abarbeitung der Systemsoftware in der drahtlosen Vorrichtung.
  • Die Anordnung der ersten Mehrzahl von Symbolbibliotheken in einer zweiten Mehrzahl von Kodeabschnitten in Schritt 804 beinhaltet das Starten von Symbolbibliotheken am Anfang (Start) der Kodeabschnitte und das Verfahren führt weitere Schritte aus. Schritt 805a speichert den Start der Kodeabschnitte an entsprechenden Startadressen. Schritt 805b hält eine Kodeabschnitt-Adresstabelle mit quer verweisenden Kodeabschnitts-Idenfizierern mit entsprechenden Startadressen bereit.
  • Das Anordnen einer ersten Mehrzahl von Symbolbibliotheken in einer zweiten Mehrzahl von Kodeabschnitten im Schritt 804 führt zu einer Anordnung von Symbolen die sich im Offset zu ihren entsprechenden Kodeabschnitts-Startadressen befinden. Dann wird im Schritt 805c eine Symbol-Offset-Adresstabelle mit quer verweisenden Symbolidentifizierern mit entsprechenden Offsetadressen und entsprechenden Kodeabschnitts-Identifizierern bereit gehalten.
  • Nach einigen Aspekten der Erfindung geht die Bildung von Systemsoftwarekode in einer ersten Mehrzahl von Symbolbibliotheken im Schritt 802 mit der Bildung von Lese-Schreib-Daten für eine Mehrzahl von Symbolbibliotheken einher. Durch Anordnen der ersten Mehrzahl von Symbolbibliotheken in einer zweiten Mehrzahl von Kodeabschnitten im Schritt 804 geht das Anordnen der Lese-Schreib-Daten in einem gemeinsamen genutzten Lese-Schreib-Kodeabschnitt einher.
  • Nach einigen Aspekten der Erfindung, betrifft das Bilden des Systemsoftwarekodes in einer ersten Mehrzahl von Symbolbibliotheken im Schritt 802 auch das Bilden eines Symbolzugangskodes und Anordnen der ersten Mehrzahl von Symbolbibliotheken in einer zweiten Mehrzahl von Kodeabschnitten im Schritt 804 und zwar mit einhergehend mit dem Anordnen des Symbolzugangskodes in einem ersten Kodeabschnitt. Dann führt das Verfahren einen weiteren Schritt aus. Schritt 805d speichert die Symbolzugangskodeadresse an einem ersten Ort in der Speichervorrichtung. Dann werden Kodeabschnitte als Systemsoftware in Schritt 806 abgearbeitet, was zu weiteren Unterschritten führt. Schritt 806a lädt eine dritte Mehrzahl von Symbolbibliotheken in eine flüchtige Lese-Schreib-Speichervorrichtung, typischerweise RAM. Die dritte Mehrzahl von Symbolbibliotheken muss nicht notwendigerweise alle Symbolbibliotheken in dem Patchmanager-Kodeabschnitt enthalten. Die Dritte Mehrzahl von Symbolbibliotheken können auch Symbolbibliotheken betreffen, die in anderen Kodeabschnitten außerhalb der Patchmanager-Kodeabschnitte angeordnet sind. Schritt 806b gibt als Antwort auf die Referenz des ersten Ortes der Speichervorrichtung den Zugang zu dem Symbolzugangskode heraus. Schritt 806c ruft den Symbolzugangscode auf, um die Adresse eines gesuchten Symbols zu berechnen, wobei ein entsprechender Symbolidentifizierer und ein entsprechender Kodeabschnitts-Identifizierer herangezogen werden. Schritt 806d verschafft den Zugang zu der dritten Mehrzahl von Symbolbibliotheken in dem RAM.
  • Das Abfragen des Symbolzugangscodes, um die Adresse des gesuchten Symbols im Schritt 806b zu berechnen, bedeutet auch das Zugreifen auf die Kodeabschnitts-Adresstabelle und die Symbol-Offset-Adresstabelle, um die Adresse des gesuchten Symbols zu berechnen. Typischerweise bedeutet das Speichern der Symbolzugangs-Kodeadresse an einem ersten Ort in der Speichervorrichtung im Schritt 805d auch das Speichern der Symbolzugangs-Kodeadresse in dem ersten Kodeabschnitt.
  • Nach einigen Aspekten der Erfindung, schließt das Anordnen der ersten Mehrzahl von Symbolbibliotheken in einer zweiten Mehrzahl von Kodeabschnitten im Schritt 804 auch das Anordnen von Lese-Schreib-Daten, der Kodeabschnitts-Adresstabelle, der Symbol-Offset-Adresstabelle und des Symbolzugangskodes in einem ersten Kodeabschnitt, typischerweise den Patchmanager-Kodeabschnitt mit ein. Dann werden im Schritt 806a die Lese-Schreib-Daten, die Kodeabschnitts-Adresstabelle, die Symbol-Offset-Adresstabelle, der Symbolzugangskode und die Symbolzugangs-Kodeadresse von dem ersten Kodeabschnitt in die flüchtige Lese-Schreib-Speichervorrichtung (typischerweise RAM) geladen. Schritt 806d verschafft den Zugang zu den Lese-Schreib-Daten, der Kodeabschnitts-Adresstabelle, der Symbol-Offset-Adresstabelle, dem Symbolzugangskode und der Symbolzugangskodeadresse von der flüchtigen Lese-Schreib-Speichervorrichtung.
  • Durch Speichern des Starts von Kodeabschnitten an entsprechenden Startadressen im Schritt 805a werden Unterschritte mit eingeschlossen. Schritt 805a1 schafft eine zweite Mehrzahl von angrenzend adressierten Speicherblöcken. Schritt 805a2 identifiziert jeden Speicherblock mit einem entsprechenden Kodeabschnitt. Schritt 805a3 speichert Kodeabschnitte in den identifizierten Speicherblöcken.
  • Nach einigen Aspekten der Erfindung folgt mit dem Anordnen einer ersten Mehrzahl von Symbolbibliotheken in einer zweiten Mehrzahl von Kodeabschnitten im Schritt 804 auch das Anordnen einer dritten Mehrzahl von Symbolbibliotheken in einem ersten Kodeabschnitt. Dann wird nach dem Identifizieren von jedem Speicherblock mit einem entsprechenden Kodeabschnitt im Schritt 805a2 auch ein erster Speicherblock mit einem ersten Kodeabschnitt identifiziert und das Speichern der Kodeabschnitte in den identifizierten Speicherblöcken im Schritt 805a3 führt auch zu dem Speichern der dritten Mehrzahl von Symbolbibliotheken in dem ersten Speicherblock.
  • Abwechselnd mit dem Anordnen der ersten Mehrzahl von Symbolbibliotheken in einer zweiten Mehrzahl von Kodeabschnitten im Schritt 804 erfolgt das Anordnen einer ersten Symbolbibliothek in einem ersten Kodeabschnitt. Dann erfolgt mit Identifizieren von jedem Speicherblock mit einem entsprechenden Kodeabschnitt im Schritt 805a3 ein Identifizieren eines ersten Speicherblockes mit dem ersten Kodeabschnitt, und das Speichern von Kodeabschnitten in den identifizierten Speicherblöcken im Schritt 805a3 geht mit einher mit dem Speichern der ersten Symbolbibliothek in dem ersten Speicherblock.
  • Das Anordnen der ersten Mehrzahl von Bibliotheken in einer zweiten Mehrzahl von Kodeabschnitten im Schritt 804 beinhaltet das größenmäßige Anpassen der Kodeabschnitte, damit sie zu den angeordneten Symbolbibliotheken passen. Dann wird durch Schaffen einer zweiten Mehrzahl von angrenzend adressierten Speicherblöcken im Schritt 805a1, das größenordnungsmäßige Anpassen von Speicherblöcken bewirkt, damit sie zu entsprechenden Kodeabschnitten passen. Alternativ kann das Ausrichten der ersten Mehrzahl von Symbolbibliotheken in einer zweiten Mehrzahl von Kodeabschnitten im Schritt 804 auch das größenordnungsmäßige Anpassen von Kodeabschnitten einschließen, um Größen, die größer sind, als die angeordneten Symbolbibliotheken, anzupassen.
  • Ein System und ein Verfahren wurden geschaffen für das Verwalten einer Systemsoftware für am Einsatzort erfolgende Updates über eine Funkverbindungs-Schnittstelle für drahtlose Vorrichtungen. Das System ist leicht aktualisierbar wegen dem Anordnen der Symbolbibliotheken in Kodeabschnitten, mit Tabellen, die den Zugang zu Startadressen von den Kodeabschnitten in der Speichervorrichtung und den Offsetadressen der Symbole in den Symbolbibliotheken verschaffen. Obwohl einige Beispiele von diesen Bibliothekanordnungen und Querverweisungstabellen für Anzeigefunktionen angegeben wurden, ist die Erfindung nicht beschränkt auf genau diese Beispiele. Andere Variationen und Ausführungsformen der Erfindung werden für diejenigen, die im Fachgebiet bewandert sind, sich ergeben.

Claims (23)

  1. Verfahren zum Verwalten von Software in einer drahtlosen Kommunikationsvorrichtung (104), wobei das Verfahren aufweist: Anordnen einer Mehrzahl von Symbolen in eine Mehrzahl von Code-Abschnitten (302, 304, 306, 308), Bilden einer Symbol-Offset-Adresstabelle (328), die die Symbole mit jeweiligen Offset-Adressen und jeweiligen Code-Abschnitten (302, 304, 306, 308) querverweist, Empfangen einer Software-Aktualisierung (102) mittels einer drahtlosen Kommunikation, wobei die Software-Aktualisierung (102) ein Aktualisierungs-Symbol und einen Aktualisierungs-Symbol-Offset-Adresstabellen-Abschnitt zum Aktualisieren von zumindest einem Abschnitt der Symbol-Offset-Adresstabelle (328) aufweist, Speichern des Aktualisierungs-Symbols in einem der Code-Abschnitte (302, 304, 306, 308), Integrieren des Aktualisierungs-Symbol-Offset-Adresstabellen-Abschnitts in die Symbol-Offset-Adresstabelle (328), Speichern des Anfangs (318, 320, 322, 324, 408, 410, 412, 414) von Code-Abschnitten (302, 304, 306, 308) in jeweiligen Startadressen, und Beibehalten einer Code-Abschnitts-Adresstabelle, die Code-Abschnitte (302, 304, 306, 308) mit jeweiligen Startadressen (318, 320, 322, 324, 408, 410, 412, 414) querverweist.
  2. Verfahren gemäß Anspruch 1, wobei ein Symbol Lese-Schreib-Daten (330) aufweist und wobei der Schritt des Anordnens ferner das Anordnen der Lese-Schreib-Daten (330) in einem gemeinsam genutzten Lese-Schreib-Code-Abschnitt aufweist.
  3. Verfahren gemäß Anspruch 1, wobei der Schritt des Ausbildens ferner aufweist: Bilden eines Symbol-Zugriffsberechtigungs-Codes (332), Anordnen des Symbol-Zugriffsberechtigungs-Codes (332) in einem Code-Abschnitt (302, 304, 306, 308), Speichern der Adresse des Symbol-Zugriffsberechtigungs-Codes (332) in einem Speicher, und Aufrufen des Symbol-Zugriffsberechtigungs-Codes (332) zum Berechnen der Adresse eines gesuchten Symbols mittels eines jeweiligen Symbol-Identifizierers und eines jeweiligen Code-Abschnitt-Identifizierers.
  4. Verfahren gemäß Anspruch 3, wobei der Schritt des Aufrufens ferner das Zugreifen auf die Code-Abschnitts-Adresstabelle und die Symbol-Offset-Adresstabelle (328) zum Berechnen der Adresse des gesuchten Symbols aufweist.
  5. Verfahren gemäß Anspruch 3, wobei das Speichern der Symbol-Zugriffsberechtigungs-Code-Adresse (334) an einer ersten Stelle im Speicher das Speichern der Symbol-Zugriffsberechtigungs-Code-Adresse (334) in dem ersten Code-Abschnitt (302, 304, 306, 308) aufweist.
  6. Verfahren gemäß Anspruch 3, wobei der Schritt des Anordnens des Symbol-Zugriffsberechtigungs-Codes (332) ferner das Anordnen von Lese-Schreib-Daten (330), der Code-Abschnitts-Adresstabelle, der Symbol-Offset-Adresstabelle (328) und des Symbol-Zugriffsberechtigungs-Codes (332) alle in einem einzelnen der Code-Abschnitte (302, 304, 306, 308) aufweist.
  7. Verfahren gemäß Anspruch 6, ferner den Schritt des Ausführens einer am Einsatzort aufrüstbaren System-Software aufweisend, wobei der Schritt des Ausführens aufweist: Laden der Lese-Schreib-Daten (330), der Code-Abschnitts-Adresstabelle, der Symbol-Offset-Adresstabelle (328), des Symbol-Zugriffsberechtigungs-Codes (332) und der Adresse des Symbol-Zugriffsberechtigungs-Codes (332) aus einem Code-Abschnitt (302, 304, 306, 308) in einen flüchtigen Lese-Schreib-Speicher (114), und Zugreifen auf die Lese-Schreib-Daten (330), die Code-Abschnitts-Adresstabelle, die Symbol-Offset-Adresstabelle (328), den Symbol-Zugriffsberechtigungs-Code (332) und die Symbol-Zugriffsberechtigungs-Code-Adresse (334) aus dem flüchtigen Lese-Schreib-Speicher.
  8. Verfahren gemäß Anspruch 1, wobei das Speichern des Anfangs (318, 320, 322, 324, 408, 410, 412, 414) von Code-Abschnitten (302, 304, 306, 308) an jeweiligen Startadressen (318, 320, 322, 324, 408, 410, 412, 414) aufweist: Erzeugen einer Mehrzahl von benachbart adressierten Speicherblöcken, Identifizieren von jedem Speicherblock mit einem jeweiligen Code-Abschnitt (302, 304, 306, 308), und Speichern von Code-Abschnitten (302, 304, 306, 308) in den jeweiligen identifizierten Speicherblöcken.
  9. Verfahren gemäß Anspruch 8, wobei das Anordnen der Mehrzahl von Symbolen in eine Mehrzahl von Code-Abschnitten (302, 304, 306, 308) das Anordnen von zwei oder mehreren Symbolen in einem einzelnen Code-Abschnitt (302, 304, 306, 308) aufweist.
  10. Verfahren gemäß Anspruch 8, wobei das Anordnen der Mehrzahl von Symbolen in eine Mehrzahl von Code-Abschnitten (302, 304, 306, 308) das Anordnen eines einzelnen Symbols in einem einzelnen Code-Abschnitt (302, 304, 306, 308) aufweist.
  11. Verfahren gemäß Anspruch 8, wobei der Schritt des Anordnens der ersten Mehrzahl von Symbolen das Kalibrieren eines Code-Abschnitts (302, 304, 306, 308) aufweist, um Größen aufzunehmen, die größer sind als das jeweilige Symbol.
  12. Drahtlose Kommunikationsvorrichtung (104), die eine am Einsatzort aufrüstbare System-Software aufweist, aufweisend: eine ausführbare am Einsatzort aufrüstbare System-Software, die in eine Mehrzahl von Code-Abschnitten (302, 304, 306, 308) aufgeteilt ist, wobei jeder Code-Abschnitt (302, 304, 306, 308) ein oder mehrere Symbole aufweist, wobei die Symbole jeweilige Offset-Adressen aufweisen, die Offsets von Startadressen (318, 320, 322, 324, 408, 410, 412, 414) von jeweiligen Code-Abschnitten (302, 304, 306, 308) aufweisen, eine Symbol-Offset-Adresstabelle (328), die Symbole mit jeweiligen Offset-Adressen und jeweiligen Code-Abschnitten (302, 304, 306, 308) querverweist, und eine Code-Abschnitts-Adresstabelle, die Code-Abschnitte (302, 304, 306, 308) mit jeweiligen Code-Abschnitts-Startadressen (318, 320, 322, 324, 408, 410, 412, 414) in einem Speicher querverweist.
  13. Drahtlose Kommunikationsvorrichtung gemäß Anspruch 12, wobei die Mehrzahl von Code-Abschnitten (302, 304, 306, 308) einen gemeinsam genutzten Lese-Schreib-Abschnitt aufweist, und wobei die Mehrzahl von Symbol-Bibliotheken Lese-Schreib-Daten (330) aufweist, die in dem Lese-Schreib-Abschnitt angeordnet sind.
  14. Drahtlose Kommunikationsvorrichtung gemäß Anspruch 12, wobei die Mehrzahl von Symbolen einen Symbol-Zugriffsberechtigungs-Code (332) aufweist, der in einem ersten Code-Abschnitt (302, 304, 306, 308) zum Berechnen der Adresse eines gesuchten Symbols angeordnet ist, und wobei der Speicher den in einer Adresse gespeicherten Symbol-Zugriffsberechtigungs-Code (332) aufweist, ferner aufweisend: eine erste Stelle zum Speichern der Symbol-Zugriffsberechtigungs-Code-Adresse (334).
  15. Drahtlose Kommunikationsvorrichtung gemäß Anspruch 14, wobei der Symbol-Zugriffsberechtigungs-Code (332) auf die Code-Abschnitts-Adresstabelle und die Symbol-Offset-Adresstabelle (328) zum Berechnen der Adresse des gesuchten Symbols zugreift.
  16. Drahtlose Kommunikationsvorrichtung gemäß Anspruch 15, wobei die erste Stelle in dem ersten Code-Abschnitt (302, 304, 306, 308) ist.
  17. Drahtlose Kommunikationsvorrichtung gemäß Anspruch 15, wobei das eine oder die mehreren Symbole aufweist: Lese-Schreib-Daten (330), die Code-Abschnitts-Adresstabelle, die Symbol-Offset-Adresstabelle (328) und den Symbol-Zugriffsberechtigungs-Code (332), der in dem ersten Code-Abschnitt (302, 304, 306, 308) angeordnet ist.
  18. Drahtlose Kommunikationsvorrichtung gemäß Anspruch 17, ferner aufweisend: einen flüchtigen Lese-Schreib-Speicher (114), wobei die Lese-Schreib-Daten (330), die Code-Abschnitts-Adresstabelle, die Symbol-Offset-Adresstabelle (328), der Symbol-Zugriffsberechtigungs-Code (332) und die Symbol-Zugriffsberechtigungs-Code-Adresse (334) in den flüchtigen Lese-Schreib-Speicher (114) aus dem ersten Code-Abschnitt (302, 304, 306, 308) für einen Zugriff während der Ausführung der System-Software geladen werden.
  19. Drahtlose Kommunikationsvorrichtung gemäß Anspruch 12, wobei der Speicher eine Mehrzahl von benachbart adressierten Speicherblöcken aufweist, wobei jeder Speicherblock einen jeweiligen Code-Abschnitt (302, 304, 306, 308) aus der Mehrzahl von Code-Abschnitten (302, 304, 306, 308) speichert.
  20. Drahtlose Kommunikationsvorrichtung gemäß Anspruch 19, ferner einen Speicherblock zum Speichern eines ersten Code-Abschnitts (302, 304, 306, 308) aufweisend, wobei der erste Code-Abschnitt (302, 304, 306, 308) eine Mehrzahl von Symbol-Bibliotheken aufweist, die in dem ersten Code-Abschnitt (302, 304, 306, 308) angeordnet sind.
  21. Drahtlose Kommunikationsvorrichtung gemäß Anspruch 19, ferner einen Speicherblock zum Speichern eines ersten Code-Abschnitts (302, 304, 306, 308) aufweisend, wobei der erste Code-Abschnitt (302, 304, 306, 308) eine einzelne Symbol-Bibliothek aufweist, die in dem ersten Code-Abschnitt (302, 304, 306, 308) angeordnet ist.
  22. Drahtlose Kommunikationsvorrichtung gemäß Anspruch 19, wobei jeder von der Mehrzahl von Code-Abschnitten (302, 304, 306, 308) eine Größe aufweist, die größer ist als die Größe, die zum Aufnehmen der angeordneten Symbole benötigt wird.
  23. Drahtlose Kommunikationsvorrichtung gemäß Anspruch 12, wobei der Speicher ein beschreibbarer nicht-flüchtiger Speicher ist.
DE60225293T 2001-07-26 2002-07-22 System und verfahren zum organisieren der software eines im feld aktualisierbaren drahtlosen kommunikationsgerätes Expired - Lifetime DE60225293T2 (de)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US09/916,460 US7159214B2 (en) 2001-07-26 2001-07-26 System and method for compacting field upgradeable wireless communication device software code sections
US09/917,026 US7328007B2 (en) 2001-07-26 2001-07-26 System and method for organizing wireless communication device system software
US09/916,900 US7027806B2 (en) 2001-07-26 2001-07-26 System and method for field downloading a wireless communications device software code section
US916460 2001-07-26
US917026 2001-07-26
US916900 2001-07-26
US927131 2001-08-10
US09/927,131 US7143407B2 (en) 2001-07-26 2001-08-10 System and method for executing wireless communications device dynamic instruction sets
US09/969,305 US7386846B2 (en) 2001-07-26 2001-10-02 System and method for the management of wireless communications device system software downloads in the field
US969305 2001-10-02
PCT/IB2002/002867 WO2003010658A2 (en) 2001-07-26 2002-07-22 System and method for organizing field upgradable wireless communication device software

Publications (2)

Publication Number Publication Date
DE60225293D1 DE60225293D1 (de) 2008-04-10
DE60225293T2 true DE60225293T2 (de) 2009-03-05

Family

ID=33163011

Family Applications (3)

Application Number Title Priority Date Filing Date
DE60225293T Expired - Lifetime DE60225293T2 (de) 2001-07-26 2002-07-22 System und verfahren zum organisieren der software eines im feld aktualisierbaren drahtlosen kommunikationsgerätes
DE60239363T Expired - Lifetime DE60239363D1 (de) 2001-07-26 2002-07-23 System und Verfahren zum Aktualisieren von persistenten Daten in einem drahtlosen Kommunikationsgerät
DE60224281T Expired - Lifetime DE60224281T2 (de) 2001-07-26 2002-07-23 System und verfahren zur kompaktierung von im feld aktualisierbaren softwarekodeabschnitten eines drahtlosen kommunikationsgerätes

Family Applications After (2)

Application Number Title Priority Date Filing Date
DE60239363T Expired - Lifetime DE60239363D1 (de) 2001-07-26 2002-07-23 System und Verfahren zum Aktualisieren von persistenten Daten in einem drahtlosen Kommunikationsgerät
DE60224281T Expired - Lifetime DE60224281T2 (de) 2001-07-26 2002-07-23 System und verfahren zur kompaktierung von im feld aktualisierbaren softwarekodeabschnitten eines drahtlosen kommunikationsgerätes

Country Status (5)

Country Link
US (3) US7143407B2 (de)
EP (1) EP1973035B1 (de)
JP (3) JP4728359B2 (de)
AU (1) AU2001297781A1 (de)
DE (3) DE60225293T2 (de)

Families Citing this family (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409685B2 (en) * 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US8875116B2 (en) * 2000-11-17 2014-10-28 Hewlett-Packard Development Company, L.P. Network for updating firmware and / or software in wireless communication devices
US7082549B2 (en) * 2000-11-17 2006-07-25 Bitfone Corporation Method for fault tolerant updating of an electronic device
US7401320B2 (en) * 2000-11-17 2008-07-15 Hewlett-Packard Development Company, L.P. Operator network that routes customer care calls based on subscriber/device profile and CSR skill set
US7725889B2 (en) 2003-01-13 2010-05-25 Hewlett-Packard Development Company, L.P. Mobile handset capable of updating its update agent
US8479189B2 (en) * 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
US20040068721A1 (en) * 2000-11-17 2004-04-08 O'neill Patrick Network for updating firmware and / or software in wireless communication devices
US20030182414A1 (en) 2003-05-13 2003-09-25 O'neill Patrick J. System and method for updating and distributing information
JP2002259869A (ja) * 2001-03-01 2002-09-13 Fujitsu Ltd 携帯機器制御方法、icカード不正使用防止方法、携帯機器の設定を変更するプログラム及びicカード不正使用防止のためのプログラム
US7734285B2 (en) * 2001-04-03 2010-06-08 Qualcomm Incorporated Method and apparatus for network initiated uninstallation of application program over wireless network
US7194503B2 (en) * 2001-06-29 2007-03-20 Microsoft Corporation System and method to query settings on a mobile device
US7386846B2 (en) * 2001-07-26 2008-06-10 Kyocera Wireless Corp. System and method for the management of wireless communications device system software downloads in the field
US7143407B2 (en) * 2001-07-26 2006-11-28 Kyocera Wireless Corp. System and method for executing wireless communications device dynamic instruction sets
US7536181B2 (en) * 2002-02-15 2009-05-19 Telefonaktiebolaget L M Ericsson (Publ) Platform system for mobile terminals
US7363033B2 (en) * 2002-02-15 2008-04-22 Telefonaktiebolaget Lm Ericsson (Publ) Method of and system for testing equipment during manufacturing
US7415270B2 (en) * 2002-02-15 2008-08-19 Telefonaktiebolaget L M Ericsson (Publ) Middleware services layer for platform system for mobile terminals
SE520932C2 (sv) * 2002-03-18 2003-09-16 Optillion Ab Kommunikationsmodul
US20040194081A1 (en) * 2002-03-23 2004-09-30 Iyad Qumei Update system for facilitating firmware/software update in a mobile handset
US7369851B2 (en) * 2002-04-19 2008-05-06 Hewlett-Packard Development Company, L.P. Communications network capable of determining SIM card changes in electronic devices
US7367027B1 (en) 2002-08-22 2008-04-29 Hewlett-Packard Development Company, L.P. System for generating efficient and compact update packages
US7340736B2 (en) * 2002-08-22 2008-03-04 Hewlett-Packard Development Company, L.P. Electronic device with an update agent that employs preprocessing techniques for update
US7669197B1 (en) 2002-09-12 2010-02-23 Hewlett-Packard Development Company, L.P. Embedded system employing component architecture platform
US7472380B1 (en) 2002-09-23 2008-12-30 Hewlett-Packard Development Company, L.P. Processing system with component architecture platform support
US7461372B2 (en) * 2002-10-11 2008-12-02 Hewlett-Packard Development Company, L.P. System for optimizing distribution of information employing a universal dictionary
AU2003284292A1 (en) * 2002-10-21 2004-05-13 Bitfone Corporation System with required enhancements to syncml dm environment to support firmware updates
CA2502917A1 (en) * 2002-10-22 2004-05-06 Siemens Aktiengesellschaft Method for checking the quality of data transmission between a read/write device (slg) and at least one mobile data memory (mds) and read/write device (slg) and mobile data memory(mds) for using the method
US20040093592A1 (en) 2002-11-13 2004-05-13 Rao Bindu Rama Firmware update in electronic devices employing SIM card for saving metadata information
US7984435B2 (en) * 2002-11-13 2011-07-19 Hewlett-Packard Development Company, L.P. Update system employing reference software to reduce number of update packages
US7844734B2 (en) * 2002-11-18 2010-11-30 Innopath Software, Inc. Dynamic addressing (DA) using a centralized DA manager
US7096463B2 (en) * 2002-11-20 2006-08-22 Hewlett-Packard Development Company, Lp. System and apparatus for dynamically upgrading concentrated executable computer software code
US7047448B2 (en) * 2002-11-21 2006-05-16 Bitfone Corporation Software self-repair toolkit for electronic devices
US6996818B2 (en) * 2002-11-22 2006-02-07 Bitfone Corporation Update system for facilitating software update and data conversion in an electronic device
US7434216B1 (en) 2002-11-25 2008-10-07 Hewlett-Packard Development Company, L.P. Update package generator that employs genetic evolution to determine bank order
WO2004061615A2 (en) * 2002-12-31 2004-07-22 Bitfone Corporation Management of service components installed in an electronic device in a mobile services network
US7480907B1 (en) 2003-01-09 2009-01-20 Hewlett-Packard Development Company, L.P. Mobile services network for update of firmware/software in mobile handsets
US7890427B1 (en) 2003-01-09 2011-02-15 Hewlett-Packard Development Company, L.P. Authentication of notifications received in an electronic device in a mobile services network
WO2004066091A2 (en) * 2003-01-21 2004-08-05 Bitfone Corporation Update system capable of updating software across multiple flash chips
US6941453B2 (en) * 2003-02-11 2005-09-06 Bitfone Corporation System and method for determining if a device needs to be updated and locating and invoking an update agent to update the firmware or software in the device
US20040230965A1 (en) * 2003-02-28 2004-11-18 Harri Okkonen Mobile handset network that facilitates interaction between a generic intelligent responsive agent and a service broker server
US8082339B2 (en) 2003-02-28 2011-12-20 Hewlett-Packard Development Company, L.P. Electronic device network having graceful denial of service
US7689981B1 (en) 2003-02-28 2010-03-30 Hewlett-Packard Development Company, L.P. Mobile handset with efficient interruption point detection during a multiple-pass update process
US7881745B1 (en) 2003-03-10 2011-02-01 Hewlett-Packard Development Company, L.P. Electronic device network employing provisioning techniques to update firmware and/or software in electronic devices
US7356727B1 (en) 2003-03-10 2008-04-08 Hewlett-Packard Development Company, L.P. Electronic device employing efficient fault tolerance
US7548986B1 (en) 2003-03-17 2009-06-16 Hewlett-Packard Development Company, L.P. Electronic device network providing streaming updates
WO2004086196A2 (en) * 2003-03-24 2004-10-07 Bitfone Corporation Electronic device supporting multiple update agents
US7587411B2 (en) * 2003-03-27 2009-09-08 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7975147B1 (en) 2003-03-31 2011-07-05 Hewlett-Packard Development Company, L.P. Electronic device network supporting enciphering and deciphering and update generation in electronic devices
US7987449B1 (en) 2003-05-22 2011-07-26 Hewlett-Packard Development Company, L.P. Network for lifecycle management of firmware and software in electronic devices
US7747994B1 (en) 2003-06-04 2010-06-29 Hewlett-Packard Development Company, L.P. Generator based on multiple instruction streams and minimum size instruction set for generating updates to mobile handset
US7644404B2 (en) 2003-06-04 2010-01-05 Hewlett-Packard Development Company, L.P. Network having customizable generators and electronic device having customizable updating software
US7584466B1 (en) 2003-06-16 2009-09-01 Hewlett-Packard Development Company, L.P. Management tree management in a mobile handset
US8046753B1 (en) 2003-06-18 2011-10-25 Hewlett-Packard Development Company, L.P. Mobile handset with symbian OS and update agent
US8572597B2 (en) * 2003-06-20 2013-10-29 Samsung Electronics Co., Ltd. Apparatus and method for performing an over-the-air software update in a dual processor mobile station
WO2005001665A2 (en) * 2003-06-27 2005-01-06 Bitfone Corporation System and method for downloading update packages into a mobile handset in a carrier network
US7343443B1 (en) 2003-07-08 2008-03-11 Hewlett-Packard Development Company, L.P. Updated package generation based on analysis of bank dependency
EP1652100A4 (de) * 2003-07-09 2009-12-16 Hewlett Packard Development Co Trägernetzwerk mit der fähigkeit zur durchführung einer ferndiagnose in einem mobilen handapparat
US7366125B1 (en) 2003-07-24 2008-04-29 Bbn Technologies Corp. Extensible satellite communication system
EP1652075B1 (de) * 2003-07-29 2018-10-31 Qualcomm Incorporated Mobiler handapparat mit in hardware implementiertem aktualisierungs-agent
US7886093B1 (en) 2003-07-31 2011-02-08 Hewlett-Packard Development Company, L.P. Electronic device network supporting compression and decompression in electronic devices
CN1275480C (zh) * 2003-07-31 2006-09-13 上海贝尔阿尔卡特股份有限公司 一种多标准软件无线电(sdr)基带处理方法
KR101003888B1 (ko) * 2003-09-03 2010-12-30 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 전자 장치에서의 3-단계 부팅 프로세스
US8694620B2 (en) * 2003-09-08 2014-04-08 Microsoft Corporation System and method for an OMA DM extension to manage mobile device configuration settings
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7668612B1 (en) 2003-09-18 2010-02-23 Hewlett-Packard Development Company, L.P. System and method for efficient manufacture and update of electronic devices
WO2005031570A1 (en) 2003-09-26 2005-04-07 Bitfone Corporation Update package catalog for update package transfer between generator and content server in a network
KR101085987B1 (ko) * 2003-10-03 2011-11-22 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 모바일 장치들의 등록 및 모바일 장치들의 관리를 위한네트워크 및 방법
US7716276B1 (en) 2003-11-17 2010-05-11 Hewlett-Packard Development Company, L.P. Network that supports user-initiated device management
US20050125412A1 (en) * 2003-12-09 2005-06-09 Nec Laboratories America, Inc. Web crawling
US7797693B1 (en) 2003-12-12 2010-09-14 Hewlett-Packard Development Company, L.P. NAND mobile devices capable of updating firmware or software in a manner analogous to NOR mobile devices
US9323515B1 (en) 2004-01-16 2016-04-26 Qualcomm Incorporated Network with broker for device management
US8838754B1 (en) 2004-01-26 2014-09-16 Qualcomm Incorporated Mobile device with a management forest in a device management network
US7984485B1 (en) 2004-01-29 2011-07-19 Hewlett-Packard Development Company, L.P. Ingestion interface for transferring update package containers into a distribution network
US7551912B2 (en) * 2004-02-12 2009-06-23 Hewlett-Packard Development Company, L.P. Device management network that facilitates selective billing
US20050289214A1 (en) * 2004-03-04 2005-12-29 Interdigital Technology Corporation Mobility enabled system architecture software architecture and application programing interface
US7739679B2 (en) * 2004-04-06 2010-06-15 Hewlett-Packard Development Company, L.P. Object ordering tool for facilitating generation of firmware update friendly binary image
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US7971199B1 (en) 2004-05-03 2011-06-28 Hewlett-Packard Development Company, L.P. Mobile device with a self-updating update agent in a wireless network
US7689982B1 (en) 2004-05-07 2010-03-30 Hewlett-Packard Development Company, L.P. Transparent linker profiler tool with profile database
US7543118B1 (en) 2004-05-07 2009-06-02 Hewlett-Packard Development Company, L.P. Multiple variance platform for the management of mobile devices
GB2414138B (en) * 2004-05-12 2006-11-22 Nec Technologies Software update apparatus and method
US7657886B1 (en) 2004-06-03 2010-02-02 Hewlett-Packard Development Company, L.P. Mobile device with a MMU for faster firmware updates in a wireless network
US7609650B2 (en) * 2004-07-08 2009-10-27 Carrier Iq, Inc. Collection of data at target wireless devices using data collection profiles
US7551922B2 (en) * 2004-07-08 2009-06-23 Carrier Iq, Inc. Rule based data collection and management in a wireless communications network
US20060023642A1 (en) * 2004-07-08 2006-02-02 Steve Roskowski Data collection associated with components and services of a wireless communication network
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US20060175271A1 (en) * 2005-01-31 2006-08-10 Emrey David A Apparatus and method of holding a golf score card and writing instrument, and golf bag and system incorporating the same
US8010100B2 (en) * 2005-03-15 2011-08-30 Mformation Technologies, Inc. System and method for monitoring and measuring end-to-end performance using wireless devices
US8074208B2 (en) * 2005-04-18 2011-12-06 Research In Motion Limited System and method for generating safe and efficient component relationships in wireless applications
US7861225B2 (en) * 2005-05-31 2010-12-28 Qualcomm Incorporated System and method to combine debugging messages from diverse applications or operating systems executed within a mobile device
US7729326B2 (en) * 2005-05-31 2010-06-01 Symbol Technologies, Inc. Wireless network system with wireless access ports
CA2578602C (en) * 2005-07-05 2012-04-10 Carrier Iq, Inc. Rule based data collection and management in a wireless communications network
US8009605B1 (en) * 2005-08-08 2011-08-30 Rockwell Collins, Inc. Low power, programmable modem for software defined radio applications
US20070132774A1 (en) * 2005-12-01 2007-06-14 Samsung Electronics Co., Ltd. System and method for a patch minimization tool
US8948012B2 (en) * 2005-12-29 2015-02-03 Nokia Corporation System and method for interactive session provision
EP2025095A2 (de) 2006-06-08 2009-02-18 Hewlett-Packard Development Company, L.P. Geräteverwaltung in einem netzwerk
WO2008014454A2 (en) 2006-07-27 2008-01-31 Hewlett-Packard Development Company, L.P. User experience and dependency management in a mobile device
US20080079539A1 (en) * 2006-08-15 2008-04-03 Daley Robert C Friends Finder Service for a Mobile Device in a Network
US8170540B2 (en) * 2006-09-07 2012-05-01 Qualcomm Incorporated System and methods for remotely upgrading software applications
US8209669B2 (en) * 2007-04-20 2012-06-26 Sap Ag System and method for supporting software
US8161474B2 (en) * 2007-12-14 2012-04-17 Sharp Laboratories Of America, Inc. Diagnostic information preservation during installations of over the air update of wireless handset software
US8234633B2 (en) * 2008-01-09 2012-07-31 Sap Ag Incident simulation support environment and business objects associated with the incident
US8219595B2 (en) * 2008-02-14 2012-07-10 Hewlett-Packard Development Company, L.P. System and method for efficient remote data access for server management
US8476686B2 (en) 2008-07-09 2013-07-02 Infineon Technologies Ag Memory device and method for making same
US8756256B2 (en) * 2010-05-26 2014-06-17 Qualcomm Incorporated Method and systems for the management of non volatile items and provisioning files for a communication device with multiple service accounts
US8595469B2 (en) 2010-06-24 2013-11-26 International Business Machines Corporation Diagnose instruction for serializing processing
JP2012133690A (ja) 2010-12-24 2012-07-12 Yokogawa Electric Corp 無線フィールド機器、機器管理システム、及び機器管理方法
CN102508657B (zh) * 2011-10-18 2014-10-08 北京空间飞行器总体设计部 一种航天器嵌入式软件模块维护方法
CN102520977B (zh) * 2011-11-22 2014-11-19 北京空间飞行器总体设计部 一种航天器嵌入式运行程序加快上行方法
US20140274181A1 (en) * 2013-03-15 2014-09-18 Rosemount Inc. Resource optimization in a field device
US9395970B2 (en) * 2014-09-30 2016-07-19 Sony Interactive Entertainment America Llc Method and apparatus for providing a time period for starting an application
EP3024260A1 (de) * 2014-11-21 2016-05-25 Gemalto M2M GmbH Verfahren zum Betrieb einer Drahtlos-Kommunikationseinheit
US10567302B2 (en) * 2016-06-01 2020-02-18 At&T Intellectual Property I, L.P. Enterprise business mobile dashboard
US10831641B2 (en) 2016-09-08 2020-11-10 At&T Intellectual Property I, L.P. Method and apparatus for determining a performance impact by a software upgrade of a mobile user endpoint device
US11206527B2 (en) * 2016-12-13 2021-12-21 Deutsche Telekom Ag Method for provisioning enhanced communication capabilities to user equipment
US10795659B1 (en) * 2017-11-02 2020-10-06 Virtuozzo International Gmbh System and method for live patching processes in user space
CN111542037B (zh) * 2020-05-11 2023-07-21 深圳康盈半导体科技有限公司 指令传输方法、装置及存储介质
CN111641610B (zh) * 2020-05-19 2023-04-07 深信服科技股份有限公司 远程响应和远程控制方法、装置、设备及存储介质
TWI786543B (zh) * 2021-02-17 2022-12-11 韋僑科技股份有限公司 無線通訊模組及其應用裝置控制系統與應用裝置控制方法

Family Cites Families (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4852047A (en) * 1987-04-14 1989-07-25 Universal Automation Inc. Continuous flow chart, improved data format and debugging system for programming and operation of machines
GB8901932D0 (en) 1989-01-28 1989-03-15 Int Computers Ltd Data processing system
US5046082A (en) * 1990-05-02 1991-09-03 Gte Mobile Communications Service Corporation Remote accessing system for cellular telephones
FR2662891A1 (fr) 1990-05-30 1991-12-06 Cit Alcatel Dispositif de telechargement de logiciel pour un terminal de telecommunication.
EP0532643B1 (de) * 1990-06-04 1998-12-23 3Com Corporation Verfahren zur software-optimierung für irgendeine einer vielfältigkeit von ändernden architekturen
US5193180A (en) 1991-06-21 1993-03-09 Pure Software Inc. System for modifying relocatable object code files to monitor accesses to dynamically allocated memory
US5337255A (en) * 1991-10-30 1994-08-09 Xilinx, Inc. Method for implementing set/reset synchronously or asynchronously in a programmable logic device
JPH05327582A (ja) * 1992-05-19 1993-12-10 Fujitsu Ltd 携帯電話機のプログラムメモリ書き替え方式
CA2101716A1 (en) * 1992-10-29 1994-04-30 Philip S. Kasten Debugging/modifying of software systems
JPH07182178A (ja) * 1993-02-19 1995-07-21 Nec Corp プリロードモジュール修正システム
US5867712A (en) * 1993-04-05 1999-02-02 Shaw; Venson M. Single chip integrated circuit system architecture for document instruction set computing
US5507009A (en) * 1993-08-13 1996-04-09 Motorola, Inc. Method for reprogramming a communication unit's access to a wireless communication system
US5481706A (en) * 1993-11-01 1996-01-02 International Business Machines Corporation System and method for creating thread-safe shared libraries
US5845090A (en) * 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
BR9506894B1 (pt) * 1994-02-24 2010-08-10 método de operação de um sistema de telecomunicações celular, método de ativação de uma estação móvel celular e estação móvel em um sistema de telecomunicações rádio-celular.
JP3140906B2 (ja) * 1994-04-12 2001-03-05 株式会社エヌ・ティ・ティ・データ システムファイルの更新及び復元方法
US5734904A (en) * 1994-11-14 1998-03-31 Microsoft Corporation Method and system for calling one of a set of routines designed for direct invocation by programs of a second type when invoked by a program of the first type
JPH08166877A (ja) * 1994-12-13 1996-06-25 Olympus Optical Co Ltd 修正プログラムの実行可能なワンチップマイクロコンピュータ及びrom修正可能なマイクロコンピュータ
US5748964A (en) * 1994-12-20 1998-05-05 Sun Microsystems, Inc. Bytecode program interpreter apparatus and method with pre-verification of data type restrictions
DE19502728A1 (de) * 1995-01-28 1996-08-01 Philips Patentverwaltung Telekommunikationsvorrichtung
US5673317A (en) * 1995-03-22 1997-09-30 Ora Electronics, Inc. System and method for preventing unauthorized programming of wireless network access devices
JP3242278B2 (ja) * 1995-03-24 2001-12-25 東芝テック株式会社 画像処理装置
US5699275A (en) * 1995-04-12 1997-12-16 Highwaymaster Communications, Inc. System and method for remote patching of operating code located in a mobile unit
US5835749A (en) * 1995-05-05 1998-11-10 Apple Computer, Inc. Method and apparatus for providing dynamically linked libraries
US5790856A (en) * 1995-05-08 1998-08-04 Apple Computer, Inc. Methods, apparatus, and data structures for data driven computer patches and static analysis of same
GB2301747A (en) * 1995-06-02 1996-12-11 Dsc Communications Remotely programmable subscriber terminal in a wireless telecommunications system
GB2301987B (en) * 1995-06-05 2000-01-12 Nokia Mobile Phones Ltd Radio telephone text transmission system
US5832086A (en) 1995-09-27 1998-11-03 Motorola, Inc. Method for updating a communication unit parameter in a wireless communication system
DE19543843C2 (de) 1995-11-24 2001-02-08 Acer Peripherals Inc Verfahren zur Aktualisierung der Software in einem mikrocomputergestützten Telefon
US5826005A (en) * 1996-03-22 1998-10-20 Sun Microsystems, Inc. System and method for diagnosing computer program faults through the provision of program probe points and referenceable diagnostic program probes
US5875242A (en) * 1996-07-26 1999-02-23 Glaser; Lawrence F. Telecommunications installation and management system and method
US6643506B1 (en) * 1996-08-07 2003-11-04 Telxon Corporation Wireless software upgrades with version control
US6308061B1 (en) * 1996-08-07 2001-10-23 Telxon Corporation Wireless software upgrades with version control
JP2002515999A (ja) 1996-08-28 2002-05-28 ウィンド リヴァー システムズ インコーポレイテッド 複数プロセッサーで分割されるソフトウエア診断のためのツール
US5901225A (en) * 1996-12-05 1999-05-04 Advanced Micro Devices, Inc. System and method for performing software patches in embedded systems
US5960356A (en) * 1996-12-06 1999-09-28 Ericsson, Inc. Paging a mobile station within a public land mobile network (PLMN)
US6381741B1 (en) * 1998-05-18 2002-04-30 Liberate Technologies Secure data downloading, recovery and upgrading
US6247065B1 (en) * 1996-12-26 2001-06-12 At&T Corp. Messaging platform process
US6026400A (en) * 1997-02-19 2000-02-15 Casio Computer Co., Ltd. Information processors which provide advice information, and recording mediums
US6023620A (en) * 1997-02-26 2000-02-08 Telefonaktiebolaget Lm Ecrisson Method for downloading control software to a cellular telephone
WO1998041044A2 (en) * 1997-03-14 1998-09-17 Northern Telecom Inc. Method and apparatus for network initiated parameter updating
US5938766A (en) * 1997-03-21 1999-08-17 Apple Computer, Inc. System for extending functionality of a digital ROM using RAM/ROM jump tables and patch manager for updating the tables
US6047071A (en) * 1997-04-15 2000-04-04 Nokia Mobile Phones Network-initiated change of mobile phone parameters
US6145098A (en) 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6018543A (en) * 1997-05-21 2000-01-25 Itt Manufacturing Enterprises, Inc. Noisy channel avoidance method in a digital communication system
JP4062749B2 (ja) * 1997-06-13 2008-03-19 セイコーエプソン株式会社 生体同調度検出装置
SE512110C2 (sv) * 1997-06-17 2000-01-24 Ericsson Telefon Ab L M System och förfarande för att kundanpassa trådlösa kommunikationsenheter
JPH1115689A (ja) 1997-06-19 1999-01-22 Nec Corp ソフトウェアのデバッグ方法及びデバッグ・プログラムを記録した記録媒体
US5974312A (en) * 1997-07-10 1999-10-26 Ericsson Inc. System and method for updating a memory in an electronic device via wireless data transfer
US6496979B1 (en) 1997-10-24 2002-12-17 Microsoft Corporation System and method for managing application installation for a mobile device
US6351636B2 (en) * 1997-10-29 2002-02-26 Siemens Information And Communications Networks, Inc. System and method for automatic area code updating
US5950006A (en) * 1997-11-05 1999-09-07 Control Technology Corporation Object-oriented programmable controller
JPH11141394A (ja) * 1997-11-07 1999-05-25 Nissan Motor Co Ltd 車両制御用メモリ書き換え装置
JPH11146011A (ja) * 1997-11-11 1999-05-28 Nec Corp 電子メールシステム及び電子メールサーバ及び通信端末
JP3337062B2 (ja) 1997-11-21 2002-10-21 日本電気株式会社 無線データ転送方法及びそのシステム
JP3492177B2 (ja) * 1997-12-15 2004-02-03 松下電器産業株式会社 Cdma方式移動体通信機
US6275694B1 (en) * 1997-12-19 2001-08-14 Vlsi Technology, Inc. Method for remotely updating software code for personal handy phone system equipment
US6151709A (en) * 1998-02-13 2000-11-21 Novell, Inc. Processes and apparatuses for uploading instructions to a computer
US6343375B1 (en) * 1998-04-24 2002-01-29 International Business Machines Corporation Method for optimizing array bounds checks in programs
US6237114B1 (en) * 1998-05-13 2001-05-22 Sun Microsystems, Inc. System and method for evaluating monitored computer systems
JP4194172B2 (ja) * 1998-05-18 2008-12-10 キヤノン株式会社 画像表示装置及び機器間通信方法
US6219694B1 (en) * 1998-05-29 2001-04-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device having a shared electronic address
JPH11346186A (ja) * 1998-06-01 1999-12-14 Toyo Commun Equip Co Ltd 移動無線端末
US6460070B1 (en) * 1998-06-03 2002-10-01 International Business Machines Corporation Mobile agents for fault diagnosis and correction in a distributed computer environment
US6272333B1 (en) * 1998-06-12 2001-08-07 Motorola, Inc. Method and apparatus in a wireless communication system for controlling a delivery of data
US6438711B2 (en) * 1998-07-15 2002-08-20 Intel Corporation Method and apparatus for performing field diagnostics on a computer system
US6212632B1 (en) * 1998-07-31 2001-04-03 Flashpoint Technology, Inc. Method and system for efficiently reducing the RAM footprint of software executing on an embedded computer system
JP3837244B2 (ja) * 1998-10-23 2006-10-25 松下電器産業株式会社 プログラムリンク装置及び方法
GB2348987A (en) * 1998-12-11 2000-10-18 Hewlett Packard Co Upgrading firmware from a web site using an applet
US20020073398A1 (en) 1998-12-14 2002-06-13 Jeffrey L. Tinker Method and system for modifying executable code to add additional functionality
US7017116B2 (en) * 1999-01-06 2006-03-21 Iconics, Inc. Graphical human-machine interface on a portable device
US6449476B1 (en) * 1999-03-12 2002-09-10 Qualcomm Incorporated System and method for independently downloading features into a set of storage locations in a wireless communication device
US6546492B1 (en) * 1999-03-26 2003-04-08 Ericsson Inc. System for secure controlled electronic memory updates via networks
GB2348568A (en) * 1999-03-31 2000-10-04 Ibm Enabling conformance to legislative requirements for mobile devices
US6421683B1 (en) * 1999-03-31 2002-07-16 Verizon Laboratories Inc. Method and product for performing data transfer in a computer system
GB2349485B (en) 1999-04-23 2003-12-10 Ibm Application management
JP2000311143A (ja) * 1999-04-27 2000-11-07 Toshiba Tec Corp 携帯用端末システム及び携帯用端末装置並びにホスト装置
JP2000315154A (ja) * 1999-04-30 2000-11-14 Pentel Corp ハンディターミナル用開発システムの不正利用防止方法
US6611822B1 (en) * 1999-05-05 2003-08-26 Ac Properties B.V. System method and article of manufacture for creating collaborative application sharing
SE516806C2 (sv) 1999-05-26 2002-03-05 Ericsson Telefon Ab L M Sätt för inladdning av programvara i en radioterminal, såsom en mobiltelefon, och tillhörande radioterminal
KR100316884B1 (ko) * 1999-05-26 2001-12-22 이계안 차체 공장의 동적 부품 투입 지시 시스템
US6282647B1 (en) 1999-06-02 2001-08-28 Adaptec, Inc. Method for flashing a read only memory (ROM) chip of a host adapter with updated option ROM bios code
US6578142B1 (en) * 1999-06-18 2003-06-10 Phoenix Technologies, Ltd. Method and apparatus for automatically installing and configuring software on a computer
JP2001043087A (ja) * 1999-08-02 2001-02-16 Nippon Telegr & Teleph Corp <Ntt> 無線通信端末のソフトウェア変更方法及び無線通信端末
US6493871B1 (en) * 1999-09-16 2002-12-10 Microsoft Corporation Method and system for downloading updates for software installation
JP2001103568A (ja) * 1999-09-30 2001-04-13 Toshiba Corp 通信システム、この通信システムに用いられる移動体通信装置、携帯型情報処理装置及びデータ通信方法
FR2800963B1 (fr) 1999-11-09 2001-12-07 Wavecom Sa Procede de mise a jour d'un programme principal execute par un module de radiocommunication et/ou de donnees associees a ce programme principal, et module de radiocommunication correspondant
US6754894B1 (en) * 1999-12-03 2004-06-22 Command Audio Corporation Wireless software and configuration parameter modification for mobile electronic devices
DE10003534A1 (de) * 2000-01-27 2001-08-16 Ebbecke Reinhard Einwegbehälter zur Erwärmung und Kühlung von Flüssigkeiten
US7239868B2 (en) * 2000-02-01 2007-07-03 Brother Kogyo Kabushiki Kaisha Electric device capable of being controlled based on data transmitted from cellular phone
WO2001059569A2 (en) * 2000-02-09 2001-08-16 Apriva, Inc. Communication systems, components, and methods with programmable wireless devices
US6493549B1 (en) 2000-02-10 2002-12-10 Lucent Technologies Inc. Over the air parameter administration for mobile telecommunications stations
US6714992B1 (en) * 2000-02-25 2004-03-30 Navic Systems, Inc. Method and system for embedded network device installation
US6622017B1 (en) * 2000-02-25 2003-09-16 Cellco Parntership Over-the-air programming of wireless terminal features
JP4553279B2 (ja) * 2000-03-09 2010-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション データ転送システム、データ転送端末、コントローラ、およびインターフェイス方法
AU2001253201A1 (en) * 2000-04-05 2001-10-23 Pavilion Technologies Inc. System and method for enterprise modeling, optimization and control
KR100385925B1 (ko) 2000-05-09 2003-06-02 주식회사 인포핸드 멀티미디어 데이터 처리를 위한 디지털 휴대 전화 단말기 및 멀티미디어 데이터 콘텐츠의 실행 방법과 멀티미디어 데이터 콘텐츠 제공 방법
US6549770B1 (en) * 2000-05-26 2003-04-15 Cellco Partnership Over the air programming and/or service activation
JP2001356925A (ja) * 2000-06-12 2001-12-26 Nec Corp 携帯電話機
JP2002024029A (ja) * 2000-07-11 2002-01-25 Toshiba Corp コンパイラ、コンパイル方法及びコンパイルプログラムを記録したコンピュータ読み取り可能な記録媒体
US7069452B1 (en) * 2000-07-12 2006-06-27 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US6370455B1 (en) * 2000-09-05 2002-04-09 Hunter Engineering Company Method and apparatus for networked wheel alignment communications and service
AU8879601A (en) * 2000-09-07 2002-03-22 A2Q Inc Method and system for high speed wireless data transmission and reception
AU2001294677A1 (en) * 2000-09-22 2002-04-02 Patchlink.Com Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
US7096416B1 (en) * 2000-10-30 2006-08-22 Autovod Methods and apparatuses for synchronizing mixed-media data files
US6804813B1 (en) * 2000-11-03 2004-10-12 Hewlett-Packard Development Company, L.P. System and method for remote and local diagnosis using automatically identified symbol libraries to create record based requests with tag lists of data to be collected from an operating system
US6959192B1 (en) 2000-11-06 2005-10-25 Agere Systems Inc. System and method for updating stored information portable electronic devices based on geographic location
US6731946B1 (en) * 2000-11-22 2004-05-04 Ensemble Communications System and method for timing detector measurements in a wireless communication system
US7039391B2 (en) * 2000-11-28 2006-05-02 Xanboo, Inc. Method and system for communicating with a wireless device
US7092671B2 (en) * 2000-11-30 2006-08-15 3Com Corporation Method and system for wirelessly autodialing a telephone number from a record stored on a personal information device
US7024187B2 (en) * 2000-12-08 2006-04-04 Samsung Electronics Co., Ltd. System and method for performing diagnostics on a mobile station using over-the-air transfer of interpreted byte-code program
US20040229644A1 (en) 2000-12-11 2004-11-18 Anders Heie Method and apparatus for changing phone number information in an electronic phonebook
US20020083143A1 (en) * 2000-12-13 2002-06-27 Philips Electronics North America Corporation UPnP architecture for heterogeneous networks of slave devices
US6807561B2 (en) * 2000-12-21 2004-10-19 Gemplus Generic communication filters for distributed applications
US20020170039A1 (en) 2001-02-22 2002-11-14 Kovacevic Branko D. System for operating system and platform independent digital stream handling and method thereof
US7584241B2 (en) * 2001-03-19 2009-09-01 Microsoft Corporation System and method for communications management and data exchange
US6442660B1 (en) * 2001-03-21 2002-08-27 Sharp Laboratories Of America, Inc. Dynamic system relocation based on availability of system memory
CN1320480C (zh) * 2001-03-23 2007-06-06 艾瑞赞公司 通过无线通信媒体向便携式计算装置传送内容的系统与方法
WO2002079981A1 (en) * 2001-03-30 2002-10-10 Nokia Corporation Downloading application software to a mobile terminal
US6968546B2 (en) * 2001-03-30 2005-11-22 Intel Corporation Debugging support using dynamic re-compilation
US7734285B2 (en) * 2001-04-03 2010-06-08 Qualcomm Incorporated Method and apparatus for network initiated uninstallation of application program over wireless network
US6754895B1 (en) * 2001-04-26 2004-06-22 Palm Source, Inc. Method and system for automatic firmware updates in a portable hand-held device
US6587685B2 (en) * 2001-04-27 2003-07-01 Nokia Corporation Apparatus, and an associated method, by which to provide operation parameters to a mobile station
US20040177072A1 (en) * 2001-05-17 2004-09-09 Ilkka Salminen Smart environment
US7065347B1 (en) * 2001-06-27 2006-06-20 Peoplenet Communications Corporation System and method for over the air programming
US7421411B2 (en) 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US6950847B2 (en) * 2001-07-12 2005-09-27 Sun Microsystems, Inc. Service provider system for delivering services in a distributed computing environment
US8214849B2 (en) * 2001-07-13 2012-07-03 Advanced Micro Devices, Inc. System for loading device-specific code and method thereof
US7143407B2 (en) * 2001-07-26 2006-11-28 Kyocera Wireless Corp. System and method for executing wireless communications device dynamic instruction sets
US7184793B2 (en) * 2001-07-26 2007-02-27 Kyocera Wireless Corp. System and method for over the air area code update
EP1410191A2 (de) * 2001-07-26 2004-04-21 Kyocera Wireless Corporation System und verfahren zur verwaltung der herunterladung im feld von systemsoftware eines drahtlosen kommunikationsgerätes
CN1975751B (zh) * 2001-08-15 2010-05-19 高通股份有限公司 测试启用应用的执行
US7237234B2 (en) * 2001-12-13 2007-06-26 Texas Instruments Incorporated Method for selective solicitation of user assistance in the performance tuning process
US7140007B2 (en) * 2002-01-16 2006-11-21 Xerox Corporation Aspect-oriented programming with multiple semantic levels
US7562208B1 (en) * 2002-02-07 2009-07-14 Network Appliance, Inc. Method and system to quarantine system software and configuration
US7221939B2 (en) 2002-08-16 2007-05-22 Nokia Corporation System, method, and apparatus for automatically selecting mobile device profiles
CA2408457A1 (en) * 2002-10-17 2004-04-17 Ibm Canada Limited-Ibm Canada Limitee Collection and detection of differences of values of expressions/variables when debugging a computer process
US20040249657A1 (en) 2003-03-14 2004-12-09 Nir Kol Synergy realization
US7401323B2 (en) * 2003-04-21 2008-07-15 Microsoft Corporation Just-My-Code debugging
US20040240657A1 (en) 2003-05-28 2004-12-02 Camarillo David W. Technique for selecting switched connections for distributing calls through an information assistance provider
US7305666B2 (en) * 2003-07-23 2007-12-04 Microsoft Corporation Description language for an extensible compiler and tools infrastructure
US20040266422A1 (en) 2003-06-30 2004-12-30 Hotze Karen Ann Method for providing call completion following a call to an improper called number in a wireless communications system
US7565141B2 (en) * 2003-10-08 2009-07-21 Macaluso Anthony G Over the air provisioning of mobile device settings
US7287243B2 (en) * 2004-01-06 2007-10-23 Hewlett-Packard Development Company, L.P. Code verification system and method
US7359831B2 (en) * 2004-05-21 2008-04-15 Bea Systems, Inc. Diagnostic context
US7647586B2 (en) * 2004-08-13 2010-01-12 Sun Microsystems, Inc. System and method for providing exceptional flow control in protected code through watchpoints
US7730453B2 (en) * 2005-12-13 2010-06-01 Microsoft Corporation Runtime detection for invalid use of zero-length memory allocations
US7694282B2 (en) * 2006-12-12 2010-04-06 Arkhipov Mikhail E Mapping breakpoints between web based documents

Also Published As

Publication number Publication date
US8032865B2 (en) 2011-10-04
JP2010044775A (ja) 2010-02-25
US7143407B2 (en) 2006-11-28
DE60239363D1 (de) 2011-04-14
DE60224281D1 (de) 2008-02-07
US20030066064A1 (en) 2003-04-03
DE60225293D1 (de) 2008-04-10
JP4953465B2 (ja) 2012-06-13
US20050010917A9 (en) 2005-01-13
JP4728359B2 (ja) 2011-07-20
AU2001297781A1 (en) 2003-02-17
US20030033599A1 (en) 2003-02-13
EP1973035A1 (de) 2008-09-24
JP2008192158A (ja) 2008-08-21
JP2009054160A (ja) 2009-03-12
US6918108B2 (en) 2005-07-12
EP1973035B1 (de) 2016-04-27
DE60224281T2 (de) 2008-12-18
US20050245248A1 (en) 2005-11-03
US20040205746A9 (en) 2004-10-14
JP4953475B2 (ja) 2012-06-13

Similar Documents

Publication Publication Date Title
DE60225293T2 (de) System und verfahren zum organisieren der software eines im feld aktualisierbaren drahtlosen kommunikationsgerätes
DE60205755T2 (de) System und verfahren um einen softwarekodeabschnitt eines drahtlosen kommunikationsgerätes herunterzuladen
DE69637195T2 (de) Software aktualisierung in einem mobiltelefon
DE60015748T2 (de) Speichermedien
DE19747583B4 (de) Kommunikationssystem und Verfahren
DE69738517T2 (de) Verfahren und Vorrichtung in einem Telekommunikationsnetz
DE19543843A1 (de) Verfahren zur Aktualisierung der Software in einem mikrocomputergestützten Telefon
WO2003093996A1 (de) System und verfahren zum verwalten von ressourcen von tragbaren ressourcenmodulen
EP1723815B1 (de) Synchronisation von daten in zwei oder mehr teilnehmerkarten zum betreiben eines mobilen endgeräts
EP3491858B1 (de) Profilserver zum bereitstellen von elektronischen kommunikationsprofilen von elektronischen teilnehmeridentitätsmodulen mobiler kommunikationsgeräte
DE19842676B4 (de) Vorrichtung und Verfahren für das Verwalten von Abrechnungsinformation in einem digitalen tragbaren schnurlosen Telefon
DE60210561T2 (de) Vorrichtung und Verfahren zur Auswahl von Programm-Bausteinen in einem mobilen Endgerät
DE69833470T2 (de) Verfahren und Gerät zur Aktualisierung von Textdaten für eine elektrische Einrichtung
EP0918425A2 (de) Softwaregesteuertes Teilnehmerendgerät, Server zum Bereitstellen eines Steuerprogrammes und Verfahren zum Betrieb des Softwaregesteuerten Teilnehmerendgerätes
WO2002037203A2 (de) Verfahren und anordnung zum updaten von software auf einem mobilen prozessorgesteuerten gerät
DE19850306B4 (de) Teilnehmeridentitätsmodul für Mobilfunksysteme
EP0912029A2 (de) Verfahren zum Individualisieren von Telekommunikationsendgeräten
US20040209616A1 (en) System and method of managing access from a mobile terminal to a communication network
EP1999731B1 (de) Speicherverwaltung von chipkarten
DE60007144T2 (de) System und verfahren zum laden von befehlen in eine ic karte
EP0989713A2 (de) Software-Update für Webphones
EP3668132B1 (de) Inkrementelles aktualisieren einer firmware
US7231028B2 (en) Method and system for the management of subscriber functions
EP0833487A2 (de) Digitales Chipkartentelefon mit Faxweiche und Modemanschluss
DE102004048345A1 (de) Verfahren zum Bereitstellen von ein Mobilfunkgerät in einem Mobilfunknetzwerk identifzierenden Geräteidentifikationen in dem Mobilfunkgerät

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 1410189

Country of ref document: EP

Representative=s name: VIERING, JENTSCHURA & PARTNER, DE

R081 Change of applicant/patentee

Ref document number: 1410189

Country of ref document: EP

Owner name: KYOCERA CORP., JP

Free format text: FORMER OWNER: KYOCERA WIRELESS CORP., SAN DIEGO, US

Effective date: 20120817

R082 Change of representative

Ref document number: 1410189

Country of ref document: EP

Representative=s name: VIERING, JENTSCHURA & PARTNER, DE

Effective date: 20120817