Recherche Images Maps Play YouTube Actualités Gmail Drive Plus »
Connexion
Les utilisateurs de lecteurs d'écran peuvent cliquer sur ce lien pour activer le mode d'accessibilité. Celui-ci propose les mêmes fonctionnalités principales, mais il est optimisé pour votre lecteur d'écran.

Brevets

  1. Recherche avancée dans les brevets
Numéro de publicationUS6000000 A
Type de publicationOctroi
Numéro de demandeUS 09/072,274
Date de publication7 déc. 1999
Date de dépôt4 mai 1998
Date de priorité13 oct. 1995
État de paiement des fraisPayé
Autre référence de publicationUS5884323
Numéro de publication072274, 09072274, US 6000000 A, US 6000000A, US-A-6000000, US6000000 A, US6000000A
InventeursMichael Albanese, Jeffrey C. Hawkins
Cessionnaire d'origine3Com Corporation
Exporter la citationBiBTeX, EndNote, RefMan
Liens externes: USPTO, Cession USPTO, Espacenet
Extendible method and apparatus for synchronizing multiple files on two different computer systems
US 6000000 A
Résumé
Many users of handheld computer systems maintain databases on the handheld computer systems. To share the information, it is desirable to have a simple method of sharing the information with personal computer systems. An easy to use extendible file synchronization system is introduced for sharing information between a handheld computer system and a personal computer system. The synchronization system is activated by a single button press. The synchronization system proceeds to synchronize data for several different applications that run on the handheld computer system and the personal computer system. If the user gets a new application for the handheld computer system and the personal computer system, then a new library of code is added for synchronizing the databases associate with the new application. The synchronization system automatically recognizes the new library of code and uses it during the next synchronization.
Images(7)
Previous page
Next page
Revendications(27)
What is claimed is:
1. A method of sharing information on a first computer system and a second computer system, said method comprising:
connecting said first computer system to said second computer system with a data communications link;
providing a library of functions in said second computer system for accessing information on said first computer system;
creating a conduit program database, said conduit program database for storing a list of conduit programs that may be executed,
registering a first conduit program by placing an identifier for said first conduit program in said conduit program database, said first conduit program comprising a computer program on said second computer system for performing a specific data transfer task;
successively executing a set of conduit programs identified within said conduit program database from a manager program, each of said conduit programs accessing said library of functions for communicating with said first computer system.
2. The method of sharing information as claimed in claim 1 further comprising:
registering a second conduit program by placing an identifier for said second conduit program in said conduit program database, said second conduit program comprising a computer program on said second computer system for performing a specific data transfer task.
3. The method of sharing information as claimed in claim 1 further comprising:
executing a memory resident program in said second computer system; and
loading in and executing said manager program when said memory resident program detects that a synchronization has been requested by a user.
4. The method of sharing information as claimed in claim 3 further comprising:
monitoring said communications link from said memory resident program; and
detecting a synchronization request when a predetermined packet is received on said communications link.
5. The method of sharing information as claimed in claim 3 further comprising:
providing a communication link library, said communication link library comprising a set of functions in said second computer system for communicating across said data communications link,
wherein said library of functions in said second computer system for accessing information on said first computer system uses said communication link library for communicating across said data communications link.
6. The method of sharing information as claimed in claim 1 wherein said first conduit program comprises an installation program that loads a new software program onto said first computer system.
7. The method of sharing information as claimed in claim 1 wherein said first conduit program sends and retrieves queued email.
8. The method of sharing information as claimed in claim 1 wherein said first conduit program analyzes and cleans up a file system on said first computer system.
9. The method of sharing information as claimed in claim 1 wherein said first conduit program performs the following steps
retrieving a set of modified records from a first database on said first computer;
comparing said set of modified records retrieved from said first database on said first computer system with a second database on said second computer system to create a synchronized database; and
writing records from said synchronized database to said first database on said first computer system.
10. The method of sharing information as claimed in claim 1 wherein said first conduit program performs the following steps:
retrieving all records from a first database on said first computer;
comparing said records retrieved from said first database on said first computer system with a second database on said second computer system to create a synchronized database; and
writing records from said synchronized database to said first database on said first computer system.
11. An apparatus for transferring information on a first computer system and a second computer system, said apparatus comprising:
a data communications link, said data communications link connecting said first computer system to said second computer system;
a conduit program registry on said second computer system, said conduit program registry storing a list of identifiers of conduit programs that perform specific data transfer tasks;
at least one conduit program on said second computer system, said conduit program registered in said conduit program registry, said conduit program for transferring information between said first computer system and said second computer system; and
a manager program on said second computer system, said manager program successively invoking said conduit programs.
12. The apparatus as claimed in claim 11 wherein said conduit program comprises an installation program that loads a new software program onto said first computer system.
13. The apparatus as claimed in claim 11 wherein said conduit program sends and retrieves queued email.
14. The apparatus as claimed in claim 11 wherein said conduit program analyzes and cleans up a file system on said first computer system.
15. The apparatus for transferring information as claimed in claim 11 further comprising:
a memory resident program in said second computer system, said memory resident program loading in said manager program when said memory resident program determines that a synchronization has been requested by a user.
16. The apparatus for transferring information as claimed in claim 11 further comprising:
a sync manager link library on said second computer system, said sync manager link library comprising a set of functions for accessing information on said first computer system from said second computer system.
17. The apparatus for transferring information as claimed in claim 16 further comprising:
a communications link library, said communications link library comprising a set of communication functions for communicating via said data communications link, said sync manager link library accessing said set of communication functions for communicating via said data communications link.
18. The apparatus for transferring information as claimed in claim 11 further comprising:
a first database on said first computer; and
a second database on said second computer, said conduit program reconciling said first database with said second database.
19. A cooperative computer system apparatus for transferring information, said apparatus comprising:
a first computer system;
a second computer system;
a data communications link, said data communications link coupling said first computer system to said second computer system;
at least one conduit program on said second computer system, said conduit program for transferring information between said first computer system and said second computer system;
a synchronization registry on said second computer system, said synchronization registry containing a list of said conduit programs; and
a manager program on said second computer system, said manager program successively invoking said list of said conduit programs.
20. The apparatus as claimed in claim 19 further comprising:
a memory resident program in said second computer system, said memory resident program loading in and executing said manager program when said memory resident program determines that a synchronization has been requested by a user.
21. The apparatus as claimed in claim 19 wherein said conduit program comprises an installation program that loads a new software program onto said first computer system.
22. The apparatus as claimed in claim 19 wherein said conduit program sends and retrieves queued email.
23. The apparatus as claimed in claim 19 wherein said conduit program analyzes and cleans up a file system on said first computer system.
24. The apparatus for transferring information as claimed in claim 19 further comprising:
a sync manager link library on said second computer system, said sync manager link library comprising a set of functions for accessing information on said first computer system from said second computer system.
25. The apparatus for transferring information as claimed in claim 24 further comprising:
a communications link library, said communications link library comprising a set of communication functions for communicating via said data communications link, said sync manager link library accessing said set of communication functions for communicating via said data communications link.
26. The apparatus for transferring information as claimed in claim 19 further comprising:
a first database on said first computer; and
a second database on said second computer, said conduit program reconciling said first database with said second database.
27. The cooperative computer system as claimed in claim 19 wherein said manager program comprises a set of functions for communicating with said first computer system.
Description

This patent application is a continuation of the U.S. patent application having Ser. No. 08/542,055 that was filed on Oct. 13, 1995 that is now U.S. Pat. No. 5,884,323.

FIELD OF THE INVENTION

The present invention relates to the field of handheld computer devices. Specifically, the present invention discloses a method and apparatus for transferring and synchronizing multiple files between a handheld computer and a personal computer.

BACKGROUND OF THE INVENTION

People have come to rely more and more upon computer devices to organize their lives. For example, people use computers to maintain to-do lists, address lists, and calendars. Many people store this information on desktop personal computers. However, when the person is away from their personal computer this valuable information is not available since it is stored in the desktop personal computer system. To accommodate this situation, a new class of portable handheld computer systems has emerged.

Many handheld computer systems operate as stand alone units wherein the user enters all the information into the handheld unit and the information is retrieved out of the handheld unit alone. Other handheld computer systems operate in conjunction with personal computer systems such that the two systems can transfer data back and forth.

FIG. 1 illustrates a handheld computer system and a personal computer system that act together. The handheld computer system 110 is connected to the personal computer system 150 through some type of communication link 140. The communication link 140 often consists of a direct serial data line but may consist of any type of link that will allow the two systems to transfer information back and forth. In the example of FIG. 1, the handheld computer system 110 is running a calendar application program 115 and the personal computer system 150 is running a complimentary calendar program 155. In an ideal arrangement, a user should be able to enter information into either the handheld computer system 110 or the personal computer system 150 and the information will be shared by the two calendar applications.

FIG. 2 illustrates a first method of transferring information between a handheld computer system 110 and a personal computer system 150 that is employed by some existing handheld computer systems. The method of FIG. 2 consists of a simple file transfer system. In the handheld computer system 110 in FIG. 2 a first file transfer program 210 is located on the handheld computer system to manage file transfers from the handheld computer system. The file transfer program 210 on the handheld computer system communicates with a local file system 220 that is responsible for creating and storing files. The file transfer program 210 on the handheld computer system communicates across the communication link 140 to a PC file transfer program 250 that runs on the personal computer system 150. The PC file transfer program 250 communicates with a PC file system (such as Microsoft DOS) on the personal computer system 150. To invoke the file transfer system of FIG. 2, a user must execute the file transfer program 210 on the handheld computer 110 and the PC file transfer program 250 on the personal computer system 150.

The file transfer system 210 illustrated in FIG. 2 operates only on individual files in the two computer systems such that no individual record analysis is done. For example, the PC file transfer programs on both computers can compare the dates of files on each system and transfer the more recent version from one system over to the other. However, if the files have been modified on both side then the simple file transfer program can not reconcile these changed files.

FIG. 3 illustrates a more sophisticated method of synchronizing files on a handheld computer system and a personal computer system that can reconcile changes within a file. In the transfer system illustrated in FIG. 3 there are several matching application programs in the personal computer system 150 and the handheld computer system 110. For example, there is Application 1 (311) which corresponds to PC Application 1 (361) on the personal computer system 150. Similarly, there is Application 2 (321) and Application 3 (331) on the handheld computer system that match up with PC Application 2 (371) and PC Application 3 (381) on the personal computer system 150 correspondingly.

