In today's global economy, where competition is fierce and unrelenting, companies can ill afford to spend capital in risky or unfruitful ventures. In virtually all aspects of most competitive companies have been forced to seek an optimum efficiency model—personnel, management, benefits, even research and development frequently must be reduced or eliminated altogether in order to compete with today's top firms.
In manufacturing and industrial sectors, this effect has made particular impact. Companies of the past could afford to build factories and plants with only a faint idea of how well they would operate, and with minimal insight into how the industry may change in the future. As the global economy has matured, companies and manufacturers have realized a competitive need to predict operation of a facility before incurring the high cost of production. Gratefully, computing hardware, software, and techniques have matured at an equally rapid rate, granting the possibility of simulation to achieve these goals. The power of computer aided simulations provides the ability to construct a virtual model of a system at a much lower cost than physically building the same system. Further, simulations enable alternative designs to be tested so as to arrive at an optimal solution before committing to actual construction.
An additional force of competition is that the cost of labor has reduced at all levels, from low-level labor to highly skilled positions such as computer programming and testing. This has led to an increase in the use of computing simulations, and a trend toward quantity of simulations and other algorithms rather than toward a simple, central, elegant approach which may require a lower number of more highly skilled programmers and powerful equipment.
Commercial computing packages offer immense power to create simulated designs. Many employ a graphical user interface which allows easy manipulation of elements into virtually any arrangement to suit the needs of the moment. However, with such power comes a tendency to place to great a focus on the power itself. Without careful and well thought plans and implementations commercial computing packages can deliver a false sense of confidence. Like any tool, there is potential for harm if not used properly.
The following presents a simplified summary in order to provide a basic understanding of some aspects of the claimed subject matter. This summary is not an extensive overview. It is not intended to identify key/critical elements or to delineate the scope of the claimed subject matter. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
The subject disclosure relates to systems and methods that facilitate simulation of an industrial process, enabling rapid, low cost design and virtual testing of new industrial processes. A simulation component, which can comprise a commercial computing package, can represent elements of an industrial process and their interaction. A correlation component can compare a simulation for each element or group of elements with the functionality of actual target hardware which the simulation represents in order to ensure the accuracy of the simulation. The correlation component can convey a degree of correlation between a piece of hardware and its simulative representation, which can depend on the implementation of the equipment, and also on other elements with which the simulated element interacts directly or indirectly. In this manner, a designer can focus design or diagnostic energy on a portion or aspect of the industrial process. In accordance with another embodiment, the simulation component can interact with certain elements that are actual hardware, and other elements that are purely simulated, mitigating the need to simulate all elements of the industrial process.
Another aspect of the subject disclosure permits the designer to generate motor control code for components of industrial equipment (e.g., hardware and/or software) used to control actual hardware. Commercially available computing packages are capable of generating this control code with minimal effort—some even with a mere few mouse-clicks or keystrokes. This can save much time and manpower that has previously been spent generating the motor control code. The use of the correlation component and other components of the subject system and methods provide a designer with confidence that the simulation is a true representation of the target hardware, and therefore code that is generated from the simulation will perform as desired.
In yet another embodiment, the simulation component can interface with a customer and receive a description of the customer's desired industrial process. The description can comprise a plurality of elements and sub-elements of the process to the level of granularity that the customer desires, and according to the particulars of the industrial process. The simulation component can perform a simulation of the proposed system and provide the customer with hardware purchasing options that can meet the customer's needs. In addition, the customer can use the system to diagnose a problem within an existing industrial process, and/or locate the source of the problem and determine other components that can meet the customer's needs in a more satisfactory manner.
In an embodiment, an artificial intelligence component can store information relating to past solutions and provide suggestions to a customer or a designer if a past solution has been used to solve a problem or arrangement similar to a current proposed solution. The artificial intelligence component can infer a likelihood or degree of similarity between a past solution and the present proposed solution. Additionally, the artificial intelligence component can assist the correlation component in determining the degree of correlation between a simulative representation of a piece of equipment and the actual equipment using artificial intelligence techniques.
To the accomplishment of the foregoing and related ends, certain illustrative aspects of the claimed subject matter are described herein in connection with the following description and the annexed drawings. These aspects are indicative of various ways in which the subject matter may be practiced, all of which are intended to be within the scope of the claimed subject matter. Other advantages and novel features may become apparent from the following detailed description when considered in conjunction with the drawings.
The various aspects of the subject innovation are now described with reference to the annexed drawings, wherein like numerals refer to like or corresponding elements throughout. It should be understood, however, that the drawings and detailed description relating thereto are not intended to limit the claimed subject matter to the particular form disclosed. Rather, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the claimed subject matter.
As used in this application, the term “component,” and the like are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers. Also, these components can execute from various computer readable media having various data structures stored thereon. The components may communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal).
Examples are provided solely for purposes of clarity and understanding and are not meant to limit the subject innovation or relevant portion thereof in any manner. It is to be appreciated that a myriad of additional or alternate examples could have been presented, but have been omitted for purposes of brevity. Furthermore, all or portions of the subject innovation may be implemented as a method, apparatus or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed innovation. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable device or media. For example, computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g. compact disk (CD), digital versatile disk (DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ). Additionally it should be appreciated that a carrier wave can be employed to carry computer-readable electronic data such as those used in transmitting and receiving electronic mail or in accessing a network such as the Internet or a local area network (LAN). Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
Referring now to the figures,
Interface 102 can facilitate interaction with the system 100, and can comprise a graphical interface, a command line interface, or any other suitable means of interacting with a computing system. In addition, interface 102 may also provide interaction between the system 100 and another non-human operator. Simulation component 104 can comprise any commercial simulation software product and allows a user to model elements of an industrial application. Some simulation components 104 provide an interface 102 that allows the user to create a block diagram, with different blocks representing different elements of the desired application. The different elements and their interconnections can be modeled as a network, and simulation component 104 can replicate the actual operation of the industrial process virtually. For example, a user may wish to know whether a given piece of equipment will overheat during operation. The simulation can enact the conditions under which the equipment will operate, and can provide an approximation of the temperature of the equipment under several different operation conditions. Much of the equipment used in industrial settings can interact with surrounding hardware via various inputs and outputs, which can also be modeled and simulated. According to one embodiment, the interface 102 is part of the simulation component 104, and can serve to facilitate simulation of the industrial application. In another embodiment, the interface 102 can be created separate from the simulation component 104.
A simulation 106 can mirror an actual application 108, and can include as much detail as required and at the discretion of the user who can create the simulation 106 by way of the interface 102 and the simulation component 104. Running the simulation gives the user some assurance that no problems will arise such as an overheat or a mechanical or electrical failure or the like. The industrial application can be performed, at least in part, on actual hardware 108 as well, to validate the accuracy of the simulation 106. Individual elements' stand-alone operation and/or the elements' interaction with other elements can be verified. A correlation component 110 can compare the operations of actual hardware 108 and the simulation 106 thereof, to ensure that the simulation 106 is an accurate representation. If there is not a positive correlation, the simulation can be modified and re-tested until the user is satisfied that the simulation 106 accurately represents the actual hardware 108 under various operating conditions.
In many cases, it is desirable to simulate only a subset of the elements of an industrial application. Many pieces of hardware have been used in previous applications, and their operation is therefore known. Additionally, some hardware can interact with a simulation directly by providing electronic communication to the simulation component 104 directly, mitigating the need to simulate that element. The system 100 can therefore include actual hardware and simulated hardware together to form a composite simulation. Such an arrangement can provide a favorable situation because the actual hardware 108 needs no correlation to a simulated counterpart, increasing the accuracy and reliability of the simulation 106. In addition, no effort is expended to create the simulation of the actual hardware 108.
Once there is an agreeable correlation between the actual hardware 108 and the simulation 106, the designer is assured that the simulation can be treated in virtually the same manner as the actual hardware 108. In an embodiment, the correlation component 110 can convey a correlation in terms of a percentage, or a position on a spectrum of correlation ranging from unrelated to exactly related. Due to the complexity of today's hardware used in the industrial setting, a tolerance for correlation can be specified by the user or by the system 100 to allow for degrees of mismatching between a simulation 106 and actual hardware 108. A designer may be concerned with certain variables more than others, and therefore can indicate that the correlation relating to those variable should be relatively high, where other variables may present a lower correlation value, but still fall within a tolerance.
The simulation component 104 can communicate with a data store 112 in order to store a simulation 106, or other supporting information. Past simulations can be stored and accessed in order to facilitate future simulations by reducing duplicative work if an element or component has been modeled in the past. The data store 112 can be, for example, either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. By way of illustration, and not limitation, nonvolatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), magnetic drives, or flash memory. Volatile memory can include random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM). The data store of the present systems and methods is intended to comprise, without being limited to, these and any other suitable types of memory.
Knowing, to a satisfactory degree of certainty, that a simulation 106 represents the functioning of actual hardware 108 enables rapid, low cost, and reliable testing and modification of an industrial application. The user can experiment more freely with arrangements that pose a higher risk of failure without the associated high cost of experimenting in this manner with conventional systems. A skilled industrial engineer may encounter ideas from time to time that are new and untested, but that could result in enormous performance and/or throughput gains if successful. Using conventional systems, a prudent engineer would consider the risk of failure, coupled with the high cost of building an actual industrial plant, to be prohibitively expensive. The system 100 permits these type of cutting edge, unproven ideas to be tested without the substantial risk associated with building actual hardware and creating software for control. Moreover, once the correlation component 110 has reported that the simulation 106 represents the actual hardware 108 to a satisfactory level, the risk of pursuing a new idea becomes almost negligible. The company can obtain a reliable prediction of performance, provided by the simulation component 104 and the correlation component 110.
In accordance with another embodiment of the subject disclosure, simulation component 104 contains a code production component 114 that can generate control code 116 directly from a simulation 106. Many commercial software products (that can comprise the simulation component 104 in an embodiment) are capable of generating such code and can do so with minimal user effort. This control code 116 can be used directly to control the target hardware represented by the simulation 106 to perform the tasks for which the application was designed. Generating control code 116 in this manner reduces dramatically the time and manpower required to generate control code for industrial applications. In addition, control code generated for a specific piece of hardware can be stored in the data store 112 for use in future applications if they are sufficiently similar.
Artificial intelligence component 206 can receive a proposed simulation of an application from a user, and can search past simulations for similar applications and/or simulations that are similar to a predetermined degree. Alternatively, the user can describe an industrial application, and the simulation component 202 can create the simulation to represent the application. If a satisfactorily similar simulation exists for a given piece of hardware or hardware configuration, the past simulation can be used in place of generating a new simulation. Furthermore, some hardware is updated by its manufacturer over time, resulting in a new version the hardware (e.g. a motor or a drive) that is substantially similar to previous equipment. The artificial intelligence component 206 can analyze the new hardware specifications and the differences between the previous version and the current version, and infer that the new hardware is substantially similar to a previous version of the same hardware. The user can be presented with this information and can then decide whether to accept the old simulation as it stands, update the simulation to reflect the changes in the hardware configuration, or to start from scratch and create a new simulation for the new hardware. By employing the artificial intelligence techniques described herein, the correlation component 204 can provide a highly detailed, accurate, and efficient correlation between hardware and its representing simulation, which in turn increases the user's ability to alter, rearrange, and modify the industrial application.
In another embodiment, code production component 208 can be used to generate motor control code from the simulation created by the simulation component 202. As described above, in an embodiment the simulation component 202 can comprise a commercial software package that has the ability to generate code that governs actual hardware directly from a simulation representing that hardware. The simulation component 202 and the code generation component 208 can work together to simplify the process of generating code, and reduce the amount of time and manpower required to produce such code.
A further embodiment of the present innovation can be to produce nested, or parent-child simulations. Code generation component 208 can generate code for a plurality of purposes, one of which is to create other simulations. As depicted, code produced by the code production component 208 can be fed back to the simulation component 202. The simulation thus produced can be used in the same manner as other simulations disclosed in the subject innovation. Nested simulations can comprise sub-simulations that form a portion of a larger simulation. Use of nested simulations allows a designer to focus on a specific sector of the industrial application without the computational and other costs of a larger system. Parent-child relationships provide an opportunity to pursue a hierarchical relationship between simulations. A child may not necessarily be used in an application related to the parent, but maintaining the relationship allows a designer to learn from both positive and negative experiences with the parent and apply the lessons to the children, or vice-versa. For example, if a given simulation is found to be a great success because of some characteristic or quality, its children may also exhibit the same desirable traits. Alternatively, if there is a problem associated with a simulation, the same problem can be identified in related (either parent or child) simulations before they cause damage to the industrial process.
Proceeding now to
Simulation component 506 can perform as described elsewhere herein. In accordance with one embodiment, simulation component 506 can receive a specification for an industrial application 508 from the customer 502 via the interface 504. The customer 502 can provide as many details of the desired application as deemed appropriate for a given situation. The specification can include information in a hierarchical form, where each element that contains sub-elements can be specified. Interface 504 can include the ability to receive the customer's 502 description of the industrial application 508 in a variety of formats and convert the information to a format suitable for the simulation component 506. (In one embodiment, simulation component 506 is a commercially available simulation package, which may or may not have a required input format for a simulation). Interface 504 can mitigate potential problems associated with less than optimal compatibility between the customer's 502 input and the simulation component 506.
In one embodiment, the customer may seek to design an industrial application 508 and has acquired several elements, but is still searching for other elements to be employed in connection with the industrial application 508. The customer 502 can specify which elements (if any) of the industrial application 508 are in his possession, and which elements have yet to be acquired and/or implemented. In this embodiment, the customer may seek to know whether a given piece of equipment will fail to meet expectations by overheating, or by mechanical failure, or by any other unsatisfactory results. In another embodiment, the customer 502 has some elements in place but has not yet explored options available to complete the industrial application, and can use the system 500 similar to a catalogue of industrial elements. Unlike conventional catalogues however, this catalogue can be interactive and intelligent and assist the customer 502 much the way a skilled technician would.
Once the industrial application 508 is specified to the customer's satisfaction, simulation component 506 can perform as described elsewhere herein. Correlation component 510 can convey a measure of accuracy (e.g., a correlation) with which the simulation represents the actual hardware, and can predict to the customer 502 results under given simulation situations and circumstances. In this manner, customer 502 can receive information regarding the industrial application 508 if constructed under the given conditions. Customer 502 can submit information describing the working conditions of the industrial application 508, and can include a predicted max-load or worst case scenario situation in order to simulate the most demanding or challenging circumstances in which the equipment can be expected to perform. The results can provide valuable insight into whether the customer 502 should purchase equipment, how to diagnose a problem, in addition, a list of possible solutions can be provided. For example, simulation component 506 can offer a choice of a number of elements (e.g., two or three different actuators made by competing companies) and display their operating information, price, availability, and the like. The customer 502 can then make an informed purchasing decision.
Artificial intelligence component 512 can additionally enhance the purchasing decision by storing past solutions in a data store 514, receiving the customer's 502 specification, and comparing the specification to past arrangements. If there is a past arrangement that is satisfactorily similar to the customer's 502 proposed industrial application 508, these options can be presented to the customer 502. The solution can also be simulated and perhaps modified to suit the customer's 502 needs according to artificial intelligence techniques as described above.
The aforementioned systems, architectures and the like have been described with respect to interaction between several components. It should be appreciated that such systems and components can include those components or sub-components specified therein, some of the specified components or sub-components, and/or additional components. Sub-components could also be implemented as components communicatively coupled to other components rather than included within parent components. Further yet, one or more components and/or sub-components may be combined into a single component to provide aggregate functionality. Communication between systems, components and/or sub-components can be accomplished in accordance with either a push and/or pull model. The components may also interact with one or more other components not specifically described herein for the sake of brevity, but known by those of skill in the art.
Furthermore, as will be appreciated, various portions of the disclosed systems and methods may include or consist of machine learning, or knowledge or rule based components, sub-components, processes, means, methodologies, or mechanisms (e.g. support vector machines, neural networks, expert systems, Bayesian belief networks, fuzzy logic, data fusion engines, classifiers . . . ). Such components, inter alia, can automate certain mechanisms or processes performed thereby to make portions of the systems and methods more adaptive as well as efficient and intelligent.
In view of the illustrative systems described supra, methodologies that may be implemented in accordance with the disclosed subject matter will be better appreciated with reference to the flow charts of
At reference numeral 706 the remainder of the elements are identified, and simulations representing these elements are generated or otherwise obtained. Frequently hardware is used in more than a single application, so it is likely that a simulation for a given element or arrangement of elements exists in memory and there is no need to generate a new simulation. In addition, some hardware is substantially similar but not exactly the same as other hardware, in which case the similarities can be analyzed and if they are determined to be of little consequence, a simulation representing a slightly different version of the hardware can be used. The elements identified at reference numerals 704 and 706 can comprise an entire simulation, however, the simulation can comprise a small sub-set of a larger operation.
Reference numeral 708 describes the compilation and running of the simulated elements. The simulation can include a variety of test situations in which the elements are expected to operate, including some challenging situations (such as a dirty environment, high temperature operation, maximum loads, etc.) in order to explore the limits of the elements' capabilities and their resilience to such conditions. These operating conditions can mirror actual operating conditions under which the actual elements have run previously, and the operation of the actual elements under such conditions can be stored. At reference numeral 710, the simulated elements or arrangement of elements can be compared to the actual performance. In one embodiment this comparison can be used to ensure the quality of the simulation, in terms of how well the simulation represents the actual operation of the elements. The correlation between simulation and actual can be reported in varying degrees of correlation. Correlation can be measured in a plurality of ways and each can be useful to a designer depending on the particulars of the application. For example, if heat levels in a given motor are of concern, the thermal behavior of an element and other characteristics that affect thermal variables (such as friction, lubrication, etc) can be more important than other characteristics. Therefore, if the simulation accurately represents the element's ability to manage heat loads and other thermal inputs, the simulation can be said to correlate with the element despite a lesser correlation of other characteristics. Stated in other terms, correlation can be a function of user preferences, device context, and many other variables. For purposes of simplification, at reference numeral 710 the correlation, however defined, is evaluated.
If no satisfactory correlation is reached, at reference numeral 712 the user can be prompted to diagnose the situation. Information regarding the correlative failure and the differences between the actual and simulated elements can be fed back to the user for further modification. The methodology 700 can repeat this process until a correlation is obtained, as shown at reference numeral 714.
At reference numeral 804, a designer can adjust parameters of the simulation and explore various operating conditions. The designer can perturbate certain variables to simulate the difficult and sometimes unexpected environment in which the industrial application is to run. Unexpected events such as an upstream failure, or a loss of electrical power or the like can be simulated at reference numeral 806, and the results of the simulation can be conveyed to the designer 808. In this manner, the designer can put the simulated version of the industrial application through its paces and obtain an idea of how well (or how poorly) the equipment can perform.
At reference numeral 1010, the simulation can be compiled and run; and at reference numeral 1012 the success of the simulation can be measured. Success can depend on many factors, at least some of which can be indicated ahead of time by the customer. In the example given above of the glass bottles, the customer can specify that success means that fewer than a given percentage of the bottles are broken during the process. Any measure can be used evaluate the success of the simulated process. If success is not obtained, at reference numeral 1014 alternative solutions can be sought from the database, and new suggestions can be made at reference numeral 1008, and a new simulation compiled and run. This loop can continue until success is reached, or no viable alternatives exist in the database, at which point the results can be conveyed back to the customer at reference numeral 816.
In order to provide a context for the various aspects of the disclosed subject matter,
With reference to
The system bus 1118 can be any of several types of bus structure(s) including the memory bus or memory controller, a peripheral bus or external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, 8-bit bus, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association bus (PCMCIA), and Small Computer Systems Interface (SCSI).
The system memory 1116 includes volatile memory 1120 and nonvolatile memory 1122. The basic input/output system (BIOS), containing the basic routines to transfer information between elements within the computer 1112, such as during start-up, is stored in nonvolatile memory 1122. By way of illustration, and not limitation, nonvolatile memory 1122 can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory. Volatile memory 1120 includes random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM).
Computer 1112 also includes removable/non-removable, volatile/non-volatile computer storage media.
It is to be appreciated that
A user enters commands or information into the computer 1112 through input device(s) 1136. Input devices 1136 include, but are not limited to, a pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, TV tuner card, digital camera, digital video camera, web camera, and the like. These and other input devices connect to the processing unit 1114 through the system bus 1118 via interface port(s) 1138. Interface port(s) 1138 include, for example, a serial port, a parallel port, a game port, and a universal serial bus (USB). Output device(s) 1140 use some of the same type of ports as input device(s) 1136. Thus, for example, a USB port may be used to provide input to computer 1112 and to output information from computer 1112 to an output device 1140. Output adapter 1142 is provided to illustrate that there are some output devices 1140 like displays (e.g., flat panel and CRT), speakers, and printers, among other output devices 1140 that require special adapters. The output adapters 1142 include, by way of illustration and not limitation, video and sound cards that provide a means of connection between the output device 1140 and the system bus 1118. It should be noted that other devices and/or systems of devices provide both input and output capabilities such as remote computer(s) 1144.
Computer 1112 can operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1144. The remote computer(s) 1144 can be a personal computer, a server, a router, a network PC, a workstation, a microprocessor based appliance, a peer device or other common network node and the like, and typically includes many or all of the elements described relative to computer 1112. For purposes of brevity, only a memory storage device 1146 is illustrated with remote computer(s) 1144. Remote computer(s) 1144 is logically connected to computer 1112 through a network interface 1148 and then physically connected via communication connection 1150. Network interface 1148 encompasses communication networks such as local-area networks (LAN) and wide-area networks (WAN). LAN technologies include Fiber Distributed Data Interface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet/IEEE 802.3, Token Ring/IEEE 802.5 and the like. WAN technologies include, but are not limited to, point-to-point links, circuit-switching networks like Integrated Services Digital Networks (ISDN) and variations thereon, packet switching networks, and Digital Subscriber Lines (DSL).
Communication connection(s) 1150 refers to the hardware/software employed to connect the network interface 1148 to the bus 1118. While communication connection 1150 is shown for illustrative clarity inside computer 1112, it can also be external to computer 1112. The hardware/software necessary for connection to the network interface 1148 includes, for exemplary purposes only, internal and external technologies such as, modems including regular telephone grade modems, cable modems, power modems and DSL modems, ISDN adapters, and Ethernet cards or components.
The system 1200 includes a communication framework 1250 that can be employed to facilitate communications between the client(s) 1210 and the server(s) 1230. The client(s) 1210 are operatively connected to one or more client data store(s) 1260 that can be employed to store information local to the client(s) 1210. Similarly, the server(s) 1230 are operatively connected to one or more server data store(s) 1240 that can be employed to store information local to the servers 1230.
What has been described above includes examples of aspects of the claimed subject matter. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the claimed subject matter, but one of ordinary skill in the art may recognize that many further combinations and permutations of the disclosed subject matter are possible. Accordingly, the disclosed subject matter is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims. Furthermore, to the extent that the terms “includes,” “has” or “having” or variations thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.