The present invention relates generally to information technology in an enterprise, more particularly, to a system and method for acquiring and integrating data from disparate sources in an enterprise and for making the data continuously available, in real-time, to users.
A paramount concern in a modern enterprise is the ability to quickly access changing information located on disparate systems and platforms within the enterprise. In order to properly maintain a comprehensive view of the operations and business processes within an organization, however, information on these systems needs to be integrated. For example, as an enterprise grows it requires increased flexibility of data sharing throughout its various automated business systems, such as customer relations management (CRM), enterprise resource planning (ERP), accounting, inventory control, and other systems. A practice known as enterprise application integration (EAI) enables an organization to share data throughout applications and data sources in an organization. EAI may include database linking, application linking, and data warehousing.
Nevertheless, there have been numerous shortcomings in the integration and data sharing in information technology (IT) environments. Independent configuration for disparate technologies and industry standards often make integration requirements difficult to meet. Integrating an existing inventory control system to a new ERP software package, for instance, may be difficult due to the fact that both systems contain unique features that are customized to fit the requirements of particular areas within an organization. Moreover, many EAI solutions contain a confusing web of point-to-point connections between different applications, procedure calls, file transfers, and e-mail-type messaging to transmit organizational data. These solutions are thus high-risk because of their complexity. Moreover, the data within the individual systems is often locked up, sometimes in proprietary form, difficult to access, and not correlated with other systems and platforms. This makes it difficult to get a consistent, coherent view of all the business data across the enterprise.
Yet another major shortcoming of prior EAI systems is that they are unable to source data from anywhere in the enterprise and to provide automated, in-depth analysis of events in the organization that happen as the events occur. Although some business processes are able to function with slow access to information, the availability of access to real-time information regarding the status and operation of business processes can greatly impact the profitability and efficiency of an organization. What is needed is a comprehensive business platform that enables companies to gather, organize, and deliver in real-time the disparate data driving their businesses
The present invention will be understood more fully from the detailed description that follows and from the accompanying drawings, which however, should not be taken to limit the invention to the specific embodiments shown, but are for explanation and understanding only.
The present invention provides an enterprise link for a software database. In the following description numerous specific details are set forth, such as the particular configuration of message queues to handle continuous, real-time data acquisition, the architecture of the enterprise link, and the details regarding specific enterprise systems in order to provide a thorough understanding of the present invention. However, persons having ordinary skill in the communication arts will appreciate that these specific details may not be needed to practice the present invention.
Referring now to
As is known in the art, the existing enterprise systems contain a variety of different data about the organization. For example, the ERP system 102 may contain data regarding essential business functions including payroll, manufacturing, general ledger, and human resources whereas the CRM system 103 may contain core information regarding the organization's customers. As data in these various systems changes (e.g., a sale is made, a new employee is hired, payroll is processed, etc.), one or more message queueing systems 107 may be used to allow these various applications 102,103, 104, etc., to exchange information on the data being stored in their systems. To this end, one implementation of the present invention employs a message queue server (e.g., the Microsoft RTM message Queue Server (MSMQ) although other message queuing systems may be used as well), to provide loosely-coupled and reliable network (across servers) communication services based on a message-queueing model. In MSMQ, messages are sent to a queue, where the message will stay until it is removed and used by another application. In this manner, loosely-coupled applications can share data to provide an enterprise-wide view of information, such as data and business transactions.
An enterprise link 110 is coupled to the enterprise computing runtime environment 101 through a network connection, such as the Internet 111. Of course, as is noted above, the network connection may also be a LAN, a WAN, a wireless network, or any other system of connections that allows one or more computers to exchange information. The enterprise link 110 integrates, in real-time, the disparate data in the message queues. The enterprise link 110 of the present invention is always active. It continuously accepts raw data feeds 121, 122, 123, etc., from the existing enterprise systems, and then reformats, synchronizes, and consolidates the data. In a traditional model, the data in the message queues would only be processed through the dataflow system when a specified number of records had built up within the message queues (i.e., the data would be transmitted in batch mode). According to an algorithm contained within the data flow system of the present invention, however, individual records are processed through to the enterprise link 110 the moment that they appear (i.e., the program continuously checks for messages). In this manner, real-time data flow is transmitted through the raw data feeds 121, 122, 123 via the message queues. It should be noted that although a message queueing system is used in one embodiment, the enterprise link 100 may also obtain data from the enterprise computing runtime environment 101 in a variety of other ways. These sources of data may be, for example, HyperText Transport Protocol (“HTTP”) requests and/or Application Programming Interface (“API”) calls and/or Web Services calls. In these alternative embodiments, the enterprise link 110 contains a web server to process the HTTP requests and/or another application or server to process the API and/or Web Service calls.
Regardless of how the enterprise link 110 receives the raw data feeds 121, 122, 123, etc., the enterprise link 110 transmits the data it receives from the enterprise computing runtime environment 101 via a network connection 130 or through some other connection (not shown in this view) to an active data cache (ADC) 120. The ADC 120 is a high-performance, memory-based persistent cache which stores the data 131, 132,133, etc., it receives from the enterprise link 110. The ADC 120 contains code which may be implemented in software such as Java™, Perl, C++, or other types of programming languages that can be stored on a computer-readable medium (e.g., a disk) to manage the data 131, 132,133, etc., that is actively changing within the enterprise computing runtime environment 101 and to make the data accessible to the end-user (not shown in this view) in real-time. In this manner, the data 131, 132, 133, etc., in the ADC 120 is constantly changing in that it is synchronized in real-time with the data in the enterprise runtime computing environment 101. The data 131, 132, 133, etc., in the ADC 120 is persistent to disk 140, but this disk 140 is only used for backup, restore, and recovery purposes.
An active designer 154 is the component of the enterprise link 110 that determines what data will be contained within the ADC 120 and also the process by which the data 131, 132, 133, etc., will be transmitted to the ADC 120. As is shown in
Referring now to
According to the embodiment illustrated by
Of course, although data stored in tabular form for a casino business is shown in
Referring now to
Referring now to
Network interface device 311 is coupled to bus 301 and provides a physical and logical connection between computer system 300 and the network medium (not shown in this view). Depending on the network environment in which computer 300 is used, this connection is typically to a server computer, but it can also be to a network router to another client computer. Note that the architecture of
In the foregoing, an enterprise link for a software database has been described. Although the present invention has been described with reference to specific exemplary embodiments, it should be understood that numerous changes in the disclosed embodiments can be made in accordance with the disclosure herein without departing from the spirit and scope of the invention. The preceding description, therefore, is not meant to limit the scope of the invention. Rather, the scope of the invention is to be determined only by the appended claims and their equivalents.
Number | Name | Date | Kind |
---|---|---|---|
5033009 | Dubnoff | Jul 1991 | A |
5510980 | Peters | Apr 1996 | A |
5553215 | Kaethler | Sep 1996 | A |
5592608 | Weber et al. | Jan 1997 | A |
5613131 | Moss et al. | Mar 1997 | A |
5615362 | Jensen et al. | Mar 1997 | A |
5654726 | Mima et al. | Aug 1997 | A |
5721847 | Johnson | Feb 1998 | A |
5754774 | Bittinger et al. | May 1998 | A |
5758337 | Hammond | May 1998 | A |
5765164 | Prasad et al. | Jun 1998 | A |
5778372 | Cordell et al. | Jul 1998 | A |
5781911 | Young et al. | Jul 1998 | A |
5784275 | Sojoodi et al. | Jul 1998 | A |
5787409 | Seiffert et al. | Jul 1998 | A |
5809267 | Moran et al. | Sep 1998 | A |
5812840 | Shwartz | Sep 1998 | A |
5831609 | London et al. | Nov 1998 | A |
5831615 | Drews et al. | Nov 1998 | A |
5857201 | Wright, Jr. et al. | Jan 1999 | A |
5862325 | Reed et al. | Jan 1999 | A |
5864669 | Osterman et al. | Jan 1999 | A |
5890174 | Khanna et al. | Mar 1999 | A |
5893126 | Drews et al. | Apr 1999 | A |
5898434 | Small et al. | Apr 1999 | A |
5918009 | Gehani et al. | Jun 1999 | A |
5922044 | Banthia | Jul 1999 | A |
5926177 | Hatanaka et al. | Jul 1999 | A |
5928327 | Wang et al. | Jul 1999 | A |
5930794 | Linenbach et al. | Jul 1999 | A |
5943620 | Boltz et al. | Aug 1999 | A |
5974236 | Sherman | Oct 1999 | A |
6023694 | Kouchi et al. | Feb 2000 | A |
6025844 | Parsons | Feb 2000 | A |
6035324 | Chang et al. | Mar 2000 | A |
6038558 | Powers et al. | Mar 2000 | A |
6055548 | Comer et al. | Apr 2000 | A |
6070197 | Cobb et al. | May 2000 | A |
6073242 | Hardy et al. | Jun 2000 | A |
6075530 | Lucas et al. | Jun 2000 | A |
6088481 | Okamoto et al. | Jul 2000 | A |
6092102 | Wagner | Jul 2000 | A |
6094681 | Shaffer et al. | Jul 2000 | A |
6112236 | Dollin et al. | Aug 2000 | A |
6141659 | Barker et al. | Oct 2000 | A |
6170019 | Dresel et al. | Jan 2001 | B1 |
6175859 | Mohler | Jan 2001 | B1 |
6182116 | Namma et al. | Jan 2001 | B1 |
6185582 | Zellweger et al. | Feb 2001 | B1 |
6189069 | Parkes et al. | Feb 2001 | B1 |
6201539 | Miller et al. | Mar 2001 | B1 |
6204846 | Little et al. | Mar 2001 | B1 |
6205474 | Hurley | Mar 2001 | B1 |
6208990 | Suresh et al. | Mar 2001 | B1 |
6233578 | Machihara et al. | May 2001 | B1 |
6239797 | Hills et al. | May 2001 | B1 |
6240444 | Fin et al. | May 2001 | B1 |
6243698 | Powers et al. | Jun 2001 | B1 |
6243713 | Nelson et al. | Jun 2001 | B1 |
6256649 | Mackinlay et al. | Jul 2001 | B1 |
6256676 | Taylor et al. | Jul 2001 | B1 |
6269393 | Yost et al. | Jul 2001 | B1 |
6292803 | Richardson et al. | Sep 2001 | B1 |
6301601 | Helland et al. | Oct 2001 | B1 |
6304546 | Natarajan et al. | Oct 2001 | B1 |
6314463 | Abbott et al. | Nov 2001 | B1 |
6317737 | Gorelik et al. | Nov 2001 | B1 |
6336135 | Niblett et al. | Jan 2002 | B1 |
6341312 | French et al. | Jan 2002 | B1 |
6348933 | Walls et al. | Feb 2002 | B1 |
6363363 | Haller et al. | Mar 2002 | B1 |
6393421 | Paglin | May 2002 | B1 |
6397217 | Melbin | May 2002 | B1 |
6430576 | Gates et al. | Aug 2002 | B1 |
6449344 | Goldfinger | Sep 2002 | B1 |
6467052 | Kaler et al. | Oct 2002 | B1 |
6480847 | Linenbach et al. | Nov 2002 | B1 |
6510457 | Ayukawa et al. | Jan 2003 | B1 |
6513047 | Talley | Jan 2003 | B1 |
6519568 | Harvey et al. | Feb 2003 | B1 |
6523046 | Liu et al. | Feb 2003 | B2 |
6532465 | Hartley et al. | Mar 2003 | B2 |
6535227 | Fox et al. | Mar 2003 | B1 |
6542165 | Ohkado | Apr 2003 | B1 |
6567796 | Yost et al. | May 2003 | B1 |
6567814 | Bankier et al. | May 2003 | B1 |
6574618 | Eylon et al. | Jun 2003 | B2 |
6574639 | Carey et al. | Jun 2003 | B2 |
6591277 | Spence et al. | Jul 2003 | B2 |
6591278 | Ernst | Jul 2003 | B1 |
6598167 | Devine et al. | Jul 2003 | B2 |
6606596 | Zirngibl et al. | Aug 2003 | B1 |
6640234 | Coffen et al. | Oct 2003 | B1 |
6647272 | Asikainen | Nov 2003 | B1 |
6651055 | Kilmer et al. | Nov 2003 | B1 |
6651142 | Gorelik et al. | Nov 2003 | B1 |
6701485 | Igra et al. | Mar 2004 | B1 |
6731314 | Cheng et al. | May 2004 | B1 |
6745193 | Horvitz et al. | Jun 2004 | B1 |
6775267 | Kung et al. | Aug 2004 | B1 |
6789083 | Thelen | Sep 2004 | B2 |
6832341 | Vijayan | Dec 2004 | B1 |
6901592 | Mar et al. | May 2005 | B2 |
6907422 | Predovic | Jun 2005 | B1 |
6915457 | Miller | Jul 2005 | B1 |
6920607 | Ali et al. | Jul 2005 | B1 |
6938221 | Nguyen | Aug 2005 | B2 |
6954757 | Zargham et al. | Oct 2005 | B2 |
6954902 | Noma et al. | Oct 2005 | B2 |
6996768 | Elo et al. | Feb 2006 | B1 |
7024474 | Clubb et al. | Apr 2006 | B2 |
7031314 | Craig et al. | Apr 2006 | B2 |
7032006 | Zhuk | Apr 2006 | B2 |
7058953 | Willard et al. | Jun 2006 | B2 |
7096432 | Huapaya et al. | Aug 2006 | B2 |
7113964 | Bequet et al. | Sep 2006 | B1 |
7120139 | Kung et al. | Oct 2006 | B1 |
7171473 | Eftis et al. | Jan 2007 | B1 |
7174339 | Wucherer et al. | Feb 2007 | B1 |
7197565 | Abdelaziz et al. | Mar 2007 | B2 |
7243124 | Gardner et al. | Jul 2007 | B1 |
7272660 | Powers et al. | Sep 2007 | B1 |
20010034733 | Prompt et al. | Oct 2001 | A1 |
20010039616 | Kumagai et al. | Nov 2001 | A1 |
20010049721 | Blair et al. | Dec 2001 | A1 |
20020013853 | Baber et al. | Jan 2002 | A1 |
20020038217 | Young | Mar 2002 | A1 |
20020057678 | Jiang et al. | May 2002 | A1 |
20020059472 | Wollrath et al. | May 2002 | A1 |
20020065894 | Dalal et al. | May 2002 | A1 |
20020078208 | Crump et al. | Jun 2002 | A1 |
20020083067 | Tamayo et al. | Jun 2002 | A1 |
20020083118 | Sim | Jun 2002 | A1 |
20020107864 | Battas et al. | Aug 2002 | A1 |
20020107905 | Roe et al. | Aug 2002 | A1 |
20020107957 | Zargham et al. | Aug 2002 | A1 |
20020116362 | Li et al. | Aug 2002 | A1 |
20020120697 | Generous et al. | Aug 2002 | A1 |
20020120765 | Boehmke | Aug 2002 | A1 |
20020143710 | Liu | Oct 2002 | A1 |
20020152402 | Tov et al. | Oct 2002 | A1 |
20020165849 | Singh et al. | Nov 2002 | A1 |
20020184187 | Bakalash et al. | Dec 2002 | A1 |
20020198985 | Fraenkel et al. | Dec 2002 | A1 |
20030004742 | Palmer et al. | Jan 2003 | A1 |
20030023691 | Knauerhase | Jan 2003 | A1 |
20030028682 | Sutherland | Feb 2003 | A1 |
20030028683 | Yorke et al. | Feb 2003 | A1 |
20030033329 | Bergman et al. | Feb 2003 | A1 |
20030074393 | Peart | Apr 2003 | A1 |
20030088633 | Chiu et al. | May 2003 | A1 |
20030093585 | Allan | May 2003 | A1 |
20030101201 | Saylor et al. | May 2003 | A1 |
20030101223 | Pace et al. | May 2003 | A1 |
20030105837 | Kamen et al. | Jun 2003 | A1 |
20030115186 | Wilkinson et al. | Jun 2003 | A1 |
20030120805 | Couts et al. | Jun 2003 | A1 |
20030126136 | Omoigui | Jul 2003 | A1 |
20030154177 | Holland et al. | Aug 2003 | A1 |
20030182428 | Li et al. | Sep 2003 | A1 |
20030182461 | Stelting et al. | Sep 2003 | A1 |
20030187971 | Uliano et al. | Oct 2003 | A1 |
20030204741 | Schoen et al. | Oct 2003 | A1 |
20030208543 | Enete et al. | Nov 2003 | A1 |
20030217081 | White et al. | Nov 2003 | A1 |
20030220860 | Heytens et al. | Nov 2003 | A1 |
20030225811 | Ali et al. | Dec 2003 | A1 |
20030229722 | Beyda | Dec 2003 | A1 |
20030235279 | Richomme | Dec 2003 | A1 |
20040002958 | Seshadri et al. | Jan 2004 | A1 |
20040010543 | Grobman | Jan 2004 | A1 |
20040030762 | Silverthorne et al. | Feb 2004 | A1 |
20040039776 | Ballard | Feb 2004 | A1 |
20040039800 | Black et al. | Feb 2004 | A1 |
20040054802 | Beauchamp et al. | Mar 2004 | A1 |
20040073596 | Kloninger et al. | Apr 2004 | A1 |
20040087300 | Lewis | May 2004 | A1 |
20040146044 | Herkerdorf et al. | Jul 2004 | A1 |
20040152477 | Wu et al. | Aug 2004 | A1 |
20040254998 | Horvitz | Dec 2004 | A1 |
20050004984 | Simpson | Jan 2005 | A1 |
20050055329 | Bakalash et al. | Mar 2005 | A1 |
20050086211 | Mayer | Apr 2005 | A1 |
20050102294 | Coldewey | May 2005 | A1 |
20050102611 | Chen | May 2005 | A1 |
20060089939 | Broda et al. | Apr 2006 | A1 |
20060161540 | Schmitz et al. | Jul 2006 | A1 |
20080043256 | Broda et al. | Feb 2008 | A1 |
20080046505 | Netsch et al. | Feb 2008 | A1 |
20080046506 | Broda | Feb 2008 | A1 |
20080046510 | Beauchamp et al. | Feb 2008 | A1 |
20080046536 | Broda | Feb 2008 | A1 |
20080046556 | Nicholls et al. | Feb 2008 | A1 |
20080046568 | Broda et al. | Feb 2008 | A1 |
20080046803 | Beauchamp et al. | Feb 2008 | A1 |
20080046837 | Beauchamp et al. | Feb 2008 | A1 |
20080077656 | Broda | Mar 2008 | A1 |
20080148289 | Nicholls et al. | Jun 2008 | A1 |
20080155020 | Beauchamp et al. | Jun 2008 | A1 |
Number | Date | Country |
---|---|---|
WO 0163466 | Aug 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20040049477 A1 | Mar 2004 | US |