Since there is a matching application on both the handheld computer system and the personal computer system in the method of FIG. 3, the two matching applications can share information on a record level. For example, an address book containing names, phone numbers, and addresses of people in records can be merged at a record level. Thus, if the handheld computer system 110 is taken on a road trip and the user adds a few new records to the address book program, when the handheld computer system 110 and the personal computer system 150 are later synchronized the address book application on the handheld computer system and the address book application on the personal computer system can transfer the added records from the handheld computer system to the personal computer system. Similarly, if while the main user was on the road and a secretary adds records to the personal computer address book application on the personal computer, 150 those new records can be transferred from the personal computer system 150 to the handheld computer system 110.

However, to accomplish this sophisticated synchronization system, the application on the handheld computer system and the application on the personal computer system must communicate with each other directly. If a user has several applications running on the handheld computer system 110 and the personal computer system 150 that need to be synchronized, then the person must run each pair of matched applications one-at-at-time to perform the synchronization for the different applications. Running each matched pair of applications separately and requesting a file synchronization can be a laborious process and thus limits the user's ability to quickly and easily synchronize the two computer systems.

SUMMARY AND OBJECTS OF THE INVENTION

It is therefore an object of the present invention synchronize the data between several different independent applications which run on the handheld computer system and the personal computer system using a single synchronization command.

This and other objects are accomplished in the synchronization system of the present invention. The synchronization system reconciles multiple files on a personal computer system and a handheld computer system. The synchronization system consists of three main program elements running on the personal computer system: a memory resident monitor program, a sync manager library, and at least one conduit library. The first element is a memory resident monitor program, known as hotsync, that monitors a communications port to determine if the synchronization process has been activated by a palmtop computer system. The second element is a sync manager library. When the memory resident program notices that the palmtop computer system is initiating a synchronization, then the memory resident program begins the synchronization process.

The hotsync memory resident program first consults a sync registry that contains a list of conduit libraries that are used to synchronize different applications on the personal computer system and the palmtop computer system. After obtaining the list of conduit libraries that are available, the sync manager then invokes each conduit library one by one. Each conduit library performs a synchronization for one particular application. The conduit libraries call a set of synchronization functions provided within the sync manager library. After the hotsync memory resident program has executed all the conduit libraries, the hotsync memory resident program informs the user that the synchronization process has completed.

Other objects, features and advantages of the present invention will be apparent from the accompanying drawings, and from the detailed description that follows below.

BRIEF DESCRIPTION OF THE DRAWINGS

The objects, features, and advantages of the present invention will be apparent from the following detailed description of the preferred embodiment of the invention with references to the following drawings.

FIG. 1 illustrates a handheld computer system and a personal computer system that share information over a communications link.

FIG. 2 illustrates a block diagram of a file transfer program on a handheld computer system communicating with a file transfer program on a personal computer system.

FIG. 3 illustrates a block diagram of several applications on a handheld computer system communicating with several matching applications on a personal computer system.

FIG. 4 illustrates a block diagram of the architecture of the synchronization system of the present invention.

FIG. 5 is a flow diagram that illustrates the overall control flow of the synchronization system of the present invention.

FIG. 6 is a flow diagram that illustrates the control flow of one possible Conduit library.

FIG. 7 is a conceptual diagram that illustrates the communication between the Sync Manager library and one possible Conduit library.

DETAILED DESCRIPTION

A method and apparatus for synchronizing multiple databases on a handheld computer system and a personal computer system is disclosed. In the following description, for purposes of explanation, specific nomenclature is set forth to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that these specific details are not required in order to practice the present invention. For example, the present invention will be described with reference to the Microsoft present invention can be used with other personal computer operating systems.

FIG. 1 illustrates a handheld computer system 110 and a personal computer system 150. The handheld computer system 110 may be any type of small microprocessor based computer system such as a cellular phone or a personal information manager. In FIG. 1 both the handheld computer system 110 and the personal computer system 150 are running calendar programs. Ideally a user should be able to alter the data on both the calendar program 115 on the handheld computer system 110 or the data on the personal computer system calendar program 155 on the personal computer system 150. Then, at some later point, the user should be able to reconcile the two calendar databases by coupling the two computer system together using communication link 140. The synchronization system of the present invention implements a simple method of reconciling the two calendar databases. Furthermore, the synchronization system of the present invention is extendible such that it can also reconcile several other databases under control of a single synchronization system that can be started with a single key press.

FIG. 4 illustrates a block diagram of an architecture for synchronizing databases on a handheld computer system and a personal computer system. The synchronization architecture illustrated in FIG. 4 accommodates several different application programs with associated databases running on the personal computer 150 and the handheld computer system 110.

As illustrated in FIG. 4 handheld computer system 110 has handheld Application A 471, handheld Application B 472, and handheld Application C 473. Each handheld computer application has an associated database (not shown) stored in the file system 477 of the handheld computer system 110. The handheld computer system 110 also has a communication program 478 that handles external communication for the handheld computer system 110.

The personal computer 150 of FIG. 4 has PC Application A 481, PC Application B 482, and PC Application C 483 that correspond to the applications on the handheld computer system 110. Each PC application (481, 482, and 483) also has its own associated database 441, 442, and 443 respectively. The object of the present invention is to be able to synchronize handheld computer system 110 and personal computer 150 such that databases for handheld applications A, B, C (471, 472, and 473) are reconciled with the databases (441, 442, and 443) for PC Application A, B, C (481, 482, and 483).

The synchronization software architecture of the present invention comprises three different pieces of computer code on the personal computer system: the hotsync program 460, sync manager library 410, and conduit libraries (421, 422, and 423). Each type of computer code will be described individually and an example is given that describes how the sections of code work together.

Communication Link Monitor Program

The first piece of code is the hotsync program 460. The hotsync program 460 is a memory resident program that monitors a communication link to see if the handheld computer system 110 has initiated a synchronization. For portability and expandability, it is best to have the hotsync program 460 monitor the communication link using a dedicated piece of code that handles the particular type communication link being used. FIG. 4 illustrates three different instances of dedicated communication link code: communication link X code 451, communication link Y code 452, and communication link Z code 453. Each instance of communication link code may implement a set of routines for handling a particular type of communication link. For example, if communication link X 411 in FIG. 4 is a serial line then communication link X code 451 would drive the serial line. The hotsync program 460 monitors the communication link X 411 using the communication link X code 451 to see if the handheld computer system 110 sent a "wake up" packet that signals a synchronization request. When a "wake up" packet is received, the hotsync memory resident program 460 then begins the full synchronization process. The hotsync memory resident program 460 controls the entire synchronization process, but it uses other libraries of code to perform much of the synchronization.

The Sync Manager Library

The sync manager library 410 contains a set of routines for communicating with handheld computer system 110. In the preferred embodiment of the present invention, the sync manager library is implemented as dynamic link library (library) in the Windows functions of the sync manager library 410 can be implemented in other types of function libraries in other types of operating systems. Furthermore, the hotsync program 460 and the sync manager library 410 can be combined into a single program. In the preferred embodiment, the two programs are separated since this arrangement most efficiently uses the resources of the operating system.

The sync manager library 410 implements a library of functions that are made available to other programs for synchronizing databases. To communicate with the handheld computer 110 the sync manager library 410 also uses the communication link code such as communication link X code 451 that controls communication link X 411. The sync manager library 410 does not actually reconcile the individual databases on the personal computer 150 and the handheld computer system 110, instead the sync manager library 410 oversees the synchronization process and uses individual "Conduit" libraries to perform the synchronization of each database.

The Conduit Libraries

The conduit libraries comprise the final type of computer code used in the synchronization process of the present invention. There is a conduit library for each type of database or program that needs to be synchronized on the personal computer 150 and the handheld computer system 110. However, not every conduit program will have associated databases to reconcile as will be explained later.

FIG. 4 illustrates three handheld and PC applications A, B, and C. For each application A, B, and C, there is a an associated conduit library A 421, conduit library B 422, and conduit library C 423. Conduit library D 425 is a conduit library without an associated database or application. It is the sync manager's responsibility to successively invoke each conduit library. To keep track of all the conduit libraries that must be invoked, the sync manager accesses a sync registry 430. The sync registry 430 is a database that contains a list of all the conduit libraries that the sync manager must invoke to perform a full synchronization of the personal computer 150 and the handheld computer system 110. In a preferred embodiment, the sync registry 430 is implemented as a registry in the Windows system.

The sync registry 430 must be modified any time a new conduit library is installed into the system or an existing conduit library is removed from the system. For example, when a new conduit library is installed, the installer program 463 adds an entry for the new conduit library into sync registry 430. Similarly, when an existing conduit library is removed from the system, that conduit library should also be removed from the sync registry 430.

The Synchronization Process

To best illustrate how the synchronization system of the present invention operates, an example operation will be described. FIG. 5 illustrates a flow diagram of how the hotsync program 460, the sync manager dynamic link library 410, and conduit libraries operate to perform the synchronization. The hotsync program 460 is a small memory resident program that is optionally loaded in when the personal computer is booted and remains in memory. The hotsync program 460 periodically polls the communications link as stated in step 510 of FIG. 5. If at step 515 a wake-up packet has been received on the communications link, then the hotsync program 460 reads the user ID from the wake up packet at step 520 and proceeds to step 525 where it calls the initialization routine SyncInit() in the sync manager dynamic link library 410 to start the synchronization process. The Application Programming Interface (API) information near the end of this document contains a list of functions in the sync manager library 410.) Otherwise the hotsync program 460 continues polling the communication line back at step 510. The hotsync program 460 then consults a synchronization registry 430 for a user ID and a list of conduit libraries.

The hotsync program 460 compares the user ID retrieved from the sync registry 430 with the user ID received from the wake-up packet. If the two user IDs do not match, this means that the handheld computer does not match the expected handheld computer. In such situations the hotsync program 460 proceeds to step 545 to resolve the user ID conflict. The hotsync program 460 may resolve the user ID conflict by switching to an existing user ID file on the PC or creating a new user ID file on the PC.

The hotsync program 460 also retrieved a list of conduit libraries from the sync registry 430. Using the list of conduit libraries, the hotsync program 460 proceeds to load a first conduit library at step 550. At step 555 the hotsync program 460 calls a routine in the conduit library that allows the conduit library to begin its processing. When the hotsync program 460 starts the conduit processing, the hotsync program 460 provides a callback routine to the conduit library. The callback routine will be used by the conduit to report the progress of the conduit's activities such that the hotsync program 460 can display the progress of the synchronization on the PC's display screen. The conduit library performs its specific function as step 555. The conduit library calls the set of functions listed in the Application Programming Interface (API) information near the end of this document to perform its activities. A full description of one possible conduit library will be provided with reference to FIG. 6.

After the conduit library has completed execution at step 555, the hotsync program 460 proceeds to step 560 where it determines if this was the last conduit library in the list of conduit libraries retrieved from the sync registry 430. If it is not the last conduit library the hotsync program 460 returns to step 550 where it loads in and executes another conduit library. After the last conduit library has executed the hotsync program 460 calls a SyncUnInit() in the sync manager dynamic link library 410 to complete the synchronization process. (See the Application Programming Interface (API) information near the end of this document for more information about the SyncUnInit() function.) At this point the hotsync program 460 returns back to the loop where it polls the communications link for another wake-up packet indicating another synchronization request.

