Disclosed is an image measuring apparatus including an image capture unit which captures an image of a measurement subject, an import unit which imports the image of the measurement subject which is captured by the image capture unit, a binarization unit which binarizes the image which is imported by the import unit, a contour detection unit which recognizes graphic information in the image which is binarized by the binarization unit and detects a contour of the graphic information, a corner detection unit which detects corners of the graphic information based on the contour which is detected by the contour detection unit, a setting unit which respectively sets edge detection tools on lines of the contour including the corners detected by the corner detection unit and a measurement unit which measures the graphic information by the edge detection tools which are set by the setting unit.

1. Field of the Invention
The present invention relates to an image measuring apparatus and an image measuring method.
2. Description of Related Art
Conventionally, there is known an image measuring apparatus which captures an image of a measurement location of a work piece by a CCD (Charge Coupled Device) camera or the like and performs edge detection, pattern matching and the like in the captured image (for example, see JP H8-247719).
Edge detection is a technique to determine whether the work piece is the desired work piece or not and the like by obtaining edge information (position coordinate and the like) of a measurement target graphic included in a captured image based on edge detection tools T set by an operator as shown in FIG. 11 and by measuring the position, width, height and the like of the measurement target graphic as shown in FIG. 12, for example.
Moreover, pattern matching is a technique to determine whether the work piece is the desired work piece or not and the like by measuring position aberration, angle aberration and the like, for example, of the work piece by comparing the measurement target graphic included in the captured image to a template image which is registered in advance.
However, the conventional image measuring apparatus is troublesome because the edge detection tool T needs to be set to a plurality of locations manually by an operator to carry out edge detection.
Further, the conventional image measuring apparatus is troublesome to carry out pattern matching because a template image needs to be registered according to the shape of the measurement target graphic. Furthermore, when the direction, size and the like of the measurement target graphic are different from those of the template image, there are inconveniences such that the processing needs more time and that the pattern matching cannot be performed.

Image measuring apparatus and image measuring method


A tetrahedral-shaped pouch can be opened by tearing from a cut in a first lateral sealing edge and along a longitudinal sealing substantially perpendicular to the first lateral sealing edge to conveniently access non-liquid food contents, such as seeds or nuts. A short longitudinal cut can be made into but not all the way through the first lateral sealing edge, adjacent where the longitudinal sealing is positioned on the first lateral sealing edge. When opening the pouch, by initiating a tear starting at the cut, the packaging material will tear along, but not cross the longitudinal sealing, since the longitudinal sealing is formed from an overlapped and doubly thick section of packaging material. The pouch will therefore open, on at least one side of the tetrahedron, along a predictable tear line following the longitudinal sealing, to form a bowl-shaped receptacle from which the contained food product can be conveniently accessed.

Pouches or bags for food products are known. The bags in the food packaging industry have to fulfill various tasks such as to keep the contents fresh and safe. Bags are made from various materials, mostly made from plastic and come in various sizes. On the one hand, products should be nicely designed so that those appear appealing to customers, but on the other hand, the products should be useful and functional. There are various designs and forms for food products. Most common bags are rectangular-shaped and include a front layer and a back layer wherein the front layer and the back layer are interconnected. Some have a wider base; others are identical at the top and bottom.
Pyramid-shaped tea bags are known and widely used. Such triangular pyramid shaped filter bags usually contain leaf teas and infusions. The pyramidal tea bags provide more room and thus enough space for the teas to fully unfold their flavor.
Tetrahedral packages or containers are used to include fluids such as milk or cream. GB865476A discloses a tetrahedron-shaped package of thin flexible material filled with liquid or fluent material. The package has a sealing fin extending along one edge of the tetrahedron, wherein adjacent to one of the corners of the tetrahedron package the sealing fin is provided with a transverse slit or notch extending across the major part of the width of the fin, from and inclined to the edge of the fin, in a direction substantially perpendicular to the axis or median line of an apex of the package corner, whereby to facilitate tearing off of the end portion of the fin and the corner of the package adjacent thereto, and thus to form an open pouring aperture in the corner of the package, of substantially circular shape. The aperture is intentionally small as the package is for liquids.
In GB865475A improvements in and relating to sealed packages are described. Disclosed is a tetrahedron-shaped package with a rip-cord or zip-string that extends inside the package, wherein each end of the cord or string is and embedded in, and sealed off by, a sealing fin of the material forming the package. The cord or string is pre-treated to prevent escape of packaged materials therethrough by a "wicking" action. An additional rip-cord or zip-string is needed within this package.
There is a general need for advancements in this field of technology.


An acoustic damping article includes a substrate, wherein the substrate has a surface area S. The acoustic composition further includes a polymer resin. The polymer resin coats partially the surface area with a set of areas. The ratio of the coated areas over the surface area S is less than 1 and the polymer resin coverage is not greater than about 500 g/m2. Embodiments of the present disclosure include an acoustic damping article including a release liner; and an acoustic damping composition disposed on the release liner. The acoustic damping composition partially coats the release liner, and the acoustic damping composition has a Patterned Interlayer Stiffness of at least about 1 GN/m3.

Noise control has long been an issue in residential and business settings. With increasing urbanization and an increasing cost of real estate, individuals are living and working in closer proximity, increasing the need for noise reduction, particularly in high rise and apartment settings. To combat noise in such urban settings, several cities have implemented noise control building codes. Further, many building owners specify noise tolerance in construction specifications during construction.
However, many traditional methods for controlling noise are either cumbersome to install or ineffective. Particularly in the case of walls, traditional techniques include the use of resilient members disposed between a wall panel and a support. Such resilient members are often difficult to install and are expensive. Other traditional methods include the instillation of thick insulative members which have limited effectiveness and add additional steps to the installation and construction of walls or ceilings. Another method for modal damping factor includes laminating a viscoelastic material, such as QuietGlue® or Green Glue® between two constructions panels, e.g., drywall. However, one disadvantage for these materials is a long drying time the viscoelastic material as well as the cost associated with the amount of material to cover a panel.
As such, an improvement for acoustic damping article would be desirable.
The use of the same reference symbols in different drawings indicates similar or identical items.

Optimized pattern of a damping layer for wall, floor, and ceiling constructions

SAINT-GOBAIN PERFORMANCE PLASTICS CHAINEUX


Isolated cranberry seed oil and components thereof, in a form suitable for use as a foodstuff, dietary supplement, or pharmaceutical composition, are disclosed. The isolated cranberry seed oil or compositions comprising one or a combination of components derived from the cranberry seed oil can be used as anticancer, hypocholesterolemic, antithrombotic, antioxidizing, antiatherogenic, antiinflammatory, and immunoregulatory agents. In addition, the invention features novel methods of extracting cranberry seed oil from cranberry seeds in a form suitable for adding to foodstuffs, dietary supplements, or pharmaceutical compositions.

For millennia, humankind has relied on plant derivatives for the prevention and treatment of a wide variety of aliments. For example, in China, various teas have been used as a crude medicine for over 4,000 years. And more recently, there has been considerable interest in taking advantage of various plant extracts as a source of health promoting substances such as, natural oxidants, flavonoids, and phenolic compounds. In part, this trend is due to a growing body of evidence demonstrating that some of these compounds have beneficial properties that may be advantageous in preventing or delaying, for example, the onset of cardiovascular disease.
Indeed, several studies have suggested that beneficial fatty acid and other plant derived compounds have desirable effects ranging from reducing lipid levels, lowering blood pressure, and regulating inflammatory disease. For example, barley has been shown to be particularly effective in lowering lipid levels in test animals (Quereshi et al., Lipids, 20:817-24 (1985)). And in particular, a tocochromanol isolated from barley extract has been identified as an active compound suitable for treating hypercholesterolemia (Quereshi et al., J. Biol. Chem., 261:10544-50 (1986)). Similarly, other tocochromanols, for example, γ-tocotrienol and d-tocotrienol have also been shown to reduce hypercholesterolemia in mammals (European patent application 421,419).
In general, hypercholesterolemia involves high serum cholesterol levels that are associated with a number of diseases including atherosclerosis, arteriosclerosis, and cardiovascular disease. In addition, high serum cholesterol levels are also seen in patients suffering from other diseases such as diabetes mellitus and familial hypercholesterolemia. While improvement of lipoprotein profiles and a decrease in total serum and low density lipoprotein cholesterol have been shown to slow the progression of such diseases, the exact link between hypercholesterolemia and, most notably, cardiovascular disease, has remained obscure. As a result, cardiovascular disease continues to remain a leading cause of death in the United States.
In part, the reason a cure for cardiovascular disease has remained elusive, is that the etiology of the disease may be the result of series of complex interactions involving genetic factors, lipoprotein metabolism, clotting functions, and even lifestyle choices (e.g., diet, exercise). Interestingly, populations consuming large amounts of cereal grains have a lower incidence of cardiovascular disease and lower cholesterol levels. Studies looking at the beneficial properties of cereal diets have attributed these effects to naturally occurring tocochromanols, and these compounds have been found in a wide variety of plant sources (Quereshi et al., Am. J. Clin. Nutr., 53:1021S-6S (1991)).
As a class of compounds, tocochromanols include the tocopherols and the tocotrienols. Tocopherols, including d- a- tocopherol are essentially the active ingredient in vitamin E and have been extensively studied. A number of beneficial properties have been attributed to the tocopherols such as reduced platelet aggregation and antioxidant functions (Niki et al., Annals of the New York Academy of Sciences, 570:23-31 (1989); Fukuzawa et al., Annals of the New York Academy of Sciences, 570:449-453 (1989)).
The tocotrienols have been less well studied although recent evidence suggests that these compounds may also be biologically active (see for example U.S. Pat. Nos. 5,591,772 and 4,603,142). Naturally occurring tocotrienols including a- β-, γ-, and d-tocotrienol have been identified in and isolated from a variety of sources including, e.g., rice, rice bran, barley, coconut, and palm. These compounds exhibit varying degrees of hypercholesterolemic activity and have also been used as antithrombotic agents and antioxidants.
Additional sources of tocopherols, tocotrienols, and other therapeutically beneficial compounds which can be used safely and effectively, for example, as a hypercholesterolemic, antithrombotic, antioxidizing, antiatherogenic, antiinflammatory, and immunoregulatory agents, would be of great benefit.

