text:
A security system for use in connection with cargo containers and other enclosed spaces. The system monitors vibrations associated with a container and detects signals representative events indicating that an unauthorized access has been made to the container. The system may be programmed with a library of event signatures, allowing different types of events to be detected. The system may be provided with a library of signatures representing a heart beating with a beat pattern and the system may be used to detect a human or other animal within the container. Alternatively, the system may be provided with a library of signatures representing piercing the container. The system may be used to monitor containers in transit. Indications of events may be stored while the container is in transit and then communicated at a security check point.
1. A container, comprising:
a) a vibration sensor;
b) a processor, coupled to receive a signal from the vibration sensor and adapted to process the signal to detect a pattern of vibration characteristic of an unauthorized opening of the container,
the processor comprising computer storage media storing a library comprising a plurality of event signatures, each event signature representing a frequency spectrum of an event signal generated by an event as detected at the vibration sensor, the plurality of event signatures including an event signature representing the unauthorized opening; and
the processor being adapted to:
form a plurality of frequency domain representations of the signal, each formed from a portion of the signal;
compare each of the plurality of frequency domain representations of the signal to the plurality of event signatures; and
detect the unauthorized opening of the container based on the result of the comparisons; and
c) an interface, coupled to the processor and adapted to communicate an indication of whether the pattern was detected.
2. The container of
3. The container of
4. The container of
5. The container of
6. The container of
7. The container of
8. The container of
9. The container of
10. A method of operating a security system for a container, comprising the acts:
a) monitoring vibrations of the container to detect a vibration signal having a characteristic representative of an undesired access to the container while the container is en route to a destination, the detecting comprising:
forming a plurality of frequency domain representations of the vibrations, each frequency domain representation formed from a portion of the vibrations;
comparing each of the plurality of frequency domain representations of the signal to a library comprising a plurality of event signatures;
detecting the unauthorized opening of the container based on the result of the comparing;
b) storing an indication when the vibration signal characteristic is detected; and
c) at the destination, retrieving the stored indication and taking a security action in response to the stored indication.
11. The method of
12. The method of
13. The method of
14. The method of
d) transferring the stored indication to a processor outside the container at the security checkpoint.
15. The method of
16. The method of
d) clearing the container when no indication is stored.
17. The method of
18. A method of detecting an event in relation to a container, comprising:
a) providing a library comprising a plurality of event signatures, each event signature representing the frequency spectrum of an event signal generated by an event and passing through the container, the providing accomplished by:
i) generating a plurality of event signals, each representative of an event; and
ii) computing a plurality of estimated signals by applying to each of the plurality of event signals a transfer function characterizing a signal path including the cargo container;
b) obtaining a vibration signal representative of vibrations of the container;
c) forming a plurality of frequency domain representations of the vibration signal, each formed from a portion of the vibration signal;
d) comparing each of the plurality of frequency domain representations of the vibration signal to the plurality of event signatures; and
e) detecting an event based on the result of the comparisons of act d).
19. The method of
20. The method of
iii) generating the plurality of event signatures by performing a frequency domain transform on each of the plurality of estimated signals.
21. A method of detecting an event in relation to a container, comprising:
a) providing a plurality of event signatures, each representing the frequency spectrum of an event signal generated by an event and passing through the container;
b) obtaining a vibration signal representative of vibrations of the container;
c) forming a plurality of frequency domain representations of the vibration signal, each formed from a portion of the vibration signal;
d) comparing each of the plurality of frequency domain representations of the vibration signal to the plurality of event signatures, the comparing comprising:
i) normalizing each of the plurality of frequency domain representations of the vibration signal and,
ii) wherein each of the frequency domain representations comprises a plurality of frequency values and the act d) further comprises mapping each frequency value to one of a plurality of bins; and
e) detecting an event based on the result of the comparisons of act d).
22. The method of
e) obtaining a second vibration signal, correlated in time with the first signal, and
f) performing the acts c) and d) on the second vibration signal,
wherein the act e) comprises detecting an event based on the result of the comparison performed in the act d) on the vibration signal and the comparison performed in the act d) on the second vibration signal.
23. The method of
the plurality of event signatures represent event signals with a periodicity;
the act d) comprises selecting a plurality of portions of the vibration signal that match one of the plurality of event signals, the selected plurality of portions having a periodicity; and
the act e) comprises detecting the event when there is a harmonic relationship between the periodicity of the one of the plurality of event signals and the periodicity of the selected portions.
This application claims priority under 35 U.S.C. � 119(e) to U.S. Provisional Application Ser. No. 60/604,907, entitled "METHOD AND APPARATUS TO DETECT EVENT SIGNATURES," filed on Aug. 27, 2004, which is herein incorporated by reference in its entirety.
This invention relates generally to security systems and more particularly to a system for security systems that detect event signatures.
The possibility of detecting concealed people through their heartbeats has been considered. GeoVox Security, Inc. of Houston, Tex. sells an Avion heartbeat detector for security applications. Such detectors operate on the principle that a beating heart creates mechanical shock pulses as it pumps blood through a body. The shock pulses produce vibrations that propagate through the body and through objects in contact with the body.
The vibrations have a very small amplitude—a fraction of the width of a human hair. Nonetheless, sensors exist that can detect such small vibrations. For example, geophones are used in oil exploration. Geophones are sensitive enough to detect vibrations that emanate from a mechanical device and travel long distances through the earth.
A difficulty in using such small amplitude signals in security applications is that there are many other sources of similar signals with a similar or greater magnitude. For purposes of detecting a signal from a beating heart, these signals are noise. A security system is likely to mistake the noise for a signal representing a beating heart, creating a "false alarm."
A false alarm is undesirable in a security system because of the cost of investigating each alarm. For example, in the case of a system checking cargo containers for stowaway passengers, an alarm generated for a container triggers a physical inspection of that container. Physically inspecting the container ties up security personnel and delays shipping operations. Where the inspection is undertaken in response to a false alarm, these costs are wasted. If a security system has a high false alarm rate, its output may be so unreliable that it is ignored or the cost of investigating false alarms may be so great that the system is not used at all.
Security systems are designed so as not to respond to noise and therefore lower their false alarm rates. However, many methods that a system could use to reject noise reduce the sensitivity of the system to a signal the system needs to detect. Reducing the sensitivity to the signal to be detected is also undesirable because it reduces the chances that the desired signal will be missed, creating a false positive. False positives are particularly undesirable in a security system because a threat might be passed undetected.
Accordingly, it is desirable for a security system to have a low false alarm rate while simultaneously providing a low rate of false positives. It would be highly desirable to provide an improved systems for detecting people and other animals from their heartbeats with a low false alarm rate while simultaneously providing a low rate of false positives.
In one aspect, the invention relates to a container that includes a sensor; a processor, coupled to receive a signal from the sensor and adapted to process the signal to detect a pattern characteristic of an event; and an interface, coupled to the processor and adapted to communicate an indication of whether the pattern was detected.
In another aspect, the invention relates to a method of operating a security system for a container. The method includes monitoring vibrations of the container to detect a vibration signal characteristic representative of an undesired access to the container; storing an indication when the vibration signal characteristic is detected; and taking a security action in response to the stored indication.
In another aspect, the invention relates to a method of detecting an event in relation to a container. The method involves providing a plurality of event signatures, each representing the frequency spectrum of an event signal generated by an event and passing through the container; obtaining a vibration signal representative of vibrations of the container; forming a plurality of frequency domain representations of the vibration signal, each formed from a portion of the vibration signal; comparing each of the plurality of frequency domain representations of the vibration signal to the plurality of event signatures; and detecting an event based on the result of the comparisons of act d).
In a further aspect, the invention relates to a method of detecting a heart beat. The method includes providing a plurality of signatures, each signature being a transformation of a representation of a heart beating; receiving a vibration signal; for each of a plurality of portions of the vibration signal, transforming the portion to form a transformed portion; and comparing each of the plurality of transformed portions to the plurality of signatures to detect whether the vibration signal contains one of the plurality of signatures.
The accompanying drawings are not intended to be drawn to scale. In the drawings, each identical or nearly identical component that is illustrated in various figures is represented by a like numeral. For purposes of clarity, not every component may be labeled in every drawing. In the drawings:
A system that detects signals by comparing detected signals to signatures in a library is described below. The system can be used to form a security system that detects threat signals. In one embodiment, the signatures are derived from representations of a beating heart, with each signature representing a different heart peat pattern. In a preferred embodiment, the library contains signatures representative of the range of heart beat patterns for a human or other animal that is to be detected. In some embodiments, the library signatures are derived by transforming signals representative of heart beat patterns by a transfer function representative of structures between the beating heart and sensors.
In further embodiments, the signals are processed using one or more frequency domain transforms. In one embodiment, the received signal is processed through a frequency domain transform before being compared to signatures in the library. In this embodiment, the signatures in the library are preferably created using the same transform. In another embodiment, the frequency domain transform is performed on the result of the comparison between the received signal and signatures in the library.
The security system may be employed in various applications. It may be used, for example, to detect a person concealed in an enclosed space. In one embodiment, the system forms a part of a cargo screening system. It may be used to detect stowaways in cargo containers, such as are used to load cargo on vehicles, such as planes and ships. Some embodiments employ the system as a prescanner for other operations that may be harmful to people, including a system that verifies containers do not contain any humans or animals before exposing the container to high levels of radiation. In other embodiments, the system is employed as a part of an intrusion detection system to detect people in prohibited areas, such as hallways, elevators or other enclosed spaces.
In other embodiments, the library signatures are characteristic of events other than a beating heart and the system is used to detect such events. In one embodiment, the library contains signatures indicative of a cargo container being pierced by various means. The system is installed in a cargo yard or holding area for cargo containers and detects unauthorized attempts to open a container. In some embodiments, sensors are attached to a plurality of cargo containers.
The system employs multiple sensors 114. Sensors 114 might be geophones, microaccelerometers or other similar sensors designed to detect very small vibrations.
The outputs of the sensors 114 are provided to a computer 120. Here, computer 120 acts as both a data processing station and an operator interface station. Computer 120 receives data from sensors 114 and processes it to detect signals representative of vibrations caused by a beating heart from someone within container 112.
Computer 120 also provides a user interface for the results of this analysis so that a human user 130 may observe the results and take the appropriate action in response. For example, when data analysis indicates a heart beat detected inside container 112, the human operator 130 may search the container, segregate it in a secure area for observation or pass it on for another level of inspection.
Signals received by the sensor, regardless of the specific application in which the system is used, may be processed to detect signatures representative of a beating heart or other event. One example of processing that may be performed on the received signals is given in
While all beating hearts generally follow the pattern shown in
To detect such a wide range of possible signals, a security system may be created that includes a library of signatures characteristic of a beating heart. A received signal is compared to the library to detect signals indicative of a beating heart. A system such as is shown in
Regardless of the specific type of animal or event to be detected, the set of patterns 410 1 . . . 410 N preferably represents the full range of patterns that may be encountered. For example, if a human heart may beat between 40 and 120 beats per minute, patterns in the set should represent a heart beating in this range. For example, beat pattern 410 1 represents a quickly beating heart and beat pattern 410 N represents a slowly beating heart. The other patterns span the range between these extremes.
The number of beat patterns used to create signatures in the library can be varied to reduce the false alarm and false positive rate of the system. However, as more beat patterns are added, the processing requirements of the system increase, such that the number of beat patterns used to create the library cannot be increased arbitrarily. In the described embodiment, on the order of 100 beat patterns are used. More preferably, about 160 beat patterns are used.
In the illustrated embodiment, the amplitude of all of the beat patterns 410 1 . . . 410 N have been normalized. Alternatively, the beat patterns may be normalized in other ways, such as to have the same energy. Also,
The beat patterns 410 1 . . . 410 N might be obtained empirically by collecting multiple examples of the types of signal to be detected. Alternatively, the beat patterns might be generated through computer modeling and simulation. For example, a shock pulse 312 might be modeled and the set of beat patterns generated by repeating this shock pulse at different periods.
In the embodiment pictured in
To convert each beat pattern to a signature, the beat pattern is processed by a transfer function T(t). The transfer function represents the effect of the environment on a shockwave generated by a beating heart. For example, in the system illustrated in
The transfer function T(t) may be obtained by modeling the components of the environment. Known modeling techniques may be used. The transfer function may alternatively be obtained empirically by establishing conditions representative of the conditions under which signals will be detected. For example, an impulse or other signal may be applied and the result measured. Known signal processing techniques can be used to derive the transfer function of a system by measuring the response of the system to a known input. If the container is on a truck with a suspension system, or an elevator suspended on a cable or the signal path includes other mechanically active elements, using a transfer function to compute event signatures may increase the overall accuracy with which events may be detected. In other embodiments, such as when a container is sitting on the ground, stacked on other containers, or the sensors are mounted directly to the container, the transfer function may approximate 1 or may be unknown and processing with a transfer function may be omitted.
Where data is to be gathered empirically, signals in the form of the beat patterns 410 1 . . . 410 N could be used as the stimulus signals. If this scenario can be created, it is not necessary that the transfer function be ascertained. Rather, the measured value in response to each of the beat patterns 410 1 . . . 410 N would represent the output of one of the transfer function blocks, such as 420 1 . . . 420 N, which are the signals required for the next step in processing. However, separately generating the transfer function and representative beat patterns allows new entries to be readily added to the library 460 if it is determined that more beat patterns are need to accurately represent the full range of beat patterns or if it is determined that the library needs to be regenerated with a different transfer function.
In the next step of the processing, the signals are transformed according to a transform F(t). As will be described below, a received signal is transformed before comparison to the signatures in the library. In such an embodiment, it is preferable that the beat patterns be similarly transformed before being stored in library 460. In a described embodiment, F(t) represents a frequency domain transform. A known frequency domain transform may be used. For example, a Discrete Fourier Transform (DFT) may be used. However, other transforms may be used, such as the discrete cosine transform. Alternatively, a wavelet transform may be used.
Further, it is possible that a signal may be subject to multiple transforms before being stored in library 460. The transforms may be applied sequentially or separately. Where transforms are applied separately, library 460 may contain multiple entries for each of the beat patterns 410 1 . . . 410 N, with an entry for each beat pattern transformed with each of the transforms.
The transformed beat patterns are preferably stored in library 460 in advance of use of the security system. Preferably, representative patterns are selected and a library is created as the security system is developed. However, it is possible that the library is built adaptively. As items are inspected, data may be gathered to generate new signatures.
Where the types of objects to be inspected vary so widely that some will have substantially different transfer functions, library entries may be generated using each transfer function. For example, where a system may inspect either large or small containers, a transfer function may be generated for each type of container. Each of the beat patterns 410 1 . . . 410 N would then result in two entries in library 460, one computed with each transfer function.
Once the library 460 is developed, the system may be deployed as used.
As will be described below, signal 510 may be processed in windows.
The digital signal is provided to a chain of delay elements 630 1 . . . 630 M−1. Each delay element provides a delay, D. In this way, the output of each delay element 630 1 . . . 630 M−1 forms the signal in one of the windows W1 . . . WM (
In the embodiment shown in
The transformed windowed signals are denoted I1 . . . IM. Each of the transformed windowed signals is provided to a multiplier array, made up of multipliers 640 1,1 . . . 640 N,M. Each multiplier multiplies one of the transformed window signals I1 . . . IM by one of the signatures S1 . . . SN in the library 460 (
If one of the transformed window signals I1 . . . IM is similar to one of the signatures, S1 . . . SN, the two signals should have similar frequency spectra. Thus, the high points of each will align and when the two signals are multiplied, the product signal will have high values corresponding to those high points. In contrast, when a windowed signal does not correspond to a signature, the frequency spectra of the signals will be different and there will be fewer points where the high points of those signals align. As a result, the product signal will contain fewer high points and, the high points are less likely to be as large.
As described above, the received signal 510 is divided into multiple, overlapping windows. Preferably, the width and amount of overlap of the windows is selected to ensure that, if signal 510 contains a heart beat signal, that signal will be aligned in one of the windows W1 . . . WM in a way that aligns with a signature in library 460. Thus, all of the transformed window signals I1 . . . IM are preferably multiplied by each of the signatures S1 . . . SN. These products S1*I1 . . . SN*IM are all examined to see which, if any, have values indicating that the window signal matches a signature. These signals are passed to detector 660 for this analysis.
The product signals are then frequency domain transformed, as illustrated at 650. In the illustrated embodiment, each product signal is separately transformed. As described above, one or more known frequency domain transforms may be used. In one contemplated embodiment, a DFT and a wavelet transform are both used, with the transforms being provided in parallel such that each product signal results in two transformed signals. The transformed product signals are then analyzed to detect which, if any, contain, heartbeat signals. Detection is performed by detector 660.
The product signal, when transformed to the frequency domain, is a series of frequency values. These values are compared to predetermined criteria to indicate a match between the windowed signal Ij and the signature Si. A match can be taken as an indication that windowed signal Ij contains a heartbeat in the form 450 i, which was used to generate the signature Si.
In the described embodiment, the comparison is made using statistical properties of the frequency domain signal. In the illustrated embodiment, these statistical properties are the average value and the variance.
The average value is computed at 810. In the described embodiment, the average is computed according to the Root Mean Square (RMS) method. The variance of the frequency domain values is also computed at 812. Both the RMS and variance are known statistical properties and may be computed in accordance with any known method.
The computed RMS and variance values are provided to comparator 816. Where multiple frequency domain transforms are used, statistical properties of each transformed signal may be computed separately and provided to comparator 816.
Comparator 816 compares the statistical properties of the measured signals to a range or ranges that are indicative of a match. If the computed value for the signal falls within the range, comparator 816 outputs an indication that there is a match.
The predetermined ranges might be the same for all combinations of S1*I1 . . . SN*IM. Alternatively, each product signal Si*Ij may have different predetermined ranges. Alternatively, each signature in the library may have different predetermined ranges.
The predetermined ranges may be determined empirically or heuristically. If determined empirically, the values may be computed at the time the system is installed or may be adaptively computed as the system is in operation. Various processes for identifying patterns in data are known and may be employed to set the ranges. For example, data may be collected by applying training signals of known properties and observing the outputs. The outputs may be analyzed to identify the ranges that result when an input signal contains a match to one of the signatures.
As another example, the ranges may be set by computing statistical properties on the frequency properties of the signatures in the library. For example, a match may be determined if the RMS and variance values of the product signal Si*Ij are within 15% of the RMS and variance values computed for the signature Si.
Regardless of the specific method used to set the range, if the statistical properties of the signal are within the range, a detection is indicated. The indications of a heartbeat may be combined into a security system in multiple ways, such as by triggering a second level inspection of the container.
The system is not limited to detecting heartbeats. Any type of event that generates a signature susceptible of being represented as a signature in a library may be detected. For example, when containerized cargo is stored in a holding area, there may be concern that someone may break into containers for improper purposes. By adapting the system to detect events indicating unauthorized access to a container, a security system for containerized cargo can be created. Detecting a heartbeat inside a container is one way to identify that unauthorized access has occurred. Hammering, sawing, cutting with a torch or other events that occur as someone tries to break into a container generate vibrations that may be transmitted to a sensor such as 114. By using signals indicative of these events to generate signatures in the library, the system may then detect someone breaking into a cargo container. One possible application of such a system would involve sensors attached to multiple cargo container in a cargo yard. Outputs of the sensors may run to a central monitoring station that includes one or more computers to process the data from the sensors and detect efforts to break into a cargo container.
An event detection system may also be used as part of a security system for cargo containers in other contexts. For example, a cargo container may be equipped with an event detection system for providing security while the cargo container is in transit.
Sensors, such as sensors 930A and 932A, may be mounted to cargo container 910. Sensors 930A and 932A may be geophones or other sensors capable of detecting low level vibrational signals. Such sensors output an electrical signal representative of a received vibrational signal. The electrical signal may then be further processed.
Sensors 930A and 932A are connected to processing system 920A. In an embodiment in which a security system is intended for use in connection with cargo containers in transit, processing system 920A may be a self-contained unit. Processing system 920A may include a CPU or other processor as well as non-volatile memory and a self-contained power supply, such as a battery. A self-contained processing system such as 920A allows a security system to operate while the container is in transit, such as on a plane, a truck or a ship, without ready access to another source of power.
Processing system 920A may include components as illustrated in connection with the processing system of
As container 910 is in transit, processing system 920A may monitor the outputs of sensors 930A and 932A to detect events. Processing system 920A may store an indication that an event was detected. The stored indication of the event may be accessed at a later time for further processing.
To allow the stored indication to be accessed, processing system 920A is connected to an interface 940A. Interface 940A provides a mechanism to retrieve data from processing system 920A. In one application, processing system 920A may monitor the outputs of sensors 930A and 932A while container 910 is in transit. Upon reaching a destination or security checkpoint, security personnel may access information stored in processing system 920A to determine whether an event has occurred while container 910 was in transit.
In the illustrated embodiment, interface 940A is a wireless interface. It may receive an interrogation signal 952 and forward the interrogation signal to processing system 920A. Interrogation signal 952 may be in any desired form recognizable by processing system 920A. In response to an interrogation signal 952, processing system 920A may generate a response indicating whether it has detected an event. The response from processing system 920A may be passed back through interface 940A, which forwards it on as response signal 954.
A device such as device 950 may be operated by a security official to generate an interrogation signal 952, and to process a response signal 954. In this way, information concerning unauthorized access to container 910 may be communicated to a security official.
Interface 940A is shown in an example
Interface 940A may also communicate data and commands between an external device and processing system 920A. For example, commands sent to processing system 920A may cause the system to start monitoring or stop monitoring. Alternatively, a reset command may be provided to processing system 920A through interface 940A. A reset command may, for example, be given when container 910 is sealed for shipment. Events detected prior to the sealing of container 910 may then be ignored. Further, interface 940 may be used to communicate programs or data, such as data representing signatures of events to be added to the library of signatures within processing system 920A.
Any suitable processor and programming method may be used to implement processing system 920A. However, in one embodiment, processing system 920A incorporates a low power processor to allow the processing system to operate on battery power for an extended period of time while container 910 is in transit. In addition, processing system 920A may be constructed to operate predominately in a low power mode. For example, processing system 920A may be equipped with a timer that is used to periodically initiate processing of signals from sensors 930A and 932A. Alternatively, processing system 920A may be equipped with a level-sensitive circuit that triggers processing system 920A to capture signals from sensors 930A and 932A and process them. In such an embodiment, processing system 920A may operate by default in a low-power mode in which only the monitoring system receives power. When the monitoring system detects input from sensors 930A and 932A of a sufficient magnitude for processing, the monitoring system may trigger a power-up of the other portions of processing systems 920A to collect samples of signals from sensors 930A and 932A.
In the embodiment depicted in
In some embodiments, it may be desirable to incorporate multiple processing systems. In the embodiment illustrated in
Turning now to
When the container is ready for shipment, the process proceeds to block 1012. At block 1012 monitoring is enabled. Monitoring may be enabled in any desired way. For example, a command may be sent though an interface to the processing system or, before sealing the container, a switch or other input device within the processing system may be activated to enable monitoring.
Thereafter, the container is shipped as indicated by block 1014. While in transit, monitoring may be performed as indicated by block 1016. At block 1016, the processing system or systems within the container may collect samples of the signals from sensors mounted within the container. If an event is detected based on a match between a received signal and an event signature stored within processing system 920A, an indication of the event may be stored within processing system. The indication may be simply a Boolean value indicating that an event has been detected. Alternatively, additional data may be stored concerning the event. For example, the processing system may store an indication of the specific event signature that was matched to a received signal. Additionally, the processing system may store the time that the event was detected or other information useful in subsequent processing of an indication from a system inside the container. If the processing system is equipped to detect tampering, an indication of an event may also be stored in memory if tampering is detected.
The process continues to block 1018. At block 1018, the container is received at a destination or security checkpoint.
At block 1020, the processing system within the container is interrogated. The interrogation allows the indication from events detected by the processing system to be further analyzed. In the embodiment illustrated in
In some embodiments communication between the processing system internal to the container and an external device may be encrypted or otherwise encoded to promote security. Using encryption may allow an external device to verify that the data sent in response to an interrogation signal was sent by a specific processing system. Additionally, encryption of command signals sent to the processing system may preclude unauthorized parties from resetting the processing to destroy a record of events.
At block 1022, a determination is made whether information obtained by interrogating the processing system indicates that an event occurred while the container was in transit. If no event is indicated, processing may proceed to block 1024 where the container is cleared. Cleared containers may, for example, be allowed entry into a particular port or otherwise allowed to continue to the next phase along their route.
Alternatively, if an event is indicated, an alarm may be raised, indicating that the container has been subjected to suspicious activity. Processing may then proceed to block 1026 where the alarm is resolved. Resolving the alarm may involve further inspection of the container. For example, the container may be physically searched or subjected to inspection using x-rays or other means.
A processing system such as processing system 920A may be programmed to perform any process suitable for detecting events.
The process continues to block 1052. At block 1052, captured data is formed into a plurality of successive and overlapping windowed signals. Each window is preferably large enough to contain a signal representing an event, such as a heartbeat.
At block 1054, each of the windowed signals is transformed. In the embodiment, illustrated, a frequency domain transform is used. One suitable frequency domain transform is a high-resolution Fourier transform. However, other suitable transforms may be used. The transform performed at block 1054 creates, for each windowed signal, a series of frequency coefficients. Each coefficient represents the frequency content of the windowed signal at a specific frequency.
At block 1056, each of the frequency domain representations of the windowed signal is normalized. In this embodiment, a frequency domain representation is normalized by selecting the largest frequency coefficient. The multiplicative inverse of the largest frequency coefficient is computed and each of the frequency coefficients is multiplied by this inverse value. At the end of the normalization step at block 1056, the largest frequency coefficient in each of the transformed windowed signals will be one and all other coefficients will be normalized to a value less than one.
At block 1058, the normalized frequency coefficients are assigned to bins. Normalizing and assigning to bins facilitates comparison of signals. In one embodiment, five bins are used, having values of 0, 0.4, 0.6, 0.8 and 1.0. Any suitable mapping between the normalized coefficient values and bins may be used. In the illustrated embodiment, normalized coefficients having a value above 0.8 are reset to a value of 1.0. Normalized coefficients with a value above 0.6 and equal to or less than 0.8 are reset to a value of 0.8. Similarly, normalized coefficients above 0.4 and equal to or less than 0.6 are reset to a value of 0.6. Normalized coefficients with values above 0.2 and equal to or less than 0.4 are reset to a value of 0.4. Normalized coefficients with a value of 0.2 or less are reset to equal 0.
With the values of the normalized coefficients mapped to one of a small number of bins, processing continues to block 1060. At block 1060, each of the normalized window signals is compared to a signature. For simplicity, comparison to a single signature is described. But, each signal may be compared to more than one signature by repeating the processing in block 1060, 1062, 1064, 1066 and 1068.
At block 1060, the normalized window signals may be compared to a signature in any suitable way, such as the embodiment shown in
In one embodiment, matching signals may be selected by computing the average and standard deviation of these point-by-point multiplications. The average and standard deviation may be compared to a predetermined range or threshold values, that signify a match to the signature.
Block 1064 indicates a processing step that may be employed for periodic event signatures, such as signatures representative of a beating heart. For example, if the signature represents an event that repeats every half second, it may be expected that the signature of that event will appear in windowed signals representing portions of the original signal spaced apart by half-second intervals. Therefore, at block 1064, the periodicity of the signature is compared to the periodicity of the windows at which a match occurs.
If there is a high level of correlation between the periodicity of the signature and the periodicity of matching windows, processing at block 1066 indicates that an event is detected. If an event is detected, processing continues to block 1068. At block 1068, action appropriate for a detected event may be taken. In the embodiment of
Having described embodiments of the invention, one of skill in the art will appreciate that multiple alternative embodiments might be created.
For example, the system for detecting events is shown used in connection with shipping containers for containerized cargo. The system may be applied in other applications, such as to detect events, including heartbeats, in other spaces where vibrational signals can be detected, such as elevators, hallways, restricted areas of buildings. The system also may be used to detect signatures in a space that are unrelated to the detection of a person or animal, but which could signify an event related to breaching the space or other event of interest.
Also, it was described that the system is used as a stand-alone system to detect unauthorized access to a container. Other uses are possible. For example, the system may be used as either a pre-scanner or post-scanner for another security system. For example, the system may be used in connection with an infrared system that may detect unauthorized access to an area by detecting body heat. A system to detect heartbeats as described above may be used to select areas to scan using infrared technology. Alternatively, the system may be used to verify whether a living person is contained with a space indicated by a IR scanner to contain a person. More generally, the data generated by the system may be fused with data from any other source for enhanced processing.
The data that may be fused could come from multiple sensors that measure the same property to increase confidence that an event has been detected when the event is detected by multiple sensors. For example, data from multiple sensors that detect motion of a door may be fused to increase the confidence that a signal represents opening of the door rather than flexing of the door caused by pressure on the door. Alternatively, data may be fused from sensors that measure different properties. Examples of data fusion that are possible include incorporation of a light sensor with a sensor that detects vibrational signatures indicative of a piercing of a container. If a vibrational signature indicative of piercing a container is detected in conjunction with an increase of light in the container, a breach of the container is indicated with a higher level of confidence.
Likewise, examples of the system are provided in which signals generated by vibrational sensors are processed. The processing methods above are not limited to processing data generated by vibrational sensors. In some embodiments, vibrational signals are described to be detected after propagation through an object, such as the wall of a container. In the embodiment of
The same processing approach may be employed in connection with data derived from any source to detect whether those signals contain components indicating that an event has occurred. Other sources of data include other sensors, such as chemical or biological sensors in which specific signatures would be analyzed to detect an event. Data could also be derived from sensors that measure a quality of air or water to provide air or water monitoring.
As an example of another variation,
As another example of a variation, the described embodiments include delay elements to produce window signals. If the system is not implemented to perform real time processing, physical elements introducing delay into a data stream may not be required. The delay may be introduced by storing the entire signals and retrieving the desired portions when needed.
As another example, it is described that the received signal is divided into multiple overlapping windows so that a heartbeat signal in the received signal will appear in one of the windows with the same alignment as the signal used to create a signature in the library. A similar effect may be achieved in other ways. For example, the library could contain multiple signatures for each of the heartbeat patterns 410 1 . . . 410 N, with entries derived by shifting each heart beat pattern by an amount D before forming the signature. Alternatively, the signatures in the library may be time shifted to generate multiple signals before use instead of or in addition to forming overlapping windows for the received signal as shown in
As a further example of possible variations, the orders of various operations might be reversed. For example,
Also, it was described that a windowed signal and a signature are compared by a point to point multiplication. This multiplication might be viewed as a form of convolution. Other forms of convolution might be used. Related functions, such as a correlation function might be used to compare the signals to the signatures.
Further, while the DFT and wavelet transform are described, other transforms might be used.
Moreover, the statistical properties used to ascertain whether a windowed signal matches a signature are illustrative. Other types of averages or other functions that indicate the distribution of values might be used.
As a further example, each window signal was described to be processed independently. Additional information may be obtained by further processing, such as by comparing or combining the results of computations on multiple window signals. For example, if a window, WX is determined to contain a signal matching a heartbeat pattern with a period P, a later window WX+Y should also match that same heartbeat pattern. Here Y can be computed by diving the period of repetition of the heartbeat pattern, P, by the spacing D between windows. The confidence of the detection may be significantly increased if the patterns of windows matching heartbeat patterns are analyzed.
In the described embodiment, the output of each sensor 114 may be independently processed using the above described approach. As another example of post processing that might be employed to improve performance of the system, the outputs of multiple sensors might be compared to ascertain whether a heartbeat was detected in the signal from multiple sensors.
Preferably, the received signal is normalized before processing. The normalization step is not explicitly shown. Preferably, the signal in each window is normalized separately. However, normalization might take place at any convenient place in the processing. For example, amplifier 614 might contain automatic gain control, which would provide a form of normalization.
Further, the described application of the system is illustrative rather than limiting. The system was described in connection with detecting stowaways in containerized cargo. The system might be used in any situation where it is desired to find a concealed person or animal. It might, for example, be used to ensure that no people are concealed in building or other areas. In other instances, the system might be used when it is necessary to ascertain that no people are in an area. For example, the system might be used to ascertain that no students have been inadvertently left on school busses parked in a lot at the end of the day. The system might be used as a pre-preprocessor on an X-ray inspection system to detect contraband items in containers. The system might be used to ascertain that no people are present and it is safe to irradiate a container.
Patent Citations
Non-Patent Citations
Referenced by
Legal Events
Original Image


text:
For the Love of Horses
Created November 15, 2012 by Tanya Secord
LocationRevelstoke, BC
Funding Level$100k - 150k (< 2014)
Community SizeBetween 100 - 1,000
OverviewThe Selkirk Saddle Club (a non-profit organization since 1974) in Revelstoke, BC has been fundraising for several years in order to build a 60' x120' covered riding arena. Due to the astronomical snow load we have in Revelstoke it is an extremely huge undertaking for a smaller club.
Having a covered riding area would help to strengthen our existing programs by enabling our members to ride and exercise their horses year round.
Having a covered riding arena would also allow us to create new programs for children, allowing them to learn responsibility and commitment through the horses. This arena would allow us to develop more diverse recreational opportunities in the community for children and adults alike. Not having an area where the kids can ride year round makes it difficult for those wanting to move into a competition level for any of the many disciplines. In the past when the club had kids competing it was obvious of the disadvantage not being able to train year round.
Also, there are a couple of our members currently taking a course for Therapeutic Riding. Once we receive our certification, having the arena would allow us to set up a therapeutic riding program for disabled children in the community. This is a program that cannot be started without the ability to hold an appointment with the child. With the typically poor weather in Revelstoke it would be near impossible to offer this program on any kind of consistent basis which is what is required to have the fullest benefit to the child. We want to be a benefit to these children and not a detriment and that is what occurs when we have to cancel due to poor weather conditions. A therapeutic riding program would also allow members of the community to participate and volunteer to assist with the children. We have already had a few people approach us and ask if they can volunteer if we get a program up and running.
All in all, this project will be benefiting more than just the members of the community that house their horse at the equestrian grounds.

subset: commoncrawl


text:
|OS X - Apps and Games Discussion of applications and games available for Mac OS X.
|Post Reply
|New Thread
|Thread Tools
Member Since: Feb 13, 2010
Posts: 1
1. FF and Opera cannot remember the last tabs I was opening. Every time they are new blank browsers even though I have checked the remember the tabs in last sessions.
And I have tried uninstalling and installing them already. Any idea?
2. I am using the flicking annoying parallel desktop, with which I have installed windows 7. And then it automatically starts when the mac os starts notwithstanding the never starting option has been unchecked.
Worse still, the setting I saved in MSN Live messanger in the windows 7 couldn´t be memorised. The setting stays the unchanged even though I have changed it many times.
Please advise, it´s become a nightmare for me.
|QUOTE Thanks
Member Since: Jan 30, 2010
Posts: 12
As for your, second problem, I recommend using Virtual Box. It's a free program which you can download it from download.com . I've been using it for quite a while and haven't given me problems yet...only thing is you can't make the window full screen.
|QUOTE Thanks
Member Since: Dec 22, 2006
Location: Texas, where else?
Posts: 26,157
Mac Specs: 15" MBP '06 2.33 C2D 4GB 10.7; 13" MBA '11 1.8 i7 4GB 10.10; 21" iMac '13 2.9 i5 8GB 10.10; 5s & 5c
For Opera to startup per your "Startup" preference settings, you must:
Quit Opera or use the yellow button to close the window.
That startup setting does nothing, if you use the red button to close the window. You'll get the Speed Dial window everytime you re-open it.
2. Go to SystemPreferences - Accounts - Login Items and remove Parallels from the list
I cannot be held responsible for the things that come out of my mouth.
In the Windows world, most everything folks don't understand is called a virus.
|QUOTE Thanks
|Post Reply
|New Thread
|Thread Tools
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
All times are GMT -4. The time now is 06:28 AM.Powered by vBulletin


text:
Baseball is great. It is a form of unification for many years. Everyone on the planet knows who Babe Ruth is, and names like Derek Jeter and Barry Bonds (not for good reasons) are household names throughout the world. Eventually everything dies, but is it baseball's time to pass away?
Last week, I ran a poll using my social media sites Facebook and Twitter to find out what percentage of baseball fans have the unique ability to watch a nine inning game without losing interest. 36% of the people who replied told me that they couldn't watch a game without watching basketball and missing two innings or eating dinner in the middle of the game. That isn't the only reason why I think baseball needs to find a way to mix things up to bring back interest in America's pastime.
As a New Yorker, I know a few odd Red Sox fans around school who are packed into a classroom full of Yankees and Mets fans. Red Sox fans and Yankee fans are having a simple debate that so far has lasted for many, many years. The Yankee fan always replies that the Yankees have more titles when a BoSox fan has the nerve to say the Red Sox are a better team than America's team. A similar argument may apply to fans of the NBA or the NFL. Baseball fans could say that baseball is America's game featuring America's team, but in recent years the NBA and NFL have the edge over Major League Baseball. It was recorded that regular season NFL games had substantially higher television ratings than the MLB's postseason. When the Tampa Bay Rays and Texas Rangers squared off in early October, TBS recorded that 11.1% of Tampa area households tuned in to watch the game, but when the Tampa Bay Buccaneers played the Bengals in the same time slot, 15.1% of Tampa households tuned in. When the Twins played the Yankees in the postseason, 22% of Minnesota households watched, but when Old Man Brett Favre took the field, 45.7% of the households in the Twin Cities watched. This year, the NBA playoff ratings skyrocketed, according to reports. Baseball could say it has been around longer and the greatest it is game of the greatest country on the face of the Earth, but it baseball is no competition to football or basketball. There are a number of reasons why.
The pace! Make it more exciting! My family and I traveled to 24 different ballparks throughout the country. When we started traveling outside of the Tri-State area to watch games, most games were fun and exciting to watch. Now in our sixth or seventh year, my mom, who is a decent baseball fan, gets up bored four to five times per game just to stroll around the ballparks. The pace of baseball games is way too slow. Most diehard fans don't have the attention span to watch three hours straight of strikeouts and two home runs also known as baseball. This is even more true especially with the steroid era over. Baseball needs to find a way to rejuvenate home run hitting without cheating. The only two people who benefit from perfect games and no-hitters are the pitchers who receive $10,000 autograph deals and the record books. Casual fans could care less about the one run game, and even if they go by faster than normal. Strikeouts don't make the casual fan jump up and down like they're on a trampoline. With the "elimination" of performance enhancing drug use, maybe the only way to add home runs to games is to change the distance of home plate to the fence in new ballparks. It seems unrealistic, but in the past, some organizations have changed the distances of their outfield walls. Chicks dig the long ball, right? Well without any home runs, there is nothing for the ladies to love.
End instant replay use! It may sound crazy because of how long people have fought for this to be put in use, but replay slows the game down. For over 100 years, baseball was fine with umpires' eyeballs making the final decision on calls, but with replay on home runs, the game is going at a good pace until a 10-minute potty break for the umpires to decide if the ball cleared the fence. For over a century, calls have been screwed up, and guess what, the game lived on A-OK, until now. President Obama strived for change, but in sports, change isn't all that great.
A Cinderella as a part of a new playoff system! Hopefully adding some new teams to the postseason will spark some interest, but imagine if 16 of the 30 teams made the postseason. If this was applied to last years' standings, the Oakland A's would play the top seed, Tampa Bay Rays, in the first round of the MLB Sweet Sixteen, and who knows, you could see some upsets. With more teams in the playoffs, more fans of different teams get a fair shot at knocking off the billion dollar Yankees in the playoffs and winning a World Series for their miserable fans. I'm glad I'm a Yankee fan and won't have to suffer watching my team lose 100 games (Poor Mariners fans, if there are any left).
8-second rule! No, I'm not expanding the popular rule for food that drops on the floor. I'm suggesting a condition similar to the NBA's shot clock. A pitcher must be in his motion within eight seconds of receiving the baseball from the catcher, unless he is cleaning the ball with a rosin bag or talking to a member of his team. No stalling pitchers!
I want to know what you, the readers, think Major League Baseball could do to improve the game and your interest in watching baseball all-year-round. Comment below, where you could now use your FaceBook account to comment.


text:
What is your unique story? What sets your brand apart from the rest?
And how are you going to make sure people know about it?
At Jive, we work closely with our partners to figure out what sets you apart from your competition so we can create a compelling story, then plan out a measurable way to tell that story to media and your ideal customers. Maybe it's through editorial newspaper and TV stories, maybe it's through Facebook and Twitter (and maybe it's not). Effective communication is not about blasting a whole bunch of messages out through a ton of different mediums and hoping some of them stick, it's about developing a well-thought-out communications plan that is right for your business, then executed in a consistent and measurable way – with constant feedback.
Part art, part science – effective communication is what sets successful brands apart from the rest.
Let us help you be a success story!
From brand and corporate to film and entertainment, the benefits of Jive PR and Publicity include:
- The most economical way to reach mass audiences
- Increased awareness and demand of your company products or services
- A measurable, more controlled image for your company
- A public perception that the company is active and growing
- An effective presence on social media that builds brand champions.
- Connecting your brand ideals to your consumers needs through the use of effective stories.


text:
Fancy a privates viewing? Cambridge City Council's 'pubic art' spelling blunder exposed
Posted: March 29, 2014|
Proposals for central Cambridge's latest artwork are apparently a bit below the belt.
Members of the city council's planning committee are set to consider revised plans for a 169-bedroom hotel on the former Red House site in Station Road but their hair may be set on end by what appears to be a typing error.
The report to councillors from a planning officer said: "The application has been amended to include information about a potential pubic art installation."
Elsewhere the report confirms that what is actually planned is 'public art', likely to be an art installation across the hotel entrance. Approval is recommended.


text:
2G White Screen
There's a problem with the screen on my iPod Nano (2G).
Everything works fine, the sound, the syncing but the screen doesn't. Whenever I click it it gives me a blank white screen and sometimes it has some lines. Occasionally (although it rarely happens) my screen comes up and I can see and scroll around, but as soon as I click sleep its hard to get the images back up.
Here are some images of what I'm talking about.
Can someone please help me out? Thanks!
Reset the iPod:
Turn the Hold switch on, then back to off.
Press and hold the Menu and Select buttons for 10 seconds (until the Apple logo appears).
You may need to repeat the reset several times.
If the reset doesn't help, then put the iPod into forced disk mode.
Put iPod into Disk Mode:
Apple suggests that you ensure your iPod is charged before following the next step. How exactly you check a charge on an iPod screen that is completely white has yet to be revealed. But hey, give it a shot anyway. Plug the iPod into a high-powered USB port, let it sit for 2 hours, then disconnect it. If you have a wall charger, plug in the iPod, then follow these steps while it is still plugged in.
Turn the Hold switch on, then back to off.
Press and hold the Menu and Select buttons until the Apple logo appears
Immediately switch your figures to press and hold the Select and the Play/Pause buttons until "Disk Mode" appears at the top.
For a lot of people, this solves the problem. Connect the iPod to the computer and (assuming it shows up) reset the iPod again to get it out of Disk Mode. If at this point you still have the white screen, restore the iPod using the restore function in iTunes under the Summary tab (this will erase everything on the iPod and put it at factory settings).
Don't disconnect or eject the iPod until the store is totally done. After you think it's done, wait another five minutes.
I cannot guarantee it'll work, so don't be too hard on me if it doesn't... just trying to help;D
I tried putting it into Disk Mode but it shows lines. So I can't see anything. Anything I can do?
|All times are GMT -4. The time now is 10:26 AM.
Powered by vBulletin
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.


text:
|OS X - Operating System General OS operation information and support
|Post Reply
|New Thread
|Thread Tools
Member Since: Jan 19, 2012
Posts: 4
So I've had my beloved MacBook Pro for approximately 2 years now, and everything was just fine and dandy up until about 2-3 months ago. The first problem that I noticed was that I was unable to wake my Mac from sleep mode. Whether sleep was induced by standing idle or by closing the computer, I was forced to restart the computer by holding the power button (often several times before the thing would even respond) every time it went to sleep. To combat this problem until I could get to the Apple store, I downloaded the wonderful "Caffeine" app to inhibit sleeping altogether.
Anyways, I was able to get to an Apple store about a month after the sleep problems began, and the Genius tested the computer's sleep mode by "stressing the system" (i.e., he ran a whole bunch of programs all at once). Sure enough, the computer went to sleep and didn't wake up without restarting it. He was able to deduce that there was a problem with the magnetic sleep switch, so they replaced it. However, when we stressed the system after the sleep switch was replaced, the same thing happened. Now, this is where the story gets a little fuzzy, because I had a hard time following the Genius when he explained the "real" problem. He explained the sleep process as follows: When the computer sleeps, it must remember all the programs that were running so that it can open them again when it wakes up. When it finishes "remembering," the little sleep light will breathe. The reason that my computer isn't waking up is because I'm interrupting the remembering process. He said that this is an issue for all MacBooks, and I will just have to wait for the light to breathe before waking my Mac and there isn't a darn thing I can do about it
However, I've been unable to wake it up both before AND after the light starts breathing. Also, if this is a problem with Macs of all types and ages, then why did I just start noticing this? It's hard to believe that Apple would let a problem like this persist.
The Genius also recommended that I update my programs, so I downloaded Lion. Ever since the update, my computer has been getting gradually slower. I'm a college student, and it's to the point where I can barely take notes in class because I get that stupid little "waiting" symbol all the time. I have the application MacCleanse, which has helped keep my system running smoothly in the past. I run it weekly, but I still see no improvement.
So, there you have it. My 2-year-old MacBook Pro is unable to wake up the majority of the time and it's slow as molasses. For some background info, I only use my computer for schoolwork (no gaming, video or picture production, music making, etc.). I do usually have several Internet windows open at a time (plus some Microsoft Office applications), but I've been doing that ever since I got my Mac.
Unfortunately, I'm not very computer literate, so I would greatly appreciate if someone could enlighten me on what's going on in laymen terms . Thank you for reading!
|QUOTE Thanks
Member Since: Jan 23, 2008
Location: Fort Worth, Texas
Posts: 44,748
Mac Specs: 27" iMac i5, 3.2 GHz, iPad 3, iPhone 5c, 3 iPods, Yosemite
Here are some suggestions: Download the free maintenance and cleaning utility "OnyX". Forget about MacCleanser, it's not effective and can actually do damage to your system. Read the instructions for OnyX and set it to run in automatic mode.
Next suggestion: Try resetting the System Management Controller as that controls power settings including sleep and wake.
As I stated above, memory and hard drive space are important. A full or nearly full hard drive will slow everything down. And... don't forget to make backups.
|QUOTE Thanks
Member Since: Jan 19, 2012
Posts: 4
Also, thanks for the suggestion about MacCleanse and resetting the System Management Controller. These seems like great recommendations, and I will follow through on them immediately. Thanks again for your help!
|QUOTE Thanks
Member Since: Jan 23, 2008
Location: Fort Worth, Texas
Posts: 44,748
Mac Specs: 27" iMac i5, 3.2 GHz, iPad 3, iPhone 5c, 3 iPods, Yosemite
Every MacBook and MacBook Pro leaves the factory with the memory slots populated. No empty slots. (different story for iMac) Given that your MacBook Pro shows 2 GB of memory, I would suspect that each slot (there are only two) is populated with a 2 GB module. Your MacBook Pro came with 4 GB installed. That tells me you either have a dead slot or one of the modules is not functioning. Hence the slow speeds.
I just double checked with MacTracker and that's correct. You might want to open your MacBook Pro and physically check to see what memory is installed. You don't have to pull it, just give it a visual. Let us know and we can go from there.
|QUOTE Thanks
Member Since: Jan 19, 2012
Posts: 4
chscag, I think you just diagnosed my slow processing and had me inadvertently fix it... You, sir or ma'am, are my hero. Also, I downloaded OnyX like you suggested. I love it. Even I can tell that it's a ton better than MacCleanser (and, it's free!). I'll keep monitoring the memory space to make sure both of the memory slots remain functional. Thank you SO much for your help!
|QUOTE Thanks
|Post Reply
|New Thread
|Thread Tools
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
Thread Starter
Last Post
|High CPU Usage
|OS X - Operating System
|I have a question about macbook pro..:)
|Apple Notebooks
|MacBook & MacBook Pro updates soon - release dates analyzed
|Apple Rumors and Reports
|Looking to buy a MacBook Pro... Question
|Switcher Hangout
|MacBook impressions - trip to store
|Schweb's Lounge
All times are GMT -4. The time now is 01:16 PM.Powered by vBulletin


text:
|Frequently Asked Questions
How long does it take to complete court diversion?
What is the phone number for the Vermont Superior Court Windsor Unit?
Who should I make my payment check out to?
What will happen if I don't participate in court diversion?
Who is eligible for court diversion?
What are the GAIN-Q and YASI screening tools?
Who makes up your hearing panels?
Is Valley Court Diversion Program a state program or nonprofit organization?
What is your success rate?
Can I leave the state if I'm involved in the diversion process?
Can I join the armed service if I complete diversion successfully?
What do I do if I can't afford my fee?
Should I get a lawyer?
Will my parents find out?
How is court diversion funded?


text:
Is everyone else emotionally and physically exhausted from the Easter/Passover-torrential hailing downpour-April Fool's Day (who can you trust on the Internet?) mess of the last few days? I certainly am, and I only participated in a few of those spiritual debacles.
No mind, I'm ready to strap on my wellies and/or sunglasses and embark on a week of Esben and the Witch, Mac DeMarco, Babysitter, Glam.I.Rock, Portland Cello Project, Future Twin, and Polkacide with Fuxedos.
Here are your must-see Bay Area concerts this week/end:
Mac DeMarco
"Mac DeMarco has written seven albums and EPs on a guitar that he bought for 30 Canadian dollars. He uses effects pedals that he claims no serious musician would be caught dead with. He's self released four albums and coined a new genre — "jizz jazz." Listening to DeMarco's jangling, blissed-out pop tends to be a pleasant, laid-back experience, more reminiscent of surf pop than jazz. His calming baritone, soft and velvety, sounds like a less depressed Ian Curtis. Compared to his summery sound, DeMarco's live shows, full of lewd humor, nudity, and scaling stage equipment with wild abandon, provide a sharp contrast. If you are easily shocked or offended, this may not be the show for you." -- Haley Zaremba
With Trails and Ways, Cocktails, Calvin Love
Wed/3, 8pm, $12
Rickshaw Stop
155 Fell, SF
(415) 861-2011
Portland Cello Project
The Portland, Oreg.-based indie orchestra, which is seven-deep on the cello, by the way, will play selections from the Beck song reader featuring Laura Gibson, along with some Brubeck and Bach, for good measure.
Wed/3, 8pm, $25
Yoshi's SF
1330 Fillmore, SF
Esben and the Witch
With swelling crescendos, emotional lyrics, gothy undertones, and shimmering vocals in tow, UK post-rock trio Esben and the Witch comes across the pond for the first time in two years, on tour with newest record, Wash The Sins Not Only The Face (Matador). Should be a witchy one.
With Heliotropes.
Thu/4, 9pm, $13
Brick and Mortar Music Hall
1710 Mission, SF.
Victoria, BC "grunge-and-roll" / "long-hair scuzz rocker" trio Babysitter has made its way through the tapes-splits-and-EPs scene since forming in 2010. Now signed to Montreal tastemaker label, Psychic Handshake Record, the band released its first proper full-length, Eye, in late '12. This current tour takes the thrashy punks through house shows and taquerias, as it should.
With Easy Living, Hazels Wart
Thu/4, 7pm, $5
Casa Sanchez
2778 24th, SF
Facebook: Babysitter
Lyrically gifted young Oakland rapper Glam.I.Rock — the first half an acronym for "Good Lyrics And Music" — will perform a free in-store during Art Murmur this Friday. If you want to be in on an artist at the tipping point, this would be your chance. The MC has that classic '90s female-empowerment hip-hop vibe but with some different interests (check the "Who is Glam.I.Rock?" video of her tapping out the Rugrats theme), and a more modern style. Though like her predecessors, she still very much reps her home-base, performing "Inspire Oakland" at the city's Digital's Inspiration Awards last December. Makes sense, she's the daughter of Nic Nac — the only female member of the Mobb crew — and and Dangerous Dame, a member of Too $hort's Dangerous Crew. Glam.I.Rock's debut EP, The Feel, recently dropped on Savvie1ent/The Olive Street Agency.
Fri/5, 8pm, free.
1444 Broadway, Oakl.
(510) 251-9500
Rock/See: A Concert for the Roxie Theater
In the grand tradition of Live Aid, Farm Aid, and Kidney Now! (that last one might have been fictional), musicians in SF are stepping up to help something they care about: the Mission's beloved Roxie Theater. The event is to support the Roxie's campaign to renovate and upgrade its smaller theater, the Little Roxie. As the theater explains , "While many nonprofit arts organizations are joining forces with corporate entities...[we're] partnering with members of San Francisco's indie music community." The Rock/See benefit boasts live performances by favored Bay Area lo-fi/garage rockers Thee Oh Sees, Sonny and the Sunsets, Future Twin, and Assateague. Being that this is for a movie hub, local filmmakers and artists are also getting in on the support: the event includes projections by Barry Jenkins, Jim Granato, and more.
Fri/5, 8:30pm, $25
Verdi Club
2424 Mariposa, SF
Polkacide and Fuxedos
"Sometimes, sweet serendipity steps up to create a lineup so stunningly perfect you can't believe it's true. That pretty much sums up the upcoming Polkacide and Fuxedos co-headlining gig, with the imitable Borts Minorts along for the ride as opening act. Individually, each band is well-worth the price of admission alone. You've got your punk rock polka, your post-punk, big band, nihilistic freakout (plus props) — and your avant-garde alien lifeform wields his dangerous dance moves and a bass made from a ski." -- Nicole Gluckstern
Sat/6, 9:30pm, $12
Bottom of the Hill
1233 17th St, SF
(415) 861-1615
Also from this author
Who is Charlie Megira? A Berlin rebel with a Bay Area connection
One of our favorite independent music venues celebrates 10 years of rockin' -- with a week of great shows
Let 2013 all hang out at these musical blasts


text:
As announced on Thursday's episode of iMPACT! Wrestling, 35-year-old journeyman wrestler Christian York will compete on "Gut Check" on next week's show.
York competed on the promotion's inaugural pay-per-view event in 2002, teaming with Joey Mathews against Bo Dupp and Stan Dupp, but was unable to secure a full-time position with the organization, nor WWE. Now after 16 years in wrestling, he feels this is his last chance to make it in the big time.


text:
A system for remote assembly of messages to create a control message includes a shared coordination space for assembly of messages, and a plurality of components for performing predefined actions and for exchanging messages according to a predetermined ontology. The plurality of components includes a first component for directing other ones of the components to publish information on the coordination space and in response gather several distinct pieces of the information and assemble the distinct pieces as a message by which to control the actions of the component. According to a preferred embodiment, the shared coordination space is a tuple space, one of the components is a call control application for controlling a communication switch, and at least one other component is a directory application containing location information.
1. A system for remote assembly of messages to create a control message, comprising:
a shared data storage for assembly of said messages; and
a plurality of components for performing predefined actions and for exchanging said messages according to a predefined ontology, said plurality of components including a first component for directing other ones of said components to publish information on said shared data storage and in response gather several distinct pieces of said information and assemble said distinct pieces as said control message by which to control the actions of said first component.
2. The system of
3. The system of
4. The system of
5. The system of
6. The system of
7. The system of
8. The system of
9. The system of
10. A method of synchronizing a call control request to a communication switch with location data from a directory application using a tuple space, comprising:
user initiation of a request for use of a location-based feature from a call control application;
receiving caller identification at said call control application and in response sending said request for use of a location-based feature and caller identification to said communication switch;
registering said request for use of a location-based feature at said communication switch by publishing an anti-tuple to said tuple space that includes said caller identification;
user selection of said location data from said directory application;
publishing a tuple to said tuple space that includes said location data from said directory application and said caller identification; and
matching said tuple with said anti-tuple within said tuple space; and
assembling a control message based on said caller identification and said location data, causing said communication switch to execute the location-based feature requested by the user.
11. A method of synchronizing a call control request to a communication switch with location data from a directory application using a tuple space, comprising:
user initiation of a request for use of a location-based feature from a call control application;
registering said request for use of a location-based feature by publishing an anti-tuple to said tuple space;
user selection of said location data from said directory application;
publishing a tuple to said tuple space that includes said location data from said directory application; and
matching said tuple with said anti-tuple within said tuple space; and assembling a control message based on said request and said location data, causing said communication switch to execute the location-based feature requested by the user.
This application claims priority to U.K. Patent Application No. 0110713.5, filed May 2, 2001 (now abandoned), which is hereby incorporated by reference.
The present invention relates in general to the problem of component coordination in distributed systems, and more particularly to a system for remote assembly of messages for maintaining low latency collaboration among components while conserving bandwidth, particularly in wireless systems.
Distributed network based systems are now commonly for the provision and creation of useful applications. Components (agent, objects . . . ) are distributed on a network and cooperate together to provide desired services. Several techniques have been proposed to provide for the interaction of these components. These techniques are characterized by unique advantages and disadvantages. This disclosure describes a new system which improves on such prior art techniques. The existing techniques are:
In remote procedure calls or remote method invocation, the components are aware of the detailed operation of each other and can invoke specific behavior in each other. This has the severe disadvantage of requiring that any change in any component be checked for its implications on the expectation of any component that uses its services.
Remote message passing tries to avoid this problem by removing the need for close coupling between the components. With remote method invocations, a change in the detailed operation of one object would require the examination of the operation of all objects which invoke methods on it to ensure that the expectations of these objects have not been violated. This problem may be overcome by confining all interactions to the grammar and semantics of a defined set of messages. Agents or objects can be changed or new objects or agents added as long as they follow the grammar and semantics of the messages. This allows for more openness and evolvability in systems operation.
However the message passing system suffers from the disadvantage of consuming excessive bandwidth in the passing of messages between agents or objects. This can be especially true in the case of wireless applications in which the radio bandwidth is limited and the data rate is low, resulting in high cost to transfer messages and high delay for the applications depending upon them. This has led to the development of the remote execution model of mobile code or mobile agents in which a program, instead of a set of messages, is passed. The program runs at the remote location to fulfill the invoking component's request. This has the advantage in some cases of conserving scarce bandwidth and improving the latency of the applications.
However the remote execution model suffers from serious problems relating to security. Extensive measures must be taken to protect such a system against malicious users who may send damaging objects or agents to it. The measures taken to deal with security concerns in such systems weigh heavily against any benefit from conserved bandwidth. Remote message passing systems are not as severely affected by these security concerns since they do not run independently on the system but are interpreted, which removes the most severe security concerns that affect mobile code.
Voice communications is one area of considerable research and development in the application of distributed systems.
Many call control features provided by communication systems require location information. For example, the initiation of a phone call, the transfer of a call, and the inclusion of a person into a conference call all require user location information. In some cases, it is possible that useful location information is stored in different directory services. According to the prior art, it is impossible for a user to elect to use different directory services during a call session unless the directory services all conform to a standard API and the application allows a selection of different directory applications. Also, since the directory applications have access to all of the user's private directory information through a set of APIs the user is relegated to trusting that the application is only accessing location data and not accessing some other private data.
Thus, it is desirable that directory services be provided whereby location information may be obtained from any directory application within the system with only minimal changes to the directory application while respecting each user's data privacy. It is also desirable to provide a user with the option of invoking a request to communicate from a directory application rather than initiating the request from the call control application. This can be problematic when a user wishes to leverage a corporate directory service using a wireless device and the simplest interface to that information is via a WEB browser. In this circumstance it is impossible to rely on a single application that leverages a set of APIs to such a corporate directory. Thus, there is a need in the industry to provide a system that is capable of leveraging assertion-based call control in order to minimize the coupling between the communication assertion components and the directory application.
This need is made more pronounced by the increasing prevalence of wireless communication devices. In an open environment, services are created for users by the combining of information from multiple sources. In the example above, a user's call request is combined with location information from an external directory to create a message to command an external switch (i.e. PBX). This standard technique is difficult to implement in a wireless environment because of the low bandwidth, error-prone connection provided by wireless devices and the difficulty in providing large amounts of computing power on such devices due to power and size constraints.
According to the present invention, a method and system are provided for addressing the above-discussed need while overcoming the limitations of the prior art. Generally, the invention provides for assembly of information to create a control message that is implemented outside of the wireless device, thereby avoiding device and connection constraints. The technique of the present invention provides this functionality by allowing a 'remote assembly' of messages in a way that allows the originator to retain control over services that are assembled in creating the full service.
Generally, the system of the present invention allows a component to create an action by sending multiple messages to other components. Rather than replying to the originator over a low capacity and error prone wireless link, these other components place their responses in a common coordination space. According to the preferred embodiment, the coordination space is implemented as a tuple space and the message response is implemented as a tuple space publication action. One or more of the components subscribe to collections of these responses and regard a collection as a message and in response implicitly assemble it.
One example of such an action is the sending of a message indicating that a user wishes to call a specific person who is mobile. This requires that the originator determine where the mobile person is located, by consulting a location service. It is common that the user would also require authorization to contact the mobile person in a specific way (i.e. long distance charges etc.) Thus, the user may be required to contact an authorization service for an authorization token. In a conventional system, the originator assembles a message and forwards it to a service provider. However gathering the necessary information requires several messaging steps using the wireless link. The use of a coordination space as taught by the present invention allows the location and authorization services to place information in the coordination space and for the communication switch that executes the message to obtain the message from the space by a method of implicit assembly. More particularly, the originator sends messages to the communication switch to alert it that the process is about to begin, and to the location and authorization services to require them to post information to the coordination space. The communication switch gathers this information and puts it together with the message information that it receives from the originator to implicitly generate the message.
The 'remote assembly' model according to the present invention enjoys the benefits of both the remote messaging and remote execution models without the disadvantages set forth above. The system of the present invention conserves bandwidth in the same way as the remote execution model but also maintains the security advantages of the remote messaging model. Remote assembly according to the present invention maintains the benefits of loose coupling which are provided by remote messaging and remote execution over the remote method invocation and remote procedure call models.
As discussed above, in the remote assembly model messages are not required to be created at an isolated component (e.g. accessible only over a low speed wireless link). Instead a group of components cooperate together to assemble a message in the coordination space, thereby obviating the need to create messages in an isolated location and send them over a low speed link.
This is especially important in applications where a message has to be assembled from information that is available only from directories in the network. Queries are sent to more than one directory and potentially large objects are retrieved from them. These objects are processed and assembled into a message and sent over the low speed link. According to the prior art, many traversals of the low speed link would be required to do retrieve such potentially large objects. The remote assembly method of the present invention is designed to eliminate the need for these wasteful traversals.
A description of a preferred embodiment of the present invention is provided herein below with reference to the accompanying drawings in which:
Before describing the 'remote assembly model' of the invention in detail, a brief description is provided herein below of several different techniques for the creation of applications among multiple components.
A very common technique is to represent each component as an object and for each of the components to provide an API of method calls by which other components can control it. A well-known difficulty of this technique relates to intimately tying the implementations of multiple components together. A change in one component's implementation needs to be analyzed in order to discover how the change impacts the implementations of other components. This has obvious implications on system stability and evolution.
One solution to this problem is a prior art model of message passing in which an agreement is made on a set of standard messages, which can control an application. This decouples implementations since all commonality is now contained within the agreed messages, which can be an open-ended set.
The message passing model has its own difficulties in connection with the resources required for the exchange of messages. This is particularly important in the case of wireless connections in which the links connecting components have low bandwidth and are prone to error. Indeed, the advantages gained by the message passing model in the design of the application may be lost in practice due to the complicated nature of the solutions needed to overcome the limitation of the wireless link and the cost of the physical resources required to implement these solutions.
A previous attempt to solve this problem led to the prior art 'remote execution' model in which messages are built up as scripts or small programs that can be exchanged between components. These scripts execute locally on one component and use the message link only for results or absolutely vital messages. This model solves the aforementioned messaging problem, but at the expense of the privacy and stability of the system due to opening up components to external scripts and programs. To address these problems, the components must be designed to protect themselves from malicious or badly designed external scripts, and an execution environment must be provided for the components. Both of these conditions imply complex resource allocation and limited system evolution.
The 'remote assembly model' provided by the present invention obtains the benefits of messaging and remote execution without the disadvantages set forth above. The system and method of the present invention incorporates Applicant's proprietary system for synchronized distributed processing using tuple spaces as set forth in UK Patent Application No. 9920051.1, Canadian Patent Application No. 2316549 and U.S. patent application Ser. No. 09/642,340, which is now U.S. Pat. No. 7,096,259, the contents of which are incorporated herein by reference. These prior patent applications describe component coordination of features using a tuple space that ensures that a request in the tuple space solicits a permission first before performing the request. The present invention extends the principles of the prior patent applications to coordination of call control functions and location directory services.
With reference to
The system according to the present invention also allows the user to reverse the interaction steps by first choosing a location from the directory 9 and then requesting the call control feature. The system of the invention operates regardless of the order of the process.
As indicated above, shared storage space 7 is used for the coordination of location-based call control features and directory applications that offer location information to those call control features. This coordination is based on a mechanism in the shared space 7 that allows the call processing application 3 to register for location data and receive any location data asserted by directory application 9. More particularly, messages generated by the applications conform to a common agreement (ontology) or common grammar that allows for exchange via matching of constituent parts within the shared space 7.
As discussed above, one example of this type of shared data coordination system is a tuple space. According to the preferred embodiment of the invention, a tuple space is implemented as the communication mechanism between the call control 3 and directory application 9 (or multiple directory applications).
The tuple space 7 is a shared data storage that uses type-value pairs (tuples) as a representation of information in that shared storage. Type value pairs are defined in the following manner: (:type1 value1 :type2 value2 . . . ). A type can be any alphanumeric name while a value can be a string, number, or another tuple. When the value is another tuple it is prefixed by the special name Tuple as is the following example (:first Tuple (:item1 telephone)).
Assertion-based call control using tuple space 7 requires that the tuple support certain operands. The fundamental operands required for the present invention to function are out, and in operands. The out and in operands can be used to respectively retract a tuple from and assert a tuple to the shared space 7.
Requests from call control 3 are synchronized with location data by defining a particular type that corresponds to location data (e.g. loc-data). Similarly, the data type is defined as a string. In particular, the Uniform Resource Identifier (URI) format is adopted for flexibility and to support different communication protocols being developed for IP telephony. Also since the communication switch 5 generally handles several hundred sessions an identifier is added to the tuples in order to associate the location data to a particular request from call control 3. In order to keep applications independent of each other, a user identifier is adopted rather than a session identifier created by the invocation of the call feature. It is therefore necessary for the user 1 to register with the call control application 3 before requesting a location-based feature and selecting location information from the directory service 9. It is not relevant to the invention how the applications obtain the user identification. Users may use identification cards or be logged into a computer using a particular user name. Alternatively, the information may be stored as a cookie when a WEB interface is used. In the situation where both the call control 3 and directory application 9 reside on the same device a device identifier can be used to replace the user identifier.
The foregoing interaction among the components in
The intuitive nature of Use Case Maps (UCMs) permits simple following of the paths defined in the diagrams to trace all possible scenarios. In order to facilitate the understanding of the UCM, the following legend defines the symbols used by the UCM notation of
A first alternative embodiment of the present invention involves movement of the responsibility for communicating with the tuple space 7 from the communication switch 5 to the call control application 3. The preferred embodiment of
The following set of steps refers to
In summary, a method is provided for facilitating the development of location-based applications that leverage call control 3 without needing to know all of the feature access codes for the different location-based call control features available on the switch 5. This approach also allows one directory application to service a multitude of location-based call control features and conversely several directory applications can be used for a single call control entity 3.
It will be appreciated that, although embodiments of the invention have been described and illustrated in detail, various changes and modifications may be made. This invention can be applied to other communication features that require additional data other than location data. In other words the tuples can be expanded to manage more information than location data. This information includes, for example, user authentication data or account information to complete a transaction. For these types of data, privacy and security are more relevant than for location information and require that the users have greater control over the type of information they are releasing to an application. Other forms of data may include resource identifiers that a particular communications feature can leverage. For example, the volume of a handset may be controlled using several different applications that can place their data type and data into a common tuple space. This would allow for user preferences to be received from applications other than the conventional phone set user interface.
All of the forgoing changes and modifications may be made without departing from the sphere and scope of the invention as defined by the claims appended herein.
Patent Citations
Referenced by
Legal Events
Original Image


text:
Treece: New president. New problems?Written by Dock David Treece | | email@example.com
If anyone has been left wondering at this point whether the economy is getting better, it's time to lay that issue to rest. Make no mistake: the US economy has made a substantial recovery and is continuing to improve further.
During the course of our business we spend a lot of time gathering data on the economy, which includes anecdotal evidence from business owners and executives. At this point literally everyone we talk to is busy, especially those with industrial and manufacturing companies.
At present this country is on pace to see more than 14 million cars produced and sold in 2012. All that production means steel is in high demand. Homes are being built; just the other day Toll Brothers announced a 46 percent increase in profits last quarter. Tool and die companies are so busy they don't know what to do.
In fact, a lot of business owners we talk to say that they've been quoting business like mad. They tell us that if they get all the business they're quoting, they'll have to turn half of it down.
Of course, none of this helps anyone looking for a job since no one is hiring, save for skilled labor. The reasons why have been studied ad nauseam, but suffice it to say that business owners simply don't know how much a new employee is going to cost them. Between payroll taxes and now the "Affordable" Care Act (irony in the truest sense of the word), every new hire is a massive potential liability for employers.
To some extent this is understandable; the job market is always the last thing to benefit during an economic recovery. This time has been particularly slow; and we have every incumbent — not just Obama — to thank for that.
Nevertheless, a lot of people are gearing up for November. There's a lot of energy and rhetoric around this election; many see this Presidential race as a fundamental turning point in American history – and they're right in some respects.
Will Americans re-elect President Obama and continue following him down his path toward communism? And rest assured — that's exactly where he wants to head. Or will he be replaced by a pure-blooded capitalist, now with an enthusiastic fiscal hawk in his corner?
It's true — this election does have the potential to solve a lot of problems in America. But it isn't going to fix the economy. Even if Romney and Ryan beat Obama, Americans are not going to wake up one morning in January and find everything fixed.
Anyone old enough to remember Reagan (I am not, but I do study history) will recall that when he was elected there were a lot of a big changes in the economy — but they took several years. Plus, we ended up trading one set of problems for another.
"Like what?" tea partiers will ask. Like a 15 percent prime rate that effectively dried up lending markets and lead to a recession in the later part of his second term.
Let's be frank: If Obama wins in November, come January we will have economic problems. If Romney wins, we'll still have problems — they may be different problems, but problems nonetheless.
Like anyone else, we have our own political leanings. However, it's important to separate those feelings from the investment world and remain objective. This election cycle will surely make that process exceedingly difficult, but all the more important.
Dock David Treece is a partner with Treece Investment Advisory Corp (www.TreeceInvestments.com) and is licensed with FINRA through Treece Financial Services Corp. He provides expert content to numerous media outlets. The above information is the express opinion of Dock David Treece and should not be construed as investment advice or used without outside verification.
Tags: Barack Obama, Dock David Treece, economic recovery, Mitt Romney