Data synchronization interface

Information

  • Patent Grant
  • 9203923
  • Patent Number
    9,203,923
  • Date Filed
    Tuesday, August 13, 2002
    22 years ago
  • Date Issued
    Tuesday, December 1, 2015
    8 years ago
Abstract
Systems and methods consistent with the present invention provide an interface to facilitate the communication between systems. A source system translates data into an XML format and transmits the data to a synchronizer interface tool. The synchronizer tool stores the data in a persistent intermediate storage, such as a queue, allowing the source system to go offline or perform other tasks while the data is transmitted to the target system. The synchronizer tool initiates the transmission of the data to the target system. If the target system indicates that it received the data, then the synchronizer tool sends an acknowledgement to the source system indicating the data was received. If the target system does not receive the transmission, the synchronizer tool maintains the data in the persistent intermediate storage and reinitiates transmission of the data to the target system.
Description
BACKGROUND OF THE INVENTION

I. Field of the Invention


The present invention generally relates to communication between systems. More particularly, the invention relates to a communication interface to aid transferring of data and information between systems and/or databases.


II. Description of the Related Art


Wireless devices, such as cellular telephones, personal digital assistants (“PDAs”), pagers, laptops with wireless connectivity, etc., communicate packets including voice and data over a wireless network. These wireless devices have installed application programming interfaces (“APIs”) onto their local computer platform that allow software developers to create software applications that operate on the wireless device. The API sits between the wireless device system software and the software application, making the wireless device functionality available to the application without requiring the software developer to have the specific wireless device system source code.


These wireless devices typically need to communicate with other systems and databases within the other systems. Unfortunately, the wireless device may lose a signal during communication or be otherwise unavailable when transmitting information to other systems. This may cause errors when attempting to access a database when the signal is lost. The wireless device may be required to reinitiate the database access and resubmit the database request when the signal is reacquired.


Extended beyond wireless devices, often wire-based systems need to communicate with each other but do not share a similar “language” for communication. For example, as with wireless devices, one system may need to communicate with the database in another system to receive or insert data. To communicate with the database, the system must be aware of the database language, record and field structures, and formats in order to access and store information in the database. While current technologies provide for the ability for the interface between the system and the database to include the language, structure and format of the database, this becomes more complex when multiple databases, possibly requiring multiple unique database languages, etc., need to be accessed.


Furthermore, when data is to be sent to multiple systems, or conversely received from multiple systems, a common interface does not exist to integrate across the multiple systems to simplify the data transmission. This is problematic for systems communicating with several other systems.


Therefore, what is needed in the art is an interface that simplifies the communication between one or multiple databases and provides reliable and secure transfer of information between multiple systems.


Current methods in the art do not address this need. Database replication services and custom built database interfaces can become very complex and unwieldy if multiple databases need to be accessed. In addition, all systems that access the custom database must have that interface. Also, custom built databases are required to stay online for transactions to occur.


Electronic Data Interchange (EDI) only addresses the need for pre-defined message types and content specific to electronic commerce. The EDI message formats do not address the data exchange needs as it relates to wireless services, system integration considerations and billing specificity.


SUMMARY OF THE INVENTION

System and methods consistent with the present invention overcome the shortcoming of existing systems by providing an interface to facilitate communication between systems. A source system translates data into an common format, such as, the XML format, and transmits the data to an data synchronizer interface tool. The tool stores the data in the common format in a persistent intermediate storage, such as, a queue, allowing the source system to go offline or to perform other tasks. The interface transmits the data in the common format to a target system, which may ackwnowlege receipt of the data, thereby permitting the tool to decide whether to reinitiate the transfer or to delete the data from the persistent intermediate storage.


In one embodiment, the present invention provides a method of processing information in an interface comprising receiving data in a first format from a source system, storing the data in a persistent intermediate storage, initiating the transmission of the information to the target system while retaining the information, receiving an indication that the transmission of information to the target system was unsuccessful, and reinitiating the transmission of the information to the target system. The method may further include storing data received from multiple source systems associated with multiple target systems, and initiating the transmission of the data from multiple source systems to the associated multiple target systems. Also, the method may include receiving an source system acknowledgement indicating the acknowledgement was received and removing the data from the persistent intermediate storage.


Other objects, advantages, and features of the present invention will become apparent after review of the hereinafter set forth Brief Description of the Drawings, Detailed Description of the Invention, and the Claims.





BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate presently preferred embodiments of the invention and, together with the general description given above and the detailed description of the preferred embodiments given below, serve to explain the principles of the invention. In the drawings:



FIG. 1 is a representative diagram of a wireless network and the computer hardware and wireless devices that can be used in an exemplary embodiment of the present invention;



FIG. 2 is a block diagram of the hardware components of the wireless network providing communication between different wireless devices, an application download server, and a database in an exemplary embodiment of the present invention;



FIG. 3 is a block diagram detecting the architecture of the synchronizer tool interface in an exemplary embodiment of the present invention; and



FIG. 4 is a flowchart depicting the process of the synchronizer tool interface in an exemplary embodiment of the present invention.





DETAILED DESCRIPTION OF THE INVENTION

Reference will now be made in detail to the presently exemplary and preferred embodiments of the invention as illustrated in the accompanying drawings, in which like reference characters designate like or corresponding parts throughout the several drawings. The nature, objectives and advantages of the present invention will become more apparent to those skilled in the art after considering the following detailed description in connection with the accompanying drawings.



FIG. 1 illustrates an architecture in which one embodiment of the present invention may be implemented using one or more wireless devices, such as cellular telephone 12, in communication across a wireless network 14 with at least one network server, such as application download server 16, that selectively downloads or provided access to software applications or other data to the wireless devices across a wireless communication portal or other data access to the wireless network 14. As shown here, the wireless device can be a cellular telephone 12, with a graphics display 13, a personal digital assistant 18 with PDA screen 19, a pager 20 with a graphics display 21, which is shown here as a two-way text pager, or even a separate computer platform 22 that has a wireless communication portal and a display 23, and may otherwise have a wired connection 24 to a network or the Internet. The system 10 can include any form of remote computer module including a wireless communication portal, including without limitation, wireless modems, PCMCIA cards, access terminals, personal computers, access terminals, telephones without a display or keypad, or any combination or sub-combination thereof.