Cranberry seed oil extract and compositions containing components thereof


A process for the partial dehydration and partial purification of a crude water-wet organic stream of the monohydroperoxide of p-diisopropylbenzene is disclosed. This crude stream of monohydroperoxide contains at least 2 wt % water and is partially dehydrated by contacting the stream with a non-reactive inorganic salt to remove a portion of the water into a concentrated brine of the inorganic salt followed by separation of the concentrated brine and the product. The crude water-wet organic stream of the monohydroperoxide is optionally filtered and coalesced prior to contacting the nonreactive inorganic salt.

Hydroperoxides are useful for many applications in industry such as in the SBR rubber industry to initiate the polymerization of rubber. A purge stream of hydroperoxide is produced during the production of hydroquinone from p-diisopropylbenzene (DIPB) using air oxidation. This purge stream of hydroperoxides is a waste stream containing many compounds and contaminants and is presently disposed of by incineration.
During production of hydroquinone from DIPB using air oxidation, the monohydroperoxide of p-diisopropylbenzene (MHP) is produced and re circulated until it forms the dihydroperoxide of p-diisopropylbenzene (DHP). The DHP is extracted from the loop in a mixer/settler using weak caustic. The organic phase overflows from the mixer/settler and is recycled back to the oxidizers and thus contains dispersed and dissolved water. During this oxidation reaction, unwanted carbinols and other impurities are produced which must be purged. The purge stream is taken from the MHP loop and is presently cleaved with acid and burned in an incinerator. This purge stream is a crude water-wet organic stream of MHP and is composed of about 50% MHP, 25% DIPB, the remainder being dissolved and dispersed water, carbinols, other unwanted hydroperoxides, and dispersed solids. This crude water-wet organic stream of MHP is saturated with water at 55.degree. C. and contains greater than 2 wt % water and is cloudy in appearance. This crude water-wet organic stream of MHP is not suitable as a feed for any useful reaction since it contains impurities and is a heterogenous mixture that separates into two liquid phases over time. However, if the purity of this stream could be dramatically improved, it would be useful for example as a polymerization initiator for the rubber industry.
It would be very desirable to produce a more pure homogeneous phase from the crude water-wet organic stream of MHP to be useful as a feed for industry such as a polymerization initiator for the rubber industry.
This crude water-wet organic stream of MHP could be purified by distillation or dehydrated by vacuum stripping. However, the temperature required for distillation and/or vacuum stripping exceeds 70.degree. C. and the initiation of a runaway reaction commences at 90.degree. C. Therefore, the distillation or vacuum stripping of this crude water-wet organic stream of MHP is very dangerous even under vacuum since a loss of vacuum could suddenly raise the temperature and start a runaway reaction resulting in an explosion.
Attempts at freezing the dispersed/dissolved water followed by filtration is not possible due to the extremely high viscosity of the chilled stream which consists mostly of MHP.
Attempts were also made at removing the dispersed water simply by coalescing the crude water-wet organic stream of MHP, however, the resulting product from this coalescence forms two phases after a freeze/thaw cycle and is unacceptable for use in feed streams.
The use of drying agents such as silica gel, molecular sieves, or other hydroscopic materials to purify and remove all the water from the stream is not possible since these agents or materials must, due to the economics, be regenerated by heating to remove the extracted water. This is unacceptable for safety reasons since the MHP adhering to the drying agents would cause a runaway reaction during regeneration.
It would be very desirable to be able to economically and safely purify the crude water-wet organic stream of MHP avoiding the above problems.

Process for the partial dehydration of a crude water-wet organic stream of the monohydroperoxide of p-diisopropylbenzene


In a vehicle rear structure, flange portions disposed on an end portion of a front skeleton that extend in the vehicle width direction along a front edge of an upper back panel are joined to a joined flange portion between a wheel well outer member and a wheel well inner member of a rear wheel well. The joined flange portion is a region whose rigidity is high in a vehicle body side portion. Moreover, the flange portions of the front skeleton are joined to flange portions of the wheel well outer member and the wheel well inner member in a three-layer overlay. Because of this, the rigidity of the joint between the front skeleton and the vehicle body side portion is better than heretofore.

1. Technical Field
The present invention relates to a structure for the rear part of a vehicle and particularly relates to a structure in which an upper back front skeleton is disposed along a front edge of an upper back panel.
2. Related Art
In the vehicle body rear structure for a vehicle disclosed in Japanese Patent Application Laid-open (JP-A) No. 2009-23367 (patent document 1), a rear package tray (an upper back panel) is disposed between height direction middle portions of right and left side panels that configure right and left sides of a vehicle body. A cross member that extends in the vehicle width direction is disposed on the front edge of the rear package tray. The cross member has an upper cross member and a lower cross member that are joined to one another to form a closed cross section that extends in the vehicle width direction. Furthermore, the right and left ends of the rear package tray and the upper cross member are coupled to the right and left side panels via sheet-like joining members, and the right and left ends of the lower cross member are coupled to the right and left side panels via L-shaped members. Rear wheel wells having shapes that protrude inward in the vehicle width direction are formed under the right and left L-shaped members, and the upper portions of the rear wheel wells and the L-shaped members are coupled to one another by tower members.
In the vehicle body rear structure for a vehicle having the configuration described above, a skeleton (hereinafter called an upper back front skeleton) that has a closed cross-sectional shape and extends in the vehicle width direction is formed by the cross member, the right and left joining members, and the right and left L-shaped members. The upper back front skeleton forms the upper edge of an opening of a trunk pass-through that communicates the cabin and the trunk. Furthermore, retractors (seat belt take-up devices) that take up seat belts for restraining occupants seated in rear seats are housed inside the vehicle width direction ends of the upper back front skeleton—that is, inside the closed cross-sectional space formed by the joining members and the L-shaped members. A similar structure is disclosed in JP-A No. 2003-312544 (patent document 2).
The upper back front skeleton described above greatly contributes to the rigidity (particularly the torsional rigidity) of the vehicle body, so in order to improve the steering stability of the vehicle, it is necessary that the rigidity of the upper back front skeleton be well ensured. However, due to the relationship between the upper back front skeleton and members disposed near the upper back front skeleton and the relationship between the upper back front skeleton and the breadth of the trunk, there are cases where it is difficult to ensure a sufficient area for the closed cross section of the upper back front skeleton. Even in such cases, there is room for improvement in order to ensure the rigidity of the vehicle body.


A sterilizer employs a vaporizer having sloped surfaces over which flow liquid sterilant solution for vaporization. The arrangement promotes even distribution of the sterilant solution for more efficient vaporization.

It is known to sterilize articles with a vaporized chemical sterilant, such as hydrogen peroxide, peracetic acid and glutaraldehyde. Wu et al. U.S. Pat. No. 6,365,102, incorporated herein by reference, describes a hydrogen peroxide/gas plasma sterilization system comprising a vacuum chamber, source of hydrogen peroxide vapor and a source of RF energy to create a plasma. Such systems marketed under the name STERRAD® are available from Advanced Sterilization Products division of Ethicon, Inc. in Irvine, Calif.
Rapid and efficient vaporization of a liquid sterilant solution to produce the sterilant vapor speeds the overall sterilization process, ensures complete vaporization and ensures that the vaporization phase of a sterilization cycle completes in a timely and repeatable fashion.

