In accordance with one embodiment, additions to the standard computer microprocessor architecture hardware are disclosed comprising novel page table entry fields 015 062, special registers 021 022, instructions for modifying these fields 120 122 and registers 124 126, and hardware-implemented 038 runtime checks and operations involving these fields and registers. More specifically, in the above embodiment of a Hard Object system, there is additional meta-data 061 in each page table entry beyond what it commonly holds, and each time a data load or store is issued from the CPU, and the virtual address 032 translated to the physical address 034, the Hard Object system uses its additional PTE meta-data 061 to perform memory access checks additional to those done in current systems. Together with changes to software, these access checks can be arranged carefully to provide more fine-grain access control for data than do current systems.

Concise references to prior art are tabulated and set forth in the "References" section below. For ease of readability, the system disclosed herein is hereinafter referred to as "Hard Object".
Engineers who build machines made of atoms (rather than of software) rely on locality of causality to make machines mostly safe in the presence of failure or attacks: cars have a firewall between the engine and the driver; houses have walls and a lockable door between the inside and the outside. However, computer hardware engineers have worked very hard to eliminate all locality of causality within a computer: that is, on a modern computer, within any given process, any instruction can access any data in the entire address space of the process. Hardware engineers did this because giving the software engineers freedom to use any instruction to access any data makes it very easy to write programs that do what you really want; however having this much freedom also makes it very easy to write programs that do what you really do not want. Although software engineers separate programs into modules (code that exclusively maintains the invariants of its data), they lack appropriate fine-grain hardware primitives with which to efficiently implement enforcement of this separation. This state of affairs contributes to the problem that "machines made of software" (programs) tend to be much less reliable than machines made of atoms.
Software Correctness Generally
The punishing exactitude and overwhelming complexity of computer programs make the task of writing correct software almost impossible. Further, the stakes are high: we need only cite the title of a 2002 NIST study: "Software Errors Cost U.S. Economy $59.5 Billion Annually: NIST Assesses Technical Needs of Industry to Improve Software-Testing." Due to software bugs (a) organized crime controls millions of computers, (b) large infrastructural projects are delayed or fail, and (c) people even die. The problem is that one can never do enough testing to ensure program correctness—something else is badly wanted.
Programmers follow certain disciplines designed to reduce mistakes, a common one being "modularity"—a software embodiment of locality of causality mentioned above: programs are separated into parts called "modules" where each module has its own data together with code to manage it. Further, to ensure correctness, the module's code is written in such a way as to maintain certain "data invariants": properties of the module data which are always true. Some modules manage multiple instances of their data's state, each instance sometimes called an "object" and the module the "class" of the object. While this modularity discipline works well, current computer hardware systems do not protect a module within a program from any possibly errant or malicious behavior of other modules that may violate the module's boundaries; see FIGS. 1 and 2 for examples of one module 017 attacking the data of another 012. Therefore all modules are vulnerable to the threat of a single mistake, or a deliberate attack, from any one module: the correctness of the whole program is extremely brittle.
Modern Computers Generally
Modern microprocessors are organized in a fairly standard way. A very readable and thorough reference on this topic is Randal E. Bryant and David R. O'Hallaron "Computer Systems: A Programmer's Perspective" Prentice Hall 2003. At a high level of abstraction, a single-core microprocessor consists of a central processing unit 031, a random access memory 035, and peripherals 187 189 18A 18B.
The "central processing unit" (CPU) performs one of a fixed set of actions one after another according to the instructions of a program, much as a very reliable, tireless, obedient, and utterly unimaginative person might theoretically follow a detailed set of instructions. The CPU has a small amount of scratch space called "registers"; typically there are on the order of 100 or fewer registers to a CPU.
The "random access memory" (RAM) is a passive device which maps (1) an "address" to (2) a "datum" stored in a cell at that address, much as cubbyholes on a wall map each cubbyhole's number to the cubbyhole's contents. The CPU may either (1) write information to or (2) read information from a memory cell at a given address. While RAM size is also fixed, it is typically on the order of a billion (1 Gigabyte) cells.
The computer's CPU/RAM core is also connected to "peripherals": external devices enabling interaction with the outside world, such as disk drives, displays, keyboards, mice, etc. To allow a program to interact with these devices, the hardware has either (1) special instructions for sending data to or receiving data from them, or (2) "memory-mapped I/O": special RAM cells repurposed by the hardware such that writing or reading from these cells interacts with the device (rather than storing the data, as RAM cells would usually do).
A computer is typically designed to move several bits around together in a block, often called a "word". A computer is characterized by the number of bits in its word, its "word size", much as an engine is characterized by the total volume of its cylinders. Typical modern computers have 32-bit or 64-bit words. For specificity we speak of a 32-bit machine but nothing prevents the same ideas from application to machines of other word sizes.
Software
Information stored in RAM cells can be interpreted as either "data" or as "program", as follows. There is one special CPU register called the "program counter" (PC) which contains an index into RAM where the next instruction to be followed by the CPU is held. The operation of the computer typically works as follows to "execute" a program:
(1) load the contents of the RAM cell pointed to by the PC,
(2) follow that instruction,
(3) increment the PC (unless the instruction set it to a new value),
(4) repeat.
Instructions are typically of one of the following kinds: (a) a data "access", which is either a "read" (or "load") of data from RAM into a CPU register, or a "write" (or "store") of data from a CPU register into RAM, (b) a logical, fixed-point-arithmetic, or floating-point-arithmetic operation on two registers, or (c) a "branch" which sets the PC to a new value, sometimes only if a certain register has a certain value.
Writing and maintaining programs at the low abstraction level of these very small steps tends to be tedious, error prone, and mind-numbing. Therefore, programs are typically written in higher-level "programming languages" providing more useful constructs with which to construct programs. One of the most useful constructs is the "function": a re-usable sub-program; a function has an "interface" specifying the format and meaning of data "argument(s)" passed as input and "return value(s)" obtained as output. Programs written in these higher-level languages are translated into executable machine instructions by a special program called a "compiler".
Multi-Processing and the Kernel
A "multi-processing" computer can run more than one program at once, where each instance of a running program is called a "process". Special software called the "kernel" runs in a special CPU mode called "kernel mode" which gives it extra powers over normal "user mode". The kernel uses these powers to manage processes, such as putting them to "sleep" when a resource is requested and "waking" them up again when that resource is available.
Much like a city government, the kernel (mayor) coordinates with further special "software libraries" and "utility programs" (public servants) to: (a) provide commonly-needed but often messy utility services for the processes (citizens), such as interfacing to a particular kind of disk drive, and (b) protect the processes from each other (more on this below). Taken together the kernel and these utility libraries and programs are called the "operating system" (OS) (the city government in our metaphor). Users ask for services using a special hardware instruction called a "system call" or "kernel crossing".
Whereas the kernel, just like a government, is the only agent with the power to take certain special actions, the kernel can take actions at the request of user processes if it determines that the user is allowed to take the action. That is, the hardware will allow certain operations only when in kernel mode, however these operations may be "wrapped" with a system call to allow the user to request the kernel to do the operation.
Further it is important to note that, just as in real life, asking the government to do something for you is slow; that is, for a user program to do a system call/kernel crossing is much slower than for a user function to simply call another user function. Therefore reducing the number of kernel calls in a program is an important efficiency concern.
Memory Management Generally
A program that needs only a fixed amount of memory during its run can allocate all of that state in one place at the start; such state is called "global" state (it is globally associated with the whole program) and is the first of three separate parts into which a process's memory is organized.
A particular function of a program needs its own local memory, called its "frame". A "caller" function, ƒ, may invoke a "callee" function, g, to solve a sub-problem; during the execution of g, the execution of ƒ is suspended. The frame of memory for the execution of g is allocated immediately below (typically) that of ƒ, and when g is done, the memory that was g's frame may be re-used by a later call. That is, the frames "push" on and "pop" off, like a stack of plates, and so this second part of memory is called the "stack" 200. Note that since each function call has its own frame, a function ƒ may even call itself and the operation of the two instances of ƒ do not mutually interfere.
Sometimes a program requires "long term" data structures that also do not fit into the fixed-sized global state. The heap is managed by a system "memory allocator" library to which a program make make a request to have a specific amount of contiguous addresses or "space" reserved or "allocated" for a particular use. The library finds some available unused space and returns its initial address called a "pointer to" the space. Once in use for a specific purpose the space is typically called an "object". When an object is no longer needed it can be "deleted" or "freed" for re-use by making a different call to the same memory allocator library. This third part of memory where such objects are allocated and freed has no simple organizational structure and is called the "heap" 010.
Virtual Memory
A problem arises in that there is sometimes not enough physical memory to store all of the data of all of the running processes. The usual solution is a scheme called "virtual memory". Quoting [BO-2003, section 10.1 "Physical and Virtual Addressing"] (Note that any and all editing is in square brackets; emphasis of non-square-bracket text is in the original):                [M]odern processors designed for general-purpose computing use a form of addressing known as virtual addressing. (See figure [3a] [which is a copy of [BO-2003, FIG. 10.2]]. With virtual addressing, the CPU accesses main memory by generating a virtual address (VA), which is converted to the appropriate physical address before being sent to the memory. The task of converting a virtual address to a physical one is known as address translation . . . . Dedicated hardware on the CPU chip called the memory management unit (MMU) translates virtual addresses on the fly, using a look-up table stored in main memory whose contents are managed by the operating system.The Memory Hierarchy
Thus the MMU 033, in cooperation with the operating system, stores some of the data from virtual RAM on physical RAM 035 and the rest on an external disk drive 046. Any process requesting access to data that is actually on disk is paused, the data is brought in (often requiring other data to be sent out), and then the process re-started. To support this feature, memory is grouped into "pages" that are moved in and out as a whole. Pages may be of different sizes, but in current practice 4-kilobytes is typical and for specificity we speak of this as the page size, though other sizes will work. The external device that stores the pages that are not in RAM is called the "swap" device 185.
We can see at this point that there are many kinds of memory, some with fast access and small capacity, some with slow access and large capacity, and combinations in between. These kinds of memory are arranged in "layers", the fast/small layers used when possible and the slow/large layers used when necessary, as follows. (1) Most CPU instructions use CPU registers, access to which is very fast. (2) When the registers are full, the program resorts to using RAM, which is slower, but much larger. RAM actually has at least two layers: (2.1) small amounts of fast memory where frequently-used RAM address/data pairs are stored called the "cache", and (2.2) normal RAM. Moving data between the cache and RAM is handled by the hardware. (3) As described above, when RAM is full, the operating system resorts to using a swap disk, which has huge capacity but is far slower still. This whole system is called the "memory hierarchy".
Page Tables and Page Meta-Data
The MMU and/or OS clearly must track which virtual pages map to which physical pages or disk blocks. That is, for each page of data, further "meta-data" (data about data) is kept. Quoting [BO-2003, section 10.3.2 "Page Tables"]:                FIG. [4] [which is a copy of [BO-2003, FIG. 10.4]] shows the basic organization of a page table. A page table is an array of page table entries (PTEs). Each page in the virtual address space has a PTE at a fixed offset in the page table. For our purposes, we will assume that each PTE consists of a valid bit and an n-bit address field. The valid bit indicates whether the virtual page is currently cached in DRAM. If the valid bit is set, the address field indicates the start of the corresponding physical page in DRAM where the virtual page is cached. If the valid bit is not set, then a null address indicates that the virtual page has not yet been allocated. Otherwise, the address points to the start of the virtual page on disk.        The example in FIG. [4] shows a page table for a system with 8 virtual pages and 4 physical pages. Two virtual pages (VP 1, VP2, VP4, and VP7) are currently cached in DRAM. Two pages (VP 0 and VP 5) have not yet been allocated, and the rest (VP 3 and VP 6) have been allocated but are not currently cached.Process Address Spaces
Another problem arises in that if all of these application processes use the same RAM it is difficult for them to cooperate in such a way as to not write on each other's data. The virtual-memory solution is for the operating system and hardware to present an illusion (or abstraction) that each process is the only process running on the computer and has all of RAM to itself; this abstracted RAM is the process's "(virtual) address space". Quoting [BO-2003, section 10.4 "VM as a Tool for Memory Management"]:                To this point, we have assumed a single page table that maps a single virtual address space to the physical address space. In fact, operating systems provide a separate page table, and thus a separate virtual address space, for each process.
Note however that sometimes multiple "lightweight processes" or "threads" are run in the same address space even on a machine that also runs processes in separate address spaces. One common design is that the kernel/operating system also manages these threads and another design is that user-mode (not kernel) "thread manager" software within a process manages them.
Memory Protection
Virtual memory thus prevents processes from accidentally or deliberately overwriting each other's data or that of the operating system itself. This protection aspect of virtual memory has become quite important. Quoting [BO-2003, section 10.5 "VM as a Tool for Memory Protection"]:                Any modern computer system must provide the means for the operating system to control access to the memory system. A user process should not be allowed to modify its read-only text section [that is, its executable program code]. Nor should it be allowed to read or modify any of the code and data structures in the kernel. It should not be allowed to read or write the private memory of other processes, and it should not be allowed to modify any virtual pages that are shared with other processes, unless all parties explicitly allow it (via calls to explicit interprocess communication system calls).        As we have seen, providing separate virtual address spaces makes it easy to isolate the private memories of different processes. But the address translation mechanism can be extended in a natural way to provide even finer access control. Since the address translation hardware reads a PTE each time the CPU generates an address, it is straightforward to control access to the contents of a virtual page by adding some additional permission bits to the PTE. FIG. [5] [which is a copy of [BO-2003, FIG. 10.11]] shows the general idea.        In this example, we have added three permission bits to each PTE. The SUP bit indicates whether processes must be running in kernel (supervisor) mode to access the page. Processes running in kernel mode can access pages for which SUP is 0. The READ and WRITE bits control read and write access to the page. For example, if process i is running in user mode, then it has permission to read VP 0 and to read or write VP 1. However, it is not allowed to access VP 2.        If an instruction violates these permissions, then the CPU triggers a general protection fault that transfers control to an exception handler in the kernel. Unix shells typically report this exception as a "segmentation fault".
As you can see, prior art systems usually partition pages into (a) "text" (or executable program code) and (b) "data". After the program has been loaded into memory, text pages are marked to be executable and read-only by setting the permissions bits in the page table; similarly data pages are usually marked to be non-executable and read-write, though read-only data is possible.

Hard object: hardware protection for software objects


A method and system for resolving contentions among passive identification tags. A reader may divide a possible range of tag values into a number of smaller ranges. For each smaller range, the reader may then poll the tags to determine which tags have tag values that fall within the smaller range. If more than one tag responds simultaneously, then the reader may further divide the smaller range into even smaller ranges and poll the tags with respect to those even smaller ranges. Once the range partition gets small enough, the reader may then opt to poll the tags for a match of each possible value in the range, rather than partitioning further. This arrangement enables the reader to efficiently identify tags, by quickly eliminating from analysis any range of tag values to which no tags match or only one tag matches.

The present invention relates to a field of radio frequency tag identification. More specifically, the present invention relates to a method for resolving contention in identification of a plurality of radio frequency tags.
The object of any Radio Frequency Identifications (xe2x80x9cRF IDxe2x80x9d) system is to carry data in suitable transponders, generally known as tags, and to retrieve data, by machine-readable means, at a suitable time and place to satisfy particular application needs. The word xe2x80x9ctransponderxe2x80x9d, derived from TRANSmitter/resPONDER, reveals the function of a tag, which usually responds to a transmitted request or a communicated request for data it carries. The data in the tag may provide identification information for an item, a location, an identity of a vehicle, an animal, a person or other information.
Radio frequency identification systems are typically categorized as either xe2x80x9cactivexe2x80x9d or xe2x80x9cpassivexe2x80x9d. In an active RF ID system, tags are powered by an internal battery, and data written into active tags may be rewritten and modified. In a passive RF ID system, tags operate without an internal power source and are usually programmed with a unique set of data that cannot be modified. A typical passive RF ID system comprises two components: an interrogator (reader) and a plurality of passive tags. The main component of every passive RF ID system is a plurality of information carrying tags that respond to a coded RF signals that are typically sent from the reader.
A passive tag typically includes an antenna and a semiconductor chip comprising radio frequency (xe2x80x9cRFxe2x80x9d) circuitry, logic and a non-volatile memory unit. Further, a time-varying electromagnetic RF signal (carrier signal) that is typically transmitted by a reader located at a base station energizes the passive tag. The reader usually comprises a microcontroller-based unit with a wound output coil and detector hardware. In a typical configuration, in addition to the reader, the base station comprises an antenna, an RF transmitter and an RF receiver. The reader may issue commands to the RF transmitter and receive commands from the RF receiver. The commands may serve to identify a plurality of tags present in a reader""s field of view. The size of the reader""s field of view depends primarily on a power level of the RF signal transmitted from the reader.
The RF transmitter at the base station may, for instance, encode a command from the reader, modulate the command to a radio frequency signal and, then, pass it to the antenna located at the base station. The RF receiver at the base station may receive, demodulate and pass to the reader return signals from the plurality of RF tags in the reader""s field of view.
As known in the art, a passive tag is not a transmitter, yet a bi-directional communication is taking place in passive RF ID systems. The passive tag may employ a process called a backscatter modulation to send data to a reader. In a typical system, the reader continuously generates an RF carrier sine wave and senses for occurrences of a modulation, which would indicate a presence of a tag in a reader""s field of view. When a tag enters the reader""s field of view and, further, receives sufficient energy to operate, the tag typically divides down the RF carrier sine wave and, subsequently, starts clocking out identification data from a non-volatile memory unit, such as programmable registers.
The tag may clock out the identification data to an output transistor, which is typically connected to the tag""s input coils. Consequently, the tag""s output transistor may sequentially shunt the coil correspondingly to data that is clocked out from the non-volatile memory unit. Shunting the coil causes a momentary fluctuation of the carrier wave, which results in a slight change in an amplitude of the carrier wave and, thus, the reader may peak-detect the amplitude-modulated data and process the resulting bitstream according to encoding and modulation methods used in a particular RF ID system. This amplitude-modulation loading of the reader""s transmitted field provides a communication path back to the reader.
In a modem business, maintaining an accurate inventory of merchandise is crucial. For instance, in a rental video store, a tag could be attached to each video tape in the video store, and one or more readers could then be used to maintain an inventory of video tapes. Further, it is often crucial to quickly determine what tags are in a given area.
There are many procedures that readers in RF ID systems may use to verify identification of a plurality of tags in readers"" fields of view. In this regard, each tag in a reader""s field of view may have an associated identification value that is stored cooperatively in a number of identification registers on the tag. Typically, for example, a tag may have a 36-bit identification value that is stored in three 12-bit identification registers. Further, each tag may have a corresponding set of counters (i.e., typically, three 12-bit counters) that can be controlled by carrier signals sent from a reader. A reader may send RF instruction signals to the tags in its field of view, which may cause actions to be taken with respect to the tags"" counters and identification registers, so as to, in turn, modify the RF carrier and indicate the presence of the tags. One such instruction, for instance, may be an initialize instruction, which causes a recipient-tag to initialize a specified counter or counters. Another such instruction, for instance, may be an increment instruction, which causes a recipient-tag to increment a specified counter or counters.
According to one of the commonly used procedures for tag identification, a reader may first send an initialization instruction signal out to any tags in its field of view, directing the tags to initialize their first counters to zero. The reader may then sequentially transmit increment instructions to the tags, causing the tags to sequentially increment their first counters. Given 12 bits per register, in a typical arrangement, the reader may thus send out 4095 increment instructions.
When a count on the first counter of a tag matches a coded identification value on the tag""s associated first identification register, the tag may then be arranged to respond to the reader by shifting out its complete identification value from all of its identification registers, thereby modifying the RF carrier to indicate the presence of the tag. Further, the tag may also shift out additional bits, such as a checksum (e.g., an 8-bit checksum), for instance. In this manner, if only one tag responds to the reader, the reader may properly detect that tag""s identification and conclude that the tag is present.
However, this approach can suffer from a problem known as a contention. Contention occurs when more than one tag selects the same time slot for transmission of an identification coded value. This can occur in the process described above, for instance, if more than one tag""s first counter matches the coded value in its first identification register. As a result, more than one tag will responsively send their full identification values and checksums to the reader. When is contention occurs, the reader is simultaneously bombarded with more than one tag""s identification code and checksum in the same time slots. From the reader""s perspective, a single identification code and checksum arrives, but the checksum will not be correct. Consequently, the reader will not be able to correctly detect the identification of each responding tag.
If contention occurs in the process above, according to common practice (known as the xe2x80x9cpartial readxe2x80x9d method), the reader may keep the first counters of the tags in the field of view at the contending count (i.e., by not further incrementing the first counters) and may initiate counting on the second counters of the tags in the reader""s field of view. In turn, when (i) the first contending count matches the tag""s first identification register and (ii) a count on the tag""s second counter matches the tag""s second identification register, the tag may be arranged to respond to the reader by shifting out its complete identification value from all of its identification registers. If a contention then occurs with respect to the second counters, the reader may then similarly use the remaining counter(s) of the tags to resolve the contention. In this manner, the reader may detect identification data of all tags in the reader""s field of view.
While the partial read method provides a mechanism for resolving a contention that occurs between a plurality of tags in a reader""s field of view, the method is not particularly efficient. For example, the method can take a long time to gather all identification information of the tags in the reader""s field of view. In particular, for instance, if two tags in the field of view have the respective identification codes 4095:4095:4094 and 4095:4095:4095 (encoded in their respective three 12-bit registers), the reader may be forced to increment entirely through all three counters resolving the contention. That would mean that the tags would have to increment 212+212+212 counts on three counters associated with the registers. For applications that require quick reading of tag identification values, this amount of work is undesirable.
An exemplary embodiment of the present invention provides a more efficient method of contention resolution, employing a sort of tree-splitting algorithm. Generally speaking, for each counter for instance, the reader may first check to see whether the tags in its field of view have identification codes falling within a given range of values. If only one does, or if none do, then the reader is done with respect to that counter.
If more than one does, then the reader may repeatedly divide and test the specified range until there is no contention or until the range reaches a predetermined limit (e.g., if it gets too small). In particular, for instance, the reader may split the range in half (or in some other number of range segments) and, with respect to each half, may check to see whether the tags in its field of view have identification codes that match that half. With respect to each half in which the reader discovers a contention, the reader may in turn split the half in two again and repeat the process. In this way, the reader can quickly eliminate large sections of the counter if no tags exist in those sections.
For example, a reader may send to a plurality of tags a range-instruction signal that indicates a specified range of values of the first identification register. The instruction signal may instruct the tags to respond (i.e., to clock out their full identification values onto the RF carrier) if the value in their first identification register falls within the specified range. Each tag may thus have logic arranged to determine whether a value on a given identification register is within a specified range and, if so, to responsively transmit its identification code and a checksum.
If the reader detects an identification code and a correct checksum, the reader may conclude that only one tag has an identification value falling within the specified range. Similarly, if the reader receives no response, the reader may conclude that no tag has an identification value falling within the specified range. In either case, the reader may then proceed to perform the same process with respect to the other identification registers as well.
If a contention occurs, however, the reader may split the specified range in half, so as to produce two range segments, a lower segment and a higher segment. With respect to each range segment, the reader may then send a new range-instruction signal, indicating the range segment as the specified range. If the reader receives no response for a given range segment, the reader may efficiently eliminate that entire range segment from further consideration, focusing instead on the other range segment(s).
Each register or group of registers can be analyzed in up to any number of sub-segments. In the exemplary embodiment, for instance, each 12-bit register can be analyzed in 8 range segments each of 512 counts. With this arrangement, the reader may first check two range segments [0 to 2047] and [2048 to 4095]. In response to a contention in the range segment [0 to 2047], the reader may check the two range segments [0 to 1023] and [1024 to 2047]; and, in response to a contention in the range [2048 to 4095] the reader may then check the two range segments [2048 to 3071] and [3072 to 4095]. Continuing in this way, the reader may ultimately check the following eight range segments: [0 to 511], [512 to 1023], [1024 to 1535], [1536 to 2047], [2048 to 2559], [2560 to 3071], [3072 to 3583], and [3584 to 4095].
If the reader still has a contention in a given range segment, the reader may more readily perform the partial read method described above within the minimum sized range segment, for instance, in an effort to identify the tags in the range segment. In turn, if the reader still has a contention, the reader may then move on to analyze to the next identification register.
Thus, in one respect, an exemplary embodiment of the invention may take the form of a method for identifying a plurality of passive identification tags in a field of view, where each tag has a respective identification value, and each tag has a register value within a predetermined range. The method may involve first splitting the predetermined range into multiple first sub-ranges and then, for each first sub-range, requesting each tag whose register value falls within the first sub-range to communicate the tag""s identification value. In response to a determination that more than one tag has a register value within a given first sub-range, the method may then involve splitting the given first sub-range into multiple second sub-ranges and, for each second sub-range, requesting each tag whose register value falls within the second sub-range to communicate the tag""s identification value.
Still further, in response to a determination that more than one tag has a register value within a given second sub-range, the method may involve applying the partial read method to identify all tags whose register values fall within the given second sub-range. And yet further, in response to a determination that more than one tag has a register value within a given second sub-range, the method may involve splitting the given second sub-range into a plurality of third sub-ranges and, for each third sub-range, requesting each tag whose register value falls within the third sub-range to communicate the tag""s identification value.
Each tag may be a radio frequency identification tag, for instance. Further, each tag may, for instance, have several registers with a unique value permanently encoded in each register, and each tag""s identification value may then be defined as a combination of the tag""s respective register values.
In addition, the predetermined range may have a predetermined size, such as 4096 possible values (e.g., from 0 to 4095) for instance. Further, each of the multiple first sub-ranges may have a first size that is half of the predetermined size. Still further, each of the multiple second sub-ranges may have a second size that is half the first size, and each of the multiple third sub-ranges may have a third size that is half of the second size. Of course, other sizes are possible as well.
In another respect, an exemplary embodiment may take the form of a reader that is programmed to perform a method such as that described above. Alternatively, an exemplary embodiment may take the form of a passive identification system that includes a reader and a plurality of passive identification tags. Each tag may have a respective identification value, and each tag may have a register value within a predetermined range. The reader may be arranged to send a number of range-instructions to the tags, each indicating a search range. And each tag may be arranged to receive each range-instruction and to responsively determine whether the tag""s register value falls within the specified search range. With this arrangement, the reader may apply a recursive partitioning and searching method such as that described above.

Method and system for contention resolution in radio frequency identification systems


A book and cassette file system for coordinating books and companion audio transcription cassettes includes a base and a pair of book ends. Each book end includes compartments for storing audio cassettes. A base is provided for supporting the books and the book ends and various mechanisms are illustrated for preventing the book ends from being displaced laterally. A projection extends from either the base or the book end and is received in one of a plurality of receptacles for securing each book end in a desired position along the base. Optionally, a keyway is provided in the base and a key projecting from a book end is engaged in the keyway. In a further embodiment, a spring anchored to one end of a keyway formed in the base is secured at its opposite end to one of the book ends. Another spring is anchored at the other end of the base and secured to the opposite book end.

1. Field of the Invention
The present invention relates generally to books with accompanying text transcriptions on audio tapes and more particularly to a file system for storage and retrieval of books and transcription tapes.
2. Prior History
The practice of providing children's books with accompanying prerecorded audio transcriptions found its origins with the practice of parents reading to their children and was a natural outgrowth of the invention and commercialization of the phonograph. This technique has been employed on a continuing basis with children's books, for both entertainment and pedagogic purposes. It was also employed in conjunction with techniques relating to music instruction and appreciation and was well suited for the teaching of foreign languages and braille.
With the advent of magnetic audio tapes and, more particularly, with the introduction of magnetic tapes carried in standardized, easy-to-use audio cassettes, a resurgence of book and magnetic tape transcription sets has resulted.
The utilization of accompanying transcription cassettes with children's books became popular because it provided a learning experience for young children in terms of familiarizing children with books and assisted in the acquisition of basic reading skills. In addition, since the use of books with transcriptions carried on audio cassettes did not require adult supervision, they were frequently employed by parents who desired activities which did not mandate direct supervision.
The use of books with audio cassette textual transcriptions was subject to some problems, however. While the book and transcription cassette was sold as a single unit and was often carried in packaging adapted to keep the book and cassette together, such as that shown in U.S. Pat. No. 3,641,684, often children would leave the cassette in the cassette player while returning the book to its shelf or, misplaced one or the other after the book was separated from the cassette. Further, children who utilized transcription cassettes with books generally could not read and experienced difficulty in coordinating the book and its accompanying transcription cassette from a plurality of books and transcription cassettes.

c/o Assael Creative, Inc., 63 Downing St.


Because the relationship of the fuel injection quantity to a designated injection period differs in a half-lift region and a full-lift region, the purpose of the present invention is to bring the flow rate characteristics of an intermediate-lift region close to the flow rate characteristics of the full-lift region and improve the controllability of small fuel injection quantities. Provided are a peak current supply period in which a valve body of a fuel injection valve causes the magnetic force necessary for a valve-opening action to be generated, and a lift quantity adjustment period in which, after the peak current supply period, a current lower than the peak current is passed for a prescribed period; further provided is a current interrupt period in which a drive current is rapidly lowered before the lift quantity adjustment period.

Conventionally, a maximum injection quantity and a minimum injection quantity is defined as indices indicating a performance of a fuel injection valve for injecting fuel into an internal combustion engine. The quantity of fuel that a fuel injection valve can inject by keeping valve-opening of the fuel injection valve for a prescribed period (for example, one second) is defined as the maximum injection quantity. Injecting a larger injection quantity in a unit time is desired for requirement of the maximum injection quantity, and it can be addressed by increasing, as a determination factor, a setting value of a part represented by a valve-body lift quantity (moving quantity) in the fuel injection valve or a nozzle diameter provided in a distal end of the fuel injection valve. Meanwhile, the minimum injection quantity indicates the smallest injection quantity with which the fuel injection valve can stably inject, and the injection quantity is desirably required to be smaller. By the way, the injection quantity with which injection can be stably performed can be inevitably reduced by shortening a valve-opening instruction time for the fuel injection valve. However, the injection quantity varies between injection valves with identical specifications and identical driving instruction time. Therefore, the variation in the injection quantity falling within a prescribed range is set as a requirement.
In recent years, technological development for widening the range (hereinafter referred to as a dynamic range) between the maximum injection quantity and the minimum injection quantity that has been already mentioned is actively made for an electromagnetic fuel injection valve of a direct-injection internal combustion engine in particular. Particularly, so-called half-lift control in which an active fuel injection is controlled from a state where the valve body of the fuel injection valve is not fully open is catching attention for further reducing the minimum injection quantity while keeping the conventional maximum injection quantity.
For example, in the technique of PTL 1, the half-lift control is realized by improving the mechanism of the fuel injection valve such that the lift quantity of the valve body can be fixed to two levels of a high lift and a low lift and by setting a driving current of the fuel injection valve for each level.
In the technique of PTL 2, half-lift control of an electromagnetic fuel injection valve is realized by performing control to supply a valve-opening current for opening the valve body against a fuel pressure upstream of the fuel injection valve for a short period of time to start closing the valve before reaching a state where the valve body is fully open such that the lift quantity of the valve body is in a parabolic motion.

Control device for electromagnetic fuel injection valve


An acoustic conversion device includes: a driving unit including a pair of magnets disposed so as to face each other, a yoke to which the pair of magnets are attached, a coil to which driving current is supplied, a vibrating portion which vibrates when driving current is supplied to the coil, and an armature disposed between the pair of magnets with the vibrating portion passed through the coil; and a diaphragm unit including a holding frame having an opening, a resin film adhered to the holding frame in a state covering the opening of the holding frame, a diaphragm held on the inner side of the holding frame in a state adhered to the resin film, and a beam portion of which the tip portion formed integrally with the diaphragm is combined with the vibrating portion of the armature, for propagating the vibration of the vibrating portion to the diaphragm.

The present disclosure relates to a technical field regarding acoustic conversion devices, and specifically relates to a technical field for realizing improvement in workability in assembly work of a beam portion by forming the beam portion integral with a diaphragm.
There is an acoustic conversion device which serves as a small speaker having an oscillator referred to as an armature which is integrated into various types of audio output devices such as headphones, earphones, hearing aids, and so forth.
With such an acoustic conversion device, a driving unit including an armature, and a diaphragm unit including a diaphragm are housed in a storage case having an audio output hole, vibration is propagated to the diaphragm by a beam portion when a vibration portion of the armature vibrates, and the propagated vibration is output as audio (e.g., see Japanese Unexamined Patent Application Publication No. 2007-74499).


An organic light emitting diode display includes: a substrate, an insulating layer on the substrate; a plurality of pixel electrodes on the insulating layer; a pixel defining layer on the insulating layer overlapping with an end of at least one of the pixel electrodes and defining an emission region and a non-emission region; an organic emission layer on the pixel electrodes; and a common electrode on the organic emission layer, wherein the insulating layer has a plurality of concave portions in the non-emission region adjacent corresponding ones of the pixel electrodes, wherein each of the concave portions has a bottom portion and an inclined portion, and wherein a reflective surface is on at least one of the inclined portions.

An organic light emitting diode display is a self-emission display device which has one or more organic light emitting diodes that emit light to display an image. Because the organic light emitting diode display does not require a separate light source unlike a liquid crystal display, it is possible to reduce a thickness and a weight of the display device, as compared with a liquid crystal display. Further, because the organic light emitting diode display has high-quality characteristics such as low power consumption, high luminance, and a high response speed, organic light emitting diode displays have received attention as a next-generation display device for portable electronic apparatuses.
In general, an organic light emitting diode includes a hole injection electrode, an organic emission layer, and an electron injection electrode. In the organic light emitting diode, a hole supplied from the hole injection electrode and an electron supplied from the electron injection electrode are coupled with each other in the organic emission layer to form an exciton, and light is generated by energy generated when the exciton falls to a ground state. In the case of the organic light emitting diode, because self efficiency is not high, an internal resonance environment may be made in order to improve efficiency. However, in the internal resonance environment, because a path of light at the front is different, efficiency ratios of red, green, and blue are different from each other, and, as a result, a color difference (WAD) according to angles at the front and the side is generated (e.g., color shifts or brightness changes may appear based on viewing angle). In addition, because a large part of the light emitted from the organic emission layer is guided in a direction parallel to a laminated surface due to total reflection (e.g., total internal reflection) and is lost, light extraction efficiency may be low. Light extraction efficiency is a ratio of a quantity of light extracted from the diode at an observer (or viewing) side to an amount of light emitted from the emission layer, and because the organic light emitting diode has low light extraction efficiency, there is room for improvement with respect to characteristics of the display device such as luminance.
As such, various methods are being developed to improve the light efficiency by efficiently extracting the light generated in the organic emission layer and improving visibility by reducing the color difference (or color or brightness shifts)

Organic light emitting diode display and manufacturing method thereof


A test method for a memory having first and second cell arrays, first compressed data obtained by compressing output data of the first cell array and output data of the second cell array is outputted. When the first compressed data represents that a fail exists, output data of one of the first and second cell arrays is locked as normal data, and second compressed data obtained by compressing the normal data and output data of the other of the first and second cell arrays is outputted.

1. Field
Exemplary embodiments of the present invention relate to a memory and a test method for a memory.
2. Description of the Related Art
As memory devices are highly integrated, a test of memory devices is performed for a long period of time using high-priced test equipment to ensure the reliability of memory chips.
A compression test (or parallel test) that reduces testing time is used as a test for memory devices. Hereafter, the compression test will be described.
In a device test technique, performing a reliable test is important, but a high speed test may be performed for a few thousand of cells. Particularly, since the reduction in test time until products are released as well as a reduction in development time of memory devices has immediate influence on product cost, the reduction in test time serves as a very important issue in efficiency and competition between manufacturers.
In a memory device, when producing a memory chip and performing a test for each cell to decide whether cells of the memory chip pass or fail, the test time of the highly integrated memory device is long, and an increase in cost is caused.
Accordingly, the compression test is used to reduce the test time. In the compression test, the same data is written in a plurality of cells, and a read operation is subsequently performed using an exclusive OR gate or logic gate. If the same data is read in the plurality of cells, a test result is decided as '1,' i.e., pass. If another data is read in at least one of the plurality of cells, the test result is decided as '0,' i.e., memory cell that failed a test. Accordingly, the test time can be reduced.
In the parallel test, a read/write operation of data is performed by simultaneously activating a plurality of cell array regions included in the memory device. The data outputted from the plurality of cell array regions is converted into 'compressed data' through a compression process and subsequently outputted to a circuit outside of the memory device. Thus, the pass/fail of the memory device may be checked using the 'compressed data' outputted as described above.
In an embodiment where the compression test is performed, the test for the memory device may be quickly performed. However, when the memory device is decided as a memory cell that failed a test, which cell array has the fail among a plurality of cell arrays of the memory device cannot be checked.
An embodiment where data outputted in two or more cell arrays is compressed as '1-bit compressed data' will be described. When the value of the 'compressed value' is '0,' the compression test decides that a fail occurs in the two or more cell arrays. However, since the data outputted in the two or more cell arrays is compressed as the '1-bit compressed data,' the compression test cannot check which cell array has the fail from the two or more cell arrays.


When a new developer cartridge is initially mounted in an image-forming device, a toothed part of a sensor gear disposed in the cartridge is brought into meshing engagement with an agitator drive gear disposed in the image-forming device. The sensor gear is driven while its toothed part is in meshing engagement with the agitator drive gear and driving of the sensor gear is stopped when its toothless part opposes the agitator drive gear. One or more contact protrusions are formed on the sensor gear to be movable therewith. An information-detecting mechanism detects how many contact protrusions are formed on the sensor gear during driving of the sensor gear. Based on the detection results, whether the mounted developer cartridge is a new product or not is determined, and information on the maximum sheets to be printed with the mounted developer cartridge is acquired.

1. Field of the Invention
The present invention relates to an image-forming device such as a laser printer, and a developer cartridge detachably mounted in the image-forming device.
2. Description of the Related Art
In conventional laser printers, developer cartridges accommodating toner are detachably mounted therein. This type of laser printer is provided with new product detecting means for detecting whether the developer cartridge mounted in the laser printer is a new product and for determining the life of the developer cartridge from the point that the new product was detected.
For example, Japanese unexamined patent application publication No. 2000-221781 proposes a developer cartridge that is provided with a sector gear having a recessed part and a protruding part. When the new developer cartridge is mounted in the body of an electrophotographic image-forming device, the protruding part formed on the sector gear is inserted into a new product side sensor, turning the new product side sensor on. After the developer cartridge has been mounted in the body of the image-forming device, an idler gear is driven to rotate. When the idler gear begins to rotate, the sector gear also rotates, moving the protruding part from the new product side sensor to an old product side sensor. The protruding part is inserted into the old product side sensor, turning the old product side sensor on. At the same time, the idler gear arrives at the recessed part of the sector gear, and the sector gear stops rotating.
However, in the new product detecting means described in Japanese unexamined patent application publication No. 2000-221781, both a new product side sensor and an old product side sensor are essential because the protruding part is inserted either into the new product sensor for detecting a new product or the old product sensor for detecting an old product. Accordingly, this structure increases the cost and complexity of the developing device.
Further, some users have requested the freedom to select an optimum developer cartridge from a plurality of developer cartridges in different price ranges corresponding to the amount of toner accommodated therein with consideration for cost and frequency of use.
To meet this demand, developer cartridges accommodating different amounts of toner must be provided. However, since the toner accommodated in these developer cartridges has different agitation properties based on the amount of toner, rates of degradation of the toner is also different based on the amount of toner.
Under these circumstances, it is not sufficient merely to detect whether the developer cartridge is a new product since the life of the developer cartridge from this point of detection may differ according to the amount toner accommodated therein. Accordingly, the life of the developer cartridge cannot be accurately determined. As a result, a developer cartridge accommodating a small amount of toner may actually reach the end of its life before such a determination is made, resulting in a decline in image quality.

Image-forming device capable of determining information on a detachably mounted developer cartridge and developer cartridge for use therein


An audio coding device includes a time frequency transform unit that, with respect to each of a plurality of channels included in an audio signal, generates a time frequency signal indicating frequency components at each time by performing a time frequency transform on a signal of the channel; a transient detection unit that detects a transient with respect to each of the plurality of channels so as to obtain a transient detection time; a transient time correction unit that, when a difference in transient detection times between an early detection channel in which the transient detection time is earliest and a late detection channel that is a channel other than the early detection channel among the plurality of channels is within a range in which the transient; a grid determination unit that, with respect to each of the plurality of channels, and a coding unit that codes.

Hitherto, audio signal coding methods for compressing the amount of data of an audio signal have been developed. As one of such coding methods, High-Efficiency Advanced Audio Coding (HE-AAC) is known. This coding method has been standardized as MPEG-2 HE-AAC and MPEG-4 HE-AAC by the Moving Picture Experts Group (MPEG). In HE-AAC, the low frequency band (low frequency components) of an audio signal is coded in accordance with an Advanced Audio Coding (AAC) method, whereas the high frequency band (high-frequency components) of an audio signal is coded in accordance with a Spectral Band Replication (SBR) method. In the SBR method, each frame of an audio signal is divided into a plurality of time-frequency domains, and auxiliary information or the like for reproducing high-frequency components by reproducing corresponding low frequency components on the basis of the signal power within each time-frequency domain are calculated as SBR data. Then, an SBR parameter is coded. This time-frequency domain is called a grid.
In the SBR method, if the time length of a grid is too long with respect to the temporal change of an audio signal, the electric power of the audio signal is averaged in the grid, and thereby the information indicating the temporal change is lost. As a result, the reproduction sound quality of the coded audio signal deteriorates. There is a case where, in particular, as a result of sound in a certain time period being affected by sound later than that sound, sound that differs from the original sound is produced. Such a phenomenon is called a pre-echo. In Japanese National Publication of International Patent Application No. 2003-529787, a technology is disclosed in which a highly transient sound, such as attack sound, is detected with respect to each channel of an audio signal, and a grid is set so that the time resolution increases with respect to the highly transient sound. Such a transient portion of sound is called a transient.
Furthermore, in Japanese Laid-open Patent Publication No. 2006-3580, a technology has been disclosed in which when it is determined that the degree of similarity of a plurality of channels of an audio signal is high, a grouping of frequency data such that an audio signal is frequency-converted in the time direction or in the frequency direction is performed in common with respect to a plurality of channels.

Audio coding device, audio coding method, and computer-readable recording medium storing audio coding computer program


A method for making a magnetic head formed with a pair of magnetic core halves fitted to abut on each other having a nonmagnetic gap therebetween and having a slide contact plane for slide contact with a magnetic recording medium on which an end face of the nonmagnetic gap and the magnetic core halves. In the method, a nonmagnetic portion formed by filling a glass material is provided at an end portion of the slide contact plane other than the end face of the magnetic core halves on the slide contact plane.

1. Field of the Invention
The present invention relates to a magnetic head used for a magnetic tape, one of a magnetic recording medium, in a video tape recorder (VTR), for example, and a method of manufacturing the magnetic head.
2. Description of the Related Art
Along with development in digitalization in recent years, higher recording density is required in a field of magnetic recording. With regard to a magnetic head using a magnetic tape as a recording medium, those excellent in recording/reproducing performance (hereinafter, simply referred to as "head performance") in its frequency bandwidth to be used are expected. As a magnetic head suitable for realizing such a high recording density, a thin film magnetic head such as a magneto-resistive (MR) head and a bulk-type Metal-In-Gap (MIG) head have been suggested. Among these, in view of reduction in product cost, the bulk-type MIG head is widely employed.
The bulk-type MIG head is formed with, as shown in FIGS. 9A and 9B, a pair of magnetic core halves 21, each comprising a magnetic material, such as ferrite, fitted to abut on each other. A portion where the magnetic core halves 21 abut on each other functions as a magnetic gap 22. A metal magnetic film 23 comprising a ferromagnetic material, such as Sendust, is arranged only in the vicinity of the magnetic gap 22. This arrangement improves the head performance. The magnetic core halves 21 are bonded to each other with low melting glass 24 to be a single body.
For slide contact with a magnetic tape, the MIG head has a slide contact plane 25 formed to be substantially arc. One end of the magnetic gap 22, the metal magnetic thin film 23 arranged in the vicinity of the magnetic gap 22 and the pair of magnetic core halves 21 for sandwiching them is exposed on the slide contact plane 25. In addition, the MIG head has a winding opening 26 positioned substantially at the center of the pair of the magnetic core halves 21 and a coil guide notch 27 provided at an edge of each of the magnetic core halves 21. As illustrated in FIG. 10, a coil wire 28 is wound along a direction substantially parallel to the slide contact plane 25 utilizing the winding opening 26 and the coil guide notches 28.
As described above, the magnetic heads including the MIG head are expected to have excellent head performance. It is considered that improvement of the head performance can be realized by, for example, optimizing the property (such as soft magnetic property), the structure (such as plural laminated films) or the film-forming conditions (such as angle of incidence, direction of easy magnetizable axis) of the metal magnetic thin film 23 for attaining higher permissivity and higher saturation density at the magnetic core in the vicinity of the magnetic gap 22, or by adjusting a crystal direction of the magnetic core halves 21 for reducing noise signals. However, a number of factors affect each other in optimization of the metal magnetic thin film 23 and the crystal direction, a variety of studies are required in a process from development to practical application, that is, it takes quite a long time until the practical application. Accordingly, the above-mentioned ways are not always appropriate from a point of view of earlier practical application and lower production cost.
Alternately, there is another way for solving difficulties in the earlier practical application and the promotion of reduction in production cost that, for example, the number of winding of the coil wire 28 is increased so as to improve the head performance. The more the number of winding of the coil wire 28 increases, the more the recording/reproducing performance of the magnetic head is improved. However, if the number of winding of the coil wire 28 is simply increased, inductance L thereof becomes greater. This may possibly make the value of the inductance L beyond a range of its standard values (rated values).
If a volume of the magnetic core formed with the pair of magnetic core halves 21, that is the volume of the magnetic body, is reduced, increase of the inductance L is suppressed. Thus, it is possible to avoid such a disadvantage described above. However, when the reduction in volume of the magnetic body makes the outside dimension (thickness, width or the like) of the magnetic head smaller, there arise problems that mechanical strength of the magnetism core itself drops, that specification change of a drum on which the magnetic head is mounted is required, and that an area of the slide contact plane necessary for slide contact with the magnetic tape cannot be easily ensured.
In view of the problems as described above, as disclosed in Japanese Patent Application Publication Hei 6-274816, a magnetic head which has a magnetic core with a smaller volume without changing the outer shape of the magnetic head and without deteriorating mechanical strength thereof by forming the magnetic core with a bonded body comprising a magnetic ferrite and a nonmagnetic ferrite laminated thereon. According to the disclosed magnetic head, since it is possible to reduce volume of the magnetic core, increase of the inductance L is suppressed even if the number of winding the coil wire is increased. As a result, it is possible to improve the head performance while solving the problems in mechanical strength and compatibility to the conventional products.
However, in the magnetic head using the magnetic core, since the bonded body in which the nonmagnetic ferrite is laminated on the magnetic ferrite is used, a complicated bonding step in which pressurization at a high temperature (hot press) of 1000° C. or more, for example, is carried out on the magnetic ferrite and the nonmagnetic ferrite is required in addition to usual head forming steps. This makes the productivity largely drop. This may make it unfavorable in promotion of reducing production cost. In addition, since the magnetic core has a two-layer structure comprising the magnetic ferrite and the nonmagnetic ferrite laminated thereon, there is less flexibility in shaping the magnetic core and the magnetic ferrite and the nonmagnetic ferrite cannot be always arranged at appropriate positions. Furthermore, difference in thermal expansion coefficients between the magnetic ferrite and the nonmagnetic ferrite, the bonded body may have distortion or other problems.

Method of making a magnetic head with ferrite between nonmagnetic portions and a nonmagnetic gap


The invention concerns a method for increasing the dynamic measuring range of especially immunological test elements in particular immunological chromatography test strips that can be evaluated optically that are based on specific binding reactions. The invention enables the dynamic measuring range of test elements based on specific binding reagents, especially of immunological test elements to be shifted towards higher analyte concentrations without impairing the lower detection limit. For this purpose it is proposed according to the invention that at least two zones are provided in or on the test element which contain reagents that generate detectable signals of different strengths due to different affinities for the analyte (for example in the case of antibodies that have different affinities for the analyte) or due to different principles of interaction with the analyte or with other reagents involved in the analyte detection (for example antibodies directed against the analyte in one zone and an analyte analogue in another zone). The signals in the at least two zones are used to evaluate the analyte concentration-signal strength relationship and are used to determine the analyte by means of a suitable method (correlation).

The present invention relates generally to analytical test devices and, more particularly, to a method for increasing the dynamic measuring range of test elements based on specific binding reactions.
Immunological test strips are a widespread device for the rapid determination of drugs, pregnancy hormones, infectious diseases or so-called "cardiac markers" such as troponin T. In this connection qualitative tests that are read by purely visual means and often only yield a "yes-no" answer as well as quantitative tests which are evaluated by means of a reading instrument are widely used.
Rapid tests for immunologically detectable substances are known for numerous different parameters, for example from WO 97/06439, EP 0 291 194, U.S. Pat. Nos. 5,591,645, 4,861,711, 5,141,850, 6,506,612, 5,458,852, 5,073,484. In this case the immunological detection reagents (essentially labelled and unlabelled antibodies or antigens) are provided in a dry form on a support which allows the transport of a sample liquid (in particular body fluids such as blood, serum, plasma, urine, saliva, etc.) on or in the support. For this purpose the support is preferably capillary-active and is for example a membrane or a plastic support provided with capillary channels (such as, e.g., in U.S. Pat. No. 5,458,852). Among those skilled in the relevant art these are often referred to as immunological or immunochromatographic test strips or test devices. These terms as well as the term "carrier-bound immunological tests" or "carrier-bound immunological test elements" are often used synonymously and should also be interchangeable in the following.
In the case of simple systems and in particular in the case of purely qualitative analyses (where only the information "the analyte is present or not present" is of interest) such immunological test devices are often evaluated by purely visual means. This principle is now widely accepted in the market especially in the field of pregnancy tests.
(Semi)quantitative immunological rapid tests are usually evaluated with the aid of corresponding measuring instruments that are matched to the respective test strip. Different measuring principles are used depending on the type of labelling of the reagents of the test device used to detect the analyte. Optical detection methods and especially the measurement of reflectance and fluorescence are commonly used and simple to handle.
Many systems from the prior art ensure that the analyte detection zone (also abbreviated to "detection zone" in the following) and control zone are spatially narrowly delimited and arranged clearly separated from one another on the test device. For this purpose it has proven to be particularly advantageous to apply appropriate binding reagents in the form of lines or broken lines on the test device. Hence in order to evaluate the test device, spatially resolving optical systems such as for example camera chips or 2-dimensional or 3-dimensional photodiode arrays are often present in the measuring instrument for the purpose of evaluating the analyte detection zones and control zones. The signals of the optical systems are then converted by an appropriate evaluation software into concentration values and displayed.
With the immunological test devices of the prior art it is not possible to quantitatively detect any concentrations of the analyte in the sample. Towards the lower end, i.e., with regard to the lower detection limit, the measuring range is for example limited by the affinity and selectivity of the binding partners (usually antibodies) that are used and by the sensitivity of the detection optics which is limited with regard to the labels that are used. Saturation effects limit the measuring range towards the upper end, i.e., with regard to the dynamic measuring range. Thus in the case of analytes which can occur in very high concentrations in the sample, it is often not possible to provide an adequate amount of binding partner in the test device. In particular, in the analyte detection zones and control zones where the binding partners are arranged in a very restricted space on the test device, it is not possible to accommodate as much binding partner as would be desired. This can be particularly problematic in those cases in which a low detection limit for the analyte is required (and one therefore endeavors to concentrate the binding partners in the detection zone as strongly as possible, i.e., to accommodate them in a restricted space and thus due to the limited availability of binding sites on the test device only a relatively small amount of binding partner can be provided) but the analyte can be present in the sample in very variable amounts, i.e., very low as well as very high analyte concentrations can occur. At high analyte concentrations the detection zone is saturated with corresponding detection reagents resulting in a saturation behavior of the analyte concentration-detection signal relationship: The detection signal no longer increases above a certain analyte concentration, the evaluation curve levels off and can no longer be appropriately evaluated.
This is aggravated by the fact that especially with sandwich immunoassays not only is a levelling off of the curve to be observed at very high analyte concentrations which reflects the relationship between the analyte concentration and detection signal but also even a decrease of the signal with increasing analyte concentrations. This is referred to as the "high dose Hook effect": At very high analyte concentrations it is observed that the signal intensity of sandwich immunoassays which initially increases as the analyte concentration increases, decreases again. This is explained by the fact that the amount of antibody offered in the test is no longer sufficient to form a sandwich complex (i.e., a complex comprising two antibodies per antigen) with the analyte molecules (antigens) in every case. There is an increasing formation of complexes consisting of analyte and in each case one antibody which, however, on their own are no longer detected. Thus measuring results that are false-negative or too low may occur which of course should be avoided.
Especially the quantitative immunological test strips in which a signal is determined by reflectance measurements, still have in some cases considerable weaknesses compared to conventional analytical systems that are usually used in large laboratories. In particular, the precision and the dynamic measuring range is usually worse in the case of test strips. This limits in particular the field of application of the highly sensitive sandwich assays for example for therapeutic monitoring where the largest possible measuring range is desired.
Moreover, for some parameters such as myoglobin or D-dimer a low detection limit is required, on the one hand, but on the other hand, very high concentrations of these analytes can occur in the sample material which are sometimes considerably above the decision limit "normal-pathological". In these cases it would be desirable to have available test devices which have the largest possible measuring range in order to obtain reliable measured values without sample dilution. This would be of particular advantage for the use of such test devices to monitor the course of corresponding diseases.
In the prior art there has been no lack of concepts to solve the problems described above. However, up to now none of the proposals has been convincing in all points. In particular, the implementation of the concepts in the field of immuno-chromatographic test devices has not satisfactorily succeeded up to now.
U.S. Pat. No. 6,248,597 describes a heterogeneous agglutination immunoassay based on light scattering in which the dynamic measuring range is extended by mixing particles having different scattering properties. Binding partners having a high affinity for the analyte are immobilized on the particles which cause a large light scattering. In contrast, binding partners having a low affinity for the analyte are immobilized on the particles which cause a low light scattering.
A similar method is known from U.S. Pat. No. 5,585,241. In order to increase the dynamic measuring range, it proposes in connection with a flow cytometry immunoassay that two particles of different sizes are loaded with two antibodies having different affinities for the same antigen (small particles loaded with high-affinity antibody, large particles loaded with low-affinity antibody) and that an additional detectably-labelled antibody is used to detect the antigen by formation of a sandwich complex. The proposed system uses two different standard curves (one for each sort of particle) and allows a quantitative analyte determination by means of an ingenious software.
In order to avoid the Hook effect at high analyte concentrations (high dose Hook effect) U.S. Pat. No. 4,743,542 discloses a method in which, in addition to a detectably labelled antibody against the target antigen, a certain amount of the same but unlabelled antibody is simply added to the sample. As a result both antibodies compete for the analyte molecule and the oversaturation typical for the Hook effect only occurs, if at all, at higher antigen concentrations. As a result the dynamic measuring range is extended towards higher concentrations but at the expense of sensitivity. The use of low-affinity antibodies is proposed which have the same effect.
U.S. Pat. No. 4,595,661 describes heterogeneous sandwich immunoassays in which the Hook effect is avoided by using two soluble antibodies which have different affinities and specificities for the antigen, in addition to an immobilized capture antibody. The antibody having lower affinity only contributes significantly to the measuring signal at high antigen concentrations and hence prevents the Hook effect from becoming noticeable.
It is known from U.S. Pat. No. 5,073,484 that an immunologically detectable analyte can be quantitatively detected using several discrete, successive binding zones in a flow-through support. The number of zones in which the specific binding and detection reactions take place increases with an increasing amount of analyte in the sample. The number of zones which are colored after sample contact correlates with the amount of analyte in the sample. U.S. Pat. No. 5,073,484 proposes that the number of binding zones be increased in order to increase the accuracy and to extend the measuring range. A disadvantage of this is that an automatic evaluation of the binding zones requires a relatively complicated optical system which is able under certain circumstances to simultaneously detect and evaluate a large number of zones in order to thus allow a quantitative analyte determination. Moreover, the test devices have to be relatively long due to the relatively large number of discrete binding zones that are spatially separated from one another. Thus in order to ensure that the sample reliably migrates through the test device, it is necessary to use relatively large sample volumes which especially if it is intended to use whole blood samples, is also disadvantageous especially for reasons of sample collection.
WO 00/31538 describes immunochromatographic test strips in which one or more control zones are accommodated on an absorbent matrix in addition to an analyte detection zone. Binding partners for the analyte provided with a detectable label are bound to the matrix in the analyte detection zone as well as in the control zones. In this process exactly defined amounts of labelled binding partner are bound in the control zones where these amounts are independent of the amount of analyte in the sample. Different amounts of labelled binding partner are preferably bound in the control zones such that quasi internal comparative scales are present on the test strip. The control zones are used for calibration when evaluating the analyte detection zone. In order to increase the dynamic measuring range especially for non-linear concentration-measuring signal relationships, WO 00/31538 proposes that additional control zones are provided on the test strip.
In the case of immunochromatographic test strips which use fluorescent labels for analyte detection, it is known from J. Hampl et al., "Upconverting Phosphor Reporters in Immunochromatographic Assays", Analytical Biochemistry 288, 176-187 (2001) that the control zone (control line) which contains a species-specific antibody in an immobilized form can also be used to evaluate the measured signal in addition to the actual detection zone (target line) which contains an analyte-specific antibody in an immobilized form. A similar use is described by OraSure Technologies Inc., Bethlehem, Pa., USA, on www.orasure.com. The evaluation of the target line as well as control line is primarily used to eliminate variations in the measured signal that are due to the actual amount of liquid in the optically measured region of the test strip. As a result the sensitivity of the detection method (assay) is also indirectly increased (the dynamic measuring range is thus extended towards lower concentrations). In contrast an extension of the dynamic measuring range towards higher concentrations is not reported.
The dynamic measuring range of immunochromatographic test devices can also be de facto extended by diluting the sample material accordingly before analysis. An extension of the measuring range achieved in this manner is unsatisfactory since it requires additional handling steps that could potentially lead to errors in the analysis. Furthermore, especially in cases in which an analyte could occur in very high as well as in very low concentrations in similar samples, a controlled sample dilution is only advisable when the analyte is present in the sample at high concentrations but not in the reverse case since otherwise the concentration may fall below the lower detection limit as a result of the dilution and the analyte may be falsely not detected in the sample.
There has been previously a lack of simple and reliable methods for extending the dynamic measuring range of immunochromatographic test devices towards higher analyte concentrations without adversely affecting the lower detection limit for the analyte detection.

Method for increasing the dynamic measuring range of test elements based on specific binding reactions


A high contrast projection or depixelating screen comprises a primary matrix of a first transparent material, bodies of a second transparent material of a different refractive index from the first material and, additionally, light absorbing or filtering bodies. In variants, the matrix is a light filtering material and incorporates discrete bodies of light transmitting material.

1. Field of the Invention
This invention relates to a light (diffusing, optical screen material such as may be used, for example, as a rear or front projection screen or as a depixelating screen for reducing the perception of individual pixels in a pixelated (e.g. LCD) display or, analogously, of tile individual scan lines of a CRT display.
2. Description of the Prior Art
The formulation and processing of polymer materials to create diffusers suitable as optical screen materials have been described in U.S. Pat. No. 2,287,556 (Land), U.S. Pat. No. 4,983,016 (Yamamoto), EP-A-0464499 (Sumitomo) and EP-A-0843203 (Nashua). These specifications describe symmetrically and asymmetrically diffusing optical screen materials which may be created by extrusion or casting. Asymmetry in diffusion is imparted typically by stretching to create orientation. However all the above materials appear xe2x80x9cwhitexe2x80x9d to a greater or lesser extent in ambient lighting conditions, that is without illumination from an imaging system. The whiteness is a function of light scattering by the dispersed particles incorporated in the materials to render them light-diffusing. As a result of this whiteness, an image created optically in the diffusing material suffers from a lack of contrast. Contrast may be recovered or improved for example, by the addition of a polarising film as described in the Sumitomo Japanese laid open Application Ser. No. 5-113606 or by the use of a second layer of a tinted acrylic material. Although both these approaches can improve contrast, this is achieved with a significant loss in brightness (gain), (as much as 50% where a polarising film is used).
It is an object of the present invention to provide a diffusing material providing improved contrast without a significant reduction in brightness.
According to one aspect of the invention there is provided a high contrast projection, depixelating, or the like screen, comprising a primary matrix of a first, transparent material, a first quantity of discrete bodies of a second transparent material of a refractive index different from the primary matrix material distributed in said primary matrix and a second quantity of discrete light absorbing or filtering bodies distributed in said primary matrix.
According to another aspect of the invention, there is provided a method of forming a screen according to the first-mentioned aspect, comprising compounding, in a molten or plastic state, a first light-transmitting thermoplastics matrix material with a second light-transmitting thermoplastics material insoluble in, and having a different refractive index from the first, and with a third thermoplastics material insoluble in the first, said third material being light-absorbing or attenuating, the method further comprising extruding the resulting compound through a slot
Preferably, particularly where a high density of the discrete bodies in the primary matrix is contemplated, the second and third plastics materials are also mutually incompatible (i.e. mutually insoluble).
According to yet another aspect of the invention there is provided a high contrast projection, depixelating, or the like screen, comprising discrete bodies of a first material and refractive index in a matrix of a second material and refractive index, one said material being transparent and the other being light-filtering.
According to still another aspect of the invention there is provided A method of forming a screen, comprising forming a mixture comprising a plurality of discrete light-transmitting bodies in a fluid, light-filtering matrix or binder, forming the resulting mixture into a thin layer or sheet, and causing or allowing at least said binder to set.


An optical circulator with a first, second, third, and fourth port. The second and third port are disposed to receive polarized light entering the circulator as unpolarized light from the first port. The fourth port is disposed to receive unpolarized light entering the circulator as polarized light from the second and third port. The circulator comprises a beam-splitting and -combining element for separating and combining mutually orthogonal polarizations and a non-reciprocal polarization rotator. The circulator can be used to furnish light of a desired predetermined polarization for polarization-dependent devices.

This invention relates to non-reciprocal couplings for optical fibers, and more particularly, to an optical circulator.
An optical circulator is a non-reciprocal optical device which directs light entering one port to the next higher number port. Thus, light launched into a first port propagates to, and exits through a second port; however, optical signals launched into the second optical port are blocked from reaching the first port and are directed to a third sequential port. Thus, optical circulators, generally, allow signals to travel in only one direction between any two ports.
In a closed circulator, light transmitted into the third (or other highest number port) is passed to the first port. In an open three port circulator, light directed into the third port is extinguished within the circulator without being transmitted to any other active port.
Examples of circulators known in the art are described in U.S. Pat. No. 5,909,310 to Li et al. (Jun. 1, 1999) and U.S. Pat. No. 5,930,039 to Li et al. (Jul. 27, 1999), both of which are incorporated herein by reference.
For certain applications, which employ polarization-dependent devices requiring polarized light in a known polarization state, commercially available known circulators suffer from the disadvantage that the light that emerges from the ports is unpolarized. These applications require the use of additional components aside from the circulator to produce the polarized beams which are required. For example, in C. R. Doerr et al., IEEE Photonics Technology Letters, Volume 12, Number 9, September 2000, incorporated by reference herein, a channelized equalizer is described requiring only one polarization on the chip. The setup requires a polarization beam splitter (PBS) in addition to a circulator for proper functioning.
It would be useful to have the light that exits and enters at least one port of an optical circulator split into two linearly polarized beams, such as along orthogonal or parallel axes. The advantage of such a circulator is that a device which is polarization-dependent can be connected between the two beams at this port so that only light of a desired predetermined polarization passes through the device.
It is an object of the present invention to provide an improved optical circulator.
Thus, in one aspect, the invention provides an optical circulator comprising a plurality of ports, wherein an input port is disposed to launch unpolarized light into the circulator, two sequential ports are disposed to receive polarized light, and an exit port is disposed to receive unpolarized light; a beam-splitting and -combining element, configured to split a beam of light propagating in a forward direction along a first light path, into a second and a third light path, the second and third light paths having mutually-orthogonal polarization, said splitting/combining element also configured to combine mutually-orthogonally-polarized light beams propagating in the reverse direction along a fourth and a fifth light path into a single beam of light propagating along a sixth light path; and a non-reciprocal polarization rotator, configured to rotate polarization directions of light propagating along the second and third light paths and to rotate polarization directions of light propagating along the fourth and fifth light paths.
In another aspect, the invention provides a method for circulating and polarizing light. The method comprises providing a plurality of ports, wherein an input port is disposed to launch unpolarized light into the circulator, two sequential ports are disposed to receive polarized light, and an exit port is disposed to receive unpolarized light; splitting a beam of light propagating in a forward direction along a first light path, into a second and a third light path, the second and third light paths having mutually-orthogonal polarization; non-reciprocally rotating the polarization directions of light propagating along the second and third light paths; combining mutually-orthogonally-polarized light beams propagating in the reverse direction along a fourth and a fifth light path into a single beam of light propagating along a sixth light path; and non-reciprocally rotating polarization directions of light propagating along the fourth and fifth light paths.


A blood pressure measuring apparatus includes a sensing unit including a plurality of sensors sensing sphygmus waves at a measurement site, a selection unit selecting one sensor of the plurality of sensors based on the sphygmus waves sensed by the plurality of sensors, and a blood pressure estimation unit estimating blood pressure of the measurement site based on a sphygmus wave sensed by the selected sensor.

1. Field
One or more embodiments of the invention relate to an apparatus and method for measuring blood pressure.
2. Description of the Related Art
Blood pressure is used as an index of a person's health condition. Apparatuses for measuring blood pressure are commonly used in medical institutions and at home. The United States Food and Drug Administration ("FDA") requires the standards for apparatuses for measuring blood pressure to comply with the requirements of the Association for the Advancement of Medical Instrumentation ("AAMI"). The American National Standards Institute ("ANSI")/AAMI SP10 issued by AAMI offers specification details, and safety and performance requirements for the apparatuses.
A systolic blood pressure is a pressure when an initial pulse sound is heard while an applied pressure is slowly reduced, after the pressure is applied to a site where arterial blood passes in order to stop the flow of blood. A diastolic blood pressure is a pressure when no pulse sound is heard. Digital hemadynamometers calculate blood pressure by detecting a waveform corresponding to a pressure measured while a pressure is applied to a blood vessel.

Apparatus and method for measuring blood pressure


A robot gripping device (60) where each finger part has a finger part body (1) which is comprised of a plate-shaped elastic member, a first anti-slip part (2) which is provided at an inside of a front end side of the finger part body, and a reinforcing member (20) which is arranged along an outer surface of the finger part body, is connected to the front end of the finger part body, and is higher in rigidity than the finger part body, the reinforcing member having a first rotary joint (4) which makes the reinforcing member pivot about a first axis of rotation which is vertical to a longitudinal direction of the finger part body, and the robot gripping device having a drive part (62) which makes a base end of the finger part body move along the center of grip to make the finger part open and close.

1. Field of the Invention
The present invention relates to a robot gripping device which grips a workpiece which may be of various shapes and may be arranged in various orientations.
2. Description of the Related Art
The front end of a wrist of a robot is provided with a gripping device for gripping a workpiece. FIG. 10A and FIG. 10B are a top view and a side view of a first hand in the related art. FIG. 10A and FIG. 10B show a servo hand which is attached to a robot. Such a servo hand has a structure similar to a human hand and is advantageous for gripping various shapes and various orientations of workpieces
However, the servo hand which is shown in FIG. 10A and FIG. 10B has a plurality of servo motors and a complicated link mechanism built into it. Therefore, such a servo hand is extremely expensive and requires fine, complicated control. For this reason, at the present, the spread of such servo hands has been slow.
Further, FIG. 11 is a view which shows a second hand in the related art. A chuck which is shown in FIG. 11 is provided with two or three finger parts. However, the chuck which is shown in FIG. 11 usually has no versatility and can only grip predetermined shapes of workpieces. When gripping a complicated shape of workpiece, the workpiece had to be arranged in a limited, specific orientation.
Furthermore, Japanese Patent Publication No. 2011-245566A discloses a gripping device which uses bent plate-shaped members to open and close a gripping part. U.S. Pat. No. 3,527,492 discloses a gripping device where a finger part is comprised of an outside spring finger and an inside flexible finger.
However, the gripping device of Japanese Patent Publication No. 2011-245566A cannot open the finger parts wide, so can only grip small sized workpieces. Further, there was the problem that the drive part of the gripping device was considerably large compared with the gripping part.
Furthermore, the spring finger and flexible finger of U.S. Pat. No. 3,527,492 are made of plate springs with low rigidity. Therefore, the gripping device of U.S. Pat. No. 3,527,492 can only grip a light weight workpiece. Further, when gripping, a large force is required for bending the outside spring finger, so the gripping device of U.S. Pat. No. 3,527,492 is low in drive efficiency. Furthermore, the outside spring finger bends outward at the time of gripping, so there is the problem that the spring finger easily contacts nearby objects.
In this regard, a gripping device which is attached to a front end of a wrist of a robot is also used when taking out workpieces which are randomly stacked in a holding box. In such a case, high a gripping precision is not required in the sense of the relative positional relationship between the hand and the workpiece when the hand of the gripping device grips a workpiece. Even if the gripping precision is low, for example, if the hand roughly grabs a part, it is sufficient that the hand can reliably grip the workpiece and take it outside of the holding box.
However, in the gripping device such as shown in FIG. 10 or FIG. 11, it is only possible to grip a workpiece which is arranged at a predetermined orientation. Further, to keep the gripping device from striking the inside wall of the holding box, it is necessary to make the gripping device face downward. For this reason, it is not possible to grip a workpiece which is positioned at a corner of the holding box. Furthermore, in the related art, it was not possible to confirm whether the gripping device had indeed gripped a workpiece.
The present invention was made in consideration of such a situation and has as its object the provision of a robot gripping device with a high versatility which can approach a workpiece vertically downward and grip it with a high reliability without regard as to the orientation and shape of the workpiece and without using an expensive servo hand.


A developer analytic module executing on an integrated development environment provides location tracing of a software development toolkit and automatic updated of the SDK. The developer analytic module further provides data container transfer functionality to ensure that analytic logic has access to necessary data containers to perform symbolication and/or error detection.

Debugging is a process of finding and extracting bugs, error and/or defects (hereinafter generally "bugs"), in a computer program, such as an application, thus making the application behave as expected by the application developer. Conventionally, developers have been primarily limited to debugging applications prior to those applications being distributed to end users for installation on an end user's mobile device, e.g., a smart phone, personal digital assistant (PDA), tablet computer, etc. With the growth of applications that may be provided to end users across the world (e.g., mobile applications), developers have limited ways of receiving information as to what may cause specific bugs in the applications, while the application is being utilized by the end user and executed on an end user's device.

System and method for providing additional functionality to developer side application in an integrated development environment