The application download server 16 is shown here on a local server-side network 26 with other computer elements in communication with the wireless network 14, such as a database 28 with stored applications and data that contains software applications and data that are accessible and downloadable to the wireless devices 12,18,20,22.



FIG. 2 is a block diagram of the hardware components of the wireless network providing communication between different wireless devices, an application download server, and a database in an exemplary embodiment of the present invention. The wireless network 14 is merely exemplary and can include any system whereby remote modules, such as wireless devices 12,18,20,22, communicate over-the-air between and among each other and/or between and among components of a wireless network 14, including, without limitation, wireless network carriers and/or servers. The application download server (“ADS”) 16 and the stored applications database 28 will be present on the cellular data network with any other components that are needed to provide cellular telecommunication services. The server 32 may provide other functions used by one or other components, such as application management functions for the application download server. The server 32 and ADS may use a synchronizer interface tool (not shown) to communicate data between the systems. The server or other components of the system may interface with other systems not shown to transmit or receive data. The synchronizer tool may be used in supporting communication with these other systems as well.


The application download server 16, and/or other servers communicate with a carrier network 40, through a data link, such as the Internet, a secure LAN, WAN, or other network. The carrier network 40 controls messages (generally being data packets) sent to a messaging service controller (“MSC”) 42. The carrier network 40 communicates with the MSC 42 by a network, the Internet and/or POTS (“plain ordinary telephone system”). Typically, the network or Internet connection between the carrier network 40 and the MSC 42 transfers data, and the POTS transfers voice information. The MSC 42 is connected to multiple base stations (“BTS”) 44. In a similar manner to the carrier network, the MSC 42 is typically connected to the BTS 44 by both the network and/or Internet for data transfer and POTS for voice information. The BTS 44 ultimately broadcasts messages wirelessly to the wireless devices, such as cellular telephone 12, by short messaging service (“SMS”), or other over-the-air methods known in the art.


The wireless device, such as cellular telephone 12, has a computer platform 50 that can receive and execute software applications and display data transmitted from the application download server 16. The computer platform 50 also allows the wireless device to interact with data and applications resident on network servers. The computer platform 50 includes, among other components, a display driver 52 that drives the graphics display 13 and renders images on the graphics display 13 based upon graphics data received at the computer platform 50. The computer platform 50 also includes an application-specific integrated circuit (“ASIC”) 54, or other processor, microprocessor, logic circuit, or other data processing device. The ASIC 52 is installed at the time of manufacture of the wireless device and is not normally upgradeable. The ASIC 52 or other processor executes the application programming interface (“API”) layer 56 that interfaces with any resident programs in the memory 58 of the wireless device. The memory can be comprised of read-only or random-access memory (RAM and ROM), EPROM, EEPROM, flash cards, or any memory common to computer platforms. The computer platform 50 also includes a local database 60 that can hold the software applications not actively used in memory 58, such as the software applications downloaded from the application download server 16. The local database 60 is typically comprised of one or more flash memory cells, but can be any secondary or tertiary storage device as known in the art, such as magnetic media, EPROM, EEPROM, optical media, tape, or soft or hard disk.


The wireless device, such as cellular telephone 12, can access and download many types of applications, such as games and stock monitors, or simply data such as news and sports-related data. The downloaded data can be immediately displayed on the display or stored in the local database 60 when not in use. The software applications can be treated as a regular software application resident on the wireless device 12,18,20,22, and the user of the wireless device can selectively upload stored resident applications from the local database 60 to memory 58 for execution on the API 56. The end-user of the wireless device 12,18,20,22 can also selectively delete a software application from the local database 60.



FIG. 3 is a block diagram depicting the architecture of a synchronizer tool interface in an exemplary embodiment of the present invention. In one embodiment, the synchronizer tool 305 enables tables in one RDBMS system to be synchronized with a destination system via a standard XML interface. It will be recognized by those skilled in the art that the XML language is an implementation choice and other languages may be used. Furthermore, it will also be recognized that the synchronizer tool may be used to synchronize or communicate other information, not just information from RDBMS tables, between computer systems or subsystems. In addition, the connections between the interface and the target and source systems may be by any communication media available, such as wireless, including RF, satellite and infrared communication, and wire-based communication methods. In one embodiment, the communications medium is IP based.


Data received from the RDBMS 320 in the source system 310 is stored in the queue 325 of the synchronizer tool 305. This data is translated into a common file format such as XML. By having a storage mechanism, such as a queue, the synchronizer tool can maintain the data for the RDBMS 315 even if the source system 310 is off line. The synchronizer tool 305 may also be implemented to provide an acknowledgement to the source system 310 when the data sent to the target system 315 is replicated in the RDBMS 315 (the target system may provide an acknowledgement to the synchronizer tool 305 indicating this replication has occurred, acknowledge the receipt of the data, or acknowledge other processing was performed).


The source system 310 is connected to the synchronizer tool 305. This connection may be by any communication mechanism, including wireless and/or wire-based connection (or combination thereof). The synchronizer tool 305 may be local to the source system 310 or it may be remote to it. The source system transfers information to the synchronizer via this connection. This information may be data for replication to a remote database, or may be any type of information destined for another system, such as a message request, data request or other data transfer. In one embodiment, the source system 310 sends this information to the synchronizer tool 305 using an XML format.


The target system receives the information from the synchronizer tool 305 and may respond with an acknowledgement to the synchronizer tool 305. Alternatively, the synchronizer tool may interact directly with a subsystem in the target system 300 (such as a RDBMS 315) to perform a task such as data replication.


Note the definition of a target system 300 and source system 310 is somewhat arbitrary. In one instance a system may be the source system sending data to a target system while in another instance the same system is acting as the target system receiving data from another system.



FIG. 4 is a flowchart depicting the process of the synchronizer tool interface in an exemplary embodiment of the present invention. The method begins by having the source system translate data into a XML format (Step 400) or some other common format. This data may be in the form of scalar data for the target system, a request for information from the target system or other information to be transferred for processing by the target system. Next the data is transmitted to and received by the synchronizer tool (Step 405).