Sterilization system and vaporizer therefor


An image-capturing lens is formed of front and rear lens groups having negative and positive refractive power, respectively, in order from the object side. The rear lens group is formed of, in relative sequential order from the most object side of the rear lens group, a biconvex lens element that is cemented to a biconcave lens element, a biconvex lens element, and a biconvex lens element. A specified condition is satisfied so as to make the cemented lens of the rear lens group insensitive to de-centering errors which may occur either in making the cemented lens or in assembling the image-capturing lens.

Image reading devices have been conventionally developed in which an image of an original is formed on a light receiving element such as a CCD (charge-coupled device) array by means of an optical system and the image data is read out. Image-reading devices may be used in devices other than facsimile and copy machines, such as projectors which display the read image data at a surface. The image data is often enlarged by being projected onto a screen. When the captured image has distortion or insufficient image resolution, these deficiencies of the image are made more apparent by projection enlargement. Therefore, a specialized imaging lens (hereinafter termed an image-capturing lens) having low distortion and high resolution is required for this kind of image-reading device.
There are also demands for compactness, high reading speed, and low price for image-reading devices. Accordingly, compactness, low price, and improved brightness are required for the image-capturing lens used with such an image-reading device.
In this circumstance, using fewer lenses allows downsizing of the image-capturing lens. However, using fewer lenses, on the other hand, requires improved manufacturing precision for the lenses, leading to difficulty in production. In particular, in order to obtain low distortion and high resolution for the projector described above, lens elements of the image-capturing lens have to be produced and assembled with high precision. Many lenses do not meet the necessary high standards for manufacture and assembly. Thus, production and assembly costs are high.
The present invention relates to an image-capturing lens that, for example, may be used to form an image on a CCD array, with the output from the CCD array being used to project a magnified image of the original. The object of the present invention is to provide an image-capturing lens having high optical performance, since the aberrations of the image-capturing lens are magnified by the projection of the image data that is read using the image-capturing lens and CCD array.


A method for applying an optimal seeking technique to a disk file with excessive repeatable runout includes a method of modifying a control signal for a rotary actuator arm of a disk drive. The control signal is modified during track seeking by adding a runout state that is calculated each time a servo sector of a target data track on a surface of a disk is sampled by read/write heads carried by the actuator arm. A calibration algorithm can be used during track following to determine runout magnitude and runout phase at various preselected calibration tracks on the surface of the disk. A seeking algorithm can be implemented to compensate for the relative runout magnitude and phase variations between present and target tracks.

1. Field of the Invention
The present invention pertains to the field of disk drives, and more particularly to a method for applying an adaptive seeking algorithm to a removable cartridge disk file with excessive repeatable runout.
2. Background
In a removable cartridge disk drive, the read/write heads, or transducers, of the drive must float directly above the centerline of any data track being accessed on the surface of the disk contained in the cartridge. Mechanical imperfections and geometric constraints cause the transducers to stray from track center, giving rise to a phenomenon known in the industry as repetitive runout. Repetitive runout occurs for several reasons, including repeatable bearing runout, imbalance between the rotating hub assembly and the disk, and disk clamping errors. Disk clamping errors, for example, are specific to removable media disk drives.
Imperfections such as the above create a variance between the center of the hub on which the disk sits and the center of rotation of the disk.. This gives rise to a repeatable tracking error at the rotational frequency. Additionally, in a disk drive with a rotary actuator arm, the repeatable runout magnitude and phase vary with the position of the actuator arm. Further, repeatable runout can be time variant because the aforementioned imbalances can change or the disk can slip during normal operation.
Conventional disk drives use digital servos with high bandwidths to compensate for repetitive runout. This is effective for runout on the order of a fraction of a track. However, removable cartridge disk drives generally experience runout approaching several tracks. This is known as excessive repeatable runout. The conventional servo cannot compensate for excessive repeatable runout without sacrificing seeking performance.
A least mean square technique has been used to adjust tap weights for every servo sample based on the measured position signal. The method requires sine and cosine functions for tap weight adjustment and feed forward control signal calculation. Approximately one revolution of the disk is required for the tap weights to be adapted to the correct values for minimizing tracking error so that the drive can perform read/write operations. However, the runout adaptation time increases the settling time, causing access time to double. Moreover, the method alleviates track following error only; it ignores track seeking performance.
Another known technique is to use discrete Fourier transforms (DFTs) to identify the magnitude and phase of the repeatable runout. During calibration the microprocessor collects the position-error-signal data for several revolutions. The DFT calculation is then performed and the results are used to form the repeatable runout correction signal, which is stored for subsequent use during normal operations. The DFT procedure can be repeated continuously while the drive is track following and not engaged in read/write functions. The disadvantage of this technique is that it is slow, requiring several revolutions to derive the repeatable runout correction signal. The technique is also calculation intensive. A typical disk drive with sixty servo sectors per revolution requires 120 multipliers and 119 adders to generate the DFT results from one revolution of the position-error-signal data. This mandates that an expensive microprocessor be used--an inadequate solution in the competitive disk drive industry.
Alternatively, a slower microprocessor could be used with the DFT calculation performed only at selected tracks; the DFT results would then be used to form the feed forward signal during normal operation. This technique would compensate for runout error dependent on the actuator position. However, the time-variant runout could not be addressed because the DFT would be based on prior runout information.
Another known method increases the typical disk drive state estimator from a third-order to a fifth-order model, which includes not only head position, head velocity, and bias torque, but also first and second runout states. The fifth-order state estimator can be used in either a hybrid runout compensator technique or a real time state space technique. In the hybrid technique, the fifth-order estimator is used during calibration to obtain runout correction values, which are stored in random access memory to be used in subsequent read/write operations. Because the fifth-order estimator is not used during normal operation, the dynamic can be selected to be relatively slow to avoid undue sensitivity of the estimator's performance due to the uncertainty in the measured position. The hybrid technique is less calculation-intensive than the DFT method, but it too is slow and unadaptive.
The real time state space technique is adaptive, but the fifth-order state estimator model is highly sensitive to noise. As the head moves across the track boundary during seeking, the error in the measured position can approach one-half of the track width--typically higher than the runout magnitude without correction. At least one-half of a revolution would have to take place before the runout magnitude and phase could be compensated for.
Another disadvantage of a fifth-order estimator is that the model attempts to estimate the unknown runout and bias torque simultaneously, using only one input: the estimator error. This disadvantage can be overcome by choosing fast estimator poles for estimated position, velocity, and first and second runout states, but using a slower estimator pole for the estimated bias torque. However, such a design is inappropriate for the typical disk drive servo, which must perform well under a wide variety of conditions. For example, if the actuator bearing were to hit a small particle during arrival at the target track, the transient response--which is dominated by the bias estimator pole--would be too slow.
Another disadvantage of a fifth-order estimator model is that the extra calculation required (as compared to a conventional third-order model) generates more quantization error and reduces system throughput. This would be problematic in the disk drive industry because the typical low-cost disk drive uses only one microprocessor to process both servo and interface controller codes.
Based on the foregoing, there is a need for a method of calibration and seeking that (1) modifies the control signal during seeking, (2) determines the runout magnitude and phase at various tracks, and (3) compensates for the relative magnitude and phase variations between the originated and target tracks.

Method for applying optimal seeking technique to disk file with excessive repeatable runout


A current detection circuit for detecting a current in a SMPS which has a first switch and a second switch; a current sensing circuit sensing a second switch current flowing through the second switch and providing a current sensing signal; and a current emulation circuit which generates a first current according to the current sensing signal and generate a second current according to the first current source, and the current emulation circuit further providing a current emulation signal based on the first current source and the second current source; wherein a current detection signal during a first period is proportional to the current emulation signal, and the current detection signal during a second period is proportional to the current sensing signal.