A Reconcile Database Conduit Example

The conduit libraries are each individually written to suit a particular database residing on the handheld computer system. There can be many different conduit libraries that perform many different types of functions. For example, there can be conduit libraries that install software onto the handheld computer system, conduit libraries that send and retrieve queued email, conduits that analyze and clean up the file system of the handheld computer system, and conduit libraries that backup the entire contents of the handheld computer system. Some of the conduit libraries will have associated databases and others will not.

The most common type of conduit library is a conduit library that reconciles a pair of databases where one database is on the handheld computer system and one database is on the personal computer system. FIG. 6 illustrates an example control flow of a conduit library 421 that synchronizes two databases. FIG. 7 provides a conceptual diagram that illustrates some of the communication between the sync manager library 410 and the Conduit library 421.

Referring to FIG. 6, when any conduit begins executing (at step 610) the first stage is to inform the sync manager library 410 which conduit program is running. The conduit library 421 identifies itself to the sync manager library 410 by calling the SyncRegisterConduit() function in the sync manager library 410. (This step should not be confused with registering the conduit library 421 into the sync registry 430.)

The next stage is to read the databases. For this particular conduit that synchronizes two databases, the conduit library 421 opens up a local database located on the personal computer at step 615. At step 620, the conduit library then calls the function SyncOpenDB() in the sync manager library 410 to open up a corresponding database on the handheld computer 110. (See the Application Programming Interface (API) information near the end of this document for more information about the SyncOpenDB() function and other database functions.) Any proprietary information about the database on the handheld computer 110 is read at step 625. Next the conduit creates an empty file on the PC at step 630 to copy information from the database on the handheld computer system 110. The conduit library 421 may read the records from the handheld database one by one until an entire copy of the handheld database is created on the personal computer system 150. Alternatively, in a preferred embodiment the conduit library 421 will only copy records from the database that have been modified since the last synchronization.

The next stage is to compare and synchronize the handheld computer system database (or its modified records) and the personal computer system database. Having the local copy of the handheld database (or the modified records) on the personal computer and the local database on the personal computer, the conduit library 421 on the personal computer compares the two databases. Details of one possible comparison system is provided in the copending patent application with Ser. No. 08/544,927, filed on Oct. 18, 1995 now U.S. Pat. No. 5,727,202, entitled "Method and Apparatus For Synchronizing Information on Two Different Computer Systems." The outcome of the comparison is a reconciled database that incorporates all the information from both databases.

After comparing and reconciling the two databases, the next stage is to write the results of the comparison. The information from the reconciled database is copied over to the handheld computer 110 at step 660 using functions in the sync manager library 410 such as SyncWriteRecord(). In preferred embodiment only new and modified records are copied to the handheld computer 110. Next, a function is called to settle the handheld database at step 670. The settle function clears all of the flags that indicate that a record has been modified since the last synchronization. Finally, the conduit library doses the handheld database using the SyncCloseDB() function in the sync manager library.

Then the conduit library ends the synchronization session by calling SyncUnRegister() function in the sync manager library 410. Control is then returned to the sync manager library 410 such that the sync manager library 410 can call another conduit library or end the synchronization process.

To fully describe how the synchronization system of the present invention operates, the full application programming interface of the SyncManager library is hereby provided. Specifically, a set of software functions that perform various synchronization tasks are defined. Also explained are some of the structures and parameters need to correctly call these public functions. The SyncManager library has 3 broad categories of services, a) Session services, b) File oriented services, c) Record oriented services. Structure definitions and memory management are discussed at the end of this section. As a point of reference, each API is documented with its parameters and a description. The first category of functions described here are `Session Services`.

1. Session Oriented API

long SyncInit([in] CommandServer* pSrv)

Parameters:

CommandServer*--pointer to a CommandServer object which houses an established connection on the serial port.

Description:

Called as a result of the `Hotsync` program detecting a `wakeup` packet and wanting to begin the synchronization activities. After this call the sync manager program will loop and dynamically load all registered Conduit libraries so that each may carry out its individual synchronization procedures.

long SyncUnInit([in] CommandServer* pSrv)

Parameters:

CommandServer*--pointer to a CommandServer object which houses an established connection on the serial port.

Description:

Called to end the synchronization activities by disengaging the Conduit library.

long SyncReadUserID([in] LPSTR pBuffID)

Parameters:

LPSTR pBuffID--Buffer to hold incoming User ID

Description:

Instructs the handheld computer system to retrieve its local UserID and send it back to the calling PC.

long SyncReadUserID([in] CUserIDInfo &)

Parameters:

______________________________________CUsewrIDInfo & - a reference to an empty CUserIDInfo structureclass CUserIDInfo {public:char     m.sub.-- pName[REMOTE.sub.-- USERNAME];int      m.sub.-- NameLength;char     m.sub.-- pSubDir[128];long     m.sub.-- LastSyncDate; / / Date/Time of this synchronizationDWORD m.sub.-- LastSyncPC;            / / ID of this (issuing) PCDWORD m.sub.-- Id;            / / ID of the handheld computer itself};______________________________________

Description:

Instructs the handheld computer system to retrieve its local UserID information and send it back to the calling PC. The results will populate the structure members of the passed in parameter.

long SyncWriteUserID([out] CUserIDInfo & rUserInfo)

Parameters:

______________________________________CUsewrIDInfo & - a reference to a populated CUserIDInfo structureclass CUserIDInfo {public:char      m.sub.-- pName[REMOTE.sub.-- USERNAME];int       m.sub.-- NameLength;char      m.sub.-- pSubDir[128];long      m.sub.-- LastSyncDate; / / Date/Time of this sychronizationDWORD     m.sub.-- LastSyncPC; / / ID of this (issuing) PCDWORD     m.sub.-- Id; / / ID of the handheld computer itself};______________________________________

Description:

Instructs the handheld computer system to store the passed UserID information contained within the passed parameter to the handheld computer system's permanent storage.

long SyncRegisterConduit([in] int Id)

Parameters:

int--Id

Description:

Called when a Conduit library first begins its synchronization activities. The Sync Manager will verify the incoming `Id` with the list it has composed from consulting the Sync Registry.

long SyncUnRegisterConduit([in] int Id)

Parameters:

int--Id

Description:

Called when a Conduit library has completed all of its synchronization activities. The Sync Manager will verify the incoming `Id` with what it thinks is the `current` session.

1. File Oriented API

long SyncOpenDB([in] LPSTR pName, [in] int cardNum, [out] BYTE & fHandle)

Parameters:

LPSTR pName--Name of remote data file to open

int cardNum--Memory card number which data file resides upon

BYTE& fHandle--reference to a BYTE which receives the open file handle

Description:

Open a database (on the specified card #) for read/write access on the handheld computer system. Upon successful return, the third parameter will contain a numeric file handle which should be used in all subsequent file I/O operations.

long SyncCreateDB([in] CDbCreateDB & rDbStats)

Parameters:

______________________________________rDbStats - reference to the following structure;class CDbCreateDB {public:BYTE     m.sub.-- FileHandle;                / / Filled in by HHDWORD    m.sub.-- Creator;  / / Supplied by caller, obtained from DbListeDbFlags m.sub.-- Flags;                / / Supplied by caller, Res/Rec/RAMBYTE     m.sub.-- CardNo;                / / Supplied by caller, target card #char     m.sub.-- Name[32];                / / Supplied by callerDWORD    m.sub.-- Type;                / / Reserved . . .};______________________________________

Description:

Create a single database file on the handheld computer system with the issued name.

long SyncCloseDB([in] BYTE fHandle)

Parameters:

BYTE fHandle--open file handle to close

Description:

Close the currently open database on the handheld computer system.

long SyncDeleteDB([in] char* Name, [in] int cardNumber)

Parameters:

char* Name--name of file to remove.

int CardNumber--card number where the data base resides.

Description:

Instructs the communication server on the handheld computer system to delete the named file on the handheld device. The file must *not* be in use (i.e. closed) for this operation to succeed.

long SyncResetSynchronizationFlags([in] BYTE fHandle)

Parameters:

BYTE fHandle--open valid file handle.

Description:

Instructs the communication server on the handheld computer system to scan all the records of the open database and reset their `modified` flags to a neutral state. This may or may not be applicable for all Conduit libraries.

long SyncReadDBAppInfoBlock([in] BYTE fHandle, [in] CDbGenInfo & rDbInfo)

Parameters:

______________________________________BYTE fHandle - open valid file handle.CDbGenInfo & - reference to DbGeneral Info struct to receive informationclass CDbGenInfo {public:char      m.sub.-- fileName[32];                 / / target database (file) Namelong      m.sub.-- totalBytes:                 / / total bytes allocated in pBytesbyte *m.sub.-- pBytes;        / / raw bytes of DbAppInfo, the knowledge        / / of the format is known by the conduit DLL};______________________________________

Description:

Instructs the handheld computer system to locate and retrieve the information then store it in the passed structure. The calling client Conduit library must allocate enough memory in the general data area to hold the responding information. This function facilitates a trading of database specific information which may assist in the synchronization process. Enough memory must be pre-allocated on the incoming pointer by the calling Conduit library to hold the response data returned by the handheld computer system.

long SyncWriteDBAppInfoBlock([in] BYTE fHandle, [in] CDbGenInfo & rDbInfo)

Parameters:

______________________________________BYTE fHandle - open valid file handle.CDbGenInfo & - reference to DbGeneral Info struct to receive informationclass CDbGenInfo {public:char      m.sub.-- fileName[32];                 / / target database (file) Namelong      m.sub.-- totalBytes;                 / / total bytes allocated in pBytesbyte *m.sub.-- pBytes;        / / raw bytes of DbAppInfo, the knowledge        / / of the format is known by the conduit DLL};______________________________________

Description:

Instructs the handheld computer system to write the information stored in the passed structure to the handheld computer system's permanent storage associated with the open file handle.

long SyncReadDBSortInfoBlock([in] DBSortInfo *pDbSortInfo)

Parameters:

______________________________________DBSortInfo* - Pointer to DBSortInfo Info structtypedef struct.sub.-- DBSortInfo {int       m.sub.-- conduitId;                 / / target conduit DLL Idchar      m.sub.-- fileName[32];                 / / target database (file) Namelong      m.sub.-- totalBytes;                 / / total bytes allocated in pBytesbyte     *m.sub.-- pBytes; / / raw bytes of DBSortInfo, the knowledge} DBSortInfo;______________________________________

Description:

This function provides a facility to exchange database specific information with the handheld computer system. The calling client Conduit library must pre-allocate enough memory in the general data area to hold the responding information. May have no meaning to some Conduit libraries however, is in place to facilitate a trading of database (file) specific information which may assist in the synchronization process.

long SyncWriteDBSortInfoBlock([in] DBSortInfo *pDbSortInfo)

Parameters:

______________________________________DBSortInfo* - Pointer to DBSortInfo Info structtypedef struct.sub.-- DBSortInfo {int       m.sub.-- conduitId;                 / / target conduit DLL Idchar      m.sub.-- fileName[32];                 / / target database (file) Namelong      m.sub.-- totalBytes;                 / / total bytes allocated in pBytesbyte     *m.sub.-- pBytes; / / raw bytes of DBSortInfo, the knowledge} DBSortInfo;______________________________________

Description:

Instructs the handheld computer system to store the passed in database specific information associated with the indicated database file. The calling client Conduit DLL must pre-allocate enough memory in the general data area to hold the information. May have no meaning to some Conduit libraries, however, is in place to facilitate a trading of database (file) specific information which may assist in the synchronization process.

1. Record Oriented API

The following APIs will need to pass the representation of a record, which lives in a database (file), between the PC and the handheld computer system. Since the role of the Sync Manager library is to act more or less as a shipping channel for byte traffic to the handheld computer system, the need exists for a generic definition of a structure which should handle any record format. This generic structure will them become a parameter in these `Record Oriented` APIs. For reading records 3 different APIs are provided allowing for:

A) sequentially locate the next altered record via SyncReadNextModifiedRec( )

B) an exact record lookup via SyncReadRecordById()