The data is stored in a persistent intermediate storage (Step 405), such as a queue within a synchronizer tool. This allows some independence between the source and target systems. The source system may make the request, have it stored in the queue and can go offline while the request gets transmitted to and/or processed by the target system. In addition, the synchronizer tool may send an acknowledgement to the source system that it received the data.


The data in XML format is then transmitted from the synchronizer tool to the target system (Step 415). Note that the “data” can be any piece of information desired to be sent to the target system. It may be data used for replication into an RDBMS of the target system. Alternatively, it may be any type of command or information sent to the target system for possible processing by the target system. In addition, there may be multiple target systems receiving this data. The synchronization tool may queue multiple data transmission requests for multiple destinations, including multi-target system destination requests.


The method continues to initiate the translated command on a RDBMS (Step 415). After translating the command into the appropriate language for the RDBMS, it initiates this command by direct access to the target system's RDBMS or by sending the command to a processor, such as one in the target system, for execution.


If the data is received at the target (Step 420), the “Yes” branch is followed and an acknowledgement is sent to the source system (Step 425). The source system formats this acknowledgement into a format readable by the source system, such as in XML. If the source system is not online, the acknowledgement may be queued and further attempts may be made to the source system to inform it that the data was transmitted to the target system. The synchronizer tool may determine if the data was received by receiving an acknowledgement from the target system.


If data is received at the target as determined in Step 420, such as may occur when the target system or RDBMS is offline, then the “No” branch is followed and the data remains in the queue and will retry (Step 430) to initiate a transmission of the data to the target system as described in Step 415. There are many queuing algorithms and time parameters possible to determine when to initiate another transmission to the target system. The preferred algorithm and time is based on the processing capacity, efficiency, available resources (such as available queuing memory) as well as other implementation factors of the systems involved.


The foregoing description of an implementation of the invention has been presented for purposes of illustration and description. It is not exhaustive and does not limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practicing of the invention. For example, the described implementation includes software but one embodiment of the present invention may be implemented as a combination of hardware and software or in hardware alone. The invention may be implemented with both object-oriented and non-object-oriented programming systems. Additionally, although aspects of the present invention are described as being stored in memory, those skilled in the art will appreciate that these aspects can also be stored on other types of computer-readable media, such as secondary storage devices, like hard disks, floppy disks, or CD-ROM; a carrier wave from the Internet or other propagation medium; or other forms of RAM or ROM.


In addition, it should be noted that various changes and modifications could be made herein without departing from the scope of the invention as defined by the appended claims and their equivalents. Furthermore, although elements of the invention may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.