Switching Mode Power Supply (SMPS) is widely used for converting an input voltage to an output voltage and supplying a load due to its many advantages such as high efficiency, high current carrying ability and so on. A SMPS has at least one power switch, and the output voltage is regulated at least by controlling the ON and OFF actions of the power switch. A SMPS may comprise a buck converter, a boost converter, a flyback converter and so on.
At times, a current flowing through the output stage is required to be detected. For example, when a short condition occurs, the current flowing through a power switch or another component is higher than a maximum current limit, the power switch or the component will be damaged. Accordingly the current is required to be detected for short protection.
FIG. 1 illustrates a prior art buck converter with inductor current detecting. Buck converter comprises a high-side switch 11, a low-side switch 12, an inductor 13 and an output capacitor 14. Since inductor 13 has a parasitic resistance RI, the current flowing through inductor 13 is sensed by sensing the Direct Current (DC) voltage across inductor 13 by using serially coupled resistor 15 and capacitor 16. However, this sensing method is not accurate due to the variation of inductor resistance RI. And furthermore, the sensed voltage VS across capacitor 16 changes with temperature.
Accordingly, an improved inductor current detection circuit is required to at least address one or some of the above deficiencies.

Current detection and emulation circuit, and method thereof


A golf club with a shaft and an asymmetrical head, wherein said head has a gravitational center which is further from a trailing edge than said striking face and is disposed on a vertical plane which includes said grip axis.

Many golf club designs have been introduced to improve golfers' accuracy, such as adding materials to dampen the impact with the ball, aligning the shaft with the club face placing the shaft forward of the club face, aligning the shaft with the center of gravity of the club head, adding enlarged alignment features, etc.

This patent is subject to a terminal disclaimer.


According to an embodiment, a sensor device is provided comprising a sensor; a transceiver; a processor configured to run an application; and a virtualization layer which comprises an application programming interface encapsulating application layer features of the sensor device and which is configured to provide to the application, via at least one service access point, a service to communicate with another sensor device by means of the transceiver, a service to control the sensor and a service to discover a sensor device network, have the sensor device leave a sensor device network and/or have the sensor device join a sensor device network.

The rapid advances and convergence of technologies such as MEMS (Micro Electro-Mechanical Systems) sensor devices, wireless networks and low-power embedded processors have enabled a new generation of large-scale wireless sensor networks (WSN). In the near future, tiny and cheap sensors may be extensively embedded within our living environment for sensing a large variety of physical phenomena of interest to users. Unlike information services on the Internet where the information often becomes stale or even useless, sensor networks can seamlessly couple the physical environment with the digital world and deliver useful real-time information to users according to their needs.
Wireless sensor networks have attracted tremendous interest in the industry because they have many important applications including environmental monitoring, healthcare, industrial automation, military and homeland security, disaster warning and rescue, manufacturing and logistics, intelligent transportation, safety monitoring of urban and civil infrastructures, smart grid, smart buildings and homes, and many other applications that we do not yet imagine.
These enormous business prospects spurred investments in the development of sensor network platform technologies at both the hardware and software operating platform level. At the hardware level, the sensor nodes offer a mix of sensing, processing, communication and storage capabilities. Some commonly used sensor node platforms include the MicaZ, iMote2, IRIS, TelosB, Atmel Raven, Gumstix and Sentilla JCreate from vendors such as Memsic, Atmel, Gumstix and Sentilla.
However, these hardware platforms differ in the processor specifications, storage file system, communication protocols and sensor technologies. At the operating and programming platform level, these sensor node platforms are based on different platforms such as TinyOS, Contiki, .Net Micro Framework, embedded Linux, Sentilla, etc. In addition, the wireless communication protocols also vary from platform to platform and there exists a plethora of different protocols that are supported by various vendors. Some common wireless networking protocols for sensor networks include IEEE 802.15.4, ZigBee, TinyOS MAC, 6LoWPAN, SICSLoWPAN, and GSM/3G.


A method, in a computer network having a first plurality of nodes coupled to a common network infrastructure and a distributed shared memory distributed among the first plurality of nodes, for servicing a memory access request by a first node of the first plurality of nodes. The memory access request pertains to a memory block of a memory module that has a home node different from the first node in the computer network. The home node has a partial directory cache that has fewer directory cache entries than a total number of memory blocks in the memory module. If the memory block is currently cached in the partial directory cache, the first memory access request is serviced using a directory protocol. If the memory block is not currently cached in the partial directory cache, the first memory access request is serviced using a directory-less protocol.