C) top to bottom iteration via SyncReadRecordByIndex()

The same structure `CRawRecordInfo` is used in all 3 APIs, however different structure members are utilized for each function call. Any member documented with the following note syntax `Filled in by HH` indicates the handheld computer system will supply that data.

long SyncReadNextModifiedRec([in] CRawRecordInfo & rRec)

Parameters:

______________________________________rRec & - reference to incoming Raw Record Info structureclass CRawRecordInfo{public:BYTE       m.sub.-- FileHandle;                   / / Valid open file handleDWORD      m.sub.-- RecId;                   / / Filled in by HHWORD       m.sub.-- RecIndex;                   / / IgnoreBYTE       m.sub.-- Attribs;                   / / Filled in by HHshort      m.sub.-- CatId;                   / / Filled in by HHint        m.sub.-- ConduitId;                   / / IgnoreDWORD      m.sub.-- RecSize;                   / / Filled in by HHWORD       m.sub.-- TotalBytes;                   / / Supplied by callerBYTE *     m.sub.-- pBytes;                   / / Pre-Allocated by caller};______________________________________

Description:

Instructs the handheld computer system to traverse its currently open database (file) and return the next record it encounters which has been modified since the last sync negotiation. It is expected that the caller will have allocated enough memory onto the `m.sub.-- pBytes` pointer to contain the response from the handheld computer system.

The structure member `m.sub.-- RecSize` is provided so the handheld computer system may indicate the exact number of bytes present in the returned record body.

long SyncReadRecordById([in] CRawRecordInfo & rRec)

Parameters:

______________________________________rRec & - reference to incoming Raw Record Info structureclass CRawRecordInfo{public:BYTE       m.sub.-- FileHandle;                   / / Valid open file handleDWORD      m.sub.-- RecId;                   / / Filled in by HHWORD       m.sub.-- RecIndex;                   / / IgnoreBYTE       m.sub.-- Attribs;                   / / Filled in by HHshort      m.sub.-- CatId;                   / / Filled in by HHint        m.sub.-- ConduitId;                   / / IgnoreDWORD      m.sub.-- RecSize;                   / / Filled in by HHWORD       m.sub.-- TotalBytes;                   / / Supplied by callerBYTE *     m.sub.-- pBytes;                   / / Pre-Allocated by caller};______________________________________

Description:

Can be thought of as a Seek/Find procedure. The Sync Manager Library merely delivers this structure to the handheld computer system and it remains the responsibility of the handheld computer system to interpret and carry out the intentions of the sending conduit. Generally, the handheld computer system will search its currently open database looking for a match on the unique record present in the structure member `m.sub.-- RecId`. Upon successful execution of this routine the structure member `m.sub.-- pBytes` will contain the raw record body from the handheld computer system.

long SyncReadRecordByIndex([in] CRawRecordInfo & rRec)

Parameters:

______________________________________rRec & - reference to incoming Raw Record Info structureclass CRawRecordInfo{public:BYTE       m.sub.-- FileHandle;                   / / Valid open file handleDWORD      m.sub.-- RecId;                   / / Filled in by HHWORD       m.sub.-- RecIndex;                   / / IgnoreBYTE       m.sub.-- Attribs;                   / / Filled in by HHshort      m.sub.-- CatId;                   / / Filled in by HHint        m.sub.-- ConduitId;                   / / IgnoreDWORD      m.sub.-- RecSize;                   / / Filled in by HHWORD       m.sub.-- TotalBytes;                   / / Supplied by callerBYTE *     m.sub.-- pBytes;                   / / Pre-Allocated by caller};______________________________________

Description:

By iteratively supplying sequential values to the structure member `m.sub.-- RecIndex` a Conduit may traverse a handheld computer system data base from top-to-bottom. This structure member `m.sub.-- RecIndex` can be thought of as an array offset, in essence accessing a specific record in an open data base by its relative offset from the beginning of the file. Generally, the handheld computer system will walk the currently open database from the top and return the record body located at the `m.sub.-- RecIndex` position. Upon successful execution of this routine the structure member `m.sub.-- pBytes` will contain the raw record body from the handheld computer system.

long SyncWriteRec([in] CRawRecordInfo & rRec)

Parameters:

__________________________________________________________________________rRec & - reference to incoming Raw Record Info structureclass CRawRecord Info{public:BYTE    m.sub.-- FileHandle;            / / Valid open file handleDWORD   m.sub.-- RecId;            / / Supplied by caller, can be 0 on new recordsWORD    m.sub.-- RecIndex;            / / IgnoreBYTE    m.sub.-- Attribs;            / / Supplied by callershort   m.sub.-- CatId;            / / Supplied by callerint     m.sub.-- ConduitId;            / / IgnoreDWORD   m.sub.-- RecSize;            / / Supplied by callerWORD    m.sub.-- TotalBytes;            / / Supplied by callerBYTE *  m.sub.-- pBytes;            / / Pre-Allocated by caller, contains record body};__________________________________________________________________________

Description:

Instructs the handheld computer system to write the passed record into the open database file. The caller must supply either a valid record ID in the member `m.sub.-- RecId`, or place zero in this member which indicates to the handheld computer system to *append* this record as a new record to the open file. The record body is placed in the memory on the pointer `m.sub.-- pBytes` and should be formatted in a manner that matches the record layouts in the open data base on the handheld computer system.

long SyncDeleteRecord([in] CRawRecordInfo & rRec)

Parameters:

______________________________________rRec & - reference to incoming Raw Record Info structureclass CRawRecordInfo{public:BYTE      m.sub.-- FileHandle;                  / / Valid open file handleDWORD     m.sub.-- RecId;              / / Supplied by caller, target rec to deleteWORD      m.sub.-- RecIndex/                  / / IgnoreBYTE      m.sub.-- Attribs;                  / / Ignoreshort     m.sub.-- CatId;                  / / Ignoreint       m.sub.-- ConduitId;                  / / IgnoreDWORD     m.sub.-- RecSize                  / / IgnoreWORD      m.sub.-- TotalBytes;                  / / IgnoreBYTE *    m.sub.-- pBytes;                  / / Ignore};______________________________________

Description:

Instructs the handheld computer system to delete the record using the value in the structure member `m.sub.-- RecId` as the key, inside the open database file.

Although the present invention has been described in terms of specific exemplary embodiments, it will be appreciated that various modifications and alterations might be made by those skilled in the art without departing from the spirit and scope of the invention as set forth in the following claims.

Citations de brevets
Brevet cité Date de dépôt Date de publication Déposant Titre
US4432057 *27 nov. 198114 févr. 1984International Business Machines CorporationMethod for the dynamic replication of data under distributed system control to control utilization of resources in a multiprocessing, distributed data base system
US4807182 *12 mars 198621 févr. 1989Advanced Software, Inc.Apparatus and method for comparing data groups
US4866611 *29 janv. 198712 sept. 1989International Business Machines CorporationMethod for automatically reconciling entries on two copies of independently maintained electronic calendars
US4875159 *22 déc. 198717 oct. 1989Amdahl CorporationVersion management system using plural control fields for synchronizing two versions of files in a multiprocessor system
US4956809 *29 déc. 198811 sept. 1990Mark Williams CompanyMethod for canonical ordering of binary data for portable operating systems
US5001628 *1 sept. 198919 mars 1991International Business Machines CorporationSingle system image uniquely defining an environment for each user in a data processing system
US5065360 *10 janv. 198912 nov. 1991Kelly Douglas JPortable data storage and editing device
US5124909 *31 oct. 198823 juin 1992Canon Kabushiki KaishaSoftware program for providing cooperative processing between personal computers and a host computer
US5142619 *23 août 199125 août 1992International Business Machines CorporationMethod and apparatus for visually comparing files in a data processing system
US5159592 *29 oct. 199027 oct. 1992International Business Machines CorporationNetwork address management for a wired network supporting wireless communication to a plurality of mobile users
US5187787 *27 juil. 198916 févr. 1993Teknekron Software Systems, Inc.Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5210868 *19 déc. 199011 mai 1993Hitachi Ltd.Database system and matching method between databases
US5237678 *2 mars 198917 août 1993Kuechler William LSystem for storing and manipulating information in an information base
US5251291 *30 juil. 19925 oct. 1993International Business Machines CorporationMethod of selectively transferring video displayed information
US5261045 *19 avr. 19919 nov. 1993International Business Machines CorporationMethod of exchanging entries from a plurality of different electronic calendars based on interactively entered criteria
US5261094 *8 avr. 19919 nov. 1993International Business Machines CorporationAsynchronous replication of data changes by distributed update requests
US5272628 *16 avr. 199021 déc. 1993Microsoft CorporationMethod and system for aggregating tables having dissimilar formats
US5283887 *19 déc. 19901 févr. 1994Bull Hn Information Systems Inc.Automatic document format conversion in an electronic mail system based upon user preference
US5301313 *15 juil. 19915 avr. 1994Matsushita Electric Industrial Co., Ltd.Manipulating data in a relational data base having operational manipulations defined in an input table and displayed results in an output table with a line displayed designating direction of data flow
US5315709 *3 déc. 199024 mai 1994Bachman Information Systems, Inc.Method and apparatus for transforming objects in data models
US5327555 *14 févr. 19915 juil. 1994Hewlett-Packard CompanyMethod for reconciling entries in a plurality of schedules
US5333252 *30 juin 199326 juil. 1994Claris CorporationInterface for arranging order of fields
US5339392 *28 déc. 199016 août 1994Risberg Jeffrey SApparatus and method for creation of a user definable video displayed document showing changes in real time data
US5339434 *7 déc. 199216 août 1994Trw Inc.Heterogeneous data translation system
US5355476 *2 déc. 199111 oct. 1994Casio Computer Co., Ltd.File update apparatus for generating a matrix representing a subset of files and the update correspondence between directories and files
US5379057 *28 juil. 19933 janv. 1995Microslate, Inc.Portable computer with touch screen and computer system employing same
US5392390 *10 avr. 199221 févr. 1995Intellilink Corp.Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
US5434994 *23 mai 199418 juil. 1995International Business Machines CorporationSystem and method for maintaining replicated data coherency in a data processing system
US5463772 *23 avr. 199331 oct. 1995Hewlett-Packard CompanyTransparent peripheral file systems with on-board compression, decompression, and space management
US5475833 *4 sept. 199112 déc. 1995International Business Machines CorporationDatabase system for facilitating comparison of related information stored in a distributed resource
US5519606 *21 janv. 199221 mai 1996Starfish Software, Inc.System and methods for appointment reconciliation
US5537592 *23 janv. 199516 juil. 1996AlphatronixSystem and method for reading and writing disks formatted for an operating system foreign to the host computer
US5544356 *3 mars 19956 août 1996Intel CorporationBlock-erasable non-volatile semiconductor memory which tracks and stores the total number of write/erase cycles for each block
US5546539 *12 oct. 199513 août 1996Intel CorporationMethod and system for updating files of a plurality of storage devices through propogation of files over a nework
US5566069 *7 mars 199415 oct. 1996Monsanto CompanyComputer network for collecting and analyzing agronomic data
US5572528 *20 mars 19955 nov. 1996Novell, Inc.Mobile networking method and apparatus
US5574859 *26 janv. 199312 nov. 1996Yeh; Keming W.Method and apparatus for using a software configurable connector to connect a palmtop computer having a custom port to a host having a standard port
US5592669 *1 déc. 19957 janv. 1997Intel CorporationFile structure for a non-volatile block-erasable semiconductor flash memory
US5598536 *9 août 199428 janv. 1997Shiva CorporationApparatus and method for providing remote users with the same unique IP address upon each network access
US5649195 *22 mai 199515 juil. 1997International Business Machines CorporationSystems and methods for synchronizing databases in a receive-only network
US5666362 *25 juil. 19959 sept. 19973Com CorporationMethod and apparatus for asynchronous PPP and synchronous PPP conversion
US5666530 *2 déc. 19929 sept. 1997Compaq Computer CorporationSystem for automatic synchronization of common file between portable computer and host computer via communication channel selected from a plurality of usable channels there between
US5666553 *22 juil. 19949 sept. 1997Puma Technology, Inc.Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
US5684990 *11 janv. 19954 nov. 1997Puma Technology, Inc.Synchronization of disparate databases
US5696702 *15 oct. 19969 déc. 1997Skinner; Gary R.Time and work tracker
US5701423 *7 avr. 199423 déc. 1997Puma Technology, Inc.Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
US5706509 *28 avr. 19956 janv. 1998Intel CorporationApplication independent record level synchronization
US5710922 *18 déc. 199520 janv. 1998Apple Computer, Inc.Method for synchronizing and archiving information between computer systems
US5727159 *10 avr. 199610 mars 1998Kikinis; DanSystem in which a Proxy-Server translates information received from the Internet into a form/format readily usable by low power portable computers
US5727202 *18 oct. 199510 mars 1998Palm Computing, Inc.Method and apparatus for synchronizing information on two different computer systems
US5729452 *31 mars 199517 mars 1998Envirotest Acquisition Co.Method and system for diagnosing and reporting failure of a vehicle emission test
US5742820 *6 juil. 199521 avr. 1998Novell, Inc.Mechanism for efficiently synchronizing information over a network
US5761439 *25 sept. 19952 juin 1998Intel CorporationMethod and apparatus for synchronizing communications between networked computers
US5845282 *7 août 19951 déc. 1998Apple Computer, Inc.Method and apparatus for remotely accessing files from a desktop computer using a personal digital assistant
US5857201 *18 juin 19965 janv. 1999Wright Strategies, Inc.Enterprise connectivity to handheld devices
US5864604 *6 janv. 199726 janv. 1999General Patent CorpMethod of providing message service for limited access telecommunications
US5867821 *16 févr. 19962 févr. 1999Paxton Developments Inc.Method and apparatus for electronically accessing and distributing personal health care information and services in hospitals and homes
Citations hors brevets
Référence
1"FRx extends reporting power of Platinum Series: (IBM Desktop Software's line of accounting software)", Doug Payton, PC Week, V. 8, No. 5, p. 29(2), Feb. 1991.
2"Logical Connectivity: Applications, Requirements, Architecture, and Research Agenda, "Stuart Madnick & Y. Richard Wang, MIT, System Sciences, 1991, Hawaii Int'l, vol. 1, IEEE, Jun. 1991.
3"Open Network Computing-Technical Overview", Sun Technical Report, Sun Microsystems, Inc., pp. 1-32 (1987).
4Alfieri, "The Best Book of:WordPerfect Version 5.0", Hayden Books (1988), pp. 153-165 and 429-435 1988.
5 *Alfieri, The Best Book of:WordPerfect Version 5.0 , Hayden Books (1988), pp. 153 165 and 429 435 1988.
6Cobb et al., "Paradox 3.5 Handbook 3rd Edition", Bantam (1991), pp. 803-816.
7 *Cobb et al., Paradox 3.5 Handbook 3rd Edition , Bantam (1991), pp. 803 816.
8 *Connectivity Pack for the HP 95 LX , Hewlett Packard, Apr. 1991.
9Connectivity Pack for the HP 95 LX, Hewlett Packard, Apr. 1991.
10 *Excerpt from LapLink World Wide Web for SpeedSync, (1) Page total. Date Unknown.
11 *Excerpt from Microsoft Windows 95 Documentation, (3) Pages 1995.
12 *FRx extends reporting power of Platinum Series: (IBM Desktop Software s line of accounting software) , Doug Payton, PC Week, V. 8, No. 5, p. 29(2), Feb. 1991.
13 *IntelliLink Brochure (1990).
14 *Logical Connectivity: Applications, Requirements, Architecture, and Research Agenda, Stuart Madnick & Y. Richard Wang, MIT, System Sciences, 1991, Hawaii Int l, vol. 1, IEEE, Jun. 1991.
15 *Open Network Computing Technical Overview , Sun Technical Report, Sun Microsystems, Inc., pp. 1 32 (1987).
16 *Organizer LinkII Operation Manual, Sharp Electronics Corporation, No Date.
17 *PC LINK Release 2 for the Casio BOSS, Traveling Software, Nov. 1989.
18PC-LINK Release 2 for the Casio BOSS, Traveling Software, Nov. 1989.
19 *Sharp Organizer Link II, Operation Manual , Sharp Electronics, undated.
20Sharp Organizer Link II, Operation Manual, Sharp Electronics, undated.
21 *User Manual for Connectivity Pack for the HP 95LX, Hewlett Packard Company (1991).
22 *User Manual for PC Link for the B.O.S.S. and the PC Link for the B.O.S.S., Traveling Solftware, Inc. (1989).
23User Manual for PC-Link for the B.O.S.S. and the PC-Link for the B.O.S.S., Traveling Solftware, Inc. (1989).
24 *Zahn et al., Network Computing Architecture, pp. 1 11, 19 31, 87 115,117 133, 187 199, 201 209 (1990).
25Zahn et al., Network Computing Architecture, pp. 1-11, 19-31, 87-115,117-133, 187-199, 201-209 (1990).
Référencé par
Brevet citant Date de dépôt Date de publication Déposant Titre
US6098100 *8 juin 19981 août 2000Silicon Integrated Systems Corp.Method and apparatus for detecting a wake packet issued by a network device to a sleeping node
US6178015 *5 juin 199823 janv. 2001Mustek Systems, Inc.Apparatus and method for increasing the scan accuracy and quality of the flatbed scanner by using close loop control
US6240426 *18 nov. 199829 mai 2001Siemens Information & Communication Networks, Inc.Method and apparatus for synchronizing information between a mobile device and a data collection device through a telephone switching network
US6249849 *16 juin 199919 juin 2001International Business Machines Corporation“Fail-Safe” updating of redundant data in multiple data storage libraries
US6272545 *22 oct. 19987 août 2001Microsoft CorporationSystem and method for interaction between one or more desktop computers and one or more mobile devices
US6301020 *7 août 19989 oct. 2001Hewlett-Packard CompanyAppliance and method for capturing images having a user error interface
US6308201 *8 avr. 199923 oct. 2001Palm, Inc.System and method for sharing data among a plurality of personal digital assistants
US6324544 *21 oct. 199827 nov. 2001Microsoft CorporationFile object synchronization between a desktop computer and a mobile device
US6336172 *1 avr. 19991 janv. 2002International Business Machines CorporationStoring and tracking multiple copies of data in a data storage library system
US6336173 *1 avr. 19991 janv. 2002International Business Machines CorporationStoring and tracking multiple copies of data in data storage libraries
US634131628 avr. 200022 janv. 2002Avantgo, Inc.System, method, and computer program product for synchronizing content between a server and a client based on state information
US6370389 *30 oct. 19989 avr. 2002Nokia Mobile Phones, Ltd.Communication network terminal supporting a plurality of applications
US638945713 févr. 200114 mai 2002Research In Motion LimitedSystem and method for pushing information from a host system to a mobile data communication device
US640111313 févr. 20014 juin 2002Research In Motion LimitedSystem and method for pushing information from a host system to a mobile data communication device
US64294022 juin 20006 août 2002The Regents Of The University Of CaliforniaControlled laser production of elongated articles from particulates
US643858516 janv. 200120 août 2002Research In Motion LimitedSystem and method for redirecting message attachments between a host system and a mobile data communication device
US64570628 avr. 199924 sept. 2002Palm, Inc.System and method for synchronizing multiple calendars over wide area network
US646346328 août 20008 oct. 2002Research In Motion LimitedSystem and method for pushing calendar event messages from a host system to a mobile data communication device
US6463464 *17 mars 20008 oct. 2002Research In Motion LimitedSystem and method for pushing information from a host system to a mobile data communication device
US64662368 avr. 199915 oct. 2002Palm, Inc.System and method for displaying and manipulating multiple calendars on a personal digital assistant
US6473829 *28 mai 199929 oct. 2002International Business Machines CorporationData storage device providing communication between processing units
US6549917 *29 avr. 199915 avr. 2003Waveware Communications, Inc.Synchronization of host computers and handheld remote computers
US65530378 avr. 199922 avr. 2003Palm, Inc.System and method for synchronizing data among a plurality of users via an intermittently accessed network
US6611849 *29 sept. 200026 août 2003Palm Source, Inc.System for synchronizing databases on multiple devices utilizing a home base
US6621508 *18 janv. 200016 sept. 2003Seiko Epson CorporationInformation processing system
US6633924 *2 oct. 199714 oct. 2003Charles WuObject synchronization between objects stores on different computers
US663687317 avr. 200021 oct. 2003Oracle International CorporationMethods and systems for synchronization of mobile devices with a remote database
US665106328 janv. 200018 nov. 2003Andrei G. VorobievData organization and management system and method
US6658508 *31 janv. 20002 déc. 2003Koninklijke Philips Electronics N.V.Expansion module with external bus for personal digital assistant and design method therefor
US6671700 *23 mai 200030 déc. 2003Palm Source, Inc.Method and apparatus for parallel execution of conduits during simultaneous synchronization of databases
US667175726 janv. 200030 déc. 2003Fusionone, Inc.Data transfer and synchronization system
US6694366 *5 oct. 199817 févr. 2004Symbol Technologies, Inc.Data reconciliation between a computer and a mobile data collection terminal
US6704807 *28 avr. 20009 mars 2004Microsoft CorporationApplication program interfaces and structures in a resource limited operating system
US6718347 *5 janv. 19996 avr. 2004Emc CorporationMethod and apparatus for maintaining coherence among copies of a database shared by multiple computers
US67387892 janv. 200118 mai 2004Fusionone, Inc.Data package including synchronization data
US6742037 *30 avr. 199925 mai 2004Nortel Networks LimitedMethod and apparatus for dynamic information transfer from a mobile target to a fixed target that tracks their relative movement and synchronizes data between them
US6757696 *2 janv. 200129 juin 2004Fusionone, Inc.Management server for synchronization system
US677904228 avr. 200017 août 2004Ianywhere Solutions, Inc.System, method, and computer program product for enabling on-device servers, offline forms, and dynamic ad tracking on mobile devices
US6787962 *4 sept. 20017 sept. 2004Mitsubishi Denki Kabushiki KaishaStarter with overheat protection device including brush device
US6801987 *26 juin 20025 oct. 2004Mark Ellery OgramAnti-hacking system
US68296559 avr. 20027 déc. 2004Siebel Systems, Inc.Method and system for server synchronization with a computing device via a companion device
US683974428 avr. 20004 janv. 2005Ianywhere Solutions, Inc.System, method, and computer program product for administering channels, content, and data for mobile devices
US6862617 *4 juin 19991 mars 2005Microsoft Corp.System and method for synchronizing objects between two devices
US6901434 *31 mai 200031 mai 2005Palmsource, Inc.Synchronization of data between two handheld computers
US6915312 *13 août 20015 juil. 2005Starfish Software, Inc.Data processing environment with methods providing contemporaneous synchronization of two or more clients
US692547617 août 20002 août 2005Fusionone, Inc.Updating application data including adding first change log to aggreagate change log comprising summary of changes
US693474019 sept. 200023 août 20053Com CorporationMethod and apparatus for sharing common data objects among multiple applications in a client device
US693807919 sept. 200030 août 20053Com CorporationSystem and method for automatically configuring a client device
US694465117 mai 200113 sept. 2005Fusionone, Inc.Single click synchronization of data from a public information store to a private information store
US695098812 oct. 200127 sept. 2005Handspring, Inc.Multi-context iterative directory filter
US695739712 oct. 200118 oct. 2005Palm, Inc.Navigating through a menu of a handheld computer using a keyboard
US6957776 *30 mars 200025 oct. 2005Qwest Communications International Inc.System and method for managing a plurality of local lists of a single user
US696161719 oct. 20011 nov. 2005Pacesetter, Inc.Method and apparatus to backup, update and share data among implantable cardiac stimulation device programmers
US697353320 août 20026 déc. 2005International Business Machines CorporationData storage device providing communication between processing units
US697530414 oct. 200113 déc. 2005Handspring, Inc.Interface for processing of an alternate symbol in a computer device
US69881371 déc. 200417 janv. 2006Microsoft CorporationSystem and method for synchronizing objects between two devices
US699052217 nov. 200424 janv. 2006Microsoft CorporationSystem and method for synchronizing objects between two devices
US69905231 déc. 200424 janv. 2006Microsoft CorporationSystem and method for synchronizing objects between two devices
US69935791 déc. 200431 janv. 2006Microsoft CorporationSystem and method of synchronizing objects between two devices
US699663317 nov. 20047 févr. 2006Microsoft CorporationSystem and method for synchronizing objects between two devices
US70070412 janv. 200128 févr. 2006Fusionone, Inc.Synchronization system application object interface
US7013313 *17 nov. 200014 mars 2006Pumatech, Inc.System and methods for inheriting information into a dataset
US702442831 juil. 20014 avr. 2006Openwave Systems Inc.Reliable data synchronization over unreliable networks
US70322294 juin 200118 avr. 2006Palmsource, Inc.Automatic tracking of user progress in a software application
US703587817 août 200025 avr. 2006Fusionone, Inc.Base rolling engine for data transfer and synchronization system
US70405388 juil. 20029 mai 2006Symbol Technologies, Inc.Bar code reader including linear sensor array and hybrid camera and bar code reader
US7047402 *10 mai 200216 mai 2006Hewlett-Packard Development Company, L.P.Process for booting and causing completion of synchronization based on multiple actuations of designated key when the system is off
US7085822 *23 mai 20001 août 2006International Business Machines CorporationManaging pervasive devices
US7099896 *30 janv. 200329 août 2006Patientkeeper, Inc.Synchronizing data between disparate schemas using composite version
US711095519 juil. 199919 sept. 2006Patientkeeper, Inc.Device for automating billing reimbursement
US712750915 avr. 200424 oct. 2006Microsoft CorporationSystem and method for synchronizing objects between two devices
US713693419 juin 200114 nov. 2006Request, Inc.Multimedia synchronization method and device
US7146437 *20 août 20045 déc. 2006Apple Computer, Inc.Hot unpluggable media storage device
US7155488 *24 nov. 200426 déc. 2006Palmsource, Inc.Synchronization of data between two handheld computers
US71555219 oct. 200126 déc. 2006Nokia CorporationStarting a session in a synchronization system
US716679128 oct. 200223 janv. 2007Apple Computer, Inc.Graphical user interface and methods of use thereof in a multimedia player
US7197584 *26 janv. 200127 mars 2007Dell Products L.P.Removable personal digital assistant in a dual personal computer/personal digital assistant computer architecture
US720684910 oct. 200017 avr. 2007Symbol Technologies, Inc.Communication in a wireless communications network when a mobile computer terminal may be unreachable
US720995510 avr. 200024 avr. 2007Research In Motion LimitedNotification system and method for a mobile data communication device
US7249344 *1 juin 199924 juil. 2007Citicorp Development Center, Inc.Delivery of financial services to remote devices
US725764911 oct. 200114 août 2007Siebel Systems, Inc.Method and system for transferring information during server synchronization with a computing device
US726354728 juin 200128 août 2007Ianywhere Solutions, Inc.System, method, and computer program product for customizing channels, content, and data for mobile devices
US7277927 *13 avr. 20012 oct. 2007Earthlink, Inc.Systems and methods for saving internet content into a handheld internet appliance
US734896721 mars 200625 mars 2008Apple Inc.Touch pad for handheld device
US735636113 oct. 20018 avr. 2008Palm, Inc.Hand-held device
US7363388 *28 mars 200122 avr. 2008Siebel Systems, Inc.Method and system for direct server synchronization with a computing device
US7363392 *30 juil. 200322 avr. 2008Hewlett-Packard Development Company, L.P.Automatic maintenance of configuration information in a replaceable electronic module
US7386858 *18 juil. 200310 juin 2008Access Systems Americas, Inc.Method and apparatus for unified external and interprocess communication
US739230825 mai 200124 juin 2008Ianywhere Solutions, Inc.System, method, and computer program product for placement of channels on a mobile device
US739508912 oct. 20011 juil. 2008Palm, IncIntegrated personal digital assistant device
US739527212 oct. 20051 juil. 2008International Business Machines CorporationUse of agents and control documents to update a database structure
US741548610 sept. 200319 août 2008Fusionone, Inc.System using change log stored at a server to identify changes to user's application data for synchronizing data between systems
US741553928 sept. 200119 août 2008Siebel Systems, Inc.Method and apparatus for detecting insufficient memory for data extraction processes
US74641865 nov. 20049 déc. 2008Siebel Systems Inc.Method and system for server synchronization with a computing device via a companion device
US747206711 nov. 200430 déc. 2008Microsoft CorporationApplication program interfaces and structures in a resource limited operating system
US7478381 *15 déc. 200313 janv. 2009Microsoft CorporationManaging software updates and a software distribution service
US7490045 *4 juin 200110 févr. 2009Palmsource, Inc.Automatic collection and updating of application usage
US750275227 sept. 200010 mars 2009Citicorp Development Center, Inc.System and method for delivering financial services
US7505762 *27 févr. 200417 mars 2009Fusionone, Inc.Wireless telephone data backup system
US75216257 déc. 200621 avr. 2009Apple Inc.Graphical user interface and methods of use thereof in a multimedia player
US752314621 juin 200521 avr. 2009Apple Inc.Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment
US75265755 nov. 200128 avr. 2009Siebel Systems, Inc.Method and system for client-based operations in server synchronization with a computing device
US752658626 mars 200728 avr. 2009Dell Products L.P.Removable personal digital assistant in a dual personal computer/personal digital assistant computer architecture
US752958818 août 20055 mai 2009Pacesetter, Inc.Method and apparatus to backup, update and share data among implantable cardiac stimulation device programmers
US7530050 *31 mars 20045 mai 2009FusionopsMethod and system for developing software using nodes
US754645312 juin 20029 juin 2009Research In Motion LimitedCertificate management and transfer system and method
US756063728 sept. 200514 juil. 2009Apple Inc.Graphical user interface and methods of use thereof in a multimedia player
US757119425 sept. 20034 août 2009Nokia CorporationApplication data synchronization in telecommunications system
US757444415 nov. 200611 août 2009Palm, Inc.Device-side data de-duping
US757448120 déc. 200011 août 2009Microsoft CorporationMethod and system for enabling offline detection of software updates
US757470615 déc. 200311 août 2009Microsoft CorporationSystem and method for managing and communicating software updates
US757775719 oct. 200618 août 2009Request, Inc.Multimedia synchronization method and device
US757792028 juil. 200518 août 2009Palm, Inc.Navigating through menus of a handheld computer
US7584412 *7 juil. 20041 sept. 2009Palmsource Inc.Method and apparatus for managing calendar information from a shared database and managing calendar information from multiple users
US758744610 nov. 20008 sept. 2009Fusionone, Inc.Acquisition and synchronization of digital media to a personal information space
US75907734 oct. 200615 sept. 2009Apple Inc.Hot unpluggable media storage device
US762066717 nov. 200317 nov. 2009Microsoft CorporationTransfer of user profiles using portable storage devices
US76438246 mai 20085 janv. 2010Cooligy IncWireless telephone data backup system
US7650364 *9 oct. 200219 janv. 2010Hewlett-Packard Development Company, L.P.Portable database system
US76577698 janv. 20072 févr. 2010Marcy M ScottN-way synchronization of data
US766504328 déc. 200116 févr. 2010Palm, Inc.Menu navigation and operation feature for a handheld computer
US766712429 nov. 200623 févr. 2010Apple Inc.Graphical user interface and methods of use thereof in a multimedia player
US766890031 mai 200123 févr. 2010Access Systems Americas, Inc.System and method for scheduling an event over a network
US766920819 août 200323 févr. 2010Microsoft CorporationObject synchronization between object stores on different computers
US767026320 août 20032 mars 2010Michael EllisModular personal network systems and methods
US768084925 oct. 200416 mars 2010Apple Inc.Multiple media type synchronization between host computer and media device
US768114622 avr. 200516 mars 2010Palm, Inc.Multi-context iterative directory filter
US7687168 *19 mai 200630 mars 2010Honda Motor Co., Ltd.Fuel cell system for setting predetermined operation state when substitutional value control is impossible
US7689438 *15 nov. 200030 mars 2010Microsoft CorporationMethod, apparatus and system for communicating healthcare information to and from a portable, hand-held device
US7693888 *10 mai 20056 avr. 2010Siemens Communications, Inc.Data synchronizer with failover facility
US769841918 avr. 200613 avr. 2010Palmsource Inc.Automatic tracking of usage of a software application having different versions
US76984724 août 200913 avr. 2010Apple Inc.Hot unpluggable media storage device
US77154442 févr. 200711 mai 2010Palm, IncResuming a previously interrupted peer-to-peer synchronization operation
US771637416 oct. 200111 mai 2010Telecommunication Systems, Inc.Run-time engine implemented on a computing device allowing synchronization of records during application execution
US772512713 mai 200525 mai 2010Palm, Inc.Hand-held device
US77300261 juil. 20041 juin 2010Apple Inc.Method and system using reusable state information for synchronization and maintenance of data
US77385032 févr. 200715 juin 2010Palm, Inc.Multi-way, peer-to-peer synchronization
US77607675 janv. 200720 juil. 2010Apple Inc.Wide area peer-to-peer synching in a decentralized environment
US7761535 *25 févr. 200220 juil. 2010Siebel Systems, Inc.Method and system for server synchronization with a computing device
US776532621 oct. 200227 juil. 2010Apple Inc.Intelligent interaction between media player and host computer
US77699031 juin 20073 août 2010Apple Inc.Intelligent interaction between media player and host computer
US779744616 juil. 200214 sept. 2010Apple Inc.Method and system for updating playlists
US780226611 nov. 200421 sept. 2010Microsoft CorporationApplication program interfaces and structures in a resource limited operating system
US781416123 juin 200612 oct. 2010Research In Motion LimitedSystem and method for handling electronic mail mismatches
US782725927 avr. 20042 nov. 2010Apple Inc.Method and system for configurable automatic media selection
US782740625 mars 20052 nov. 2010Research In Motion LimitedSystem and method for processing encoded messages for exchange with a mobile data communication device
US78314492 févr. 20019 nov. 2010Thompson Reuters (Healthcare) Inc.Method and system for extracting medical information for presentation to medical providers on mobile terminals
US784064711 janv. 200623 nov. 2010Ianywhere Solutions, Inc.System, method, and computer program product for executing scripts on mobile devices
US784940931 mai 20017 déc. 2010Access Systems Americas, Inc.System and method for transferring Web-based information
US785356331 août 200514 déc. 2010Seven Networks, Inc.Universal data aggregation
US78608264 août 200628 déc. 2010Apple Inc.Method and system for using global equivalency sets to identify data during peer-to-peer synchronization
US786083025 avr. 200528 déc. 2010Apple Inc.Publishing, browsing and purchasing of groups of media items
US7861005 *12 juin 200628 déc. 2010Research In Motion LimitedMethod and apparatus for folder synchronization and management
US786100927 mai 200928 déc. 2010Palm, Inc.Requesting a user account for services
US787031212 mars 200811 janv. 2011Hewlett-Packard Development Company, L.P.Automatic maintenance of configuration information in a replaceable electronic module
US787335330 sept. 200318 janv. 2011Ianywhere Solutions, Inc.Method and system for accessing applications and data, and for tracking of key indicators on mobile handheld devices
US789484731 août 200522 févr. 2011Palm, Inc.Activation of mobile computing device
US790581513 nov. 200915 mars 2011Michael EllisPersonal data collection systems and methods
US790973713 nov. 200922 mars 2011Michael EllisWorkout definition and tracking methods
US7912736 *29 juin 200422 mars 2011Phil WyattMethod and a system for optimizing hospital beds and ambulance allocations via a computer network
US791746816 sept. 200529 mars 2011Seven Networks, Inc.Linking of personal information management data
US791750528 oct. 200729 mars 2011Seven Networks, Inc.Methods for publishing content
US79256709 mai 200812 avr. 2011International Business Machines CorporationUse of agents and control documents to update a database structure
US793156213 nov. 200926 avr. 2011Michael EllisMobile data logging systems and methods
US7945717 *9 déc. 200817 mai 2011Symbol Technologies, Inc.Method and apparatus for providing USB pass through connectivity
US79497029 janv. 200224 mai 2011International Business Machines CorporationMethod and apparatus for synchronizing cookies across multiple client machines
US79562725 déc. 20057 juin 2011Apple Inc.Management of files in a personal communication device
US79584411 avr. 20057 juin 2011Apple Inc.Media management for groups of media items
US79874206 nov. 200026 juil. 2011Ianywhere Solutions, Inc.System, method, and computer program product for a scalable, configurable, client/server, cross-platform browser for mobile devices
US800117728 févr. 200716 août 2011Hewlett-Packard Development Company, L.P.Method and apparatus for automated personal information management data transfer for a wireless enabled handheld
US8001288 *24 mai 201016 août 2011Access Co., Ltd.Method and system for enabling personal digital assistants and protecting stored private data
US801516329 juin 20096 sept. 2011Hewlett-Packard Development Company, L.P.Detecting duplicative user data on computing device
US8015319 *30 août 20076 sept. 2011Huawei Technologies Co., Ltd.Method, system, client and server for implementing data sync
US80154009 juin 20096 sept. 2011Research In Motion LimitedCertificate management and transfer system and method
US80190816 août 200213 sept. 2011Research In Motion LimitedSystem and method for processing encoded messages
US802784831 déc. 200227 sept. 2011Patient Keeper, IncContext managing mobile computing framework for enterprise application
US803699123 déc. 200911 oct. 2011Hewlett-Packard Development Company, L.P.Registration of a mobile computing device for a service on a wireless network
US80463694 sept. 200725 oct. 2011Apple Inc.Media asset rating system
US805599223 mars 20098 nov. 2011Access Co., Ltd.Method and apparatus for managing calendar information from a shared database and managing calendar information from multiple users
US808668920 oct. 201027 déc. 2011Research In Motion LimitedMethod and apparatus for managing shared data at a portable electronic device of a first entity
US809234513 nov. 200910 janv. 2012Celume Development, LLCSystems and methods for a portable electronic journal
US810379320 oct. 200924 janv. 2012Apple Inc.Method and system for updating playlists
US810750318 mars 201031 janv. 2012Hewlett-Packard Development Company, L.P.Resuming a previously interrupted peer-to-peer synchronization operation
US811233027 sept. 20007 févr. 2012Citibank Development Center, Inc.System and method for delivering financial services
US813167211 juil. 20086 mars 2012Research In Motion LimitedSystem and method for synchronizing data records between multiple databases
US813188827 déc. 20106 mars 2012Hewlett-Packard Development Company, L.P.Activation of mobile computing device on a cellular network
US813580323 août 200413 mars 2012Ianywhere Solutions, Inc.Method, system, and computer program product for offline advertisement servicing and cycling
US81457284 mars 200827 mars 2012Ianywhere Solutions, Inc.Method, system, and computer program product for offline advertisement servicing and cycling
US81460987 sept. 200727 mars 2012Manageiq, Inc.Method and apparatus for interfacing with a computer user via virtual thumbnails
US815093712 nov. 20043 avr. 2012Apple Inc.Wireless synchronization between media player and host device
US818835712 mai 200929 mai 2012Apple Inc.Graphical user interface and methods of use thereof in a multimedia player
US820483021 avr. 201119 juin 2012Citicorp Development Center, Inc.Global method and system for providing enhanced transactional functionality through a customer terminal
US820508412 janv. 201019 juin 2012Research In Motion LimitedSystem and method for processing encoded messages for exchange with a mobile data communication device
US820953022 déc. 200926 juin 2012Research In Motion LimitedSystem and method for searching and retrieving certificates
US823464017 oct. 200631 juil. 2012Manageiq, Inc.Compliance-based adaptations in managed virtual systems
US823464127 nov. 200731 juil. 2012Managelq, Inc.Compliance-based adaptations in managed virtual systems
US825039717 déc. 200921 août 2012Apple Inc.N-way synchronization of data
US825187513 nov. 200928 août 2012Celume Development, LLCMobile wireless audio device
US82590758 mai 20094 sept. 2012Hewlett-Packard Development Company, L.P.Secondary key group layout for keyboard
US825956823 oct. 20074 sept. 2012Mcafee, Inc.System and method for controlling mobile device access to a network
US82608472 févr. 20104 sept. 2012ACCESS, Co., Ltd.System and method for scheduling an event over a network
US82612467 sept. 20044 sept. 2012Apple Inc.Method and system for dynamically populating groups in a developer environment
US82715418 sept. 200618 sept. 2012Fusionops CorporationMethod and apparatus for developing composite applications
US829121221 janv. 201016 oct. 2012Research In Motion LimitedSystem and method for compressing secure E-mail for exchange with a mobile data communication device
US829682917 mars 200923 oct. 2012Research In Motion LimitedProviding certificate matching in a system and method for searching and retrieving certificates
US83121651 oct. 201013 nov. 2012Research In Motion LimitedSystem and method for handling electronic mail mismatches
US831341613 nov. 200920 nov. 2012Celume Development, LLCReconfigurable personal display system and method
US832137411 févr. 200927 nov. 2012Apple Inc.Peer-to-peer N-way syncing in decentralized environment
US833235213 avr. 201011 déc. 2012Apple Inc.Method and system using reusable state information for synchronization and maintenance of data
US834169317 déc. 201025 déc. 2012Mcafee, Inc.Enterprise-wide security system for computer devices
US840768827 nov. 200726 mars 2013Managelq, Inc.Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets
US841817327 nov. 20079 avr. 2013Manageiq, Inc.Locating an unauthorized virtual machine and bypassing locator code by adjusting a boot pointer of a managed virtual machine in authorized environment
US8423592 *11 avr. 200816 avr. 2013Sandisk Technologies Inc.Method and system for accessing a storage system with multiple file systems
US84293035 mai 201023 avr. 2013Telecommunication Systems, Inc.Run-time engine implemented on a computing device allowing synchronization of records during application execution
US84333149 déc. 200930 avr. 2013Hewlett-Packard Development Company, L.P.Integrated personal digital assistant device
US84430381 juil. 201114 mai 2013Apple Inc.Network media device
US84476294 févr. 201021 mai 2013Microsoft CorporationMethod, apparatus and system for communicating heatlhcare information to and from a portable, hand-held device
US844798025 janv. 201021 mai 2013Research In Motion LimitedSystem and method for processing encoded messages for exchange with a mobile data communication device
US845225923 janv. 200428 mai 2013Adidas AgModular personal network systems and methods
US8458286 *28 févr. 20014 juin 2013Hewlett-Packard Development Company, L.P.Flexible wireless advertisement integration in wireless software applications
US845869527 nov. 20074 juin 2013Manageiq, Inc.Automatic optimization for virtual systems
US846812730 janv. 201218 juin 2013Research In Motion LimitedSystem and method for synchronizing data records between multiple databases
US84735618 nov. 201225 juin 2013Research In Motion LimitedSystem and method for handling electronic mail mismatches
US849501510 sept. 200823 juil. 2013Apple Inc.Peer-to-peer syncing in a decentralized environment
US849524624 janv. 201223 juil. 2013Apple Inc.Method and system for updating playlists
US849551715 mars 201023 juil. 2013Palm, Inc.Multi-context iteractive directory filter
US849570028 févr. 200623 juil. 2013Mcafee, Inc.Mobile data security system and methods
US850398423 déc. 20096 août 2013Amos Winbush, IIIMobile communication device user content synchronization with central web-based records and information sharing system
US850407426 nov. 20086 août 2013Palm, Inc.System and method for providing advertisement data to a mobile computing device
US85277671 nov. 20103 sept. 2013Blackberry LimitedSystem and method for processing encoded messages for exchange with a mobile data communication device
US8533154 *24 mai 200710 sept. 2013Siebel Systems, Inc.Method and system for server synchronization with a computing device
US853847810 sept. 201217 sept. 2013Palm, Inc.Integrated personal digital assistant device
US85392261 sept. 201117 sept. 2013Blackberry LimitedCertificate management and transfer system and method
US854350617 nov. 201124 sept. 2013Citibank Development Center, Inc.System and method for delivering financial services
US854398222 juin 200724 sept. 2013Citicorp Development Center, Inc.Delivering financial services to remote devices
US85488259 nov. 20101 oct. 2013Truven Health Analytics Inc.Method and system for extracting medical information for presentation to medical providers on mobile terminals
US856115813 sept. 201215 oct. 2013Blackberry LimitedProviding certificate matching in a system and method for searching and retrieving certificates
US85657266 nov. 200922 oct. 2013Mcafee, Inc.System, method and device for mediating connections between policy source servers, corporate repositories, and mobile devices
US856658230 mai 201222 oct. 2013Blackberry LimitedSystem and method for searching and retrieving certificates
US8566732 *4 août 200622 oct. 2013Apple Inc.Synchronization of widgets and dashboards
US857238922 déc. 200529 oct. 2013Blackberry LimitedSystem and method for protecting master encryption keys
US85726766 nov. 200929 oct. 2013Mcafee, Inc.System, method, and device for mediating connections between policy source servers, corporate repositories, and mobile devices
US85797678 mars 201312 nov. 2013Adidas AgPerformance monitoring apparatuses, methods, and computer program products
US858967713 déc. 201119 nov. 2013Blackberry LimitedSystem and method for retrieving related certificates
US85953086 nov. 200026 nov. 2013Ianywhere Solutions, Inc.System, method, and computer program product for server side processing in a mobile device environment
US861297117 oct. 200617 déc. 2013Manageiq, Inc.Automatic optimization for virtual systems
US86269522 juil. 20107 janv. 2014Apple Inc.Intelligent interaction between media player and host computer
US863108826 févr. 200714 janv. 2014Apple Inc.Prioritized data synchronization with host device
US863520910 août 201121 janv. 2014Apple Inc.Peer-to-peer syncing in a decentralized environment
US863566122 déc. 200421 janv. 2014Mcafee, Inc.System and method for enforcing a security policy on mobile devices using dynamically generated security profiles
US86520097 mars 201318 févr. 2014Adidas AgModular personal network systems and methods
US86520108 mars 201318 févr. 2014Adidas AgPerformance monitoring systems and methods
US86577238 mars 201325 févr. 2014Adidas AgMethods and computer program products for identifying prospective routes for physical activities
US86612679 sept. 201125 févr. 2014Blackberry LimitedSystem and method for processing encoded messages
US8661350 *7 juin 201025 févr. 2014Lg Electronics Inc.Mobile terminal and method of controlling operation of the mobile terminal
US20040054757 *14 sept. 200218 mars 2004Akinobu UedaSystem for remote control of computer resources from embedded handheld devices
US20070130541 *4 août 20067 juin 2007Louch John OSynchronization of widgets and dashboards
US20070150507 *2 févr. 200728 juin 2007Joseph NardoneSystem for a configurable open database connectivity conduit
US20070279379 *21 août 20076 déc. 2007Palmsource, Inc.Method of identifying a source of a software distribution between portable computer systems
US20110029891 *7 juin 20103 févr. 2011Lg Electronics Inc.Mobile terminal and method of controlling operation of the mobile terminal
CN100410927C *12 juin 200213 août 2008捷讯研究有限公司Certificate management and transfer system and method
EP1220120A2 *2 janv. 20023 juil. 2002Sun Microsystems, Inc.Change tracking integrated with disconnected device document synchronization
EP2006779A1 *22 juin 200724 déc. 2008Siemens AktiengesellschaftA method for client server communication of data across a communication network
WO2000062180A1 *7 avr. 200019 oct. 2000Plusfactor SoftwareSystem and method for sharing data among a plurality of personal digital assistants
WO2001063417A2 *23 févr. 200130 août 2001Softdent LlcSystem and method for integrating a software application with a handheld computer
WO2002033593A1 *16 oct. 200125 avr. 2002Aether Systems IncRun-time engine implemented on a computing device allowing synchronization of records during application execution
WO2002044958A1 *28 nov. 20016 juin 2002Ericsson Telefon Ab L MMobile terminal having multiple personal information management functionality
WO2002077860A1 *25 mars 20023 oct. 2002Nokia CorpApplication data synchronization in telecommunications system
WO2002101580A112 juin 200219 déc. 2002Research In Motion LtdCertificate management and transfer system and method
WO2003005557A1 *1 juil. 200216 janv. 2003Jonas OegrenBattery charger for a mobile unit
WO2003032569A1 *8 oct. 200217 avr. 2003Nokia CorpA method of server initiated synchronization in a synchronization system where the request message from the server has a maximum size
WO2003073292A1 *25 févr. 20034 sept. 2003Pi-Yu ChungMethod and system for server-based operations in server synchronization with a computing device
WO2004084082A1 *25 févr. 200330 sept. 2004Siebel Systems IncMethod and system for server synchronization with a computing device
WO2006007498A1 *27 juin 200519 janv. 2006Apple ComputerState based synchronization
Classifications
Classification aux États-Unis707/610, 714/E11.128, 714/E11.129, 707/822, 707/758, 707/999.201, 707/922
Classification internationaleG06F11/14
Classification coopérativeY10S707/99952, Y10S707/922, G06F17/30286, G06F17/30575
Classification européenneG06F17/30S, G06F17/30S7
Événements juridiques
DateCodeÉvénementDescription
8 oct. 2012ASAssignment
Owner name: ACCESS CO., LTD., JAPAN
Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE S ADDRESS PREVIOUSLY RECORDED ON REEL 029008 FRAME 0235. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE S ADDRESS TO BE 2-8-8, SARUGAKU-CHO, CHIYODA-KU, TOKYO 101-0064, JAPAN;ASSIGNOR:ACCESS SYSTEMS AMERICAS, INC.;REEL/FRAME:029094/0168
Effective date: 20110225
22 sept. 2012ASAssignment
Effective date: 20061017
Free format text: CHANGE OF NAME;ASSIGNOR:PALMSOURCE, INC.;REEL/FRAME:029029/0028
Owner name: ACCESS SYSTEMS AMERICAS, INC., CALIFORNIA
Effective date: 20110225
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ACCESS SYSTEMS AMERICAS, INC.;REEL/FRAME:029008/0235
Owner name: ACCESS CO., LTD., JAPAN
Owner name: PALM COMPUTING, INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HAWKINS, JEFFREY C.;ALBANESE, MICHAEL;SIGNING DATES FROM19951009 TO 19951010;REEL/FRAME:029008/0188
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:3COM CORPORATION;REEL/FRAME:029028/0869
Owner name: PALM, INC., CALIFORNIA
Effective date: 20000621
Owner name: PALMSOURCE, INC., CALIFORNIA
Effective date: 20030203
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PALM, INC.;REEL/FRAME:029008/0221
3 juin 2011FPAYFee payment
Year of fee payment: 12
7 juin 2007FPAYFee payment
Year of fee payment: 8
21 nov. 2005ASAssignment
Owner name: PALMSOURCE, INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PALM, INC.;REEL/FRAME:017240/0889
Effective date: 20030203
8 mai 2003FPAYFee payment
Year of fee payment: 4
19 févr. 2003ASAssignment
Owner name: PALMSOURCE, INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PALM, INC.;REEL/FRAME:013735/0444
Effective date: 20030203
Owner name: PALMSOURCE, INC. 1240 CROSSMAN AVENUESUNNYVALE, CA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PALM, INC. /AR;REEL/FRAME:013735/0444
28 nov. 2000ASAssignment
Owner name: PALM, INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:3COM CORPORATION;REEL/FRAME:011333/0953
Effective date: 20000621
Owner name: PALM, INC. 5470 GREAT AMERICA PARKWAY SANTA CLARA