Claims
  • 1. A method of synchronizing information, comprising: receiving the information from a source system in a common format;storing the information;initiating a transmission of the information in the common format to a target system while retaining the information;receiving a target system acknowledgement indicating the target system received the information; andsending an acknowledgement to the source system upon receiving the target system acknowledgement,wherein the information comprises a command directed toward the target system, andfurther wherein the target system sending the target system acknowledgement indicates the command was processed.
  • 2. The method of claim 1, wherein the common format comprises an Extensible Markup Language (XML) format.
  • 3. The method of claim 1, wherein the target system comprises a database and the information comprises data for replication in the database.
  • 4. The method of claim 1, further comprising, responsive to receiving an indication that the transmission of information to the target system was unsuccessful, reinitiating the transmission of the information to the target system.
  • 5. The method of claim 1, further comprising: wherein receiving further comprises receiving the information from multiple source systems associated with multiple target systems; andwherein initiating further comprises initiating the transmission of the information from the multiple source systems to the associated multiple target systems.
  • 6. The method of claim 1, further comprising: receiving a source system acknowledgement indicating the acknowledgement was received; andremoving the stored information based on the source system acknowledgement.
  • 7. The method of claim 1, wherein receiving the information further comprises receiving the information after translation by the source system from an initial format readable by the source system.
  • 8. The method of claim 1, further comprising translating the information from the common format to a final format readable by the target system.
  • 9. The method of claim 1, further comprising removing the information after receiving the target system acknowledgement.
  • 10. The method of claim 1, further comprising directly interacting with a subsystem of the target system to replicate the information in the target system.
  • 11. The method of claim 10, wherein the interacting comprises initiating the command by direct access to the subsystem of the target system.
  • 12. The method of claim 11, wherein the subsystem of the target system comprises a database, and wherein the interacting further comprises data replication in the database in correspondence with the information received from the source system.
  • 13. The method of claim 10, wherein the interacting comprises sending the command to a processor of the target system for execution.
  • 14. The method of claim 13, wherein the subsystem of the target system comprises a database, and wherein the interacting further comprises data replication in the database in correspondence with the information received from the source system.
  • 15. The method of claim 1, wherein the source system and the target system correspond to different relational database management systems (RDBMSs).
  • 16. The method of claim 1, further comprising: formatting the target system acknowledgement into a format readable by the source system,wherein the sending the acknowledgment to the source system comprises sending the formatted target system acknowledgment.
  • 17. The method of claim 16, wherein the format readable by the source system comprises an Extensible Markup Language (XML) format.
  • 18. A synchronization interface, comprising: a connection to a source system and a target system;a storage to store information from the source system;a processor configured to receive the information from the source system in a common format, to store the information in the storage, to initiate a transmission of the information in the common format to the target system, to receive a target system acknowledgement from the target system, and to send an acknowledgement to the source system in response to receiving the target system acknowledgement,wherein the information comprises a command directed toward the target system, andfurther wherein the target system sending the target system acknowledgement indicates the command was processed.
  • 19. The synchronization interface from claim 18, wherein the processor is further configured to reinitiate the transmission of data to the target system responsive to an indication that the transmission of the information to the target system was unsuccessful.
  • 20. The synchronization interface of claim 18, wherein the processor is further configured to receive the information from multiple source systems associated with multiple target systems, and to initiate the transmission of the information from the multiple source systems to the associated multiple target systems.
  • 21. The synchronization interface of claim 18, wherein the processor is further configured to receive a source system acknowledgement indicating the acknowledgement was received, and to remove the information from the storage.
  • 22. The synchronization interface of claim 18, wherein the information received from the source system in the common format comprises information translated by the source system from an initial format readable by the source system.
  • 23. The synchronization interface of claim 18, wherein the processor is further configured to translate the information received from the source system from the common format to a final format readable by the target system.
  • 24. The synchronization interface of claim 18, wherein the processor is further configured to maintain the information received from the source system in the storage independent of the connection with the source system, and wherein the processor is further configured to remove the information received from the source system from the storage after receiving the target system acknowledgement.
  • 25. The synchronization interface of claim 18, wherein the processor is further configured to directly interact with a subsystem of the target system to replicate the information in the target system.
  • 26. The synchronization interface of claim 25, wherein the processor is further configured to initiate the command by direct access to the subsystem of the target system.
  • 27. The synchronization interface of claim 26, wherein the subsystem of the target system comprises a database, and wherein the processor is further configured to replicate data in the database in correspondence with the information received from the source system.
  • 28. The synchronization interface of claim 25, wherein the information received from the source system comprises the command directed toward the target system, wherein the target system acknowledgement indicates the command was processed, and wherein the processor is further configured to send the command to the processor of the target system for execution.
  • 29. The synchronization interface of claim 25, wherein the processor is further configured to send the command to a processor of the target system for execution.
  • 30. A system for synchronizing information, comprising: means for receiving information from a source system in a common format;means for storing the information;means for initiating a transmission of the information in the common format to a target system while retaining the information;means for receiving a target system acknowledgement indicating the target system received the information; andmeans for sending an acknowledgement to the source system upon receiving the target system acknowledgement,wherein the information comprises a command directed toward the target system, andfurther wherein the target system sending the target system acknowledgement indicates the command was processed.
  • 31. A non-transitory computer-readable medium configured to synchronize information, comprising: computer-executable instructions, comprising: at least one instruction for causing a computer to receive information from a source system in a common format;at least one instruction for causing the computer to store the information;at least one instruction for causing the computer to initiate a transmission of the information in the common format to a target system while retaining the information;at least one instruction for causing the computer to receive a target system acknowledgement indicating the target system received the information; andat least one instruction for causing the computer to send an acknowledgement to the source system upon receiving the target system acknowledgement,wherein the information comprises a command directed toward the target system, and wherein the target system sending the target system acknowledgement indicates the command was processed.
  • 32. A method of synchronizing information, comprising: receiving information, in a common format compatible with both a source system and a target system, from the source system for delivery to the target system, wherein the source system and the target system correspond to different relational database management systems (RDBMSs);transmitting the received information to the target system;receiving a target system acknowledgement indicating the target system received the information; andsending an acknowledgement to the source system that indicates the target system received the information.
  • 33. The method of claim 32, wherein the RDBMS of the source and target systems include one or more of (i) different database languages, or (ii) different table formats.
  • 34. The method of claim 33, wherein the different table formats of the source and target systems include different field structures and/or record structures.
  • 35. The method of claim 32, wherein the common format compatible with both the source system and the target system corresponds to Extensible Markup Language (XML).
  • 36. The method of claim 32, wherein the target system sending the target system acknowledgement indicates the information was processed.
  • 37. A synchronizer tool, comprising: means for receiving information, in a common format compatible with both a source system and a target system, from the source system for delivery to the target system, wherein the source system and the target system correspond to different relational database management systems (RDBMSs);means for transmitting the received information to the target system;means for receiving a target system acknowledgement indicating the target system received the information; andmeans for sending an acknowledgement to the source system that indicates the target system received the information.
  • 38. A synchronizer tool, comprising: a processor coupled to an interface that is configured to: receive information, in a common format compatible with both a source system and a target system, from the source system for delivery to the target system, wherein the source system and the target system correspond to different relational database management systems (RDBMSs);transmit the received information to the target system;receive a target system acknowledgement indicating the target system received the information; andsend an acknowledgement to the source system that indicates the target system received the information.
  • 39. A non-transitory computer-readable medium configured to synchronize information, comprising: at least one instruction for causing a computer to receive information, in a common format compatible with both a source system and a target system, from the source system for delivery to the target system, wherein the source system and the target system correspond to different relational database management systems (RDBMSs);at least one instruction for causing the computer to transmit the received information to the target system;at least one instruction for causing the computer to receive a target system acknowledgement indicating the target system received the information; andat least one instruction for causing the computer to send an acknowledgement to the source system that indicates the target system received the information.
CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of Provisional Application No. 60/312,737, filed Aug. 15, 2001, pending, which application is incorporated herein by reference in its entirety.

US Referenced Citations (238)
Number Name Date Kind
628294 Ira Jul 1899 A
4156903 Barton et al. May 1979 A
4975942 Zebryk Dec 1990 A
5005122 Griffin et al. Apr 1991 A
5329619 Page et al. Jul 1994 A
5564070 Want et al. Oct 1996 A
5608781 Seiderman Mar 1997 A
5619247 Russo Apr 1997 A
5634012 Stefik et al. May 1997 A
5666293 Metz et al. Sep 1997 A
5666397 Lamons et al. Sep 1997 A
5761485 Munyan Jun 1998 A
5812988 Sandretto Sep 1998 A
5845267 Ronen Dec 1998 A
5852812 Reeder Dec 1998 A
5857201 Wright et al. Jan 1999 A
5907837 Ferrel et al. May 1999 A
5940752 Henrick Aug 1999 A
5956034 Sachs et al. Sep 1999 A
5970490 Morgenstern Oct 1999 A
5986690 Hendricks Nov 1999 A
6035281 Crosskey et al. Mar 2000 A
6047051 Ginzboorg et al. Apr 2000 A
6088717 Reed et al. Jul 2000 A
6141404 Westerlage et al. Oct 2000 A
6151606 Mendez Nov 2000 A
6181704 Drottar et al. Jan 2001 B1
6185198 LaDue Feb 2001 B1
6185683 Gitner et al. Feb 2001 B1
6202051 Woolston Mar 2001 B1
6226618 Downs et al. May 2001 B1
6230168 Unger et al. May 2001 B1
6230269 Spies et al. May 2001 B1
6253189 Feezell et al. Jun 2001 B1
6253239 Shklar et al. Jun 2001 B1
6253326 Lincke et al. Jun 2001 B1
6263326 Chandra Jul 2001 B1
6263362 Donoho et al. Jul 2001 B1
6266401 Marchbanks et al. Jul 2001 B1
6269157 Coyle Jul 2001 B1
6282294 Deo et al. Aug 2001 B1
6311223 Bodin et al. Oct 2001 B1
6321078 Menelli et al. Nov 2001 B1
6324565 Holt, III Nov 2001 B1
6327574 Kramer et al. Dec 2001 B1
6334114 Jacobs et al. Dec 2001 B1
6334116 Ganesan et al. Dec 2001 B1
6336137 Lee et al. Jan 2002 B1
6343318 Hawkins et al. Jan 2002 B1
6366893 Hannula et al. Apr 2002 B2
6381325 Hanson Apr 2002 B1
6389464 Krishnamurthy et al. May 2002 B1
6427076 Skog Jul 2002 B2
6434535 Kupka et al. Aug 2002 B1
6453160 Thomas et al. Sep 2002 B1
6460076 Srinivasan Oct 2002 B1
6463534 Geiger et al. Oct 2002 B1
6493722 Daleen et al. Dec 2002 B1
6535726 Johnson Mar 2003 B1
6549770 Marran Apr 2003 B1
6597903 Dahm et al. Jul 2003 B1
6598026 Ojha et al. Jul 2003 B1
6606744 Mikurak Aug 2003 B1
6622017 Hoffman Sep 2003 B1
6628934 Rosenberg et al. Sep 2003 B2
6665711 Boyle et al. Dec 2003 B1
6683941 Brown et al. Jan 2004 B2
6704716 Force Mar 2004 B1
6721716 Gross Apr 2004 B1
6741980 Langseth et al. May 2004 B1
6742043 Moussa et al. May 2004 B1
6880750 Pentel May 2004 B2
6754320 Daase et al. Jun 2004 B2
6757710 Reed Jun 2004 B2
6792271 Sherman et al. Sep 2004 B1
6792280 Hori et al. Sep 2004 B1
6816721 Rudisill Nov 2004 B1
6820121 Callis et al. Nov 2004 B1
6857067 Edelman Feb 2005 B2
6873936 Reed et al. Mar 2005 B2
6883142 Shimamoto et al. Apr 2005 B2
6928441 Haegele Aug 2005 B2
6937996 Forsythe et al. Aug 2005 B1
6941139 Shupe et al. Sep 2005 B1
6941270 Hannula Sep 2005 B1
6954793 Ramaswamy et al. Oct 2005 B2
6957793 Gautier et al. Oct 2005 B2
6965883 Xu et al. Nov 2005 B2
6978273 Bonneau et al. Dec 2005 B1
6985882 Del Sesto Jan 2006 B1
6996537 Minear et al. Feb 2006 B2
7010303 Lewis et al. Mar 2006 B2
7010500 Aarnio Mar 2006 B2
7013289 Horn et al. Mar 2006 B2
7039389 Johnson, Jr. May 2006 B2
7043447 Hughes et al. May 2006 B2
7047405 Mauro May 2006 B2
7068680 Kaltenmark et al. Jun 2006 B1
7113766 Horel et al. Sep 2006 B2
7117504 Smith et al. Oct 2006 B2
7155205 Cerami et al. Dec 2006 B2
7177837 Pegaz-Paquet et al. Feb 2007 B2
7184747 Bogat Feb 2007 B2
7200566 Moore et al. Apr 2007 B1
7218917 Pradhan et al. May 2007 B2
7228333 Smith Jun 2007 B1
7233790 Kjellberg et al. Jun 2007 B2
7260194 Meyers et al. Aug 2007 B1
7278164 Raiz et al. Oct 2007 B2
7286655 Voorman et al. Oct 2007 B2
7293099 Kalajan Nov 2007 B1
7334025 Kuriya Feb 2008 B2
7362745 Cope et al. Apr 2008 B1
7415439 Kontio et al. Aug 2008 B2
7436816 Mehta et al. Oct 2008 B2
7444411 Sung Oct 2008 B2
7467198 Goodman et al. Dec 2008 B2
7490045 Flores et al. Feb 2009 B1
7526450 Hughes et al. Apr 2009 B2
7574377 Carapelli Aug 2009 B2
7577616 Zhu Aug 2009 B2
7583953 Choi et al. Sep 2009 B2
7660755 Amato et al. Feb 2010 B2
7711680 Barnes-Leon et al. May 2010 B2
7752217 Sawashima et al. Jul 2010 B2
7894803 Kamada Feb 2011 B2
7904528 Zilliacus et al. Mar 2011 B2
7907937 Engelhart Mar 2011 B2
8028056 Krishna et al. Sep 2011 B1
8150736 Horn et al. Apr 2012 B2
8489470 Kahlon et al. Jul 2013 B2
20010013020 Yoshida et al. Aug 2001 A1
20010032254 Hawkins Oct 2001 A1
20010034686 Eder Oct 2001 A1
20010036271 Javed Nov 2001 A1
20010037304 Paiz Nov 2001 A1
20010056362 Hanagan et al. Dec 2001 A1
20020002603 Vange Jan 2002 A1
20020004935 Huotari et al. Jan 2002 A1
20020019764 Mascarenhas Feb 2002 A1
20020022472 Watler et al. Feb 2002 A1
20020022971 Tanaka et al. Feb 2002 A1
20020029197 Kailamaki et al. Mar 2002 A1
20020029200 Dulin et al. Mar 2002 A1
20020035688 Kutaragi et al. Mar 2002 A1
20020035699 Crosbie Mar 2002 A1
20020049717 Routtenberg et al. Apr 2002 A1
20020052754 Joyce et al. May 2002 A1
20020052968 Bonefas et al. May 2002 A1
20020062290 Ricci May 2002 A1
20020069176 Newman Jun 2002 A1
20020069244 Blair et al. Jun 2002 A1
20020069263 Sears Jun 2002 A1
20020071559 Christensen et al. Jun 2002 A1
20020083006 Headings et al. Jun 2002 A1
20020083050 Liu et al. Jun 2002 A1
20020107706 Oliver et al. Aug 2002 A1
20020107795 Minear et al. Aug 2002 A1
20020107809 Biddle Aug 2002 A1
20020109706 Lincke et al. Aug 2002 A1
20020111904 Gruber et al. Aug 2002 A1
20020128908 Levin et al. Sep 2002 A1
20020129108 Sykes, Jr. Sep 2002 A1
20020129165 Dingsor et al. Sep 2002 A1
20020131401 Ehreth Sep 2002 A1
20020131404 Mehta et al. Sep 2002 A1
20020160752 Hook et al. Oct 2002 A1
20020162112 Javed Oct 2002 A1
20020165822 Makipaa Nov 2002 A1
20020176553 Aschir Nov 2002 A1
20020194143 Banerjee et al. Dec 2002 A1
20020194357 Harris et al. Dec 2002 A1
20030005136 Eun Jan 2003 A1
20030023550 Lee Jan 2003 A1
20030028903 Horfrichter et al. Feb 2003 A1
20030046396 Richter et al. Mar 2003 A1
20030060188 Gidron et al. Mar 2003 A1
20030074328 Schiff et al. Apr 2003 A1
20030078844 Takatori et al. Apr 2003 A1
20030078886 Minear et al. Apr 2003 A1
20030078895 MacKay Apr 2003 A1
20030083973 Horsfall May 2003 A1
20030083991 Kikinis May 2003 A1
20030093461 Suzuki et al. May 2003 A1
20030093565 Berger et al. May 2003 A1
20030096591 Pohutsky et al. May 2003 A1
20030110044 Nix et al. Jun 2003 A1
20030110213 Munetsugu et al. Jun 2003 A1
20030110296 Kirsch et al. Jun 2003 A1
20030120594 Shaginaw et al. Jun 2003 A1
20030149958 Baluja et al. Aug 2003 A1
20030151621 McEvilly et al. Aug 2003 A1
20030197719 Lincke et al. Oct 2003 A1
20030208444 Sauer Nov 2003 A1
20030212904 Randle et al. Nov 2003 A1
20030233329 Laraki et al. Dec 2003 A1
20030236867 Natsuno et al. Dec 2003 A1
20040006517 Takatori Jan 2004 A1
20040015413 Abu-Hejleh et al. Jan 2004 A1
20040015562 Harper et al. Jan 2004 A1
20040030601 Pond et al. Feb 2004 A1
20040043753 Wake et al. Mar 2004 A1
20040044623 Wake et al. Mar 2004 A1
20040137890 Kalke Jul 2004 A1
20040139012 Koskinen et al. Jul 2004 A1
20040181591 Yu et al. Sep 2004 A1
20040267630 Au et al. Dec 2004 A1
20050027872 Srinivas Feb 2005 A1
20050086348 Balassanian Apr 2005 A1
20050090258 Coppinger et al. Apr 2005 A1
20050113092 Coppinger et al. May 2005 A1
20050114155 Hodges et al. May 2005 A1
20050125315 Munoz et al. Jun 2005 A1
20050132049 Inoue et al. Jun 2005 A1
20050148319 Himeno Jul 2005 A1
20050192878 Minear et al. Sep 2005 A1
20050289047 Oliver et al. Dec 2005 A1
20060014535 Walker et al. Jan 2006 A1
20060015565 Nainani et al. Jan 2006 A1
20060080232 Epps Apr 2006 A1
20060143119 Krueger et al. Jun 2006 A1
20060173758 Minear et al. Aug 2006 A1
20060235931 Ruthe et al. Oct 2006 A1
20060253350 Falkenhain et al. Nov 2006 A1
20060270386 Yu et al. Nov 2006 A1
20060271449 Oliver et al. Nov 2006 A1
20070003034 Schultz et al. Jan 2007 A1
20070038703 Tendjoukian et al. Feb 2007 A1
20070066279 Silverbrook et al. Mar 2007 A1
20070083464 Cordero Torres et al. Apr 2007 A1
20070123229 Pousti May 2007 A1
20070169163 Morio et al. Jul 2007 A1
20070174308 Rausch Jul 2007 A1
20070197188 Sprigg et al. Aug 2007 A1
20070197189 Horel et al. Aug 2007 A1
20110030042 Neal-Joslin Feb 2011 A1
20110143709 Pousti Jun 2011 A1
20120309345 Wake et al. Dec 2012 A1
Foreign Referenced Citations (138)
Number Date Country
2267549 Sep 2000 CA
2363220 May 2003 CA
1459183 Nov 2003 CN
0780802 Jun 1997 EP
0895148 Feb 1999 EP
1026610 Aug 2000 EP
1026853 Aug 2000 EP
1033652 Sep 2000 EP
1047030 Oct 2000 EP
1102191 May 2001 EP
1122967 Aug 2001 EP
1 162 807 Dec 2001 EP
1204054 May 2002 EP
1403797 Mar 2004 EP
1404100 Mar 2004 EP
1414185 Apr 2004 EP
2775550 Sep 1999 FR
2349548 Nov 2000 GB
07044261 Feb 1995 JP
2007-319691 Aug 1995 JP
07319691 Dec 1995 JP
09319573 Dec 1997 JP
1066050 Mar 1998 JP
10140283 May 1998 JP
1060873 Sep 1998 JP
10262059 Sep 1998 JP
11053185 Feb 1999 JP
11055252 Feb 1999 JP
11069017 Mar 1999 JP
11126188 May 1999 JP
200056967 Feb 2000 JP
2000078129 Mar 2000 JP
2000357196 Dec 2000 JP
2001195451 Jul 2001 JP
2001202434 Jul 2001 JP
2001-250069 Sep 2001 JP
2001-312324 Sep 2001 JP
2001243382 Sep 2001 JP
2001265938 Sep 2001 JP
2001268623 Sep 2001 JP
2001-320509 Nov 2001 JP
2001312666 Nov 2001 JP
2001319168 Nov 2001 JP
2001325234 Nov 2001 JP
2001352583 Dec 2001 JP
2002007839 Jan 2002 JP
2002015160 Jan 2002 JP
2002-027151 Feb 2002 JP
2002-91850 Mar 2002 JP
2002093361 Mar 2002 JP
2002094450 Mar 2002 JP
2002101315 Apr 2002 JP
2002109395 Apr 2002 JP
2002-099289 May 2002 JP
2002-99441 May 2002 JP
2002132367 May 2002 JP
2002133316 May 2002 JP
2002-175387 Jun 2002 JP
2002163258 Jun 2002 JP
2002163467 Jun 2002 JP
2002197294 Jul 2002 JP
2002245350 Aug 2002 JP
2002279103 Sep 2002 JP
2002329249 Nov 2002 JP
2002335336 Nov 2002 JP
2002353885 Dec 2002 JP
2003016041 Jan 2003 JP
2003016093 Jan 2003 JP
2003518885 Jun 2003 JP
2003187083 Jul 2003 JP
2004004157 Jan 2004 JP
2004005044 Jan 2004 JP
2004135229 Apr 2004 JP
2004185197 Jul 2004 JP
2004220546 Aug 2004 JP
3609398 Jan 2005 JP
2005078325 Mar 2005 JP
2005519407 Jun 2005 JP
2005198021 Jul 2005 JP
2006505966 Feb 2006 JP
2007527570 Sep 2007 JP
2008514743 May 2008 JP
2010178027 Aug 2010 JP
2000-72521 Dec 2000 KR
20010078968 Aug 2001 KR
20020039648 May 2002 KR
2003-0042660 Jun 2003 KR
102003005056 Jun 2003 KR
20030078446 Oct 2003 KR
20070007954 Jan 2007 KR
2165679 Apr 2001 RU
2191482 Oct 2002 RU
2212057 Sep 2003 RU
161301 Jun 1991 TW
388021 Apr 2000 TW
466858 Dec 2001 TW
499645 Aug 2002 TW
9308545 Apr 1993 WO
9726739 Jul 1997 WO
9745814 Dec 1997 WO
9821676 May 1998 WO
9931610 Jun 1999 WO
9941861 Aug 1999 WO
9952077 Oct 1999 WO
WO-0002112 Jan 2000 WO
0031672 Jun 2000 WO
WO-0043962 Jul 2000 WO
0056033 Sep 2000 WO
0079451 Dec 2000 WO
0143390 Jun 2001 WO
0150305 Jul 2001 WO
WO-0149048 Jul 2001 WO
0163532 Aug 2001 WO
0163900 Aug 2001 WO
0169891 Sep 2001 WO
0197104 Dec 2001 WO
WO-0203219 Jan 2002 WO
0231718 Apr 2002 WO
WO0244892 Jun 2002 WO
02063537 Aug 2002 WO
02067600 Aug 2002 WO
WO02063536 Aug 2002 WO
WO-02073934 Sep 2002 WO
WO-02093361 Nov 2002 WO
WO-02103459 Dec 2002 WO
03017171 Feb 2003 WO
WO-03032618 Apr 2003 WO
WO-03050743 Jun 2003 WO
03075584 Sep 2003 WO
03079256 Sep 2003 WO
WO-03085943 Oct 2003 WO
2004003708 Jan 2004 WO
2004084526 Sep 2004 WO
2005004456 Jan 2005 WO
2005008383 Jan 2005 WO
WO2005020027 Mar 2005 WO
WO-2005069917 Aug 2005 WO
2006130539 Dec 2006 WO
Non-Patent Literature Citations (40)
Entry
“SYNCML Represntation Protocol, Version 1.0” SYNCML Representation Protocol, (Dec. 7, 2000), pp. 1-104, Chapters 1-4.
Arar, Yardena, “Download apps to a phone,” PC World, Jun. 2002, v20i6 pp. 64, Proquest #120993020 3 pgs.
Atsuyuki Morishima, “Efficient Construction of Materialized XML Views With Silkroute”, IPSJ SIG Notes, Japan, Information Processing Society of Japan, Jul. 17, 2001, vol. 2001, No. 70, pp. 421-428.
Butrico M A et al: “Gold Rush: Mobile Transaction Middleware With Java-Object Replication” Conference on Object'—Oriented Technologies, (Jun. 16, 1997), pp. 91-101.
Goldenberg-Hart, Diane, “A Glossary of Selected Internet and Computing Terms,” Yale University Library, Jun. 1996. Retrieved from http://www.library.yale.edu/ref/internet/intgloss.htm.
M2 Presswire. Convergys: Genie Mobile chooses Geneva Billing software, continuing the momentum of the merger between Convergys and Geneva Technology. Coventry: Jun. 1, 2001, p. 1.
No Author, “AvantGo 4.0 Powers Wireless Applications and Services,” Customer Inter@ction Solutions, May 2001, vol. 19, Issue 11, p. 71.
No Author, “Sony Pictures to Sell Movies via Internet,” Jul. 9, 2001, Source: Japan Computer Industry Scan.
PR Newswire. China Unicom Selects QUALCOMM's BREW Solution as Its Platform to Launch Wireless Data Applications. New York, Aug. 26, 2002, p. 1.
QUALCOMM; “Binary Runtime Environment for Wireless, BREW Application note: Developing BREW Applications for Devices with RUIM Units” (Online) Jan. 10, 2005, pp. 1-11, XP002410586 San Diego Retrieved from the internet: URL:http://brew.qualcomm.com/brew—bnry/pdf/.
QUALCOMM; BREW Distribution System (BDS) Overview (online) 2003, pp. 1-17, XP002410587 San Diego Retrieved from the Internet: URL:http.wirelessknowledge.com/brew/images/about/pdf/bds.pdf> [retrieved on Dec. 6, 2006] the whole document.
Rigdon, Joan E., “CyberSource Begins to Offer Software of Symantec and Others on the Internet,” Wall Street Journal, Jan. 31, 1995.
SYNCML Consortium: “SYNCML Sync Protocol, Version 1.0” (Dec. 7, 2000), Chapters 1,2,5-8.
SYNCML Consortium: “SYNCML Sync Protocol, Version 1.0.1” (Jun. 15, 2001).
International Preliminary Examination Report—PCT/US02/026035, IPEA/US-09-02-04.
International Search Report—PCT/US02/026035, International Search Authority—United States-01-02-03.
Supplementary European Search Report—EP02752842, Search Authority—The Hague-08-25-04.
USA Group Selects Clikc-N-Done for Electronic Bill Presentment and Patment; Software Will Support Online Presentment and Payment for Education Loan Borrowers Business Editors, Internet Writers. Business Wire. New York: Apr. 24, 2000. p. 1.
Amendment dated Oct. 14, 2008, U.S. Appl. No. 11/141,934.
Amendment dated Aug. 8, 2007, U.S. Appl. No. 11/141,807.
Amendment dated Dec. 23, 2007, U.S. Appl. No. 11/141,807.
Anonymous, “BPM in Action: iUniverse,” Intelligent Enterprise, San Mateo, May 15, 2004, vol. 7, Issue 8, 2 pages (recovered from ProQuest on Jun. 5, 2009).
Anonymous: “BREW TM Application Note: Developing BREW Applications for Devices with RUIM Units”, 20050514, May 14, 2005, pp. 1-11, XP007920607, Retrieved from the Internet: URL:http://web.archive.org/web/20050514075656/http://brew.qualcomm.com/brew—bnry/pdf/developer/resources/ds/Dev—BREW—Apps.pdf .
Anonymous: “Internet Archive Wayback Machine”, Internet Citation, May 14, 2005, p. 1, XP007920684, Retrieved from the Internet: URL:http://wayback.archive.org/web/200506150000007*/http://brew.qualcomm.com/brew—bnry/pdf/developer/resources/ds/Dev—BREW—Apps.pdf [retrieved on Jun. 4, 2012].
Business Wire, Informix Announces Key Customer Wins in Fourth Quarter; Leading Companies and Government Entities in Key Markets Around the World Respond to Informer's Technology Strategy Business/Technology Editors. Business Wire. New York: Jan. 27, 1999, p. 1.
Diebold Teams with Health System Services to Offer a Complete Distribution Package for Pharmacy Medication and Supplies PR Newswire. New York: May 28, 1998. p. 1.
Anonymous: “BREW TM Application Note: Developing BREW Applications for Devices with RUIM Units”, 20050514, May 14, 2005, pp. 1-11, XP007920607, Retrieved from the Internet: URL:http://web.archive.org/web/20050514075656/http://brew.qualcomm.com/brew—bnry/pdf/developerresources/ds/Dev—BREW—Apps.pdf.
Anonymous: “Internet Archive Wayback Machine”, Internet Citation, May 14, 2005, p. 1, XP007920684, Retrieved from the Internet: URL:http://wayback.archive.org/web/200506150000007*/http://brew.qualcomm.com/brew—bnry/pdf/developer/resources/ds/Dev—L BREW—Apps.pdf [retrieved on Jun. 4, 2012].
Business Wire, “Informix Announces Key Customer Wins in Fourth Quarter; Leading Companies and Government Entities in Key Markets Around the World Respond to Informer's Technology Strategy”, Business/Technology Editors. Business Wire. New York: Jan. 27, 1999, pg. 1-8.
Classified Ad 3—No Title, New York Daily Times (1851-1857); Nov. 15, 1853; ProQuest Historical Newspapers: The New York Times (1851-2008) p. 4.
Classified Ad 74—No Title. Chicago Daily Tribune (1923-1963); Oct. 11, 1959; ProQuest Historical Newspapers: Chicago Tribune (1849-1989) p. G34.
“Ellipsus' Mobile Aplication Provisioning System”, Internet Citation, Dec. 2, 2001, XP002266188, Retrieved from the Internet: URL: web.archive.orgfwww.ellipsus.com [retrieved on Jan. 7, 2004].
Fujii, H. “Brew application, flexibility in development comparable to PCs, powerful in enterprise system cooperation of cellular phones,” Solution IT, vol. 14, No. 11, Japan, RIC Telecom, Nov. 1, 2002, pp. 22-24.
PR Newswire, “Diebold Teams with Health System Services to Offer a Complete Distribution Package for Pharmacy Medication and Supplies” . New York: May 28, 1998. p. 1-3.
Telesens: TelesensKSCL and Comptel sign strategic agreement; New alliance expands best of suite billing offering and furthers drive towards comprehensive next generation solution for network service providers M2 Presswire, Coventry, Nov. 28, 2000, p. 1.
Oommen P., “Over the Air Handset Management,” Emerging Technologies Symposium, Broadband, Wireless Internet Access, 2000, IEEE Apr. 10-11, 2000, Piscataway, NJ, USA, IEEE, Apr. 10, 2000, pp. 1-4, XP010538894, ISBN: 0-7803-6364-7.
“How can wireless models help my business?”, Computer Weekly, Dec. 2, 2003; p. 1-5, Available from: Business Source Complete, Ipswich, MA. Accessed Jul. 1, 2013.
Mcauliffe W., “Broadband heading for move to metered billing”, New Media Age, Apr. 29, 2004; p. 1, Available from: Business Source Complete, Ipswich, MA. Accessed Jul. 1, 2013.
Floyd R, et al., “Mobile Web Access Using Enetwork Web Express”, IEEE Personal Communications, IEEE Communications Society, US, vol. 5, No. 5, Oct. 1, 1998, pp. 47-52, XP000786616.
Seifert A., et al. “A Multi-Version Cache Replacement and Prefetching Policy for Hybrid Data Delivery Environments,” Proceeding VLDB '02 Proceedings of the 28th international conference on Very Large, Jan. 1, 2002, pp. 850-861, XP055148735.
Related Publications (1)
Number Date Country
20030051047 A1 Mar 2003 US
Provisional Applications (1)
Number Date Country
60312737 Aug 2001 US