The present invention relates generally to methods and apparatus for facilitating efficient communication in a computer network. More specifically, the present invention relates to improved techniques that permit nodes of a computer network to access the network""s distributed shared memory in an efficient manner.
Computer networks having distributed shared memory (DSM) are known in the art. For discussion, FIG. 1 illustrates a computer network 10 having a network infrastructure 12 (NI). Four network nodes 100, 102, 104, and 106 are shown coupled to network infrastructure 12. Through network infrastructure 12, nodes 100-106 may communicate among one another to share programs, data, and the like. Of course, the number of nodes provided per network 10 may vary depending on needs, and may include any arbitrary number of nodes.
Within each network node, there exists a memory space, typically implemented in a memory module, whose memory blocks may be accessed by other network nodes. In general, each memory block in the network has an unique address that allows it to be uniquely addressed. The union of all memory blocks in the nodes of network 10 comprises the distributed shared memory (DSM). It should be noted, however, that although the memory blocks of the DSM may be accessed by any network node, a given memory block is typically associated with some home node in network 10.
For the purposes the present invention, network infrastructure 12 may have any configuration and may be implemented by any protocol. Generally, network infrastucture 12 possesses the ability to correctly deliver a message from one node to another according to the destination address associated with that message. One exemplar network infrastucture is Sequent Numa-Q, available from Sequent Computer Systems, Inc. of Beaverton, Oreg.
Each of network nodes 100-106 may be as simple as a computer having a single processor that is coupled to its own memory via a memory cache. A network node may also be as complicated as a complete bus-based multi-processor system or even a multi-processor sub-network. In the latter case, a node may include multiple processors, each of which is coupled to its own memory module and memory cache, as well as to the distributed shared memory distributed among other nodes in the network. For ease of illustration, the invention will be described herein with reference to nodes having a single processor. It should be apparent to those skilled in the art given this disclosure, that the principles and techniques disclosed herein are readily extendible to nodes having multiple processors.
In the prior art, the network nodes typically communicate among themselves using a bus-based approach or a directory protocol. By way of example, FIG. 2 is a schematic of a computer network, including exemplar nodes 100a and 100b, for implementing one version of the prior art bus-based protocol. In node 100a of FIG. 2, processor 200a is coupled to module 204a, e.g., a dynamic random access memory module, via a memory cache 202a, which is typically implemented using some type of fast memory, e.g., static random access memory (SRAM). Memory module 204a may be divided into memory blocks, and memory cache 202a serves to expedite access to the memory blocks of memory module 204a by holding a copy of the requested memory block, either from its own node or another node in the network (such as node 100b), in its fast memory circuits. Through a network interface (included in each node but not shown to simplify illustration), node 100a may communicate with node 100b as well as other nodes in the network via a bus-based network infrastructure, e.g., bus 206, to gain access to the distributed shared memory (DSM), which is distributed in the nodes of the network.
In a bus-based computer network, a memory request by a given node is typically broadcasted on the common bus to other nodes so that the request may be seen by all other nodes in the network. For example, if processor 200a of FIG. 2 needs to access a memory block residing in another memory module of another network node, it typically broadcasts on the common bus its memory access request. All the nodes on a network would receive the same request, and the node whose memory address ranges match the memory address provided in the memory access request then responds.
This broadcast technique works adequately for relatively small computer networks. As computer networks grow larger and/or become more physically dispersed, the bus-based approach has several difficulties. For example, as the bus grows larger to accommodate more nodes, it is desirable to operate the bus at a higher speed since each node generally needs to access the bus for a period of time to execute its transactions. Operating a large bus at a high frequency is difficult because as buses become larger, they become electrically longer and electrical concerns, e.g., capacitance, may substantially limit their operating frequency. Consequently, the bus-based approach is generally unsuitable for large or physically dispersed computer networks.
Further, a bus-based protocol requires the provision of an arbiter circuit to enforce a natural ordering of transactions by the various nodes of the computer network. The arbiter needs to ensure that bus access requests from the various network are properly ordered to avoid race conditions. The use of arbiter circuits and an arbitration scheme represent an additional layer of complexity, thereby adding to the expenses in the creation and maintenance of computer networks.
As can be appreciated by those skilled in the art, the extra messages that need to be sent in a bus-based system from the requesting node to all the nodes in a network represent an extra burden on the bus. Further, the requesting node must poll every node in the network and require each node to analyze the request to either ignore the request, or to respond. The extra work required of the other nodes in the network represents extra delay and additional processing that the network nodes must perform.
The directory protocol represents an attempt to implement a computer network in which natural broadcast is not necessary to service memory access requests, i.e., a transaction or a request from a node does not need to be broadcasted to all other nodes in the network. FIG. 3 illustrates, for discussion purposes, a computer network node 100 suitable for implementing the directory protocol. In every node of the computer network employing the directory protocol, there may be provided a directory containing directory entries for the memory blocks of its memory module. With reference to FIG. 3, there is shown a directory 210 which may be implemented as a data structure in memory and contains directory entries, each of which corresponded to a unique memory block of the memory module in node 100. For example, there is shown in directory 210 a directory entry 212, which corresponds to a memory block 208 in a memory module 204. The union of all directory entries in a given node represents the directory for that node. There is also shown in FIG. 3 an interface 206, representing the circuit for connecting a node to its outside world, e.g., to the network infrastructure.
In the directory protocol, each node in the network, e.g., each of nodes 100-106, must know whether it has an exclusive copy of a block of memory (a modifiable or M-copy), a shared, read-only copy (a S-copy), or it does not have a copy (an invalid or I-copy). When a node has an M-copy of the block, it is said to have an exclusive copy and can modify this copy to cause it to be potentially different from its counterpart in memory module 204 of the block""s home node. When any node in the computer network possesses an M-copy of memory block 208, all other nodes give up their copies, i.e., possessing only I-copies of that memory block.
Whereas only one node may have an M-copy of a memory block, multiple nodes may concurrently possess shared copies (S-copies). A node having an S-copy essentially has read-only copy, i.e., it cannot modify the memory block""s contents. S-copies of a memory block may exist contemporaneous with I-copies of the same memory block in a network. S-copies of a memory block cannot, however, co-exist with any M-copy of the same memory block.
In one implementation, a node may request to cache an exclusive copy (M-copy) by issuing an RTO request, where RTO represents xe2x80x9cread-to-own.xe2x80x9d A node may request to cache a shared copy of a memory block by issuing an RTS request, where RTS represents xe2x80x9cread-to share.xe2x80x9d A node may also request to write back the exclusive M-copy of a memory block it currently possesses by issuing a WB request, where WB stands for write-back.
As stated, every node in the computer network knows which kind of copy of memory block 208 it currently possesses. Thus, this knowledge regarding memory block 208 is distributed among the nodes of the network. Further, the same knowledge regarding memory block 208 is also centralized at the home node of memory block 208, i.e., in directory entry 212 of directory 210.
To simplify illustration, the discussion herein will be made with reference to the four-node network of FIG. 1 although, as noted earlier, the network may contain any arbitrary number of nodes. The operation of the prior art directory protocol may be best illustrated with reference to the examples of FIG. 4 and the state diagram of FIG. 5. In FIG. 4, there are shown in rows A-H the states for memory block 208 of node 100 of FIG. 3. At any given point in time, one of rows A-H represents the contents of directory entry 212 in directory 210 at home node 100. It should be borne in mind that although a single memory block 208 is discussed in detail herein to simplify the illustration, caching is typically performed on a plurality of memory blocks.
In row A, node 100 is shown to have an exclusive M-copy of memory block 208 (M state in row A, column 100). By definition, all other network nodes must have invalid copies of memory block 208 (shown by states I in row A, columns 102-106). Incidentally, the M-copy of memory block 208 may currently be cached by the memory cache in its home node, e.g., node 100, or in the memory module of the home node.
Transaction #1 (Roe A to Row B of FIG. 4)
Suppose node 104 now desires an exclusive M-copy of memory block 208, which, as shown in state A, currently resides at its home node 100. With reference to FIG. 4, node 104 represents the requesting node 502, while node 100 represents the home node for memory block 208, which is shown in FIG. 4 as home node 508. Slave node 512 represents the node where the copy of memory block 208 currently resides. In row A, slave node 512 happens to be the same node as the home node, i.e., node 100.
The RTO request from node 104 (requesting node 502 in this first transaction) is forwarded to home node 100 (node 508) via path 504. The forwarding of the RTO transaction from the requesting node to the home node is typically handled by network infrastucture 12 utilizing the address provided with the RTO request. The network infrastucture 12 knows where the home node for a particular memory block is by, for example, mapping the block""s address to the address ranges of the various nodes. When home node 100 (node 508) receives the RTO message, it sets the pending bit associated with the requested memory block 208. The setting of the pending bit signifies that memory block 209 is temporarily being accessed and is not available to service another memory access request pertaining to memory block 208. Further, home node 100 knows by checking with directory 212 (row A) that it has exclusive M-copy of memory block 208, and all other nodes have invalid copies of memory block 208. Since it is also the node at which the copy resides (slave node 512), node 100 may be though of in FIG. 5 as encompassing both node 508 and slave 512.
Node 100 (home node 508/slave node 512) then sends a copy of memory block 208 via path 514 to the requesting node 104 (node 502). Upon receiving a copy of memory block 208, requesting node 104 (node 502) then updates its copy to an exclusive M-copy and sends a confirmation message via path 506 to home node 100 (node 508). The receipt of the confirmation message by home node 100 (node 508) causes home node 100 to downgrade its own copy of memory block 208 to an invalid I-copy and to update its directory entry 212 (to that of row B) and permits the pending bit associated with memory block 208 to be reset, thereby allowing subsequent transactions involving memory block 208 to be serviced. As shown in transaction #1, the use of the pending bits and explicit messages between the requesting node, the home node, and the slave node (via paths 504, 506, 510, and 514) eliminates the need for a network-wide broadcast to service transaction #1.
Further, the use of the pending bit eliminates the requirement of a natural ordering mechanism since transactions can be queued by the receiving home node in the order in which they are received and serviced in that order whenever the pending bit becomes reset.
Transaction #2 (Row B to Row D)
In transaction #2, node 102 acts as the requesting node and requests an exclusive copy of memory block 208 by issuing an RTO transaction. The RTO transaction is forwarded by network infrastucture 12 to the home node 100 of memory block 208, i.e., node 508 in transaction #2, via path 504 and causes home node 100 to set the pending bit associated with memory block 208. Network interface 12 knows that the message should be delivered to node 100 since it can ascertain the address of the memory block requested and knows which node in the network is the home node for the requested memory block.
Node 100 can ascertain from directory entry 212 (row B) that node 104 currently has the only exclusive M-copy of memory block 208. Accordingly, home node 100 (node 508) sends a request via path 510 to node 104 (the slave node) to request node 104 to forward a copy of memory block 208 to the requesting node, i.e., node 102 (requesting node 502). Node 104 is the slave node in this transaction since it represents the node where a valid copy of the requested memory block currently resides. Slave node 104 (node 512) downgrades its copy from an exclusive M-copy to an invalid I-copy since, by definition, if one node in the computer network has an exclusive M-copy, i.e., requesting node 102, all other nodes must have invalid I-copies.
When the requesting node 102 (node 502 in transaction #2) receives a copy of memory block 208, it internally notes that it now has an exclusive M-copy (row D, column 102) and acknowledges via path 506. When home node 100 (node 508) receives the acknowledgment message from the requesting node via path 506, it updates its copy to an invalid I-copy, if necessary (it turns out to be unnecessary in this case), updates directory entry 212 (to that of row D), and resets the pending bit associated with memory block 208 so that other transactions involving memory block 208 may be serviced.
Transaction #3 (Row D to Row A)
In transaction #3, node 102, which has had an exclusive M-copy, requests to write back the content of memory block 208 back to the home node 100. A node may want to write back the memory block it earlier cached for a variety of reasons, e.g., it wants to cache another memory block and does not have room in its memory cache. With reference to FIG. 4, requesting node 102 (node 502), sends a write-back (WB) transaction to the network infrastucture. The network infrastucture then routes this request to the home node of memory block 208, i.e., node 100. Upon receiving this WB request, home node 100 (node 508) sets the pending bit associated with memory block 208.
Home node node 100 can determine that node 102 must have the exclusive copy by checking directory entry 212 (row D). Home node 100 (node 508) then sends a message via path 510 to slave node 512 (the node currently having the copy of memory block 208, which happens to be the same node as requesting node 102 in this write back transaction). Consequently, requesting node 502 and slave node 512 may be treated as a single entity in this transaction. Node 102 (slave node 512/requesting node 502) then sends a copy of memory block 208 via path 506 to home node 100 (node 508) where the content of memory block 208 is written into home node 100 (node 508). Once the content of memory block 208 is written back, directory entry 212 may be updated (to that of row A), and the pending bit associated with memory block 208 may then be reset.
Transaction #4: (Row D to Row E)
Node 104 wants a shared, read-only copy of memory block 208 and issues an RTS (read-to-share) request to the network infrastructure to request a read-only copy of memory block 208. Network infrastructure 12 then forwards the RTS request via path 504 from requesting node 104 (node 502) to the home node 100 (node 508).
By checking directory entry 212, home node 100 knows that node 102 currently has the exclusive M-copy of memory block 208 and aIl other nodes currently have invalid I-copies. Home node 100 then sends a message via path 510 to ask the slave node 102, which has an M-copy, to downgrade itself to an S-copy and forward a copy of memory block 408 to requesting node 104 (node 702). Slave node 102 (node 512) then sends a copy of memory block 208 to requesting node 104 (node 502) via path 514, and simultaneously downgrades the copy it has from an exclusive M-copy to a shared S-copy. Upon receiving a copy of memory block 208, requesting node 104 (node 502) then sends an acknowledgment message to home node 100 (node 508) via path 506, which causes directory entry 212 to be updated (to that of row E) and the pending bit associated with memory block 208 to be reset.
Transaction #5 (Row F to Row G)
In one embodiment, whenever there is a shared, read-only S-copy anywhere in the node, the home node may also retain a copy of the shared, read-only S-copy. The shared, read-only S-copy may be sent to home node 508 from, for example, the requesting node 502 (after it has received a copy of the memory block from the slave node), along with the acknowledgment message of path 506. Since the home node also has a shared, read-only S-copy, it can advantageously service a subsequent RTS request from another node in the computer network directly without having to ask another node in the network to forward a copy of the requested memory block to the requesting node. This transaction is illustrated as transaction #5 when the states of memory block 208 change from those of row F to row G of FIG. 4.
In transaction #5, nodes 100 and 102 currently have shared, read-only S-copies of memory block 208, and nodes 104 and 106 have invalid I-copies of the same memory block. Node 104 now wants a shared, read-only S-copy of memory block 208 and issues an RTS request, arrives at home node 100 (node 508) via path 506. Since home node 100 (node 508) already has a stared S-copy (it either knows this by itself or by checking directory entry 212, i.e., row F), it does not need to request a copy of memory by 208 from any other node in the network, and in fact, does not care what other copies may exist on the nodes of the network. Consequently, home node 508 and slave node 512 may be thought of as the same entity, i.e., node 100, and may respond via path 514 to requesting node 104 (node 502) with a copy of memory block 208. Upon receiving a copy of memory block 208, requesting node 104 (node 502) acknowledges by sending a message via path 506 to home node 100 (home node 508/slave node 512), which causes directory entry 212 to be updated (to at of row G) and the pending bit associated with memory block 208 to be reset.
Transaction #6: (Row G to Row H
In transaction #6, nodes 100, 102, and 104 have shared, read-only S-copies while node 106 has an invalid I-copy of memory block 208. Subsequently, node 106 (node 502 in FIG. 4) desires an exclusive M-copy and issues an RTO transaction to the network infrastructure 12. Network infrastructure 12 then forwards the RTO request to the home node of memory block 208, i.e., node 100, via path 504.
By checking directory entry 212 (row G), home node 100 (node 508) knows that it has a shared, read-only S-copy (row G, column 100), and that other nodes, i.e., nodes 102 and 104, also have shared, read-only S-copies. Home node 100 (node 508) must send messages to other nodes in the network, in a parallel manner in one embodiment, to request these slave nodes, i.e., nodes 100, 102, and 104, to downgrade their copies of memory block 208 to invalid I-copies.
Node 100 may treat itself as a slave node since a valid copy of memory block 208 currently resides an node 100. Consequently, home node 508 and slave node 512 may be thought of as the same entity, i.e., node 100. One consequence of this is that any messages sent between these two entities may be thought of a null operation. Home node 100 (home node 508/slave node 512) then sends a copy of memory block 208 via path 514 to requesting node 106 (node 502).
Home node 100 (home node 508/slave node 512) also sends to requesting node 106 (node 502) information regarding the number of slave nodes in the network to whom it has sent the request to downgrade. This information is kept by requesting node 106 (node 502). All the slave nodes to whom home node 508 sent the message (via path 510) to downgrade themselves, also report to requesting node 106 (node 502) to acknowledge that they have downgraded their copies from shared S-copies to invalid I-copies. Requesting node 106 (node 502) then counts the number of acknowledgments to ensure that all slave nodes that need to downgrade their copies in the network have acknowledged.
Once requesting node 106 (node 502) is satisfied that all the nodes that need to downgrade their copies have done so, requesting node 106 (node 502) then sends an acknowledgment message via path 506 to home node 100 (node 508) to allow the home node 100 to update directory entry 212 (to that of row H) and to reset the pending bit associated memory with block 208.
Although the directory protocol eliminates the need for natural ordering and natural broadcasting in a computer network when servicing memory access requests, the requirement of a directory entry for every memory block in a node represents a significant memory overhead. This memory overhead can become quite significant for nodes having a large number of memory blocks. In some systems, for example, the implementation of a directory may require a memory overhead of up to 3%. For this reason, directories are sometimes implemented with less expensive, albeit slower, memories such as dynamic random access memories (DRAM).
Slower memories, however, impose a performance penalty on systems adopting the directory protocol. As a result, many attempts have been made to optimize the speed at which directory entries may be accessed in the directory protocol to expedite the fulfillment of memory access requests. FIG. 6 represents a director-cache protocol to optimizing DSM access using directories. In FIG. 6, there is shown a directory unit 600, which contains a directory 601 and a directory cache 604. Directory 601 contains directory entries 602, each of which generally corresponds to a unique memory block in a memory module of a node, e.g., memory module 204 of node 100 of FIG. 3. In one embodiment, each directory entry 602 in directory 601 includes a field for storing the directory states of the corresponding memory blocks in the nodes of the computer network.
Directory cache 604 is provided to improve access speed to directory entries 602. Directory cache 604 may be implemented with a faster type memory than that employed to implement 601, e.g., static RAM. Directory cache 604 contains directory cache entries 603, representing a subset of directory entries 602 that have been cached by some node in the network. Each directory cache entry 603 may include a field for indicating whether the directory entry is valid, another field for storing the address of the corresponding memory block being cached, and yet another field for storing the directory states of the corresponding memory blocks in the nodes of the network. Functionally speaking, directory unit 600 may be thought of as a single unit performing the equivalent function of directory 210 of FIG. 3, albeit with improved speed.
In accordance with the directory-cache protocol, when access to a memory block is desired, directory cache 604 is checked first to determine whether the directory entry corresponding to the requested memory block already exists in directory cache 604. If the directory entry corresponding to the requested memory block already exists in directory cache 604, i.e., if there is a cache hit, the speed at which this directory entry can be read and modified is substantially improved, thereby improving the speed at which a memory access request can be serviced by the home node of the requested memory block.
In the event of a cache miss (i.e., the directory entry corresponding to the requested memory block cannot be found in directory cache 604), however, the directory protocol dictates that an appropriate directory entry must be cached into directory cache 604 from dory 601. Once the appropriate directory entry is cached, it can then be consulted to facilitate the servicing of the memory access request. After the memory access rest which requested the memory block is serviced, the cached directory entry may then be modified to reflect the of its corresponding memory block in the network nodes.
Although the directory-cache protocol represents an improvement in the speed at which directory entries may be accessed and modified (and by extension, the speed at which memory access request can be serviced), there is room for further refinement. As mentioned earlier, for example, when there is a directory cache miss, it is necessary in the direct protocol to access directory 601 to cache the required directory entry. The caching of a directory entry from directory 601 represents a non-trivial delay in the processing of memory access requests. This delay is further compounded by the fact that directory 601, due to its size in a typical application, is usually implement in less costly and slower memories.
Further, the caching of required directory entries into directory cache 604 necessitates cache write back operations whenever directory cache 604 is full. A cache write back operation which creates room for caching additional directory entries in directory cache 604, represents another non-trivial delay in the processing of a memory access request. Furthermore, the logic required to control a directory cache is not trivial, requiring considerable design and verification efforts to ensure its proper implementation and operation.
In view of the foregoing, what is desired are methods and apparatus that permit directory entries corresponding memory blocks of a network""s distributed shared memory to be accessed in a efficient manner in the servicing of memory access request.
The invention relates, in one embodiment, to a method in a computer network for permitting a first node of the computer network to access a copy of a memory block of a memory module that has a home node different from the first node in the computer network. The network has a first plurality of nodes coupled to a common network infrastructure and a distributed shared memory distributed among the first plurality of nodes. The computer network further has no natural ordering mechanism and natural broadcast for servicing memory access requests by the plurality of nodes. The home node has a partial directory cache that has fewer directory cache entries than a total number of memory blocks in the memory module.
The method includes the step of receiving the common network infrastructure at the home node from the first node a first memory access request for the memory block. There is further included the step of servicing, if directory states representing states of copies of the memory block on the first plurality of nodes are cached in a directory cache entry of the partial directory cache, the first memory access request using a directory protocol. In accordance with the directory protocol, the memory access request serviced by consulting the directory cache entry to determine which node a the computer network currently possesses a first valid copy of the memory block. The first valid copy of the memory block represents a valid copy of the memory block that is capable of servicing the first memory access request.
There is further included the step of step of servicing, if the directory states related to the memory block are not cached in the partial directory cache, the first memory access request using a directory-less protocol. In accordance with the directory-less protocol, the partial directory cache is not consulted, upon determining that the directory states related to the memory block are not cached in the partial directory cache, in servicing the first memory request.
In another embodiment, the invention relates to a network node for coupling in a computer neck having a firstly of nodes coupled to a common network infrastructure and a distributed shared memory distributed among the first plurality of nodes. The computer network has no natural ordering mechanism and natural broadcast for servicing memory access requests by the plurality of nodes. The network node permits a first node of the computer network different from the network node to access a copy of a memory block of a memory module that has a home on the net node.
The network node includes a partial directory cache having fewer directory cache entries than a total number of memory blocks in the memory module. The network node further includes means for receiving from the common network infrastructure, when the network node is coupled in the computer network, at the network node from the first node a first memory access request for the memory block. Further, there is included means for servicing, if directory states representing states of copies of the memory block on the first plurality of nodes are cached in a directory cache entry of the partial directory cache, the first memory access request using a directory protocol. In accordance with the directory protocol the directory cache entry is entry is consulted to determine which node in the computer network currently possesses a first valid copy of the memory block. The first valid copy of the memory block a valid copy of the memory block that is capable of servicing the first memory access request.
There is also included means for servicing if the directory states related to the memory block are not cached in the partial directory cache, the first memory access request using a directory-less protocol. In accordance with the directory-less protocol, the partial directory cache is not consulted, upon determining that the directory states related to the memory block are not cached in the partial directory cache, in servicing the first memory access request.
In yet another embodiment, the invention relates to a method, in a computer network having a first plurality of nodes coupled to a common network infrastructure and a distributed shared memory distributed among the first plurality of nodes, for servicing a memory access request by a first node of the first plurality of nodes. The memory access request pertains to a memory block of a memory module that has a home node different first the first node in the computer network. The home node has a partial directory cache that has fewer directory cache entries than a total number of memory blocks in the memory module.
The method includes the step of receiving ia the common network infrastucture at the home node from the first node the first memory access request for the memory block. There is included the step of ascertaining whether the memory block is currently cached in the partial directory cache. Additionally, there is included the step of servicing, if the memory block is currently cached in the partial directory cache, the first memory access request using a directory protocol. In accordance with the directory protocol the partial directory cache is consulted to determined which node in the computer network currently possesses a first valid copy of the memory block. The first valid copy of the memory block represents a valid copy of the memory block that is capable of servicing the first memory access request.
The method includes the step of servicing, if the memory block is not currently cached in the partial directory cache, the first memory access request using a directory-less protocol. In accordance with the directory-less protocol, the partial directory cache is not consulted, upon determining that the memory block is not currently cached in the partial directory cache, in servicing the first memory access request.
These and other advantages of the present invention will become apparent upon reading the following detailed descriptions and studying the various figures of the drawings.

Hybrid memory access protocol in a distributed shared memory computer system


A method and an apparatus align and attach a leadless surface mount component (402) including a termination at each end of the component (402). The termination has bottom (704) and end (702) portions for attaching to a corresponding pad on a substrate (102) by a reflow solder process (1200). A pad arrangement (100) is formed including two opposite pads (108), each pad (108) occupying a tri-oval-shaped area. The tri-oval-shaped area includes an elliptical area (110) substantially centered under the bottom portion (704) of the corresponding termination of the component (402) when the component (402) is aligned with the pad arrangement (100), and an arcuate area (112) contiguous with the elliptical area (110) and extending towards the opposite pad (108) in a central lengthwise direction. A solder paste (202) is applied to the elliptical area (110), and thereafter reflowed, whereby solder (302) in the solder paste (202) liquefies and flows onto the arcuate area (112), thereby facilitating alignment of the component (402) with the pad arrangement (100).

There are many well-known methods of mounting electronic components to a substrate. One method is the conventional "reflow soldering" process used for attaching terminations of surface mount components. In the conventional reflow soldering process the terminations of the surface mount components have a thin pre-tin solder coating and are attached during a manufacturing process to rectangular mounting pads etched onto a substrate. The process comprises printing a solder paste through a stencil having apertures matching the size and location of the mounting pads, placing the surface mount component terminations on top of the solder paste in alignment with the mounting pads therefor, and passing the substrate and surface mount components through a reflow solder oven for heating the pre-tin solder coating and solder paste to a liquefied state to attach the terminations to the mounting pads.
Disadvantageously, during the conventional reflow soldering process, termination attachment defects occur because the terminations of the surface mount components do not always remain aligned with the mounting pads. Errors in initial placement of the surface mount components, vibrations from equipment used to move the substrate through a manufacturing area, and general handling also can cause misalignment. Unfortunately, the mounting pads used in the conventional process are only partially effective in correcting any misalignment that occurs.
The trend of electronic devices, such as selective call receivers, towards smaller sizes requiring micro-miniature components tends to increase defect rates even further in the conventional reflow soldering process. This is because the defect rate due to misalignment increases as the terminations, mounting pads, and alignment tolerances become more critical.
Thus, what is needed is a better way of mounting surface mount components to corresponding mounting pads on a substrate. A method and apparatus that can minimize component misalignment and reduce attachment defects on microminiature components is highly desired.

Method and apparatus for aligning and attaching a surface mount component


Embodiments of methods and devices are disclosed for enabling network devices to join a network. These embodiments generally include a first network device, which is joined to the network, sending authentication information. If the authentication information is determined as valid by a second network device, the second network device sends a join request toward the first network device. During or after the joining process, the first and second network devices can share scheduling information. These embodiments enable a network to have additional security while consuming low amounts of power.

Modern networks can comprise a variety of devices, which may be connected in a variety of ways. A network can be, for example, centralized or ad hoc. In the latter case, each networked device, or node, can act as a router to forward data from other nodes, in addition to communicating its own data.
These wireless networks, however, have their limitations. For example, wireless connections are vulnerable to security breaches, such as replay attacks. Additionally, wireless devices powered by batteries may require frequent battery changes due to the high power cost of wireless data transmission. Because of security and maintenance issues, among other things, ad hoc wireless networks have may not be used in various applications for which the networks might otherwise be suitable.

Low power wireless network for transportation and logistics


A method of detecting a fault of an electromagnetically-actuated intake/exhaust valve is disclosed. A valve body is supported in neutral position by the energizing force of an elastic member, and the electromagnetic force generated by supplying a current to the coils arranged on the two sides of a plunger is applied to the plunger thereby to operate the valve. A fault is detected based on a change of the current flowing in one coil attracting and holding the plunger with the inductance change of the same coil when the plunger is switched from the position of the same coil to the position of the other coil. This method improves the fault detection accuracy for the electromagnetically-actuated intake/exhaust valve over the prior art.

1. Field of the Invention
The present invention relates to an electromagnetically-actuated valve used as a fuel intake or exhaust emission valve of an internal combustion engines, or more in particular to a method of detecting a fault in such an electromagnetically-actuated valve.
2. Description of the Related Art
The conventional intake/exhaust valve of an internal combustion engine is generally operated by a camshaft driven based on the rotation of a crankshaft. In order to achieve an optimum valve operation time in accordance with the operating conditions and thereby improve the performance of the internal combustion engine, various variable mechanisms for the valve gear system including a two-stage switching system (on/off control system) and a continuously variable system have been developed for practical applications. Some of these variable mechanisms displace the rotational phase of the camshaft and others comprise a plurality of cam profiles of the camshaft.
With the above-mentioned intake/exhaust valves driven by the camshaft, however, all of the valve lift, the valve-open time length and the valve operation timing cannot be set independently and arbitrarily. In an effort to meet the demand for a higher performance of internal combustion engines in recent years, a research effort has vigorously been made to develop an electromagnetically-actuated valve gear system in which these parameters can be set to an ideal value in accordance with the operating conditions.
For example, JP-A-61-250309 (corresponding to U.S. Pat. No. 4,823,825) describes an electromagnetically-actuated valve having a structure in which a valve body supported at the neutral position by an energizing force of a pair of springs is moved from the neutral position to full open or full close position by exerting the electromagnetic force on a plunger coupled to the valve body. The same patent especially discloses a method of detecting a fault of this type of valve. The fault detection method comprises the steps of monitoring the change in the current flowing in a coil when power is supplied to the electromagnetically-actuated valve, deciding that the valve operates normally when the current decreases during a predetermined period, and a deciding that the valve operation is faulty when the current does not decrease during such a period.
The reason of the current decrease is described below. The magnetic flux, i.e., the circuit inductance, is inversely proportional to the square of the distance between the plunger and the core of the electromagnet, and theoretically suddenly increases immediately before the plunger touches the core. With an increase in the magnetic flux, the counter electromotive force e increases according to the formula EQU e=-d.psi./dt=-N(d.PHI./dt)=-L(di/dt) EQU .psi.=N.PHI.
where .psi. is the number of flux interlinkages, .PHI. is the magnetic flux, N is the number of turns, L is the inductance, i is the current and t is the time. The source voltage thus is substantially offset by the counter electromotive force and is not substantially used for supplying current, resulting in a decreased current.
This phenomenon, however, does not always occur. Depending on the hardware configuration including the material and geometry, for example, the magnetic fluxes may saturate at an early time. In such a case, even if the plunger is normally attracted to the core, the current may not decrease. Also, in the final positional control operation for decreasing the current immediately before the plunger almost touches the core, the current may not decrease.

Method of detecting fault in electromagnetically-actuated intake or exhaust valve


Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing data on in a storage medium. In one aspect, a method includes receiving a key-value pair including a key k and a value v. The method further includes encoding the key-value pair as (i) a first key-value pair including a first key k1 and first value v1, and (ii) a second key-value pair including a second key k2. The method further includes inserting the first key-value pair and the second key-value pair in a trie.

Computing devices use data structures to efficiently store and access data. Different data structures may be better at handling large amounts of data, accessing data, or minimizing storage space. Some data structures are a collection of key-value pairs where the computing device uses the key to access one or more values that correspond to the key.
A multimap is a data structure that stores key-value pairs. The data type for each key and value can vary according to the type of multimap, but can include strings and integers. Each key can map to more than one value. For example, the key "chocolate" can map to both "cake" and "pudding" such that the multimap will return both values "cake" and "pudding" when given the key "chocolate."
A trie is a data structure that stores key-value pairs. In a trie, the keys and the values can be strings or integers, and each key can only map to one value. Some tries, such as the ones discussed in this application, may limit the values to integers. A trie is tree structure such that a root node is linked to a number of nodes and each of those nodes can link to other nodes. Linked nodes contain keys. Nodes can also link to leaves. A leaf is a type of node that contains a value that corresponds to a key. Leaves do not link to additional nodes. Each node contains one character, and each leaf contains an integer. For example, to access the value for the key "chocolate," a computing device traverses the nodes of the trie that contain the letters "c," "h," "o," "c," "o," "l," "a," "t," and "e." The node "e" links to the leaf that contains the value for "386" which is the value for the key "chocolate."


A method and a system for ranking candidates in an input method are provided. The method comprises: receiving an initial key code string inputted by a user using an input method; for each character in the initial key code string, obtaining a weight of the character and weights of characters surrounding the character, and establishing a key code string weight list with a corresponding hierarchy according to a character input order. The method further comprises: when character combinations are obtained from a dictionary, according to a correspondence relationship between a hierarchy in the input method dictionary and the hierarchy in the key code string weight list, determining weights of the character combinations using the key code string weight list; and based on the weights of the character combinations, ranking candidates corresponding to the character combinations.

With the rapid development of terminal devices and technologies, the users can, based on information transmission manners, use mobile terminals to realize various functionalities, such as the record of literal information and usage of communication software. In usage of mobile terminals, input of the literal information using the input method and the virtual keyboard on the mobile terminals is one of the most commonly used functionalities of the mobile terminals. However, due to the limitations on the size of the screen of a mobile terminal, when a user inputs literal information using the virtual keyboard displayed on the screen of the mobile terminal, erroneous input may often occur because the user's finger may press key(s) surrounding the target key.
Currently, in order to solve the above issue, mobile terminals having a large screen may be used, or Jiugongge keyboards (square nine key keyboards) may be used, so that the area of each key on the keyboard is enlarged. However, the keys on the Jiugongge keyboard are not suitable for all input methods, and steps for users to select input candidates are increased when the Jiugongge keyboards are used, which results in reduced input efficiency of characters.

Method and system for ranking candidates in input method

BEIJING XINMEI HUTONG TECHNOLOGY CO., LTD


Game chair apparatus includes a seat which is adjustable height wise for accommodating users of different sizes. The chair apparatus includes a movable plate to which is secured a joy stick and which is movable by the user of the seat to provide multiple outputs in response to the mechanical movement of the joy stick. In addition, the joy stick includes trigger elements for providing desired output signals for playing electronic games to which the chair apparatus may be connected.

1. Field of the Invention
This invention relates to chair apparatus and, more particularly, to chair apparatus usable for playing games which require movement of portions of the chair.
2. Description of the Prior Art
U.S. Pat. No. 113,342 (Postavka) discloses an adjustable seat with a screw threaded shaft adjusting the height of the seat. The legs of the seat are in a sort of an x configuration, and adjusting the screw varies the height of the seat by adjusting the distance between the legs. That is, the angle between the legs in the x configuration is increased or decreased to adjust the height of the seat.
U.S. Pat. No. 3,077,038 (Williams et al) discloses a fixed chair secured to a console with a built in television or other type of monitoring system. The apparatus is designed for instructional purposes.
U.S. Pat. No. 3,623,766 (Funk) discloses a chair apparatus in which a seat is secured to two members that are in turn pivotly secured together. There are different elements that are also secured to the two leg members. The apparatus is identified as a chair usable be a fisherman, and included among the elements secured to the two members are holders for the handle end of a fishing rod.
U.S. Pat. No. 4,015,778 (Chen et al) discloses a folding chair in which legs are secured together and are relatively adjustable. The legs are made of members which have the "x" configuration or relationship and the members may be folded as desired, for storage and transportation.
U.S. Pat. No. 4,917,341 (Pirchio) discloses a pair of members pivotly secured together for supporting a musical keyboard. Again, the "x" configuration is used for the two members, with the members being secured together and the spreading apart of the members varies the height at which the keyboard may be disposed.
U.S. Pat. No. 4,925,240 (Peters) discloses a chair system which comprises a personal computer desk. Different elements are involved, but the basic chair is a fixed chair, with a desk top secured to the chair for supporting a personal computer.
U.S. Pat. No. 5,056,864 (Cooper) discloses a chair combined with a video display terminal and a keyboard, again, for a personal computer. The chair is pivotable or adjustable, and the video display terminal and the keyboard are similarly adjustable. There is a fixed base, and the various elements are adjustable relative to the base and to each other for the comfort or convenience of the user of the apparatus. The apparatus is defined as a computer work station system.
As will be understood, the prior art chair apparatus discussed above utilized various elements in connection with chairs of some type or supports of some type in which various elements are adjustable relative to either apparatus to be supported or to various elements which are involved in the system itself. The apparatus of the present invention provides chair apparatus which is usable for a different purpose from any of the purposes for which the above described apparatus have been designed. Accordingly, there are structural differences which allow the apparatus to carry out their purpose for which it was designed.


Refrigeration units and door systems for refrigeration units are provided. A door system for a refrigeration unit includes an outer frame and at least two sliding doors having the same size. Each door can include inner, outer, upper and lower sides that can have side outer surfaces presenting a seal profile that permits each door to seal when in a closed position. Each door can include pins extending outward from side outer surfaces of the upper and lower sides. The door system can include two parallel running rails within the outer frame. Each rail can include an upper sliding groove in which the pins of the sliding door run when the sliding doors move to an open position and a plurality of seating grooves that open up to the upper sliding grooves and extend downward from the upper sliding grooves in which the sliding doors reside in a closed position.

Multitudes of individual coolers have been designed for the sale of ice cream. The purpose of these coolers is to have the ice cream product within the cooler cooled to a temperature that is below the ambient temperature surrounding the outside of cooler to obtain and maintain a product that will be cool and flavorful at serving.
Several types of refrigerators have been developed, which have different sized sliding doors that run over and about gutters that are overlapped and thus avoid or prevent heat input into the refrigerator. These sliding doors comprise a frame with glass to allow a perspective customer to see inside the refrigerator to view the content inside the refrigerator.
Generally, the sliding doors of refrigerators come in two sizes, one larger than the other to provide an overlap of the doors. However, for every such refrigerator, one door is larger than the other which can allow the doors to permit heat to enter the refrigerated area of the refrigerator due to the overlap which can be hard to seal. A need exists for sliding doors having one size that can be better aligned so as to achieve the proper tightness.