The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
With reference now to
In the depicted example, data processing system 100 employs a hub architecture including north bridge and memory controller hub (NB/MCH) 102 and south bridge and input/output (I/O) controller hub (SB/ICH) 104. Processing unit 106, main memory 108, and graphics processor 110 are connected to NB/MCH 102. Graphics processor 110 may be connected to NB/MCH 102 through an accelerated graphics port (AGP).
In the depicted example, local area network (LAN) adapter 112 connects to SB/ICH 104. Audio adapter 116, keyboard and mouse adapter 120, modem 122, read only memory (ROM) 124, hard disk drive (HDD) 126, CD-ROM drive 130, universal serial bus (USB) ports and other communication ports 132, and PCI/PCIe devices 134 connect to SB/ICH 104 through bus 138 and bus 140. PCI/PCIe devices may include, for example, Ethernet adapters, add-in cards, and PC cards for notebook computers. PCI uses a card bus controller, while PCIe does not. ROM 124 may be, for example, a flash binary input/output system (BIOS).
HDD 126 and CD-ROM drive 130 connect to SB/ICH 104 through bus 140. HDD 126 and CD-ROM drive 130 may use, for example, an integrated drive electronics (IDE) or serial advanced technology attachment (SATA) interface. Super I/O (SIO) device 136 may be connected to SB/ICH 104.
An operating system runs on processing unit 106 and coordinates and provides control of various components within data processing system 100 in
As a server, data processing system 100 may be, for example, an IBMO eServer™ pSeries® computer system, running the Advanced Interactive Executive (AIX®) operating system or the LINUXO operating system (eServer, pSeries and AIX are trademarks of International Business Machines Corporation in the United States, other countries, or both while LINUX is a trademark of Linus Torvalds in the United States, other countries, or both). Data processing system 100 may be a symmetric multiprocessor (SMP) system including a plurality of processors in processing unit 106. Alternatively, a single processor system may be employed.
Instructions for the operating system, the object-oriented programming system, and applications or programs are located on storage devices, such as HDD 126, and may be loaded into main memory 108 for execution by processing unit 106. The processes for the illustrative embodiments are performed by processing unit 106 using computer usable program code, which may be located in a memory such as, for example, main memory 108, ROM 124, or in one or more peripheral devices 126 and 130.
Those of ordinary skill in the art will appreciate that the hardware in
In some illustrative examples, data processing system 100 may be a personal digital assistant (PDA), which is configured with flash memory to provide non-volatile memory for storing operating system files and/or user-generated data.
A bus system may be comprised of one or more buses, such as bus 138 or bus 140. Of course, the bus system may be implemented using any type of communication fabric or architecture that provides for a transfer of data between different components or devices attached to the fabric or architecture. A communication unit may include one or more devices used to transmit and receive data, such as modem 122 or network adapter 112. A memory may be, for example, main memory 108, ROM 124, or a cache such as found in NB/MCH 102. The depicted examples in
The illustrative embodiments provide a computer implemented method, data processing system, and computer program product for an automated notification system. The automated notification system enables a set of actions to be initiated by notifying a component that a moving component is approaching. A component may take many forms. For instance, a component may be a physical device, such as a baton or clothing (e.g., running shoes) in the case of a relay race, or an assembly part or assembly operator mechanism in the case of an assembly line. A component may also take the form of an entirely hardware embodiment, such as an ASIC chip, or an entirely software embodiment, such as firmware, resident software, or microcode, or an embodiment containing both hardware and software elements.
An approach of a moving component may include the moving component moving within a designated distance of an arrival point. With the automated notification system, when a moving component moves within a designated distance of an arrival point, a notification of the moving component's approach is provided to a receiving component, without requiring the receiving component visually confirm the approach of the approaching component or that a verbal announcement of the approach be made to the receiving component. Upon receiving the notification, action may be taken based on the information received.
The illustrative embodiments also allow for using the automated notification to provide instructions to the receiving component in the data processing system. For example, when a notification of a moving component is received, the receiving component may perform a set of actions or tasks to prepare for the moving component's arrival at an arrival point. Thus, rather than a receiving component having to guess or anticipate when the moving component will arrive at the arrival point, the receiving component is notified of the approach of the moving component, as well as is provided with instructions for performing a set of actions or tasks associated with the moving component. The automated notification enables synchronization between the preparation for a moving component's arrival and performing the designated actions or tasks associated with the moving component, such that the receiving component is ready “at just the right time” for the moving component's arrival. Consequently, a receiving component may prepare for a moving component's arrival and seamlessly perform designated tasks without requiring visual or verbal cues as to the approach of the moving component.
Turning now to
Another example of a transponder chip is a radio frequency identification device (RFID), which uses radio waves to automatically identify people or components. For example, when a component containing an RFID tag transmits a radio signal comprising its unique identifier and other information, an RFID-enabled reader may receive the signal and identify the component. In either case, the signal transmitted by transponder chip 202 may then be used to identify people or components.
Transponder chip 202 transmits a signal comprising the unique identifier of the chip to computer 204. Computer 204 is an example of a data processing system, such as data processing system 100 described in
Automated relay notification system 300 comprises modified transponder chips, receivers, radio frequency transmitters, and specialized software. Transponder chips are frequently used for timing results in large modern road races. Typically, runners wear a small timing chip that is used to identify each runner when the runners cross a threshold, such as the starting or finish line. Electronic mats may be used as starting or finish line thresholds. When a runner crosses an electronic mat, the timing chip is activated by a magnetic field emitted from the mat. The timing chip sends a signal with the runner's unique ID. This signal is captured by receivers on the mat and provided to a computer to record the time(s) of the identified runner.
While current timing chips are passive transponders activated by crossing a magnetic field at select spots on a race course, the transponder chips may each comprise a combination of a passive transponder (i.e., no internal power source) and a battery-powered receiver/pager. For instance, when relay runner 1302 wearing transponder chip 304 crosses a magnetic field set up at some distance approaching a hand-off point, one or more other transponder chips worn by the other relay teammates, such as runner 2306 wearing transponder chip 308, will be paged to notify the team of the arriving runner's approach. By notifying the other runners on the team, the runner of the next leg may position himself accordingly in the hand-off chute. In addition, when runner 2306 begins his leg of the relay, he may cross another magnetic field set up at some distance after the hand-off point. Crossing the other magnetic field signals the notification system to stop the paging.
Consider a particular scenario in which a five-person team is running a marathon relay. Each transponder chip worn by the team members, including transponder chips 304 and 308, has a unique ID or chip code. In this illustrative example, transponder chip 304 may be worn in a typical manner by runner 1302, such as on the runner's shoelace or clothing. Transponder chips 304 and 308 are modified in this example to each include a transmitter (310, 312) receiver (314, 316), and signaling device (318, 320). Transmitters 310 and 312 are used to detect an incoming signal and automatically respond to the signal. For example, when runner 1302 wearing transponder chip 304 approaches a hand-off point with runner 2306, runner 1302 crosses approach-to-hand-off mat 322. Approach-to-hand-off mat 322 may comprise a power source 324, transmitter 326, and a receiver 328. A transmitter within approach-to-hand-off mat 322 generates a magnetic field 324 and causes the coil within transponder 310 to produce an electric current to power the transponder and allow the transponder to transmit signal 329. Signal 329 is comprised of the unique ID or chip code for transponder chip 304.
An antenna, such as receiver 328 on approach-to-hand-off mat 322, captures signal 329 comprising the unique ID of transponder chip 304. This signal is sent to a computing device, such as computer 330. Within computer 330, software application 332 is used to associate a set of transponder chips with respect to signals they send and receive. For instance, the unique IDs of the five transponder chips of the team are associated with each another in software application 332. In addition, software application 332 associates the team's transponder chips with a single Channel Access Protocol (CAP) code, which is a unique identification sequence that is used by the transponders to identify which signals are intended for the team. A different CAP code is associated with the set of transponder chips for each team.
Upon receiving the unique ID/chip code, software application 332 determines which CAP code should be broadcast based on the unique ID in the incoming signal. Software application 332 directs radio transmitter 334 to broadcast the identified CAP code 336 at the frequency to which the receivers, such as receivers 314 and 316, of the team's five transponder chips are tuned. Software application 332 may also update and store the current mode of the group of transponder chips. As the radio transmitter at this point is broadcasting the CAP code to the team's transponders to notify the team members of runner 1's approach, the five transponder chips are now in “notify” mode.
The receivers in the five transponder chips are all programmed to listen for their frequency/CAP code being broadcast by radio transmitter 334. When receiver 316 in transponder chip 308 detects the transmission of it associated CAP code 336, signaling device 320 in transponder chip 308 is used to notify the chip wearer that a teammate is approaching the hand-off point. Signaling device 320 is used to provide at least one of visual, audio, or tactile notifications to the teammates, such as, for example, emitting particular sounds to gain the participant's attention, changing the appearance of the transponder chip (e.g., flashing light emitting diodes (LED) attached to the chip), causing the chip to vibrate, or a combination of any of the above. Signaling device 320 may also be battery-powered to allow for mobility of the chip wearer. Regardless of the manner of notification, the teammate running the next leg of the relay (runner 2306) is now aware that his teammate (runner 1302) will soon be arriving at the hand-off point. As a consequence of the notification, runner 2306 will prepare for the hand-off by positioning himself in or near the hand-off chute.
Notifications from the signaling devices may be terminated in various ways. For instance, while the notifications are continually being provided to the team members, runner 2306 performs the hand-off and starts his leg of the relay, thereby running out of range of radio transmitter 334. As a result, signaling device 320, no longer receiving the signal transmitter from radio transmitter 334, stops the notification. In another embodiment, at some time after the hand-off occurs, runner 2306 passes over post hand-off mat 338 a short distance from the hand-off point. Magnetic field 340 emitted from transmitter 342 on post hand-off mat 338 causes transponder chip 308 to emit its unique ID or chip code 344. An antenna (receiver 346) in the mat captures chip code 344 and sends the chip code to the software application 332. Based on the chip code received, software application 332 determines that transponder chip 308 (and its associated chips for the team) is currently in “notify” mode. Software application 332 then directs radio transmitter 334 to cease transmitting the specific CAP code and, as a result, signaling devices on all chips responding to that CAP code will stop the notification. Software application 332 may then update the current mode for the team's transponder chips.
As described above, the transponder chips and software application may be programmed to support a one-to-many association between an individual chip and the group with which it is associated (i.e., any chip worn by a runner may signal all of the other chips worn by the runner's team members to notify or stop notifying). Alternatively, the transponder chips and software application may be programmed to support a strict one-to-one association of the transponder chips, wherein each chip signals only one other chip in the group. For example, only the chip worn by the second runner is notified of the first runner's approach, only the chip worn by the third runner is notified of the approach of the second runner, etc. In this particular case, the team should be careful that each transponder chip is available at its correct hand-off point.
In this example, computer 406 includes antenna 414, which emits a radio frequency signal. The antenna powers passive RFID tag 412 on part A 410, and the RFID tag responds to the signal by emitting the unique ID of the tag. The unique ID of the tag is sent to software application 404. Based on the unique ID, software application 404 determines whether one or more parts are needed at the next assembly station. If a part, such as part B 416, is needed, software application sends a set of instructions to assembly line operator 408 to prepare for the arrival of the component at the next assembly station by fetching part B 416 to be assembled onto the component. Thus, automated assembly line notification system 400 allows for notifying an assembly operator at a station of the approach of the moving component, as well as directing the assembly operator to gather specific parts needed for assembly of the moving component. In this manner, a more coherent and efficient operation may be obtained by providing automated notification and issuing instructions to be performed in preparation for the moving component's arrival at the arrival point.
Turning back to step 506, if the software application determines that the captured signal was not sent from the last mat, the software application determines if the captured signal was sent from an approach-to-hand-off mat (step 510). This determination may be made by identifying the type of mat from which the software application receives the captured signal (i.e., approach-to-hand-off mat or post hand-off mat) or by checking the current “mode” (e.g., “notify”) of the team's transponder chips. The software application itself may update and store the current mode of the group of chips as each mat is crossed, and use this information to determine the mode when the next mat is crossed.
If the software application determines that the captured signal was not sent from an approach-to-hand-off mat (e.g., sent from a post hand-off mat), the software application determines that the current mode of the team's transponder chips is in “notify” mode and directs the radio transmitter to stop paging the team's transponder chips (step 512). The runner continues running (step 514), and the process loops back to step 504 to execute at each hand-off point in the course.
Turning back to step 510, if the software application determines that the captured signal was sent from an approach-to-hand-off mat, the software application directs the radio transmitter to start paging the team's transponder chips to notify the team that a runner is approaching the hand-off point (step 516). In response to the notification, the next-leg runner gets ready to receive the hand-off by positioning himself in or alongside the chute (step 518). The hand-off then occurs (step 520), and the process loops back to step 502 as the runner receiving the hand-off begins running his leg of the relay race.
The process begins with a first part in an assembly being placed on the assembly line based on the order received (step 602). A transponder such as RFID tag is attached to the part. When the first part of the assembly approaches the next station in the assembly line, the RFID tag receives a radio frequency signal which powers the tag, and the RFID tag responds to the signal by emitting the unique ID of the tag (step 604). The unique ID of the tag is provided to a software application in a computing system, and the software application uses the unique ID to determine which parts, if any, should be added to the assembly at the next station (step 606). Based on this determination, the software application directs the assembly operator or operating mechanism to fetch the needed parts in preparation for the arrival of the assembly (step 608). When the assembly arrives at the next station (step 610), the assembly operator or operating mechanism adds the fetched parts to the assembly (step 612).
Once the parts have been added to the assembly, a determination is made as to whether more parts are to be added to the assembly at the station (step 614). If more parts should be added, the assembly operator or operating mechanism fetches additional parts needed (step 616), and adds each additional part to the assembly (step 618). A determination is then made as to whether the current station is the last station in the assembly line (step 620). If current station is the last station, the process terminates thereafter. If the current station is not the last station in the assembly line, the process returns to step 604.
Turning back to step 614, if no additional parts are needed to be assembled at the station, the process skips to step 620, wherein the determination is made as to whether the current station is the last station in the assembly line. If current station is the last station, the process terminates thereafter. If the current station is not the last station in the assembly line, the process returns to step 604.
The invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any tangible apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid-state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk—read only memory (CD-ROM), compact disk—read/write (CD-R/W), and digital video disc (DVD).
A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers.
Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modems, and Ethernet cards are just a few of the currently available types of network adapters.
The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.