DE60320045T2 - Verfahren zur Übertragung vollständiger Antworten zu abgekürzter elektronischer Post - Google Patents

Verfahren zur Übertragung vollständiger Antworten zu abgekürzter elektronischer Post Download PDF

Info

Publication number
DE60320045T2
DE60320045T2 DE60320045T DE60320045T DE60320045T2 DE 60320045 T2 DE60320045 T2 DE 60320045T2 DE 60320045 T DE60320045 T DE 60320045T DE 60320045 T DE60320045 T DE 60320045T DE 60320045 T2 DE60320045 T2 DE 60320045T2
Authority
DE
Germany
Prior art keywords
mail message
message
mobile device
mail
server
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
DE60320045T
Other languages
English (en)
Other versions
DE60320045D1 (de
Inventor
Frank S. Serdy Jr.
Selvaraj Redmond Nallia
David R. Duvall Williamson
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.)
Microsoft Corp
Original Assignee
Microsoft 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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Application granted granted Critical
Publication of DE60320045D1 publication Critical patent/DE60320045D1/de
Publication of DE60320045T2 publication Critical patent/DE60320045T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06—Message adaptation to terminal or network requirements
    • H04L51/063—Content adaptation, e.g. replacement of unsuitable content
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00—Administration; Management
    • G06Q10/10—Office automation; Time management
    • G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58—Message adaptation for wireless communication
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21—Monitoring or handling of messages
    • H04L51/212—Monitoring or handling of messages using filtering or selective blocking
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Computer Hardware Design (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Devices For Checking Fares Or Tickets At Control Points (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Offenbarung bezieht sich auf eine elektronische Mail-Nachricht über ein Synchronisations-Protokoll unter Verwendung einer mobilen Vorrichtung. Genauer gesagt bezieht sich die vorliegende Offenbarung auf ein Antworten auf trunkierte, elektronische Mail-Nachrichten an der mobilen Vorrichtung.
  • Mobile Vorrichtungen umfassen einen breiten Bereich von Rechen- und Kommunikationsvorrichtungen, die klein genug sind, um bequem durch einen Benutzer getragen zu werden. Beispiele solcher Vorrichtungen umfassen mobile Telefone, Personal-Digital-Assistants, Tableau-PCs und Laptop-PCs.
  • Allgemein umfasst die mobile Vorrichtung einen Prozessor, einen Random-Access-Memory (RAM) und eine Eingabe-Vorrichtung, wie beispielsweise ein Tastenfeld, ein Touchpad oder Eingabe-Tasten und eine Anzeige. Das Tastenfeld kann mit der Anzeige integriert sein, wie beispielsweise dann, wenn das Tastenfeld als eine berührungsempfindliche Anzeige eingesetzt ist. Eine Kommunikations-Schnittstelle ist optional vorgesehen und wird üblicherweise dazu verwendet, mit anderen Computern zu kommunizieren. Eine ersetzbare oder wieder aufladbare Batterie versorgt die mobile Vorrichtung mit Strom. Optional kann die mobile Vorrichtung Strom von einer externen Stromquelle aufnehmen, die die eingebaute Batterie außer Kraft setzt oder wieder auflädt.
  • Während eine breite Vielfalt von Rechenaufgaben und Anwendungen durch solche mobilen Vorrichtungen durchgeführt werden können, sind Personal-Informations-Manager (PIMs) besonders gut für mobile Vorrichtungen geeignet. PIMs weisen typischerweise Applikationen auf, die den Benutzer der mobilen Vorrichtung in die Lage versetzen, besser eine Ablaufplanung und Kommunikationen und andere solche Aufgaben zu verwalten. Einige herkömmlich verfügbaren PIMs umfassen Planungs- und Kalender-Programme, Aufgaben-Listen, Adressen-Bücher und elektronische Mail-(E-Mail)-Programme. Einige herkömmlich, kommerziell verfügbare PIMs werden unter den Handelsmarken "MICROSOFT SCHEDULE+" und MICROSOFT OUTLOOK" vertrieben und sind kommerziell von der Microsoft Corporation, Redmond, Washington, erhältlich. Zusätzlich zu PIMs können allerdings solche mobilen Vorrichtungen auch unterschiedliche Typen von Anwendungen, wie beispielsweise Word-Prozessoren, Tabellenkalkulationen, usw., laufen lassen.
  • Um Benutzer mit soviel Freiheit wie möglich auszustatten, ist es erwünscht, dem Benutzer zu ermöglichen, auf seine Anwendung und PIM-Informationen von irgendeiner Vorrichtung, die er auswählt, zuzugreifen oder diese zu ändern. Demzufolge sollte der Benutzer in der Lage sein, auf seine E-Mail zum Beispiel von einem Netzwerk-Endgerät, einem PDA und einem Tableau-PC zuzugreifen.
  • Allerdings bedeutet es, dem Benutzer zu ermöglichen, auf seine Informationen von irgendeiner erwünschten Quelleneinrichtung zuzugreifen und diese zu ändern, dass die Vorrichtungen in der Lage sein müssen, miteinander zu kommunizieren, um Änderungen in Bezug auf die Informationen anzuzeigen. Der Vorgang, dass zwei Vorrichtungen gemeinsam Änderungen in der Anwendung und/oder den PIM-Informationen teilen, ist als Synchronisation bekannt.
  • Allgemein ist eine Synchronisation kein kontinuierlicher Vorgang. Mit anderen Worten versucht eine mobile Vorrichtung nicht kontinuierlich ihre Daten zu synchronisieren, da dies die begrenzte, drahtlose Bandbreite verschwenden würde und einen übermäßigen Verbrauch der Batterie der mobilen Vorrichtungen mit sich bringen würde. Anstelle davon wird eine Synchronisation periodisch durchgeführt. Zusätzlich ist es, da die mobile Vorrichtung nicht immer in Benutzung ist, aufwendig, dass ein Server oder ein Desktop-Computer periodisch versucht, eine Verbindung mit der mobilen Vorrichtung einzurichten, um eine Synchronisation durchzuführen. Anstelle davon ist die mobile Vorrichtung für ein Einrichten einer Verbindung, um eine Synchronisation durchzuführen, verantwortlich.
  • In der Vergangenheit haben, um begrenzte Sende-Bandbreiten anzupassen, mobile Vorrichtungen oftmals trunkierte, elektronische Mail-Nachrichten empfangen. Mit anderen Worten wurde eine Mail-Nachricht, wenn diese einen langen Nachrichten-Körper besaß, oftmals zu der mobilen Vorrichtung in einer trunkierten Art und Weise gesendet, bei der eine vorgegebene Anzahl von Zeilen eines Textes in dem Hauptnachrichten-Körper gesendet wurde und der Rest des Hauptnachrichten-Körpers nicht gesendet wurde. In solchen mobilen Vorrichtungen konnte der Benutzer dann die Nachricht für ein Herunterladen auswählen und musste den gesamten Text der Nachricht zu der mobilen Vorrichtung herunterladen. Dasselbe gilt allgemein bei Anhängen. Zu Anfang wurden sie nicht zu der mobilen Vorrichtung gesendet, sondern konnten für ein Herunterladen ausgewählt werden.
  • Auch führte, um auf elektronische Mail-Nachrichten von einer mobilen Vorrichtung zu antworten, oder sie weiterführen, der Benutzer in der Vergangenheit einfach die notwendigen Anweisungen aus, die durch die bestimmte, die elektronische Mail versendende PIM erforderlich waren. Das Objekt der elektronischen Mail-Nachricht, das erzeugt wurde, wenn der Benutzer anzeigte, dass die Antwort oder das Weiterleiten gesendet werden sollte, wurde dann, auf einer periodischen Basis, zu einem Server gesendet, das das Objekt der elektronischen Mail-Nachricht an den geeigneten Empfänger sendete. Allerdings wurde dort, wo der Benutzer eine trunkierte, elektronische Mail-Nachricht beantwortete oder weiterleitete, dann nur die trunkierte Nachricht an den End-Empfänger, der in der weitergeleiteten oder Antwort-Nachricht identifiziert war, gesendet.
  • Weiterhin ist in der US 5,764,899 eine Technik offenbart, die lehrt, eine Antwort durch Erzeugen eines Delta zwischen einer vorangehenden Nachricht und der Antwort-Nachricht zu optimieren, um so eine optimierte Antwort unter Verwendung des Delta und einen Identifizierer der vorhergehenden Nachricht zu bilden. insbesondere ist angegeben, dass Nachrichten auf einem Server gespeichert werden, bevor sie zu einer entfernten Einheit übertragen werden. Mit einem Vorstufen-Filtervorgang können unterschiedliche Filter-Attribute angewandt werden, die sich zum Beispiel auf die Größe der Nachricht, die auf eine Größe trunkiert werden soll, die in einem Filter definiert ist, der zugeordnet ist, bevor sie zu der entfernten Einheit gesendet wird, oder einen Anhang, der von der Nachricht entfernt werden könnte, bevor die Nachricht zu der entfernten Einheit geschickt wird, beziehen. Ein Index wird an sowohl der entfernten Einheit als auch dem Kommunikations-Server der Mail, gespeichert an der entfernten Einheit, beibehalten. Ein Resort wird in Bezug auf diesen Index vorgenommen, um eine vorhergehende Nachricht zu bestimmen. Der Kommunikations-Server ist in der Lage, ein Delta zwischen einer Antwort-Nachricht und einer vorhergehenden Nachricht, von der bekannt ist, dass sie in der Mail-Datenbank der entfernten Einheit gespeichert ist, zu erzeugen.
  • Zusammenfassung der Erfindung
  • Es ist die Aufgabe der Erfindung, ein verbessertes Verfahren zum Antworten auf E-Mail-Nachrichten von einer mobilen Vorrichtung, die mit einer begrenzten Sende-Bandbreite ausgestattet ist, zu schaffen.
  • Diese Aufgabe wird durch die Erfindung, wie sie in den unabhängigen Ansprüchen beansprucht ist, gelöst.
  • Bevorzugte Ausführungsformen sind durch den Gegenstand der abhängigen Ansprüche definiert.
  • In einer bevorzugten Ausführungsform ermöglicht die vorliegende Erfindung mobilen Benutzern, Antworten auf die trunkierten, elektronischen Mail-Nachrichten zu senden oder diese weiterzuleiten, die einen Teil des Körpers der ursprünglichen, elektronischen Mail-Nachricht umfassen, ohne den gesamten Körper der Mail-Nachricht lokal zu der mobilen Vorrichtung herunterzuladen und dann die gesamte Nachricht von der mobilen Vorrichtung neu zu übertragen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Blockdiagramm, das eine Basisumgebung der vorliegenden Erfindung darstellt.
  • 2 zeigt ein Blockdiagramm einer Ausführungsform eines herkömmlichen Desktop-Computers, der in Verbindung mit einer mobilen Vorrichtung, gemäß der vorliegenden Erfindung, verwendet wird.
  • 3 zeigt eine vereinfachte, bildliche Darstellung einer Ausführungsform einer mobilen Vorrichtung gemäß der vorliegenden Erfindung.
  • 4 zeigt eine vereinfachte, bildliche Darstellung einer anderen Ausführungsform einer mobilen Vorrichtung gemäß der vorliegenden Erfindung.
  • 5 zeigt ein vereinfachtes Blockdiagramm einer Ausführungsform der mobilen Vorrichtung, dargestellt in der 3 oder 4.
  • 6 zeigt ein architekturmäßiges Blockdiagramm, das eine Ausführungsform von Bereichen des Desktop-Computers, dargestellt in 2, und der mobilen Vorrichtung, dargestellt in den 3–5, darstellt, um eine Synchronisation von Informationen, gespeichert in Objekt-Speichern auf dem Desktop-Computer, und der mobilen Vorrichtung, gemäß einer Ausführungsform der vorliegenden Beschreibung, darzustellen.
  • 7 zeigt ein detaillierteres Blockdiagramm von Bereichen der Synchronisations-Maschinen, dargestellt in 1.
  • 8A und 8B zeigen Flussdiagramme, die einen normalen Synchronisations-Vorgang entsprechend einer Ausführungsform der vorliegenden Beschreibung darstellen.
  • 9 zeigt ein Flussdiagramm, das die Betriebsweise eines Weiterleitungs- und Antwort-Merkmals gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • 10 zeigt ein Blockdiagramm, das eine Ausführungsform der Erfindung darstellt.
  • DETAILLIERTE BESCHREIBUNG DER ERLÄUTERNDEN AUSFÜHRUNGSFORMEN
  • Übersicht
  • 1 zeigt ein Blockdiagramm eines typischen Systems oder einer Umgebung 10, in der die vorliegende Erfindung arbeitet. Ein Antworten auf elektronische Mail-Nachrichten unter Verwendung des Synchronisations-Protokolls wird im Detail in Bezug auf 9 erläutert, allerdings ist die vorliegende Übersicht nur zur Verdeutlichung vorgesehen. Das System 10 umfasst eine mobile Vorrichtung 12 und eine Rechenvorrichtung 14. Die mobile Vorrichtung 12 umfasst ein erstes Anwendungs-Programm 16, ein zweites Anwendungs-Programm 18, entsprechend zu einem ersten und einem zweiten Objekt-Speicher 20 und 22, eine Synchronisations-Maschine 24 und eine Kommunikationsverbindung 26. Die Rechenvorrichtung 14 umfasst ein erstes und ein zweites Anwendungs-Programm 28 und 30, entsprechend zu einem ersten und einem zweiten Objekt-Speicher 32 und 34, eine Synchronisations-Maschine 36 und eine Kommunikationsverbindung 38. Es wird ersichtlich werden, dass sowohl die mobile Vorrichtung 12 als auch die Rechenvorrichtung 14 eine Anzahl von anderen Komponenten umfassen (einschließlich zum Beispiel Komponenten und Zeitgebern, die in Ablauf-Synchronisations-Vorgängen verwendet sind), die im größerem Detail nachfolgend diskutiert sind. Allerdings sind, für die Zwecke der Diskussion der Übersicht, die in Bezug auf 1 angegeben ist, die Elemente, die vorstehend angegeben sind, ausreichend.
  • In einer erläuternden Ausführungsform der vorliegenden Erfindung sind die Anwendungs-Programme 16 und 28 Personal-Informations-Manager-(PIM)-Programme, die, zum Beispiel, eine elektronische Mail-Nachricht, eine Ablauf-Steuerung, ein Führen eines Kalenders, usw., unterstützen. Nachfolgend werden die Programme 16 und 28 ein fach als PIMs 16 und 28 bezeichnet. Natürlich können die PIMs 16 und 28 auch so ausgelegt sein, um eine breite Vielfalt von anderen Merkmalen zu unterstützen, wie beispielsweise Aufgaben-Listen und personalifizierte Adressen-Bücher, um ein paar zu nennen.
  • Die Objekt-Speicher 20 und 32 sind in einem Speicher umgesetzt, der so aufgebaut ist, um eine Mehrzahl individueller Aufzeichnungen oder Objekte zu speichern, wobei jedes davon eine Vielzahl von Feldern oder Eigenschaften, die zu PIMs 16 und 28 in Bezug stehen, aufweist. In einem erläuternden Beispiel sind PIMs 16 und 28 Programme, wie beispielsweise solche, die unter der kommerziellen Bezeichnung "MICROSOFT OUTLOOK" erhältlich sind, und Objekt-Speicher 20 und 23 sind so aufgebaut, um Objekte zu speichern, wobei jedes davon eine Vielzahl von Attributen oder Eigenschaften besitzt, die zu einer elektronischen Mail-Nachricht zugeordnet sind, wie beispielsweise der Name eines Senders, der Name eines Empfängers, Text-Nachrichten, usw.. Die Rechenvorrichtung 14 führt einen PIM 28 aus, um Objekte, gespeichert in einem Speicher 32, beizubehalten, und die mobile Vorrichtung 12 führt ein Programm 16 aus, um Objekte, gespeichert in dem Objekt-Speicher 20, beizubehalten. In einem erläuternden Beispiel weist jedes Objekt in dem Objekt-Speicher 20 denselben Satz von Eigenschaften oder Attributen, gespeichert in dem Objekt-Speicher 32, oder einen Untersatz dieser Eigenschaften oder Attribute, auf.
  • Ähnlich behalten Anwendungs-Programme 18 und 30 Objekte in zugeordneten Objekt-Speichern 22 und 34 jeweils bei. In einem erläuternden Beispiel sind die Anwendungs-Programme 18 und 30 Datei-System-Anwendungen, wie beispielsweise solche, die unter der kommerziellen Bezeichnung "MICROSOFT WORD" erhältlich sind. Es sollte auch angemerkt werden, dass irgendeine geeignete Anzahl von anderen Anwendungs-Programmen, und zugeordneten Objekt-Speichern, an der mobilen Vorrichtung 12 und der Rechenvorrichtung 14 vorgesehen sein können. Allerdings werden hier, für den Zweck einer Vereinfachung, nur Programme 16, 28 und 30, und deren zugeordnete Objekt-Speicher, beschrieben.
  • In einem erläuternden Beispiel wünscht der Benutzer, Objekt-Speicher 20 und 32 und Objekt-Speicher 32 und 34 zu synchronisieren. Folglich sind dabei zwei Fälle jedes Objekts, zugeordnet zu dem Paar von Objekt-Speichern 20 und 32 (ein Fall in dem Objekt-Speicher 20 und ein Fall in dem Objekt-Speicher 32), und zwei Fälle jedes Objekts, das zu dem Paar der Objekt-Speicher 22 und 34 zugeordnet ist (ein Fall in dem Objekt-Speicher 22 und ein Fall in dem Objekt-Speicher 34), vorhanden. Wenn ein Benutzer einen Fall des Objekts, gespeichert in entweder dem Objekt-Speicher 22 oder dem Objekt-Speicher 34, ändert, befindet sich der zweite Fall dieses Objekts in dem anderen der Speicher 22 und 34 außerhalb einer Synchronisation, und es wird in erwünschter bzw. erforderlicher Art und Weise dann aktualisiert, wenn die mobile Vorrichtung 12 das nächste Mal eine Zweiwege-Kommunikation mit der Rechenvorrichtung 14 hat, so dass beide Fälle desselben Objekts synchronisierte Daten enthalten. Dasselbe gilt für Fälle von Objekten, die in Objekt-Speichern 20 und 32 gespeichert sind.
  • Um eine Synchronisation vorzunehmen, laufen jeweils Synchronisations-Komponenten 24 und 36 auf der mobilen Vorrichtung 12 und der Rechenvorrichtung 14. Die Synchronisations-Komponenten kommunizieren mit Anwendungs-Programmen 16, 18, 28 und 30 (oder direkt mit den zugeordneten Objekt-Speichern) über irgendwelche gut definierten Schnittstellen, um eine Kommunikation und eine Synchronisation zu leiten.
  • Synchronisations-Komponenten 24 und 36 kommunizieren miteinander über Kommunikationsverbindungen 26 und 38. Die Kommunikationsverbindungen 26 und 38 sind illustrativ kommerzielle verfügbare Kommunikationsverbindungen, die ein geeignetes Kommunikations-Protokoll verwenden. Zum Beispiel ist, in einem erläuternden Beispiel, die mobile Vorrichtung 12 mit der Rechenvorrichtung 14 mit einem physikalischen Kabel verbunden, das unter Verwendung eines seriellen Kommunikations-Protokolls kommuniziert. Andere Kommunikations-Mechanismen sind auch durch die vorliegende Erfindung vorgesehen, wie beispielsweise eine Infrarot-(IR)-Kommunikation, eine direkte Modem-Kommunikation, eine entfernte Einwähl-Netzwerk-Kommunikation, eine Kommunikation über kommerziell erhältliche Netzwerk-Karten (d. h. unter Verwendung von TCP/IP), entfernte Zugangs-Dienste (Remote Access-Services – RAS), ein drahtloses Modem, drahtlose, zellulare, digitale Paket-Daten (CDPD), Kurz-Nachricht-Dienste oder andere geeignete Kommunikations-Mechanismen. Obwohl die Kommunikationsverbindungen so dargestellt sind, dass sie sich intern zu der mobilen Vorrichtung 12 und der Rechenvorrichtung 14 befinden, werden Fachleute auf dem betreffenden Fachgebiet erkennen, dass Bereiche der Kommunikationsverbindungen außerhalb der Vorrichtungen vorhanden sein können. Zum Beispiel können die Kommunikationsverbindungen Kommunikations-Server, die zwischen der mobilen Vorrichtung 12 und der Rechenvorrichtung 14 angeordnet sind, andere Bereiche der das Netzwerk bildenden Kommunikationsverbindung (wie beispiels weise die zellularen und PSTN-Netzwerke), und Adapter, wie beispielsweise Mobil-Vorrichtungs-Umschalter (-Cradles), umfassen.
  • Bevor der Synchronisations-Vorgang und die zugeordneten Mechanismen in größerem Detail diskutiert werden, fährt die vorliegende Diskussion mit einer detaillierteren Beschreibung der Komponenten der mobilen Vorrichtung 12 und einer beispielhaften Rechenvorrichtung 14 zum Zwecke der Deutlichkeit fort.
  • Rechenvorrichtung 14
  • Die Rechenvorrichtung 14 ist nur ein Beispiel einer geeigneten Rechenvorrichtung und ist nicht dazu vorgesehen, irgendeine Einschränkung in Bezug auf den Umfang der Benutzung oder der Funktionalität der Erfindung zu vermitteln. Auch sollte die Rechenvorrichtung 14 nicht dahingehend interpretiert werden, dass sie irgendeine Abhängigkeit oder ein Erfordernis besitzt, das sich auf irgendeine oder eine Kombination von Komponenten, dargestellt in der beispielhaften Rechenvorrichtung 14, bezieht.
  • Die Erfindung ist mit zahlreichen anderen Rechensystem-Umgebungen oder – Anordnungen für allgemeine Zwecke oder spezielle Zwecke betreibbar. Beispiele von ausreichend bekannten Rechensystemen, Umgebungen, und/oder Anordnungen, die zur Verwendung in Verbindung mit der Erfindung geeignet sein können, umfassen, sind allerdings nicht darauf beschränkt, Personal-Computer, Server-Computer, in der Hand haltbare oder Laptop-Vorrichtungen, Multiprozessor-Systeme, auf einem Mikroprozessor basierende Systeme, Set-Top-Boxes, programmierbare Verbraucher-Elektroniken, Netzwerk-PCs, Minicomputer, Mainframe-Computer, Telefonsysteme, verteilte Rechenumgebungen, die irgendeines der vorstehenden Systeme oder der Vorrichtungen umfassen, und dergleichen.
  • Die Erfindung kann in dem allgemeinen Zusammenhang von mittels Computer ausführbaren Anweisungen, wie beispielsweise Programm-Modulen, die durch einen Computer ausgeführt werden, beschrieben werden. Allgemein umfassen Programm-Module Routines, Programme, Objekte, Komponenten, Datenstrukturen, usw., die bestimmte Aufgaben durchführen oder bestimmte abstrakte Daten-Typen implementieren. Die Erfindung kann auch in verteilten Rechenumgebungen dort ausgeführt werden, wo Aufgaben durch entfernte Verarbeitungs-Vorrichtungen durchgeführt werden, die über ein Kommunikations-Netzwerk verbunden sind. In einer verteilten Rechenumgebung können Programm-Module in sowohl lokalen als auch entfernten Computer-Speichermedien, die Memory-Speichervorrichtungen umfassen, angeordnet sein.
  • Wie 2 zeigt, umfasst ein beispielhaftes System zum Ausführen der Erfindung eine Rechenvorrichtung für allgemeine Zwecke in der Form eines Computers 110. Teile des Computers 110 können eine Verarbeitungseinheit 120, einen System-Speicher 130 und einen System-Bus 121, der verschiedene System-Komponenten, die den System-Speicher umfassen, mit der Verarbeitungseinheit 120 verbindet, umfassen, sind allerdings nicht hierauf beschränkt. Der System-Bus 121 kann irgendeiner von verschiedenen Typen von Bus-Strukturen sein, die einen Speicher-Bus oder eine Speicher-Steuereinheit, einen peripheren Bus und einen lokalen Bus, unter Verwendung irgendeiner Vielfalt von Bus-Architekturen, umfassen. Als Beispiel, und nicht als Einschränkung, umfassen solche Architekturen einen Industry-Standard-Architecture-(ISA)-Bus, einen Micro-Channel-Architekture-(MCA)-Bus, einen Enhanced-ISA-(EISA)-Bus, einen Video-Electronics-Standards-Association-(VESA)-Lokal-Bus und einen Peripheral-Component-Interconnect-(PCI)-Bus, auch bekannt als Mezzanine-Bus.
  • Der Computer 110 umfasst typischerweise eine Vielzahl von mittels Computer lesbaren Medien. Mittels Computer lesbare Medien können irgendwelche verfügbaren Medien sein, auf die durch einen Computer 110 zugegriffen werden kann, und umfassen sowohl flüchtige als auch nicht-flüchtige Medien, entfernbare und nicht-entfernbare Medien. Als Beispiel, und nicht als Einschränkung, können mittels Computer lesbare Medien Computer-Speichermedien und Kommunikations-Medien aufweisen. Computer-Speichermedien umfassen sowohl flüchtige als auch nicht-flüchtige, entfernbare und nicht-entfernbare Medien, ausgeführt in irgendeinem Verfahren oder einer Technologie zum Speichern von Informationen, wie beispielsweise mittels Computer lesbare Anweisungen, Daten-Strukturen, Programm-Module, oder andere Daten. Das Computer-Speichermedium umfasst, ist allerdings nicht hierauf beschränkt, RAM, ROM, EEPROM, Flash-Memory oder eine andere Speicher-Technologie, CD-ROM, Digital-Versstile-Disks (DVD) oder einen anderen, optischen Plattenspeicher, magnetische Kassetten, Magnetband, Magnet-Plattenspeicher, oder andere Magnet-Speichervorrichtungen, oder irgendein anderes Medium, das dazu verwendet werden kann, die erwünschten Informationen zu speichern, und auf die durch den Computer 110 zugegriffen werden kann. Kommunikations-Medien enthalten typischerweise mittels Computer lesbare Anweisungen, Daten-Strukturen, Programm-Module oder andere Daten in einem modulierten Daten-Signal, wie beispielsweise einer Trägerwelle oder einem anderen Transport-Mechanismus, und umfassen irgendwelche Medien, die Informationen liefern. Der Ausdruck "moduliertes Daten-Signal" bedeutet ein Signal, bei dem ein Charakteristikum oder mehrere seiner Charakteristika in einer solchen Art und Weise eingestellt oder geändert sind, um Informationen in dem Signal zu codieren. Als Beispiel, und nicht als Einschränkung, umfassen Kommunikations-Medien verdrahtete Medien, wie beispielsweise ein verdrahtetes Netzwerk oder eine direkt verdrahtete Verbindung, und drahtlose Medien, wie beispielsweise akustische, HF-, Infrarot- und andere, drahtlose Medien. Kombinationen der vorstehenden Medien sollten innerhalb des Schutzumfangs der mittels Computer lesbaren Medien enthalten sein.
  • Der System-Speicher 130 umfasst mittels Computer speicherbare Medien in der Form eines flüchtigen und/oder nicht-flüchtigen Speichers, wie beispielsweise eines Read-Only-Memory (ROM) 131 und eines Random-Access-Memory (RAM) 132. Ein Basis-Eingabe/Ausgabe-System 133 (BIOS), das die Basis-Routines enthält, die dabei helfen, Informationen zwischen Elementen innerhalb des Computers 110 zu übertragen, wie beispielsweise während des Hochfahrens, ist typischerweise in dem ROM 131 gespeichert. Der RAM 132 enthält typischerweise Daten- und/oder Programm-Module, auf die unmittelbar zugreifbar ist und/oder die momentan durch die Verarbeitungseinheit 120 laufen. Als Beispiel, und nicht als Einschränkung, stellt 2 ein Betriebssystem 134, Anwendungs-Programme 135, andere Programm-Module 136 und Programm-Daten 137 dar.
  • Der Computer 110 kann auch andere entfernbare/nicht-entfernbare, flüchtige/nicht-flüchtige Computer-Speichermedien umfassen. Nur als Beispiel stellt 2 ein Festplatten-Laufwerk 141, das von einem nicht-entfernbaren, nicht-flüchtigen, magnetischen Medium liest oder darauf schreibt, ein Magnetplatten-Laufwerk 151, das von einer entfernbaren, nicht-flüchtigen Magnetplatte 152 liest oder darauf schreibt, und ein optisches Platten-Laufwerk 155, das von einer entfernbaren, nicht-flüchtigen, optischen Platte 156 liest oder darauf schreibt, wie beispielsweise eine CD-ROM oder ein anderes, optisches Medium, dar. Andere entfernbare/nicht-entfernbare, flüchtige/nicht-flüchtige Computer-Speichermedien, die in der beispielhaften Betriebsumgebung verwendet werden können, umfassen, sind allerdings nicht darauf beschränkt, Magnetband-Kassetten, Flash-Memory-Cards, Digital-Versstile-Disks, Digital-Video-Band, Festkörper-RAM, Festkörper-ROM, und dergleichen. Das Festplatten-Laufwerk 141 ist typischerweise mit dem System-Bus 121 über eine nicht-entfernbare Speicher-Schnittstelle, wie beispielsweise eine Schnittstelle 140, verbunden, und das Magnetplatten-Laufwerk 151 und das Laufwerk 155 für die optische Platte sind typischerweise mit dem System-Bus 121 durch eine entfernbare Speicher-Schnittstelle, wie beispielsweise die Schnittstelle 150, verbunden.
  • Die Laufwerke und deren zugeordnete Computer-Speichermedien, die vorstehend diskutiert und in 2 dargestellt sind, bilden einen Speicher für mittels Computer lesbare Anweisungen, Daten-Strukturen, Programm-Module und andere Daten für den Computer 110. In 2 ist zum Beispiel das Festplatten-Laufwerk 141 so dargestellt, dass es das Betriebssystem 144, Anwendungs-Programme 145, andere Programm-Module 146 und Programm-Daten 147 speichert. Es ist anzumerken, dass diese Komponenten entweder dieselben wie das Betriebssystem 134, die Anwendungs-Programme 135, andere Programm-Module 136 und Programm-Daten 137 sein können oder unterschiedlich dazu sein können. Dem Betriebssystem 144, den Anwendungs-Programmen 145, den anderen Programm-Modulen 146 und den Programm-Daten 147 sind unterschiedliche Zahlen hier gegeben, um zu zeigen, dass sie, minimal, unterschiedliche Kopien sind.
  • Der Benutzer kann Befehle und Informationen in den Computer 110 über Eingabe-Vorrichtungen, wie beispielsweise ein Tastenfeld 162, ein Mikrofon 163 und eine Hinweisvorrichtung 161, wie beispielsweise eine Mouse, einen Trackball oder ein Touch-Pad, eingeben. Andere Eingabevorrichtungen (nicht dargestellt) können einen Joystick, ein Game-Pad, eine Satellitenschüssel, einen Scanner, oder dergleichen, umfassen. Diese und andere Eingabevorrichtungen sind oftmals mit der Verarbeitungseinheit 120 über eine Benutzer-Eingabe-Schnittstelle 160 verbunden, die mit dem System-Bus verbunden ist, können allerdings durch andere Schnittstellen- und Bus-Strukturen verbunden sein, wie beispielsweise einen parallelen Port, einen Game-Port oder einen Universal-Serial-Bus (USB). Ein Monitor 191 oder irgendein anderer Typ einer Anzeigevorrichtung ist auch mit dem System-Bus 121 über eine Schnittstelle, wie beispielsweise eine Video-Schnittstelle 190, verbunden. Zusätzlich zu dem Monitor können Computer auch andere periphere Ausgabevorrichtungen, wie beispielsweise Lautsprecher 197 und einen Drucker 196, umfassen, die über eine periphere Ausgabe-Schnittstelle 190 verbunden sein können.
  • Der Computer 110 kann in einer vernetzten Umgebung unter Verwendung von logischen Verbindungen mit einem oder mehreren, entfernten Computer(n), wie beispielsweise einem entfernten Computer 180, der eine mobile Vorrichtung 12 umfassen kann, betrieben werden. Der entfernte Computer 180 kann ein Personal-Computer, eine in der Hand gehaltene Vorrichtung, ein Server, ein Router, ein Netzwerk-PC, eine Peer- Vorrichtung, oder ein anderer, gemeinsamer Netzwerk-Knoten sein und umfasst typischerweise viele oder alle der Elemente, die vorstehend relativ zu dem Computer 110 beschrieben sind. Die logischen Verbindungen, die in 2 gezeigt sind, umfassen ein Local-Area-Network (LAN) 171 und ein Wide-Area-Network (WAN) 173, können allerdings auch andere Netzwerke umfassen. Solche vernetzten Umgebungen sind in Büros, in weltweiten Computer-Netzwerken, dem Intranet und dem Internet üblich. Zusätzlich können die Netzwerk-Verbindungen zwischen irgendwelchen der Knoten in dem Netzwerk direkte Kabel-Verbindungen oder drahtlose Verbindungen umfassen, und die Verbindung zwischen dem Computer 110 und dem entfernten Computer 180 kann irgendeine Anzahl von Knoten und/oder Routern umfassen.
  • Der Computer 110 ist, wenn er in einer LAN-Netzwerk-Umgebung verwendet wird, mit dem LAN 171 über eine Netzwerk-Schnittstelle oder einen -Adapter 170 verbunden. Der Computer 110 umfasst, wenn er in einer WAN-Netzwerk-Umgebung verwendet ist, typischerweise ein Modem 172 oder eine andere Einrichtung zum Einrichten von Kommunikations- bzw. Daten-Übertragungen über das WAN 173, wie beispielsweise das Internet. Das Modem 172, das intern oder extern vorhanden sein kann, kann mit dem System-Bus 121 über die Benutzer-Eingabe-Schnittstelle 160, oder einen anderen, geeigneten Mechanismus, verbunden sein. In einer vernetzten Umgebung können Programm-Module, die relativ zu dem Computer 110 gezeigt sind, oder Bereiche davon, in der entfernten Speichervorrichtung gespeichert sein. Anhand eines Beispiels, und nicht als Einschränkung, stellt 2 entfernte Anwendungs-Programme 185 so dar, dass sie auf einem entfernten Computer 180 vorhanden sind. Es wird ersichtlich werden, dass die Netzwerk-Verbindungen, die dargestellt sind, beispielhaft sind, und dass andere Einrichtungen zum Einrichten einer Kommunikationsverbindung zwischen den Computern verwendet werden können.
  • Dynamisch verknüpfte Libraries (Dynamically Linked Libraries – DLLs), die eine Vielzahl von ausführbaren Funktionen aufweisen, sind zu dem PIM 28 und der Anwendung 30 zum Ausführen durch den Prozessor 62 zugeordnet. Ein Zwischen-Prozessor und Zwischen-Komponenten-Anrufe werden vorzugsweise unter Verwendung des Komponenten-Objekt-Modells (COM) erleichtert, wie es in Programmen üblich ist, die für Betriebssysteme von Microsoft mit der Marke "WINDOWS" geschrieben sind. Kurz gesagt besitzt, wenn ein COM verwendet wird, eine Software-Komponente, wie beispielsweise eine DLL, eine Anzahl von Schnittstellen. Jede Schnittstelle besitzt eine Vielzahl von Verfahren, die individuell aufgerufen werden können, um unterschiedliche Dienste die durch die Software-Komponente angeboten sind, zu verwenden. Zusätzlich sind Schnittstellen vorgesehen, so dass Verfahren oder Funktionen von anderen Software-Komponenten aufgerufen werden können, die optional eines oder mehrere Parameter-Argument(e) empfangen und zurückführen.
  • Allgemein sind die DLLs, die dem PIM 28 und dem Programm 30 zugeordnet sind, spezifisch so ausgelegt, um in Verbindung mit dem PIM 28 und dem Programm 30 zu arbeiten und um Desktop-Synchronisations-Schnittstellen freizugeben, die entsprechend einem Synchronisations-Protokoll arbeiten. Die DLLs rufen wiederum Schnittstellen auf, die durch PIM 28 und das Programm 30 freigegeben werden, um auf Daten zuzugreifen, die individuelle Eigenschaften von Objekten darstellen, die in Objekt-Speichern 32 und 34 aufrechterhalten werden. Die Objekt-Speicher 32 und 34 können natürlich in irgendeiner der geeigneten Speicher-Komponenten, die in Bezug auf 2 beschrieben sind, vorhanden sein.
  • Mobile Vorrichtung 12
  • 3 zeigt eine vereinfachte, bildliche Darstellung eines bevorzugten Beispiels einer mobilen Vorrichtung 12, die entsprechend der vorliegenden Erfindung verwendet werden kann. In einem Beispiel umfasst die mobile Vorrichtung 12 ein miniaturisiertes Tastenfeld 300, eine Anzeige 302 und einen Stylus bzw. Schreibstift 304. In der Ausführungsform, die in 3 dargestellt ist, ist die Anzeige 302 eine Flüssigkristall-Anzeige (LCD), die einen kontaktempfindlichen Anzeige-Bildschirm in Verbindung mit dem Schreibstift 304 verwendet. Der Schreibstift 304 wird so verwendet, um die Anzeige 302 an bezeichneten Koordinaten niederzudrücken oder zu berühren, um bestimmte Benutzer-Eingabe-Funktionen vorzunehmen. Das miniaturisierte Tastenfeld 300 ist illustrativ als ein miniaturisiertes alpha-numerisches Tastenfeld, mit irgendwelchen geeigneten und erwünschten Funktions-Tasten, ausgeführt, die auch zum Vornehmen bestimmter Benutzer-Eingabe-Funktionen vorgesehen sind.
  • 4 zeigt eine Darstellung eines unterschiedlichen Beispiels der mobilen Vorrichtung 12. Die mobile Vorrichtung 12 umfasst, wie in 4 dargestellt ist, einen berührungsempfindlichen Bildschirm 402, der in Verbindung mit dem Schreibstift 404 verwendet werden kann, um bestimmte Benutzer-Eingabe-Funktionen vorzunehmen.
  • Es sollte angemerkt werden, dass die Anzeigen 302 und 402 für die mobilen Vorrichtungen, dargestellt in den 3 und 4, von derselben Größe zueinander sein können oder von unterschiedlichen Größen zueinander sein können, würden allerdings typischerweise viel kleiner als eine herkömmliche Anzeige sein, die in einem Desktop-Computer verwendet wird. Zum Beispiel können die Anzeigen 302 und 402, die in den 3 und 4 dargestellt sind, durch eine Matrix mit nur 240 × 320 Koordinaten, oder 160 × 160 Koordinaten, oder irgendeiner anderen, geeigneten Größe, definiert sein. Wenn die mobile Vorrichtung 12 ein Pager ist, kann die Anzeige auch noch kleiner sein.
  • Die mobile Vorrichtung 12, die in 4 dargestellt ist, umfasst auch eine Anzahl von Benutzer-Eingabe-Tasten oder Knöpfen (wie beispielsweise Knopf 420), die dem Benutzer ermöglichen, durch die Menü-Optionen oder andere Anzeige-Optionen zu laufen, die auf der Anzeige 402 angezeigt sind, oder die dem Benutzer ermöglichen, Anwendungen zu ändern oder Benutzer-Eingabe-Funktionen auszuwählen, ohne die Anzeige 402 zu berühren.
  • Es ist anzumerken, dass andere Formen der mobilen Vorrichtung unter der vorliegenden Erfindung möglich sind. Beispiele umfassen mobile Telefone, die dazu geeignet sind, Rechenaufgaben durchzuführen, Tableau-PCs und drahtlos arbeitende Laptop-Computer, um nur ein paar zu nennen.
  • 5 zeigt ein detaillierteres Blockdiagramm einer mobilen Vorrichtung 12. Die mobile Vorrichtung 12 umfasst erläuternd einen Mikroprozessor 506, einen Speicher 508, Eingabe/Ausgabe (I/O)-Komponenten 510 und Kommunikationsverbindungen 26. Diese Komponenten der mobilen Vorrichtung 12 können für eine Kommunikation miteinander über einen geeigneten Bus 516 verbunden sein.
  • Der Speicher 508 ist erläuternd als nicht-flüchtiger, elektronischer Speicher, wie beispielsweise ein Random-Access-Memory (RAM), mit einem Batterie-Backup-Modul (nicht dargestellt), so dass Informationen, gespeichert in dem Speicher 508, nicht verloren gehen, wenn die allgemeine Stromversorgung zu der mobilen Vorrichtung 12 abgeschaltet wird, ausgeführt. Ein Bereich des Speichers 508 ist erläuternd als adressierbarer Speicher für eine Programm-Ausführung zugeordnet, während ein anderer Bereich des Speichers 508 optional zum Speichern verwendet wird, wie beispielsweise dazu, ein Speichern auf einem Platten-Laufwerk zu simulieren.
  • Der Speicher 508 kann ein Betriebssystem 518, ein oder mehrere Anwendungs-Programm(e) (wie beispielsweise PIM 16 und eine Datei-Anwendung 18, usw.) ebenso wie Objekt-Speicher 20 und 22 und eine Synchronisations-Maschine 24 umfassen. Während eines Betriebs ist das Betriebssystem 518 illustrativ durch einen Prozessor 506 aus dem Speicher 48 ausgeführt. Das Betriebssystem 518 führt Merkmale aus, die durch das PIM 16 und die Datei-Anwendung 18 über einen Satz von freigegebenen Anwendungs-Programm-Schnittstellen und -Verfahren verwendet werden können. Die Objekte in den Objekt-Speichern 20 und 22 werden illustrativ durch den PIM 16, die Datei-Anwendung 18 und das Betriebssystem 518, zumindest teilweise in Erwiderung von Anrufen zu den freigegebenen Anwendungs-Programm-Schnittstellen und -Verfahren, beibehalten.
  • I/O-Komponenten 510 sind, in einer Ausführungsform, vorgesehen, um Eingabe- und Ausgabe-Vorgänge von einem Benutzer der mobilen Vorrichtung 12 zu erleichtern. I/O-Komponenten 510 für verschiedene Ausführungsformen der mobilen Vorrichtung 12 können Eingabe-Komponenten, wie beispielsweise Tasten und Berührungssensoren, und Ausgabe-Komponenten, wie beispielsweise eine Anzeige, einen Lautsprecher und/oder einen Drucker-Port, usw., umfassen.
  • Die Kommunikationsverbindung 26 ist irgendeine geeignete Kommunikations-Schnittstelle. Die Schnittstelle 26 wird erläuternd dazu verwendet, mit der Rechenvorrichtung 14 zu kommunizieren, wie dies in Bezug auf 1 beschrieben ist. Der Speicher 508 umfasst einen Satz von Kommunikations-Treibern 520, die mit der Kommunikationsverbindung 26 Wechselwirken und die Daten in das und von dem geeigneten Kommunikations-Protokoll, das dazu notwendig ist, eine Kommunikation über die Verbindung 26 zu ermöglichen, übersetzt.
  • 6 gibt ein Blockdiagramm an, das eine Kommunikationsverbindung 26 und Kommunikations-Treiber 520 in größerem Detail darstellt. Insbesondere stellt 6 eine Kommunikationsverbindung 26 so dar, dass sie eine Anzahl von Kommunikations-Ports 602, 604, 606, 608 und 610 enthält, die mit Vorrichtungen außerhalb der mobilen Vorrichtung kommunizieren. Jeder Port besitzt jeweils einen zugeordneten Treiber 612, 614, 616, 618 und 620, in den Kommunikations-Treibern 520. Der IR-Port 602 und der IR-Treiber 612 schaffen eine Kommunikation über einen Infrarot-Kommunikations-Kanal zwischen der mobilen Vorrichtung und einer anderen Rechenvorrichtung. Der Serial/USB-Port 604 und der Serial/USB-Treiber 612 schaffen eine Kommunikation über einen seriellen oder USB-Kanal. Der Kabel-Netzwerk-Port 606 und der Kabel-Netzwerk-Treiber 616 schaffen eine Kommunikation über ein Netzwerkkabel, wie beispielsweise ein Ethernet-Kabel.
  • Der Drahtlos-Netzwerk-Port 608 und der Drahtlos-Netzwerk-Treiber 618 schaffen eine Kommunikation mit dem Netzwerk über einen Funkkanal. Der Drahtlos-Netzwerk-Port 608 und der Treiber 618 können irgendeine Anzahl von drahtlosen Netzwerk-Protokollen verwenden, einschließlich General Packet Radio Service (GPRS) und 1Xrtt, die drahtlose Dienste sind, die dazu verwendet werden, einen zellularen Zugang zu einem Netzwerk zu schaffen, ebenso wie 802.11 und 802.11b-(Wi-Fi)-Protokolle, und ein BluetoothTM Protokoll, die lokale, drahtlose Verbindungen zu Netzwerken schaffen. Natürlich können andere ebenso verwendet werden.
  • Der SMS-Port 610 und der SMS-Treiber 620 unterstützen eine Einwege-Kommunikation unter Verwendung des Short-Message-Service Protokolls. Demzufolge ist der SMS-Port 610 in der Lage, SMS-Nachrichten zu empfangen, die unter Verwendung des Funk-Spektrums gesendet werden.
  • Übersicht und Synchronisation
  • 7 zeigt ein detaillierteres Blockdiagramm einer Synchronisations-Maschine 24 an der mobilen Vorrichtung 12 und einer Synchronisations-Maschine 36 an dem Desktop 14. Die Synchronisations-Maschine 24 an der mobilen Vorrichtung 12 umfasst einen Synchronisations-Manager 740, der mit einem Satz von Anwendungs-Programmen verbunden ist, wie beispielsweise PIM-Sync-Provider 744 und Datei-Sync-Provider 746. Der PIM-Sync-Provider 744 ist mit einem PIM-Objekt-Speicher 20 verbunden und der Datei-Sync-Provider 746 ist mit dem Datei-Objekt-Speicher 22 verbunden.
  • Die Synchronisations-Maschine 36 an der Rechenvorrichtung 14 umfasst auch einen Synchronisations-Manager 748, der mit einem zugeordneten Referenz-Speicher 750 verbunden ist und auch mit Anwendungs-Programmen, umfassend den PIM-Sync-Provider 752 und den Datei-Sync-Provider 754, verbunden ist. Der PIM-Sync-Provider 752 ist mit dem PIM-Objekt-Speicher 32 verbunden und der Datei-Sync-Provider 754 ist mit dem Datei-Objekt-Speicher 34 verbunden. Während die Provider 744, 746, 752 und 754 so dargestellt sind, dass sie direkt mit den zugeordneten Objekt-Speichern verbunden sind, könnten diese Provider auch mit den Objekt-Speichern über die Anwendungs-Programme 16, 18, 28 und 30 anstelle davon verbunden sein. Allerdings fährt, zum Zwecke der Verein fachung, die vorliegende Diskussion nur in Bezug auf die Anordnung, die in 7 dargestellt ist, fort.
  • Die PIM-Sync-Provider 752 und 754 geben Anwendungs-Programm-Schnittstellen (APIs) 756 frei, die durch den Sync-Manager 748 aufgerufen werden können, um Objekte und Objekt-Eigenschaften von Objekt-Speichern 32 und 34 zu lesen und darauf zu speichern. Die Schnittstellen 756 ermöglichen allgemein die Erzeugung von Daten-Basen für unterschiedliche Typen von Objekten und ermöglichen, dass Anwendungs-Programme Eigenschafts-Namen und -Werte zu jeweiligen Objekten innerhalb jeder Daten-Basis lesen und darauf schreiben. Eine Anzahl von beispielhaften Schnittstellen wird nun beschrieben, bilden allerdings keinen Teil der Erfindung und werden nur zu Zwecken eines Beispiels und zur Vollständigkeit diskutiert.
  • Die Schnittstellen sind gut als die IReplStore und IReplObjHandler Schnittstellen dokumentiert. Jede dieser Schnittstellen gibt eine Anzahl von gut dokumentierten Verfahren frei. Zum Beispiel gibt die IReplStore Schnittstelle 22 Verfahren frei, die allgemein als Verfahren klassifiziert werden können, die dazu verwendet werden, auf den Daten-Speicher zuzugreifen und diesen zu modifizieren, Verfahren, die für eine Objekt-Aufzählung verwendet werden, Verfahren, die dazu verwendet werden, Objekt-Informationen zu erhalten, Verfahren, die dazu verwendet werden, Handles zu Objekten zu manipulieren, Verfahren, die für Benutzer-Schnittstellen-Funktionen verwendet werden, und eine Anzahl von verschiedenartigen Verfahren. Die IReplObjHandler Schnittstelle gibt Verfahren frei, die dazu verwendet werden, Objekte seriell zu gestalten, indem ein Objekt in eine Reihe von Bytes umgesetzt wird, und um Objekte aus dem seriellen wieder zurückzuführen, indem die Serie von Bytes zurück in ein Objekt überführt wird. Die Verfahren, die in der Schnittstelle enthalten sind, werden auch dazu verwendet, ein Objekt aus dem entsprechenden Objekt-Speicher zu löschen.
  • Der Sync-Manager 748 gibt wiederum eine gut dokumentierte Schnittstelle, bekannt als die IReplNotify Schnittstelle, zu Providern 752 und 754 frei. Diese Schnittstelle gibt vier gut dokumentierte Verfahren frei, die dazu verwendet werden, den Sync-Manager 748 auf irgendeine Änderung oder eine Löschung, die in Bezug auf ein Objekt in einem entsprechenden Objekt-Speicher vorgenommen ist, hinzuweisen, um einen Text einzustellen, der in einem Status-Balken angezeigt werden soll, wo ein Synchronisations-Status durch den Benutzer beobachtet werden kann, um ein Fenster-Handle zu erhalten, die als ein Parent-Fenster irgendeiner modalen Dialog- oder Nachrichten-Box verwendet wird, und um Informationen über eine mobile Vorrichtung zu erhalten, die ausgewählt worden ist, oder die mit der Rechenvorrichtung verbunden ist.
  • Jeder der Provider 752 und 754 ist so ausgeführt, um jeweils spezifisch in Verbindung mit einem besonderen Anwendungs-Programm 28 oder 34 zu arbeiten. Allgemein wird, da die Anwendungs-Programm-Schnittstelle (API) 756 standardisiert ist, sie dem Synchronisations-Manager 748 ermöglichen, auf irgendeine Anzahl von unterschiedlichen Anwendungs-Programmen zuzugreifen und zu synchronisieren, solange wie die erforderlichen Schnittstellen-Verfahren für jede Anwendung durch entsprechende Provider ausgeführt sind.
  • An der mobilen Vorrichtung 12 stellen die Provider 744 und 746 auch die gut dokumentierte IReplObjHandler Schnittstelle bereit, so dass Objekte in den zugeordneten Objekt-Speichern 20 und 22 seriell gestaltet werden können und wieder aus der seriellen Gestaltung zurückgesetzt werden können. Die Provider 744 und 746 führen erläuternd drei zusätzliche Funktionen aus, die dazu verwendet werden können, den Provider zu initialisieren und zu beenden, eine Objekt-Identifikation und eine Änderungs-Erfassung zu handhaben, und um Vorrichtungs-Informationen über einen bestimmten Objekt-Typ aufzusuchen. Diese Funktionen und Schnittstellen sind auch gut dokumentiert.
  • Der Synchronisations-Manager 748 manipuliert den Referenz-Speicher 750, um eine Auflistung zwischen Fällen von Objekten, gespeichert in den Objekt-Speichern 32 und 34 an der Rechenvorrichtung 14, und Fällen derselben Objekte, gespeichert in den Objekt-Speichern 20 und 22 an der mobilen Vorrichtung 12, beizubehalten. Objekte werden durch Handles identifiziert, die durch die Provider 752 und 754 erzeugt sind. Die Handles sind für den Synchronisations-Manager 748 dahingehend opak, dass sich der Synchronisations-Manager 748 nicht mit der tatsächlichen Zusammensetzung des Handles befassen muss, obwohl die Handles durch den Synchronisations-Manager 748 manipuliert und gespeichert werden.
  • Allgemein hält, um die Auflistung beizubehalten, der Synchronisations-Manager 748 einen Referenz-Speicher 750 aufrecht, so dass er Handles entsprechend jeweils zu einer Vielzahl von Objekten in den Objekt-Speichern 32 und 34 an der Rechenvorrichtung 14 enthält, die zu Fällen derselben Objekte in den Objekt-Speichern 20 und 22 an der mobilen Vorrichtung 12 synchronisiert werden sollen. Die Handles in dem Referenz-Speicher 750 werden typischerweise Objekten entsprechen, die zuvor zwischen den verschiedenen Objekt-Speichern synchronisiert worden sind. Die Handles werden aktualisiert, nachdem deren entsprechende Objekte synchronisiert worden sind.
  • Die Liste von Handles, die in dem Referenz-Speicher 750 beibehalten sind, wird auch dazu verwendet, zu bestimmen, welche Elemente zu der mobilen Vorrichtung 12 synchronisiert werden müssen, wenn die mobile Vorrichtung 12 das nächste Mal mit der Rechenvorrichtung 14 verbunden wird. Der Synchronisations-Manager 748 bestimmt auch, indem diese Bestimmung vorgenommen wird, ob Objekte zu den Objekt-Speichern hinzugefügt worden oder davon gelöscht worden sind, so dass geeignete Hinzufügungen und Löschungen vorgenommen werden können.
  • Die Handles, gespeichert in dem Referenz-Speicher 750, können entsprechend den nachfolgenden Kriterien formatiert werden, so dass die Synchronisations-Provider 752 und 754 die spezifizierten Funktionen durchführen können:
    • (a) Jedes Handle kann Daten enthalten, die eindeutig ein Objekt identifizieren – wie beispielsweise einen Objekt-Identifizierer, eine ID-Nummer, einen vollständigen Pfadnamen für ein Datei-System-Objekt, usw.. Diese Daten können dauerhaft sein (dahingehend, dass sie sich nicht für ein bestimmtes Objekt ändern) und sollten nicht erneut für darauf folgend erzeugte Objekte verwendet werden. Diese Daten können verglichen werden, um zu bestimmen, ob zwei Handles tatsächlich demselben Objekt entsprechen. Dies kann, wie nachfolgend diskutiert ist, für Datei-System-Informationen problematisch sein, da der Objekt-Identifizierer typischerweise der Pfadname ist und einfach durch Umbenennen der Datei geändert werden kann.
    • (b) Es kann möglich sein, eine bestimmte Objekt-Reihenfolge basierend auf dem Handle abzuleiten.
    • (c) Das Handle kann eine bestimmte Art von Zeitstempel-Informationen, oder eine Version-Nummer, haben. Diese Informationen können verglichen werden, um zu bestimmen, ob sich ein Objekt geändert hat, seitdem das letzte Handle in dem Referenz-Speicher 750 aufgezeichnet wurde.
  • Diese Handles werden von den Providern 752 und 754 zu dem Synchronisations-Manager 748, zum Speichern in dem Referenz-Speicher 750, während eines Aufzählungs-Vorgangs, der nachfolgend beschrieben ist, bereitgestellt. Dieser Aufzählungs-Vorgang wird dazu verwendet, Elemente zu erfassen, die synchronisiert werden müssen, wenn die mobile Vorrichtung 12 das nächste Mal mit der Rechenvorrichtung 14 verbunden wird.
  • Die 8A und 8B zeigen Flussdiagramme, die den Aufzählungs-Vorgang darstellen, der periodisch durch die Synchronisations-Maschine 36 durchgeführt wird, um die Liste der Handles, gespeichert in dem Referenz-Speicher 750, für den Zweck eines Bestimmens zu erhalten und zu aktualisieren, welche Elemente unter der nächsten Verbindung synchronisiert werden müssen. Nach einem Initialisierungsschritt, angezeigt durch den Block 860, konstruiert der Synchronisations-Manager 748 zwei Listen von Handles. Die erste Liste wird am Schritt 862 durch Zugreifen auf die Handles, die zuvor in dem Referenz-Speicher 750 gespeichert sind, die Objekten entsprechen, die zuvor synchronisiert wurden, erhalten. Die zweite Liste von Handles wird am Schritt 864 durch Abfragen jeder der Synchronisations-Provider 752–754 unter Verwendung von Schnittstellen-Verfahren, bezeichnet mit IReplObjHandler:: FindFirstItem und FindNextItem, erhalten. Diese Schnittstellen zählen, wenn sie erfolgreich aufgerufen sind, eine geordnete Liste von Handles entsprechend jeweils zu einer zweiten Gruppe von Objekten auf und speichern diese Objekte gleichzeitig in den Objekt-Speichern 32 und 34 entsprechend zu den Providern 752 und 754, die die Objekte aufgezählt haben.
  • Der Synchronisations-Manager 748 erfasst automatisch, durch Vergleichen der Liste der Handles, die durch die momentane Aufzählung zurückgeführt ist, mit der gesicherten Liste der Handles aus dem Referenz-Speicher 750 geladen ist, Änderungen und Löschungen. Zum Beispiel versucht zu jedem Zeitpunkt, zu dem ein neues Objekt während einer Aufzählung zurückgeführt wird, der Synchronisations-Manager 748, ein Objekt in seiner zuvor gesicherten Liste von Objekten zu finden, die dasselbe Objekt darstellt. Wenn kein passendes Handle gefunden ist, bestimmt der Synchronisations-Manager 748, dass ein neues Objekt erzeugt und in dem Objekt-Speicher gesichert worden ist, der das Objekt, das betrachtet wird, aufzählte. Um zu bestimmen, ob passende Handles gefunden sind, wie dies durch den Block 866 angezeigt ist, ruft der Synchronisations-Manager 748 auch das Schnittstellen-Verfahren IReplStore:: CompareItem auf.
  • Basierend auf einer Berechnung der Handles erzeugt der Synchronisations- Manager 748 irgendwelche notwendigen Handle-zu-Objekt-Auflistungen in dem Referenz-Speicher 750, so dass Objekte in den Objekt-Speichern an der Rechenvorrichtung 14 zu entsprechenden Fällen desselben Objekts an der Vorrichtung 12 aufgelistet werden können. Dies ist durch den Block 868 angezeigt.
  • Der Synchronisations-Manager 748 bestimmt auch, ob irgendwelche Objekte in dem bestimmten Objekt-Speicher, von dem sie aufgezählt wurden, hinzugefügt, gelöscht oder modifiziert worden sind. Dies wird durch die Blöcke 870 angezeigt. Zum Beispiel zeigt, wenn die Liste der Objekte, die zuvor synchronisiert wurden, ein Handle enthält, das nicht in der neu erzeugten Liste, basierend auf einer momentanen Aufzählung der Synchronisations-Provider 752–754, gefunden ist, an, dass das Objekt aus dem entsprechenden Datenspeicher 32, 34 gelöscht worden ist. Demzufolge bestimmt der Synchronisations-Manager 748, dass das Objekt von der mobilen Vorrichtung 12 während des nächsten Synchronisations-Vorgangs gelöscht werden muss.
  • Ähnlich bestimmt, wenn die Aufzählung von Objekten ein Objekt-Handle erzeugt, das nicht in der Liste der Objekte, die zuvor synchronisiert ist, auftritt, dann der Synchronisations-Manager 748, dass ein Objekt entsprechend zu diesem bestimmten Handle zu dem Objekt-Speicher hinzugefügt worden ist, der das Objekt aufzählte. Demzufolge muss, während des nächsten Synchronisations-Vorgangs, das Objekt zu der mobilen Vorrichtung 12 hinzugefügt werden.
  • Der Synchronisations-Manager 748 ruft auch das Schnittstellen-Verfahren IReplStore:: IsItemChanged mit passenden Handles von der ersten und der zweiten Liste auf. Ein Aufrufen dieser Schnittstelle bewirkt, dass der geeignete Provider 752 oder 754 (welcher auch immer das passende Handle aufzählte) bestimmt, ob sich das Objekt geändert hat, seitdem das Handle zuletzt in dem Referenz-Speicher 750 geschrieben wurde. In einer erläuternden Ausführungsform prüft der Provider die Zeitstempel-Informationen oder die Version-Nummer-Informationen, die zu dem Objekt-Handle zugeordnet sind. Wenn diese Informationen nicht identisch sind, zeigt dies an, dass dort eine Änderung in Bezug auf das Objekt vorhanden gewesen ist. Demzufolge muss, während des nächsten Synchronisations-Vorgangs, der Synchronisations-Manager 748 das entsprechende Objekt an der mobilen Vorrichtung 12 aktualisieren (unter der Annahme, dass dort kein Konflikt vorhanden ist, wie dies nachfolgend diskutiert ist).
  • Der Synchronisations-Manager 740 an der mobilen Vorrichtung 12 arbeitet auch mit den Synchronisations-Providern 744 und 746 zusammen, um zu bestimmen, ob irgendwelche Objekte in den Objekt-Speichern 20 und 22 seit dem letzten Synchronisations- Vorgang hinzugefügt, gelöscht oder geändert worden sind. An der mobilen Vorrichtung 14 versendet das Betriebssystem eine Nachricht zu dem Synchronisations-Manager 740 zu jedem Zeitpunkt, zu dem sich ein Objekt an der mobilen Vorrichtung 12, das synchronisiert werden soll, ändert, hinzugefügt ist oder gelöscht ist. Der Synchronisations-Manager 740 zählt jedes Objekt auf und ruft Verfahren in der IReplNotify Schnittstelle jedes Providers 744 und 746 auf. Basierend auf diesem Aufruf bestimmt der Provider, ob das bestimmte Objekt, das aufgezählt ist, synchronisiert werden soll, und zeigt dem Synchronisations-Manager 740 an, wie viele Objekte synchronisiert werden sollen (zum Beispiel enthält ein Datei-System-Objekt, wie beispielsweise ein Directory, tatsächlich mehr als ein Objekt, das synchronisiert werden soll).
  • Basierend auf den Hinweisen, die von dem Betriebssystem verschickt sind, hält der Synchronisations-Manager 740 eine Liste, oder ein Feld, von Objekten bei, die sich seit dem letzten Synchronisations-Vorgang geändert haben, gelöscht wurden, oder hinzugefügt wurden. Unter einer Verbindung mit der Rechenvorrichtung 14 wird diese Liste zu dem Synchronisations-Manager 748 zugeführt. Folglich enthält der Synchronisations-Manager 748 die Listen, die für sowohl den Desktop 14 als auch die mobile Vorrichtung 12 aufgebaut worden sind, die Objekte anzeigen, die synchronisiert werden müssen. Dies ist durch Block 872 in 8B angegeben.
  • Der Synchronisations-Manager 748 bestimmt dann, wie am Block 874 angezeigt ist, ob sich ein Objekt nur an der mobilen Vorrichtung 12, nur an der Rechenvorrichtung 14 oder an sowohl der mobilen Vorrichtung 12 als auch der Rechenvorrichtung 14 geändert hat. Falls sich das Objekt nur an einem der Desktop-Objekt-Speicher geändert hat, dann führt der Synchronisations-Manager 748 die notwendige Aktivität aus, um den entsprechenden Objekt-Speicher an der mobilen Vorrichtung zu aktualisieren. Dies ist durch Block 876 angezeigt. Wenn sich das Objekt nur an einem der Speicher der mobilen Vorrichtung geändert hat, dann führt der Synchronisations-Manager 748 die notwendigen Aktivitäten aus, um den entsprechenden Objekt-Speicher an der Rechenvorrichtung 14 zu aktualisieren. Dies ist durch Block 880 angezeigt.
  • Allerdings entsteht dann, wenn sich dasselbe Objekt an sowohl der mobilen Vorrichtung 12 als auch an der Rechenvorrichtung 14 geändert hat, dann eine Konflikt-Situation. In einer erläuternden Ausführungsform nimmt der Synchronisations-Manager 748 einen Aufruf zu dem Register in dem Betriebssystem der Rechenvorrichtung 14 vor, um Konflikt-Informationen zu erhalten, die den Synchronisations-Manager 748 anweisen, wie in Fall eines Konflikts fortzufahren ist. Dies ist durch Block 878 angezeigt. Zum Beispiel kann der Benutzer Präferenzen eingestellt haben, die anzeigen, dass, in dem Fall eines Konflikts entweder die Desktop-Computer-Version oder die Version der mobilen Vorrichtung eine Präzedenz zu jedem Zeitpunkt einnehmen sollte. In ähnlicher Weise kann der Benutzer eine Präferenz eingestellt haben, die anzeigt, dass der Benutzer in dem Fall eines Konflikts, zu informieren ist, so dass der Benutzer aktiv entscheiden kann, welche Version einen Vorrang einnehmen wird. In diesem Fall erzeugt der Synchronisations-Manager 748 eine Benutzer-Schnittstelle, die dem Benutzer ermöglicht, den Konflikt zu lösen. Der Synchronisations-Manager 748 nimmt dann die notwendigen Schritte vor, um den Konflikt zu lösen und den geeigneten Objekt-Speicher zu aktualisieren. Dies fährt fort, bis alle Objekte in den Listen der Objekte, die zu synchronisieren sind, abgearbeitet worden sind. Dies ist durch Block 882 angezeigt.
  • Um Objekte mit der mobilen Vorrichtung 12 auszutauschen, ruft der Synchronisations-Manager 748 kontinuierlich das Verfahren IReplObjHandler:GEtPacket auf, um einen geeigneten Provider 752 oder 754 zu haben, um ein Paket an Informationen zu erhalten, das zu der mobilen Vorrichtung 12 übertragen werden soll. Um ein Paket, empfangen von der mobilen Vorrichtung 12, zu handhaben, ruft der Synchronisations-Manager 748 IReplObjHandler::SetPacket auf. Dies wirkt dahingehend, ein Paket an Informationen, empfangen von der mobilen Vorrichtung 12, zu einem Synchronisations-Provider 754 zum Speichern auf seinem zugeordneten Objekt-Speicher zuzuführen. Ähnliche Schnittstellen werden durch den Synchronisations-Manager 740 an der mobilen Vorrichtung 12 aufgerufen.
  • Antworten auf trunkierte, elektronische Mail-Nachrichten
  • Um eine elektronische Mail-Nachricht zu bearbeiten, kann das System, das in 1 dargestellt ist (und in größerem Detail unter Bezugnahme auf die 6–8B beschrieben ist), eine Anzahl von Merkmalen durchführen, um die relativ begrenzte und teure Bandbreite, die drahtlosen Übertragungen zugeordnet ist, anzupassen. Zum Beispiel sendet, in einer Ausführungsform, die Rechenvorrichtung 14 elektronische Mail-Nachrichten mit nur einer vorgegebenen Länge zu der mobilen Vorrichtung 12. In einer solchen Ausführungsform kann ein Benutzer optional eine vorgegebene Anzahl von Zeilen eines Textes in dem Hauptnachrichten-Körper auswählen, die der Benutzer zu empfangen wünscht. Dies wird der Rechenvorrichtung 14 angezeigt. Danach trunkiert, wenn die Rechenvorrichtung 14 eine elektronische Mail-Nachricht empfängt, die zu der mobilen Vorrichtung 12 gesendet werden soll (über das Synchronisations-Protokoll oder in sonstiger Weise), die Rechenvorrichtung 14 den Nachrichten-Körper auf die vorbestimmte Anzahl von Zeilen und sendet die trunkierte, elektronische Mail-Nachricht zu der mobilen Vorrichtung 12. Wenn der Benutzer die trunkierte, elektronische Mail-Nachricht durchsieht, kann der Benutzer die Nachricht für ein vollständiges Herunterladen auswählen, wobei die Rechenvorrichtung 14 in einem solchen Fall den gesamten Nachrichten-Körper zu der mobilen Vorrichtung 12 herunterlädt, so dass der Benutzer die gesamte Nachricht auch durchsehen kann.
  • In der Vergangenheit konnte der Benutzer, um eine trunkierte, elektronische Mail-Nachricht weiterzuführen oder zu beantworten, einfach die Weiterleitungs- oder Antwort-Kommentare, wie dies herkömmlich ist, eingeben und die Nachricht senden. In diesem Fall wurde die trunkierte Nachricht zu der Rechenvorrichtung (wieder über das Synchronisations-Protokoll oder in sonstiger Weise) gesendet und wurde zu den Empfängern, angezeigt durch den Benutzer in der Antwort- oder weitergeleiteten Nachricht, weitergeleitet. Wenn der Benutzer wünscht, die gesamte Nachricht weiterzuleiten, dann wurde zuerst von dem Benutzer gefordert, die gesamte Nachricht für ein vollständiges Herunterladen zu markieren und den gesamten Textkörper auf die mobile Vorrichtung von der Vorrichtung 14 herunterzuladen. Der Benutzer konnte dann die gesamte Mail-Nachricht beantworten oder weiterführen, zusammen mit den Antwort- oder Weiterleitungs-Kommentaren. Die Antwort oder die Weiterleitung würde dann zurück zu der Rechenvorrichtung 14 und weiter zu den eventuellen Empfängern gesendet werden.
  • Dasselbe, allgemeine Gerüst bzw. Framework existiert auch für Anhänge. Mit anderen Worten konnte der Benutzer angeben, ob Anhänge zu der mobilen Vorrichtung 12 in dem ersten Fall gesendet werden sollen. Falls nicht, dann wurde, um die Nachricht zusammen mit Anhängen weiterzuleiten, oder auf die Nachricht, die die Anhänge in der Antwort umfasst, zu antworten, von dem Benutzer zuerst gefordert, die Anhänge für ein Herunterladen zu der mobilen Vorrichtung zu markieren und dann auf die vollständig heruntergeladene elektronische Mail-Nachricht (einschließlich der Anhänge) zu antworten.
  • Diese Technik verwendet, wie gesehen werden kann, einen unerwünschten Umfang einer Bandbreite. Dabei sind viele Fälle vorhanden, in denen es der Benutzer wünscht, die vollständige, elektronische Mail-Nachricht, einschließlich der Anhänge, zu einem Empfänger weiterzuführen, oder der Benutzer kann wünschen, die Nachricht zu beantworten, einschließlich der vollen, ursprünglichen, elektronischen Mail-Nachricht (der gesamte, textmäßige Körper und die Anhänge). Allerdings muss in solchen Fällen der Benutzer nicht die vollständige, ursprüngliche, elektronische Mail-Nachricht vor einem Antworten davon oder einem Weiterführen davon durchsehen. Deshalb verwendet, indem von dem Benutzer gefordert wird, die gesamte, elektronische Mail-Nachricht (Textkörper und/oder Anhänge) zu der mobilen Vorrichtung 12 herunterzuladen, wenn sie nicht benötigt wird, und dann von der mobilen Vorrichtung 12 gefordert wird, die gesamte, elektronische Mail-Nachricht zurück zu der Rechenvorrichtung 14 zu senden (bevor sie zu den korrekten Empfängern gesendet wird), dies eine nicht erwünschte große Menge einer drahtlosen Bandbreite, und erfordert auch unnötige Schritte auf der Seite des Benutzers.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung kann der Benutzer der mobilen Vorrichtung 12 Antworten auf trunkierte, elektronische Mail-Nachrichten senden und kann dennoch den gesamten Körper der ursprünglichen Nachricht senden, ohne sie lokal auf die mobile Vorrichtung 12 herunterzuladen und sie dann wieder in ihrer Gesamtheit zurück zu der Vorrichtung 14 zu senden. Dieselbe Technik wird gemäß einer anderen Ausführungsform der vorliegenden Erfindung mit Anhängen verwendet, die an die ursprüngliche, elektronische Mail-Nachricht angehängt wurden.
  • 9 zeigt ein Flussdiagramm, das eine Ausführungsform darstellt, entsprechend der die vorliegende Erfindung arbeitet. 10 zeigt ein Blockdiagramm, das eine mobile Vorrichtung 12, verbunden mit einem (wie beispielsweise durch eine drahtlose Verbindung – z. B. eine zellulare Verbindung) Synchronisations-Server 901, der die Komponenten, die in der Rechenvorrichtung 14, zum Beispiel, dargestellt sind, umfassen kann. Der Synchronisations-Server 901 ist mit einem elektronischen Mail-Server 903 verbunden dargestellt, der Komponenten umfasst, die erforderlich sind, um elektronische Mail-Nachrichten zu senden und zu empfangen.
  • Es wird zunächst angenommen, dass der Benutzer eine trunkierte, elektronische Mail-Nachricht an der mobilen Vorrichtung 12 empfangen hat. Mit trunkierter, elektronischer Mail-Nachricht ist gemeint, dass die ursprüngliche, elektronische Mail-Nachricht an der mobilen Vorrichtung 12 entweder mit einem trunkierten Nachrichten-Körper oder mit Anhängen, die trunkiert worden sind, oder mit Anhängen, oder einer Kombination von diesen, empfangen ist.
  • Um die ursprüngliche, trunkierte, elektronische Mail-Nachricht weiterzuleiten, oder auf diese zu antworten, wo allerdings die Antwort- oder Weiterleitungs-Nachricht einen Teil oder die gesamte ursprüngliche Nachricht in einer nicht trunkierten Form enthält (wie beispielsweise mit Anhängen oder mit einem vollständigen Nachrichten-Körper oder mit beiden), wählt der Benutzer zuerst einen Smart-Antwort-Modus aus. Dies ist durch Block 900 in 9 angezeigt. Dies kann in irgendeiner Vielzahl von Arten und Weisen vorgenommen werden. zum Beispiel kann, wenn auf eine trunkierte, elektronische Mail-Nachricht an der mobilen Vorrichtung 12 geantwortet wird, oder dies weitergeleitet wird, die Benutzer-Schnittstelle, erzeugt an der mobilen Vorrichtung 12, einen einfachen Prüfkasten umfassen, den der Benutzer prüfen kann, um in einem Smart-Antwort-Modus zu arbeiten. Irgendeine einer breiten Vielfalt von anderen, bekannten Arten und Weisen kann verwendet werden, um die Smart-Antwort-Merkmale ebenso auszuführen. Auch kann der Smart-Antwort-Modus automatisch auftreten, ohne dass eine Benutzer-Eingabe erforderlich ist.
  • Wenn der Benutzer ausgewählt hat, in dem Smart-Antwort-Modus zu arbeiten, wählt der Benutzer die trunkierte Nachricht zur Weiterleitung oder zur Beantwortung aus. Dies ist durch Block 902 angezeigt. Als nächstes leitet der Benutzer die ursprüngliche, trunkierte Nachricht weiter oder beantwortet diese, wie dies durch Block 904 angezeigt ist. Dies wird illustrativ in einer bekannten Art und Weise vorgenommen, wie beispielsweise durch einfaches Eingeben der Antwort-Nachricht oder Weiterleitung von Kommentaren, und dann Auswählen einer Sende-Option an der Benutzer-Schnittstelle, um die weitergeleitete, elektronische Nachricht zu senden oder zu beantworten.
  • Wenn die mobile Vorrichtung 12 die Nachricht an den Synchronisations-Server 901 (über eine Synchronisation, oder in anderer Weise) sendet, schließt sie in deren Header eine Identität der ursprünglichen, elektronischen Mail-Nachricht, gespeichert auf dem elektronischen Mail-Server 903 (oder die in einem PIM-Objekt-Speicher 32 auf der Rechenvorrichtung 14 in der Ausführungsform, die in 1 dargestellt ist, gespeichert ist), ein. Sie schließt auch in die Header-Informationen eine Anzeige ein, dass der Benutzer ausgewählt hat, in einem Smart-Antwort-Modus zu arbeiten. Dies ist durch Block 906 in 9 angezeigt.
  • Der Server 901 ruft, indem er diese Anzeigen empfangen hat, die ursprüngliche, elektronische Mail-Nachricht, identifiziert durch die Nachrichten-ID in den Header-Informationen, von einem Datenspeicher an dem elektronischen Mail-Server 903 ab (oder die Rechenvorrichtung 14 greift auf den PIM-Objekt-Speicher 32 zu, um die ursprüngliche, elektronische Mail-Nachricht aufzusuchen). Der Synchronisations-Server 901 erzeugt dann eine Abschluss-Nachricht basierend auf der Nachricht, die von der mobilen Vorrichtung 12 empfangen ist, und die gesamte, ursprüngliche elektronische Mail-Nachricht (mit oder ohne Anhänge, wie sie durch den Benutzer ausgewählt sind), und sendet die vollständige Nachricht an den elektronischen Mail-Server 903 des geeigneten Empfängers. Dies ist durch Block 908 in 9 angezeigt.
  • Das Erzeugen der vollständigen Nachricht kann in einer Anzahl von Arten und Weisen vorgenommen werden. Zum Beispiel nimmt, in einer erläuternden Ausführungsform, der Server 901 die elektronische Antwort-Mail-Nachricht oder die weitergeleitete elektronische Mail-Nachricht von der mobilen Vorrichtung 12 und hängt an diese Nachricht die ursprüngliche, elektronische Mail-Nachricht, und Anhänge, die aus dem elektronischen Mail-Server 903 (oder dem PIM-Objekt-Speicher 32) ausgelesen worden sind, an. Deshalb kann der eventuelle Empfänger der Antwort oder der weitergeleiteten Nachricht die gesamte, ursprüngliche Nachricht ebenso durchsehen.
  • In einer anderen Ausführungsform erzeugt der Server 901 ein neues, elektronisches Mail-Objekt basierend auf der Antwort- oder weitergeleiteten Nachricht, die von der mobilen Vorrichtung 12 empfangen ist, und auch basierend auf der ausgelesenen, ursprünglichen, elektronischen Mail-Nachricht, die aus dem Server 903 (oder dem PIM-Objekt-Speicher 32) ausgelesen wurde. Das neue, elektronische Mail-Objekt enthält nicht nur die Kommentare oder die Antwort, die durch den Benutzer der mobilen Vorrichtung 12 eingegeben sind, sondern auch die gesamte, ursprüngliche Mail-Nachricht.
  • In einer noch anderen Ausführungsform kann der Server 901 einfach das elektronische Mail-Nachrichten-Objekt, das er von der mobilen Vorrichtung 12 empfangen hat, durch Ersetzen der trunkierten Text-Nachricht gegen die gesamte Text-Nachricht, die in der ursprünglichen, elektronischen Mail-Nachricht, ausgelesen aus dem PIM-Objekt-Speicher 32, gefunden ist, modifizieren. Natürlich kann die Rechenvorrichtung 14 auch die ursprünglichen Anhänge, vor einem Senden des elektronischen Mail-Nachrichten-Objekts weiter an den letztendlichen Empfänger, anhängen.
  • Natürlich können andere Ausführungsformen ebenso verwendet werden. Zum Beispiel kann der Server 901 einfach den textmäßigen Körper der ursprünglichen Nachricht, ausgelesen aus dem Server 903, als einen Anhang an die Nachricht, die von der mobilen Vorrichtung 12 empfangen ist, anhängen.
  • Es sollte auch angemerkt werden, dass die vorliegende Erfindung bei entweder Antworten auf trunkierte Nachrichten, einem Weiterleiten von trunkierten Nachrichten, oder beiden, so, wie dies erwünscht ist, angewandt werden kann. Dies kann über eine geeignete Benutzer-Schnittstelle auswählbar sein oder es kann automatisch eingestellt werden, wenn die Vorrichtung hergestellt wird.
  • Es sollte auch angemerkt werden, dass es manchmal akzeptabel sein kann, einen Teil eines Nachrichten-Körpers in einfachen Umlauf-Antworten zwischen Empfängern von elektronischen Mails zu verlieren. Allerdings kann es wichtig sein, den gesamten, elektronischen Mail-Nachrichten-Körper in Antwort-Threads beizubehalten, zu denen neue Empfänger, von Zeit zu Zeit, hinzugefügt sind, um eine elektronische Mail-Konversation weiterzuführen. Die vorliegende Erfindung ermöglicht dem Benutzer, Kommentare zusammen mit der Text-Version der ursprünglichen Mail zu senden, ohne dass von dem Benutzer gefordert wird, die gesamte Nachricht zu der mobilen Vorrichtung 12 herunterzuladen, und sie dann erneut zu der Rechenvorrichtung 14 zu senden.
  • Andere, betriebsmäßige Merkmale können ebenso verwendet werden. Zum Beispiel kann, wenn der Benutzer irgendeinen Bereich der trunkierten Nachricht editiert bzw. bearbeitet, dann der Server optional die Antwort- oder weitergeleitete Nachricht senden, die den editierten, trunkierten Bereich umfasst, ohne die ursprüngliche Nachricht anzuhängen. Dies ist natürlich optional.
  • Obwohl die vorliegende Erfindung unter Bezugnahme auf bevorzugte Ausführungsformen beschrieben worden ist, werden Fachleute auf dem betreffenden Fachgebiet erkennen, dass Änderungen in der Form und Details vorgenommen werden können, ohne den Schutzumfang der Erfindung, wie in den beigefügten Ansprüchen definiert, zu verlassen.

Claims (18)

  1. Verfahren zum Senden einer E-Mail-Nachricht in Erwiderung auf eine ursprüngliche E-Mail-Nachricht, die einen Nachrichten-Körper aufweist, wobei es umfasst: Speichern der ursprünglichen E-Mail-Nachricht in einem Datenspeicher (32, 34); Senden einer verkürzten E-Mail-Nachricht zu einem Mobilgerät (12), wobei die verkürzte E-Mail-Nachricht der ursprünglichen E-Mail-Nachricht entspricht und ein Teil davon entfernt ist; wobei das Verfahren durch die folgenden Schritte gekennzeichnet ist: Auswählen eines Smart-Antwortmodus durch einen Benutzer des Mobilgerätes; Empfangen (906) einer erwidernden E-Mail von dem Mobilgerät in Erwiderung auf die verkürzte E-Mail, wobei die erwidernde E-Mail einen Empfänger identifiziert und eine Anzeige dahingehend enthält, dass der Benutzer Betrieb in dem Smart-Antwortmodus ausgewählt hat; und in Reaktion auf die Anzeige dahingehend, dass der Benutzer Betrieb in dem Smart-Antwortmodus ausgewählt hat, Abrufen (908) der ursprünglichen E-Mail-Nachricht aus dem Datenspeicher und Senden (908) einer resultierenden E-Mail-Nachricht, die den aus der ursprünglichen E-Mail-Nachricht entfernten Abschnitt enthält, zu dem Empfänger.
  2. Verfahren nach Anspruch 1, wobei Senden einer verkürzten E-Mail-Nachricht umfasst: Senden der verkürzten E-Mail-Nachricht, wobei wenigstens ein Teil des Nachrichten-Körpers aus der ursprünglichen E-Mail-Nachricht entfernt ist.
  3. Verfahren nach Anspruch 1 oder 2, wobei Senden einer resultieren E-Mail-Nachricht zu dem Empfänger umfasst: Senden (908) des Nachrichten-Körpers aus der abgerufenen ursprünglichen E-Mail-Nachricht zu dem Empfänger.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei Empfangen einer erwidernden E-Mail umfasst: Empfangen (906) einer Antwort-E-Mail.
  5. Verfahren nach einem der Ansprüche 1 bis 3, wobei Empfangen einer erwidernden E-Mail umfasst: Empfangen (906) einer weitergeleiteten E-Mail.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei die ursprüngliche E-Mail-Nachricht einen Anhang enthält und Senden einer verkürzten E-Mail-Nachricht umfasst: Senden der verkürzten E-Mail-Nachricht zu dem Mobilgerät, wobei die verkürzte E-Mail-Nachricht den Anhang nicht enthält.
  7. Verfahren nach Anspruch 6, wobei Senden einer resultierenden E-Mail-Nachricht zu dem Empfänger umfasst: Anhängen (908) des Anhangs an die resultierende E-Mail-Nachricht vor dem Senden der resultierenden E-Mail-Nachricht.
  8. Computersystem, das umfasst: einen Server (901), der so eingerichtet ist, dass er eine verkürzte Nachricht erzeugt, die einer ersten E-Mail-Nachricht entspricht, bei der jedoch ein Abschnitt der ersten E-Mail-Nachricht entfernt ist, und die verkürzte Nachricht zu einem Mobilgerät (12) sendet; und wobei das System dadurch gekennzeichnet ist, dass das Mobilgerät (12) zum Durchführen einer Auswahl eines Smart-Antwortmodus durch einen Benutzer des Mobilgerätes und zum Senden einer erwidernden E-Mail-Nachricht zu dem Server (901) in Reaktion auf die mit dem Mobilgerät emp fangene verkürzte Nachricht eingerichtet ist, wobei die erwidernde E-Mail-Nachricht einen Empfänger identifiziert und eine Anzeige dahingehend enthält, dass der Benutzer des Mobilgerätes Betrieb im Smart-Antwortmodus ausgewählt hat, und dadurch, dass der Server des Weiteren so eingerichtet ist, dass er in Reaktion auf Empfangen der erwidernden E-Mail-Nachricht, die die Anzeige dahingehend enthält, dass der Benutzer Betrieb in dem Smart-Antwortmodus ausgewählt hat, eine resultierende E-Mail-Nachricht erzeugt, die den aus der ersten E-Mail-Nachricht entfernten Abschnitt enthält, und die resultierende E-Mail-Nachricht zu dem Empfänger sendet.
  9. Computersystem nach Anspruch 8, wobei der Server des Weiteren so eingerichtet ist, dass er die erste E-Mail-Nachricht zum Senden zu dem Mobilgerät (12) empfängt.
  10. Computersysteme nach Anspruch 9, wobei der Server des Weiteren so eingerichtet ist, dass er die verkürzte Nachricht auf Basis der ersten E-Mail-Nachricht erzeugt.
  11. Computersysteme nach Anspruch 9 oder 10, wobei der Server des Weiteren so eingerichtet ist, dass er die erste E-Mail-Nachricht in einem Nachrichtenspeicher (32, 34) speichert.
  12. Computersysteme nach Anspruch 11, wobei der Server des Weiteren so eingerichtet ist, dass er die resultierende E-Mail-Nachricht erzeugt, indem er auf den Nachrichtenspeicher (32, 34) zugreift (906) und den entfernten Abschnitt der ersten E-Mail-Nachricht zu der resultierenden E-Mail-Nachricht hinzufügt (908).
  13. Computersysteme nach Anspruch 9 oder 10, wobei der Server so eingerichtet ist, dass er die verkürzte Nachricht erzeugt, indem er wenigstens einen Abschnitt eines Nachrichten-Körpers aus der ersten E-Mail-Nachricht entfernt.
  14. Computersysteme nach Anspruch 13, wobei der Server des Weiteren so eingerichtet ist, dass er den Nachrichten-Körper abruft (908) und den Nachrichten-Körper aus der ersten E-Mail-Nachricht zu dem Empfänger sendet (908).
  15. Computersysteme nach einem der Ansprüche 8 bis 14, wobei die erwidernde E-Mail-Nachricht eine Antwort-E-Mail-Nachricht ist.
  16. Computersysteme nach einem der Ansprüche 8 bis 14, wobei die erwidernde E-Mail-Nachricht eine weitergeleitete E-Mail-Nachricht ist.
  17. Computersysteme nach einem der Ansprüche 8 bis 16, wobei die erste E-Mail-Nachricht einen Anhang enthält und die verkürzte E-Mail-Nachricht den Anhang nicht enthält.
  18. Computersysteme nach Anspruch 17, wobei der Server so eingerichtet ist, dass er die resultierende E-Mail-Nachricht erzeugt, indem er den Anhang vor dem Senden der resultierenden E-Mail-Nachricht an die resultierende E-Mail-Nachricht anhängt (908).
DE60320045T 2002-11-12 2003-11-03 Verfahren zur Übertragung vollständiger Antworten zu abgekürzter elektronischer Post Expired - Lifetime DE60320045T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US425374 1999-10-22
US42537402P 2002-11-12 2002-11-12
US10/452,275 US7773106B2 (en) 2002-11-12 2003-06-02 System and apparatus for sending complete responses to truncated electronic mail messages on a mobile device
US452275 2003-06-02

Publications (2)

Publication Number Publication Date
DE60320045D1 DE60320045D1 (de) 2008-05-08
DE60320045T2 true DE60320045T2 (de) 2009-04-23

Family

ID=32180022

Family Applications (2)

Application Number Title Priority Date Filing Date
DE60320045T Expired - Lifetime DE60320045T2 (de) 2002-11-12 2003-11-03 Verfahren zur Übertragung vollständiger Antworten zu abgekürzter elektronischer Post
DE60308462T Expired - Lifetime DE60308462T2 (de) 2002-11-12 2003-11-03 Verfahren zur Übertragung von Antworten zu abgekürzter elektronischer Post

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE60308462T Expired - Lifetime DE60308462T2 (de) 2002-11-12 2003-11-03 Verfahren zur Übertragung von Antworten zu abgekürzter elektronischer Post

Country Status (4)

Country Link
US (2) US7773106B2 (de)
EP (2) EP1672857B1 (de)
AT (2) ATE340463T1 (de)
DE (2) DE60320045T2 (de)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7773106B2 (en) * 2002-11-12 2010-08-10 Microsoft Corporation System and apparatus for sending complete responses to truncated electronic mail messages on a mobile device
US7716288B2 (en) * 2003-06-27 2010-05-11 Microsoft Corporation Organization-based content rights management and systems, structures, and methods therefor
US7293064B1 (en) * 2003-10-01 2007-11-06 Sprint Spectrum L.P. Method and system for dynamic variation of orginal message length in a reply message
US20060047756A1 (en) * 2004-06-16 2006-03-02 Jussi Piispanen Method and apparatus for indicating truncated email information in email synchronization
US7549043B2 (en) * 2004-09-01 2009-06-16 Research In Motion Limited Providing certificate matching in a system and method for searching and retrieving certificates
US7631183B2 (en) 2004-09-01 2009-12-08 Research In Motion Limited System and method for retrieving related certificates
US7640428B2 (en) 2004-09-02 2009-12-29 Research In Motion Limited System and method for searching and retrieving certificates
US20060101064A1 (en) 2004-11-08 2006-05-11 Sharpcast, Inc. Method and apparatus for a file sharing and synchronization system
WO2006052046A1 (en) * 2004-11-10 2006-05-18 Electronics And Telecommunications Research Institute Apparatus and method for classifying e-mail using decision tree
US20060168046A1 (en) * 2005-01-11 2006-07-27 Microsoft Corporaion Managing periodic electronic messages
US7844672B2 (en) * 2005-08-25 2010-11-30 International Business Machines Corporation Methods, systems, and computer program products for managing email in a client-server environment
US9794762B2 (en) 2005-10-06 2017-10-17 Nokia Technologies Oy System, methods, software, and devices employing messaging
US7814161B2 (en) 2006-06-23 2010-10-12 Research In Motion Limited System and method for handling electronic mail mismatches
US8452013B2 (en) * 2007-07-31 2013-05-28 Research In Motion Limited Secure message handling on a mobile device
DE602007010450D1 (de) * 2007-07-31 2010-12-23 Research In Motion Ltd Sichere Handhabung von Nachrichten auf einer mobilen Vorrichtung
US9515847B2 (en) 2008-01-09 2016-12-06 Nokia Corporation Systems and methods for adding media content to electronic messages
US8990313B2 (en) 2008-04-01 2015-03-24 Microsoft Technology Licensing, Llc Download of current portions of email messages
US20090259722A1 (en) * 2008-04-09 2009-10-15 International Business Machines Corporation Method and System for Previewing of Forwarding File Attachments Received During a Chat Session
US9998422B2 (en) * 2008-05-12 2018-06-12 Blackberry Limited Efficient attachment of user-selected files to e-mail from handheld device
US9633336B2 (en) 2008-06-02 2017-04-25 Nokia Technologies Oy Method, system, and apparatus for truncating markup language email messages
JP4677486B2 (ja) * 2008-12-26 2011-04-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 返信メールの作成を支援する装置、方法及びコンピュータプログラム
US8538022B2 (en) * 2009-06-04 2013-09-17 Blackberry Limited System and method of cross-component message processing
EP2259512B1 (de) * 2009-06-04 2012-08-08 Research In Motion Limited System und Verfahren zur komponentenübergreifenden Nachrichtenverarbeitung
KR20120033718A (ko) * 2010-09-30 2012-04-09 삼성전자주식회사 화상형성장치 및 그 장치에서의 이메일 전송 방법
US8838710B2 (en) 2010-10-29 2014-09-16 Blackberry Limited Forwarding E-mail message attachments from a wireless device
US8738909B2 (en) * 2010-10-29 2014-05-27 Blackberry Limited Forwarding E-mail from a wireless device
EP2453688B1 (de) * 2010-11-15 2013-06-19 Research In Motion Limited Sicherung eines privaten Schlüsselzugangs zur komponentenübergreifenden Nachrichtenverarbeitung
US9479928B2 (en) * 2010-11-15 2016-10-25 Blackberry Limited Cross-component message encryption
US8719579B2 (en) 2010-11-16 2014-05-06 Blackberry Limited Handling receipts in cross component message processing
CA2758364C (en) * 2010-11-18 2016-01-05 Research In Motion Limited Cross-component cryptographic message syntax message construction
US10057318B1 (en) 2012-08-10 2018-08-21 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
US10977273B2 (en) * 2016-08-02 2021-04-13 Blackberry Limited Electronic device and method of managing data transfer
US11334596B2 (en) 2018-04-27 2022-05-17 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization
US10951703B1 (en) * 2019-10-15 2021-03-16 Microsoft Technology Licensing, Llc Peer-to-peer email content replication and synchronization

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764899A (en) 1995-11-13 1998-06-09 Motorola, Inc. Method and apparatus for communicating an optimized reply
GB2314729B (en) * 1995-12-19 2001-01-17 Motorola Inc Method and apparatus for rate governing communications
US5995597A (en) * 1997-01-21 1999-11-30 Woltz; Robert Thomas E-mail processing system and method
US6275848B1 (en) * 1997-05-21 2001-08-14 International Business Machines Corp. Method and apparatus for automated referencing of electronic information
US6332164B1 (en) * 1997-10-24 2001-12-18 At&T Corp. System for recipient control of E-mail message by sending complete version of message only with confirmation from recipient to receive message
US6421707B1 (en) * 1998-02-13 2002-07-16 Lucent Technologies Inc. Wireless multi-media messaging communications method and apparatus
US6249807B1 (en) * 1998-11-17 2001-06-19 Kana Communications, Inc. Method and apparatus for performing enterprise email management
US20020016818A1 (en) * 2000-05-11 2002-02-07 Shekhar Kirani System and methodology for optimizing delivery of email attachments for disparate devices
US20020059384A1 (en) * 2000-07-13 2002-05-16 Koninklijke Philips Electronics N.V. Substituting URL for attachment in forwarding electronic content
US7136897B1 (en) * 2000-08-22 2006-11-14 International Business Machines Corporation Minimizing electronic mailbox congestion
US6650890B1 (en) * 2000-09-29 2003-11-18 Postini, Inc. Value-added electronic messaging services and transparent implementation thereof using intermediate server
US7006242B2 (en) * 2000-10-03 2006-02-28 Hewlett-Packard Development Company, L.P. Printing portable-selected information
US6938076B2 (en) * 2001-03-30 2005-08-30 01 Communique Laboratory Inc. System, computer product and method for interfacing with a private communication portal from a wireless device
US7317697B2 (en) * 2001-11-16 2008-01-08 At&T Mobility Ii Llc System for handling file attachments
US7773106B2 (en) 2002-11-12 2010-08-10 Microsoft Corporation System and apparatus for sending complete responses to truncated electronic mail messages on a mobile device

Also Published As

Publication number Publication date
DE60308462D1 (de) 2006-11-02
HK1094288A1 (en) 2007-03-23
US20040090457A1 (en) 2004-05-13
US11050693B2 (en) 2021-06-29
US20100281127A1 (en) 2010-11-04
ATE340463T1 (de) 2006-10-15
HK1066353A1 (en) 2005-03-18
EP1420554A1 (de) 2004-05-19
EP1420554B1 (de) 2006-09-20
EP1672857A1 (de) 2006-06-21
EP1672857B1 (de) 2008-03-26
DE60320045D1 (de) 2008-05-08
DE60308462T2 (de) 2007-01-04
ATE390784T1 (de) 2008-04-15
US7773106B2 (en) 2010-08-10

Similar Documents

Publication Publication Date Title
DE60308462T2 (de) Verfahren zur Übertragung von Antworten zu abgekürzter elektronischer Post
DE60009309T2 (de) System und verfahren zum presentieren von kanalisierten daten
DE69927787T2 (de) Kanaldefinitionsarchitekturerweiterung
DE69624168T2 (de) Erweiterbares System zur Verwaltung von Kommunikationsverfahren für ein Rechnersystem
DE10064627B4 (de) Verfahren und System für die Verarbeitung von E-Mail-Nachrichten in einem Datenübertragungssystem
DE69834640T2 (de) System und Verfahren zur Synchronisierung elektronischer Nachrichten über ein Netzwerk
DE60317847T2 (de) Erhöhung des Niveaus der Automatisierung, wenn Sitzungen festgelegt und gehandhabt werden
DE69605274T2 (de) System und Verfahren zur Aufmerksammachen von anderen, die ähnliche Aufgaben in einer Rechnerumgebung ausführen
US6052735A (en) Electronic mail object synchronization between a desktop computer and mobile device
DE202006021197U1 (de) Planen von Terminen aus elektronischen Nachrichten
EP1642229B1 (de) Vorrichtung und verfahren zum benutzerseitigen bearbeiten von elektronischen nachrichten mit datei-anlagen
DE10202692A1 (de) E-Mail-Umwandlungsdienst
DE10239791A1 (de) System zur Sammlung und Verteilung von Kalenderinformationen
DE602005002643T2 (de) Automatisierte Auswahl und Aufnahme einer Nachrichtensignatur
DE202010018483U1 (de) System zum Zusammenführen von Bearbeitungen für eine Konversation in einem gehosteten Konversationssystem
DE19848084A1 (de) Computersystem mit e-Mail Funktion
DE60004211T2 (de) Entfernung von duplizierten objekten aus einem objektspeicher
DE60306209T2 (de) Verfahren, mobile vorrichtungen und rechnerlesbare media zur datenverwaltung
DE69633373T2 (de) Verfahren und Gerät zur Programmierung eines Aufgabentickets in einem Dokumentenverarbeitungssystem
DE10239790A1 (de) Elektronische Kalendarisierungsvorrichtung
DE102015008619A1 (de) Verfahren und Vorrichtung zum Verfassen von elektronischen Postnachrichten beginnend von existierenden Nachrichten in einem elektronischen Postprogramm
DE10113429B4 (de) E-Mail Gerät, Verfahren zum Erzeugen einer Gruppe von Mail-Adressen, sowie Computerlesbares Medium
DE10118063A1 (de) Verfahren,System und Programm für die automatische Verarbeitung von überspielten Informationen ohne Einbeziehung des Abonnenten
EP1760647B1 (de) Verfahren und Anordnung zur Handhabung von Dateien mittels mobiler Endgeräte sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
DE112006001442T5 (de) Anzuzeigende Nachrichten auf tragbaren Vorrichtungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition