Source: http://www.google.com/patents/US8103728?dq=7,190,101
Timestamp: 2016-08-31 00:58:14
Document Index: 351794589

Matched Legal Cases: ['art 500', 'art 500', 'art 600', 'art 600', 'art 600', 'art 700', 'art 700']

Patent US8103728 - Database synchronization on a network - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inPatentsSystems, methods and media for database synchronization on a network are disclosed. More particularly, hardware and/or software for database synchronization on a network protected with firewalls are disclosed. Embodiments include an e-mail listener for receiving e-mails from a plurality of computer systems...http://www.google.com/patents/US8103728?utm_source=gb-gplus-sharePatent US8103728 - Database synchronization on a networkAdvanced Patent SearchPublication numberUS8103728 B2Publication typeGrantApplication numberUS 12/051,933Publication dateJan 24, 2012Priority dateJun 29, 2004Fee statusPaidAlso published asUS20060031323, US20080215761Publication number051933, 12051933, US 8103728 B2, US 8103728B2, US-B2-8103728, US8103728 B2, US8103728B2InventorsGlen JohnsonOriginal AssigneeInternational Business Machines CorporationExport CitationBiBTeX, EndNote, RefManPatent Citations (20), Non-Patent Citations (8), Referenced by (1), Classifications (9), Legal Events (6) External Links: USPTO, USPTO Assignment, EspacenetDatabase synchronization on a network
Pursuant to 35 USC �120, this continuation application claims priority to and benefit of U.S. patent application Ser. No. 10/880,260, entitled “SYSTEMS, METHODS, AND MEDIA FOR DATABASE SYCHRONIZATION ON A NETWORK”, filed on Jun. 29, 2004 now abandoned, the disclosure of which is incorporated herein in its entirety for all purposes.
Personal computer systems are well known in the art. They have attained widespread use for providing computer power to many segments of today's modern society. Personal computers (PCs) may be defined as a desktop, floor standing, or portable microcomputer that includes a system unit having a central processing unit (CPU) and associated volatile and non-volatile memory, including random access memory (RAM) and basic input/output-system read only memory (BIOS ROM), a system monitor, a keyboard, one or more flexible diskette drives, a CD-ROM drive, a fixed disk storage drive (also known as a “hard drive”), a pointing device such as a mouse, and an optional network interface adapter. One of the distinguishing characteristics of these systems is the use of a motherboard or system planar to electrically connect these components together. Examples of such personal computer systems are IBM's PC 300 series, Aptiva series, and Intellistation series.
The proliferation of PCs and other computer systems in the business world—as well as the advent of networks such as Local Area Networks (LANs) and corporate intranets—has resulted in the creation and utilization of computer software-based tools which facilitate dissemination of information and collaboration between employees. One common use of the computer software-based tools is facilitating business process improvement. These business processes can often be represented as a workflow characterized by a well-defined succession of states. A relational database is often used to represent and store this transactional data in such a system. The current trend in, workflow software centers around a relational database engine with access provided by a web browser-enabled interface on a corporate intranet. Such tools do not presently have the capability for flow and synchronization between discrete corporate organizations, at least partially based on network security concerns.
Turning now to the drawings, FIG. 1 depicts an environment for a system 100 for synchronizing a database on a network according to one embodiment. In the depicted embodiment, system 100 includes a plurality of computer systems 106 in communication with a network 102. Each computer system 106 may be in communication with one or more user computers 108. System 100 also includes an e-mail listener 104 in communication with network 102 for receiving e-mails from computer systems 106 via the network 102. In one embodiment, at least some of the computer systems 106 are remote from the e-mail listener 104. Central database 110 may be in communication with e-mail listener 104 and/or network 102. An optional administrator computer 112 may be in communication with e-mail listener 104 and/or network 102. In system 100, the computer systems 106, user computers 108, administrator computer 112, e-mail listener 104, and central database 110 may be located at the same location, such as in the same building or computer lab, or could be remote. While the term “remote” is used with reference to the distance between the components of system 100, the term is used in the sense of indicating separation of some sort, rather than in the sense of indicating a large physical distance between the systems. For example, any of the components of system 100 may be physically adjacent or located as part of the same computer system in some network arrangements.
FIGS. 2 and 3 depict one embodiment of a personal computer 212 suitable for use as, for example, an e-mail listener 104, a computer system 106, a user computer 108 or an administrator computer 112. Other possibilities for the personal computer 212, an e-mail listener 104, a computer system 106, a user computer 108 or an administrator computer 112 are possible, including a computer having capabilities other than those ascribed herein to a “personal computer”, and possibly beyond those capabilities, and they may, in other embodiments, be any combination of processing devices such as workstations, servers, mainframe computers (such as IBM Corporation's zSeries mainframe), notebook or laptop computers, desktop computers, personal digital assistants (PDAs), or the like.
IDE bus 332 and PCI-E bus 334 may be incorporated to facilitate connection of additional I/O devices with ICH 314. IDE bus 332 is a type of hardware interface widely used to connect hard disks, CD-ROMs and tape drives to a PC. IDE bus 332 provides for the attachment for hard disk drive 344 and CD-ROM drive 346. PCI-E bus 334 is a high-speed peripheral interconnect. PCI-E bus is designed to match the higher speeds of CPUs and can accommodate Gigabit and 10 Gigabit Ethernet and evens support chip-to-chip transfers. Rather than the shared, parallel bus structure of PCI, PCI-E bus 334 provides a high-speed, switched architecture. Each PCI Express link is a serial communications channel made up of two differential wire pairs that provide 2.5 Gigabits per second in each direction. Up to 32 of these “lanes” may be combined in x2, x4, x8, x16 and x32 configurations, creating a parallel interface of independently controlled serial links. The bandwidth of the switch backplane determines the total capacity of PCI-E bus 334.
Turning now to FIG. 4, an environment for a system for synchronizing a database on a network according to an alternative embodiment is depicted. System 400 differs from that of system 100 in that the e-mail listener 104, central database 110, and the administrator computer 112 are located “behind” one of the computer systems, lead computer system 406. In this embodiment, the e-mail listener 104, central database 110 and the administrator computer 112 are located behind the firewall of lead computer system 406, making it difficult for users associated with other computer systems 106 to access central database 110. E-mails transmitted from users associated with other computer systems 106 may still be received, however, by the e-mail listener 104 via network 102 after going through the firewall of lead computer system 406. In the depicted embodiment, lead computer system 406 has no local database 114 (unlike the other depicted computer systems 106) as the central database 110 serves as its database. In an alternative embodiment, lead computer system 406 may have a separate local database 114 while the central database 110 is still located behind its firewall.
In one embodiment, transaction e-mails may be identified by a defined string of characters (e.g., “bug”) in the subject line of the e-mail. In this embodiment, only e-mails with this defined string are treated as transaction e-mails and processed. This helps ensure that only appropriate e-mails are processed by the function of flowchart 500, eliminating “spam” or other unwanted e-mail. Alternatively, the defined string of characters could be within the text of the e-mail, in an attachment, or any other means may be used to identify the e-mail as a transaction e-mail.
Flowchart 500 continues to decision block 510, where it is determined whether the transaction e-mail, based on the analysis of element 508, adds new information to the database. E-mail listener 104 may have to access central database 110 to determine whether new information is added or the e-mail listener 104 may have sufficient local records (e.g., a history of transactions, a transaction log, etc.) to make such a determination. In an alternative embodiment, decision block 510 is not necessary and it is simply assumed that all transaction e-mails add value or information and the appropriate command should be sent to the central database 110. This embodiment is functionally equivalent to the answer of decision block 510 always being “yes”.
FIG. 6 depicts an example of a flow chart 600 for a user to create or modify an item in a database according to one embodiment. The function of flow chart 600 may be performed on a user computer 108 or computer system 106 that is being used by a particular user so that a transaction e-mail will ultimately be transmitted. Flow chart 600 begins with element 602, creating or modifying an item. In this element, a user might manually create an item for a database or modify an existing item in a database such as local database 114. A user could, for example, modify a status flag for a function (represented by an element in a database) from “passed” to “fail” in the event that an error is noticed. In another example, a user could input information into a local database 114. In an alternative embodiment, the item in the database may be automatically modified based upon a particular event or based on an action of the user. In this example, a database entry could be modified automatically when a particular failure occurred, when a test passed, etc., without human interaction.
Flow chart 700 continues to optional decision block 708, where it is determined whether the transaction log entry adds new information to the database being updated. The computer executing flow chart 700 may have to access the database to be updated in order to determine whether new information is added. In an alternative embodiment, decision block 708 is not necessary and it is simply assumed that all entries in the transaction log add value or information and the appropriate command will be sent to the database. This embodiment is functionally equivalent to the answer of decision block 708 always being “yes”.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS5793861 *Jun 11, 1996Aug 11, 1998Executone Information Systems, Inc.Transaction processing system and methodUS6021202 *Dec 19, 1997Feb 1, 2000Financial Services Technology ConsortiumMethod and system for processing electronic documentsUS6640244 *Aug 31, 1999Oct 28, 2003Accenture LlpRequest batcher in a transaction services patterns environmentUS6882994 *Mar 26, 2001Apr 19, 2005Hitachi, Ltd.Method and system for querying database, as well as a recording medium for storing a database querying programUS7243163 *Mar 29, 2002Jul 10, 2007Good Technology, Inc.System and method for full wireless synchronization of a data processing apparatus with a messaging systemUS7293081 *Sep 12, 2003Nov 6, 2007Ricoh Co., Ltd.Method and system for remote diagnostic, control and information collection based on various communication modes for sending messages to a resource managerUS20020091775 *Sep 5, 2001Jul 11, 2002Morehead Graham A.System and method for universal emailUS20020116467 *Apr 24, 2002Aug 22, 2002Monty BoyerMethod and apparatus for synchronizing an email client on a portable computer system with an email client on a desktop computerUS20030097358 *Oct 23, 2002May 22, 2003Mendez Daniel J.System and method for merging remote and local data in a single user interfaceUS20030101227 *Nov 28, 2001May 29, 2003Fink Alan WalterMessage collaboratorUS20030212690 *Mar 27, 2003Nov 13, 2003Peter SurmaExactly once protocol for message-based collaborationUS20030231207May 20, 2002Dec 18, 2003Baohua HuangPersonal e-mail system and methodUS20040148303Jan 24, 2003Jul 29, 2004Mckay Christopher W.T.Method of updating data in a compressed data structureUS20040177120 *Mar 7, 2003Sep 9, 2004Kirsch Steven T.Method for filtering e-mail messagesUS20040177319 *Jul 16, 2003Sep 9, 2004Horn Bruce L.Computer system for automatic organization, indexing and viewing of information from multiple sourcesUS20050165752 *Jan 28, 2004Jul 28, 2005Sun Microsystems, Inc.Synchronizing and consolidating information from multiple source systems of a distributed enterprise information systemUS20050278428 *May 13, 2002Dec 15, 2005Tetsuro MotoyamaVerification scheme for email message containing information about remotely monitored devicesUS20070274291 *Mar 16, 2004Nov 29, 2007C.D.C. S.R.L.Method and Apparatus for Unified Management of Different Type of Communications Over Lan, Wan and Internet Networks, Using A Web BrowserUS20080021921Sep 21, 2007Jan 24, 2008Horn Bruce LComputer system for automatic organization, indexing and viewing of information from multiple sourcesJP2001125838A * Title not available* Cited by examinerNon-Patent CitationsReference1 *"Communication Method with Applications by Natural Language." IBM Technical Disclosure Bulletin. Oct. 1, 1988. vol. 31, Issue 5, 443-445.2Applicant's attorney James Nickelson, Appeal Brief for U.S. Appl. No. 10/880,260 (Assignee's abandoned parent application), Jan. 26, 2009, Austin, TX, USA.3Applicant's attorney James Nickelson, Preliminary Amendment for U.S. Appl. No. 10/880,260 (Assignee's abandoned parent application), Mar. 18, 2008, Austin, TX, USA.4Applicant's attorney James Nickelson, Response to Non-Final Office Action for U.S. Appl. No. 10/880,260 (Assignee's abandoned parent application), Jun. 19, 2008, Austin, TX, USA.5Final Office Action for U.S. Appl. No. 10/880,260 (Assignee's abandoned parent application), Aug. 29, 2008, USPTO, Alexandria, VA, USA.6Non-Final Office Action for U.S. Appl. No. 10/880,260 (Assignee's abandoned parent application), Mar. 25, 2008, USPTO, Alexandria, VA, USA.7Notice of Allowance for U.S. Appl. No. 10/880,260 (Assignee's abandoned parent application), Apr. 17, 2009, USPTO, Alexandria, VA, USA.8Telephone Interview Summary for U.S. Appl. No. 10/880,260 (Assignee's abandoned parent application), Jun. 8, 2008, USPTO, Alexandria, VA, USA.* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS9390120Dec 31, 2013Jul 12, 2016Google Inc.System and methods for organizing hierarchical database replicationClassifications U.S. Classification709/206, 707/609, 709/207International ClassificationG06F15/16Cooperative ClassificationH04L51/14, H04L67/1095European ClassificationH04L12/58G, H04L29/08N9R, H04L51/14Legal EventsDateCodeEventDescriptionSep 4, 2015REMIMaintenance fee reminder mailedJan 22, 2016FPAYFee paymentYear of fee payment: 4Jan 22, 2016SULPSurcharge for late paymentFeb 5, 2016ASAssignmentOwner name: MIDWAY TECHNOLOGY COMPANY LLC, MICHIGANFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:037704/0257Effective date: 20151231Mar 17, 2016ASAssignmentOwner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW YFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:JOHNSON, GLEN;REEL/FRAME:038016/0098Effective date: 20040629Apr 1, 2016ASAssignmentOwner name: SERVICENOW, INC., CALIFORNIAFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MIDWAY TECHNOLOGY COMPANY LLC;REEL/FRAME:038324/0816Effective date: 20160324RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services