One embodiment of the present invention is a process tool optimization system that includes: (a) a data mining engine that analyzes end-of-line yield data to identify one or more process tools associated with low yield; and (b) in response to output from the analysis, analyzes process tool data from the one or more process tools to identify one or more process tool parameters associated with the low yield.

Semiconductor device manufacturing continues to become more complex as demands of the marketplace drive increasing circuit density. For example, a typical manufacturing process entails starting with a slice of single crystal silicon (referred to herein as a wafer or a substrate), and processing it through a series of from about 300 to about 500 individual manufacturing steps to produce many individual devices on each wafer. In addition, as circuit density increases, line widths shrink, and newer technology and materials are being used in semiconductor manufacturing. For example, copper processes are migrating from a 0.18 μm technology to a 0.13 μm technology. In addition, the advent of copper seed and electroplating, along with added difficulties in using new low-k films and the need to fill 0.13 um structures, present hurdles made no easier by a transition to use of 300 mm wafers.
As a result of this, reducing defectivity, be it process or contamination induced, is becoming increasingly more important, and one important factor in overcoming defectivity is time-to-root-cause. To monitor defectivity, and continuously reduce defect densities, semiconductor device manufacturers use defect data management software and defect detection equipment. Further, each new generation of semiconductor process technology demands more detailed data to support process monitoring and improvement. In turn, the wealth of data drives data storage, data integration, data analysis, and data automation trends in wafer processing.
Within the last few years, a good deal of investment has gone into the deployment of data extraction systems designed to record operating conditions of a given semiconductor wafer processing tool during the time a wafer is being processed. Although this temporal based process tool data is now available for some fraction of wafer processing tools in advanced factories, use of the data for optimizing tool performance relative to the devices (also referred to herein as integrated circuits or ICs) being produced has been limited. This limitation is due, at least in part, to a disconnect between how device performance data is represented relative to how process tool temporal data is represented. For example, data measurements on ICs are necessarily associated with a given batch of wafers (referred to as a lot), or a given wafer, or a given subset of ICs on the wafer. However, data measurements from process tool temporal data are represented as discrete operating conditions within the process tool at specific times during wafer processing. For example, if a factory process tool has an isolated chamber, then the chamber pressure might be recorded each millisecond while a given wafer remains in the process tool's chamber. In this example, the chamber pressure data for any given wafer would be recoded as a series of thousands of unique measurements. The difficulty associated with "merging" process tool temporal data to discrete data metrics has resulted in limited use of process tool temporal data as a means to optimize factory efficiency.
Many yield enhancement and factory efficiency improvement monitoring efforts today are focused on developing correlations between end-of-line functional test data that identify low yielding wafers and specific factory process tools used to make ICs. A goal of such an analysis is to identify individual process tool(s) suspected of causing the low yields, and to either remove it (them) from the factory processing flow until such time as yield engineers can be sure that the tool(s) is (are) operating "properly," modify the tool performance if necessary as wafers are being produced. It is well known to use data mining to perform these tasks (these types of correlation activities also play an important part in developing yield ramps on new technologies). These types of correlation activities can be tedious and time-consuming because of: (a) the massive amount of data being generated; and (b) the time it takes to consolidate data for analysis. Sometimes, it is a matter of trial and error before a signal is found. In addition, such activities typically do not provide sufficient information to enable process tools to be made to perform better. As a result, users typically spend more time trying to identify problems than spending efforts contributing to the actual fixing or adjusting process tools after they are identified.
In light of the above, there is a need for method and apparatus for solving one or more of the above-identified problems.

Correlation of end-of-line data mining with process tool data mining


A holder for receiving and supporting an article includes a sidewall defining a cavity for receiving the article. At least one resiliently deformable support member is attached to the sidewall. The support member has a surface inwardly extending into said cavity. The surface is operable to support the article. The support member includes an upper portion and a lower portion. The lower portion defines a convex surface and the upper surface defines one of a concave surface and a convex surface having a larger radius of curvature than the lower portion.

This invention relates in general to cup holders that may be used in vehicle interiors, and in particular, to an article holder having an improved support member.
Almost all passenger vehicles have interiors that include one or more cup holders. Most vehicle cup holders are of a design that enables cup or bottles of varying sizes in a stabilized position. While some cup holders use spring biased fingers, other cup holders include resilient support members in a one piece mold design. For example, U.S. Pat. No. 6,050,468 discloses a one piece design that includes a plurality of circumferentially spaced resiliently deflectable portions extending into a recess, which supports a cup or bottle.

Vehicle cup holder with improved support member

International Automotive Components Group North America, Inc.


A method and system for automatic control of the distance between a vehicle to be controlled and a lead vehicle. The vehicle to be controlled is equipped with a distance-control device having a distance sensor and a brake device with a brake pedal. The distance-control device controls the speed of the controlled vehicle by delivering a brake-actuating signal to the brake device in such a way that the distance between the vehicles does not become shorter than a predefined distance, the distance-control device also generating a warning signal to the driver if the distance becomes shorter than the predefined distance. The distance-control device changes the brake pedal characteristic in such a way that the brake pedal travel required for injection of increased brake pressure is minimized if a criterion that indicates a danger of collision is present.

The present invention is directed generally to an automatic distance-control method and system for motor vehicles.
In conventional vehicle distance-control systems concerned with maintaining a safe distance between a controlled or following vehicle and a lead vehicle (such as, for example, distance-control systems of the type described in DE 44 37 678 A1 and DE 199 51 423 A1), a measuring device acquires information about the distance from the controlled or following vehicle to the lead vehicle and uses the information to control the speed of the controlled vehicle such that the distance to the lead vehicle does not become shorter than a predefined set distance or a speed-dependent set distance. Such speed regulation can be achieved by intervention of a distance-control device in the brake system or engine controller. Typically, in such conventional systems, the maximum deceleration possible is limited to about 2 m/s2.
In situations in which this limited deceleration is not sufficient to prevent critical close approach, a collision can be avoided only if the driver actuates the brakes by depressing the brake pedal quickly enough and far enough. Tests have shown, however, that in some cases drivers faced with emergency situations do not depress the brake pedal fully and thus do not utilize the full braking force available. These tests have led to the development of devices known as brake assistants. A brake assistant, however, can help only if the driver recognizes the danger situation in time.
EP 09 186 73 B 1 describes a brake system having a brake-actuating device, in particular a brake pedal, provided with a first sensor device for sensing the position and change of position of the driver's foot located in the area of the brake pedal above or on the brake pedal, a second sensor device for sensing a force exerted by the foot on the brake pedal, and a third sensor device for sensing measured values describing a danger of collision of the following vehicle with a lead vehicle. Those measured values are the distance to the lead vehicle, the change in distance to the lead vehicle per unit time, the speed of the controlled vehicle and a predefined time that describes the desired safety time until a collision event. A first arithmetic unit that determines a first brake pressure to be activated on the basis of the output values of the first sensor device is allocated to the first sensor device. A second arithmetic unit that determines a second brake pressure to be activated on the basis of the output values of the second sensor device is allocated to the second sensor device. A third arithmetic unit that determines a third brake pressure to be activated on the basis of the measured values of the third sensor device is allocated to the third sensor device. From the output variables of the three arithmetic units, a coordinating unit determines a coordinated pressure value to be transmitted to a brake pressure generator for appropriately increasing the brake pressure.
It is desired to provide an improved automatic vehicle distance-control method and system that can avoid the danger of collision even in critical situations in which the maximum deceleration attainable by the distance-control system is insufficient to prevent the danger of collision.

Automatic distance control method and system for motor vehicles


An algorithm for use in an engine control module to control peak cylinder pressure in a diesel engine under high altitude operating conditions, including an initiation and entering routine configured to determine whether conditions are met for advancing a start of injection time used by the engine control module to cause an injection of fuel into a cylinder of the engine, an increment routine that is executed by the engine control module when the initiation and entering routine determines that the conditions are met to advance the start of injection time using a first increment when the first increment is less than or equal to an increment step and less than or equal to a second increment, and advance the start of injection time using the second increment when the first increment is greater than one of the increment step and the second increment, and an exiting routine that is executed by the engine control module when the initiation and entering routine determines that the conditions are not met to decrement the start of injection time when the first increment is less than or equal to a decrement step.

Diesel engines include cylinders that combust a mixture of compressed, high temperature air and diesel fuel. The liquid fuel is injected into the cylinder, where it breaks into tiny particles and mixes with the air to form a combustible mixture. Several variables affect the completeness and efficiency of combustion, including the air-to-fuel ratio of the mixture, which is affected by the timing of the fuel injection.
Typically, fuel injection timing for diesel engines is set such that the cylinder firing pressure remains below a maximum value under normal operating conditions. As such, the fuel injection timing is based in part on atmospheric pressure at approximately sea level. When the engine operates at high altitudes (low atmospheric pressures), reduced quantities of air are provided to the cylinders, which causes incomplete and inefficient combustion, and reduced peak cylinder pressure. This results in lower fuel efficiency, degraded power cylinder life and increased quantities of harmful exhaust emissions.
Moreover, when the engine is coupled to a turbocharger, the higher temperature exhaust gases produced under these conditions, in conjunction with the lower atmospheric pressure, cause the turbocharger to operate at higher speeds. Consequently, power deration may be required to prevent damage to the turbocharger as a result of excessive temperature and/or speed.

Method and system for controlling fuel injection timing to maintain desired peak cylinder pressure for high altitude operation


A device for producing titanium metal comprises (a) a first heating unit that heats and gasifies magnesium and a first channel that feeds the gaseous magnesium, (b) a second heating unit that heats and gasifies titanium tetrachloride so as to have a temperature of at least 1600° C. and a second channel that feeds the gaseous titanium tetrachloride, (c) a venturi section at which the second channel communicates with an entrance channel, the first channel merges into a throat and as a result the magnesium and the titanium tetrachloride combine in the throat and a mixed gas is formed in the exit channel, and in which the temperature of the throat and the exit channel is regulated to be at least 1600° C., (d) a titanium metal deposition unit that communicates with the exit channel and has a substrate for deposition with a temperature in the range of 715-1500° C., and (e) a mixed gas discharge channel that communicates with the titanium metal deposition unit.

Titanium is a light metal having a high mechanical strength to weight ratio and exhibiting superior corrosion resistance. Titanium is widely used in various fields including airplane, medical and automobile industries. A quantity of consumed titanium use has been increasing. Titanium is the fourth most abundant element in the earth's crust after aluminum, iron, and magnesium among metal elements and thus is a plentiful resource. Although titanium is a plentiful resource, titanium is up against short supply and has been at least an order of magnitude more expensive than steel materials.
Titanium metal has been mainly produced by a Kroll Process. In the Kroll Process, titanium ore containing titanium dioxide (TiO2) as a main component is reacted with a chlorine gas and coke (C) to produce titanium tetrachloride (TiCl4). Subsequently, highly-purified titanium tetrachloride is produced through distillation and separation. Titanium metal is produced through thermal reduction of the purified titanium tetrachloride with magnesium (Mg). In the thermal reduction step of the Kroll Process, a reduction reaction vessel made of a stainless steel is filled with a magnesium melt at a temperature of not lower than 800° C. Titanium tetrachloride in a liquid phase is dropped into the vessel from above and reacts with the magnesium melt in the vessel to produce titanium. The produced titanium sinks in the magnesium melt and thus titanium is produced in a sponge form. By-product magnesium chloride and unreacted magnesium in the liquid phase are mixed in the titanium in the sponge form. Upon completion of the reaction, the reaction mixture is subjected to a vacuum separation process at a high temperature of not lower than 1000° C. to obtain a sponge cake of porous titanium. The sponge cake is cut and crushed to produce sponge titanium.
The Kroll Process can effectively produce a titanium material for practical use. However, a long production time is required since the thermal reduction process and the separation process are conducted separately. The production is less efficient since it is a batch process. Accordingly, various techniques have been suggested to overcome the problems of the Kroll Process.
For example, Patent Literature 1 (JP-B-33-3004) discloses a process including steps of supplying a titanium tetrachloride gas and magnesium vapor in a reaction vessel to cause a gas-phase reaction at a temperature of 800 to 1100° C. and under a vacuumed atmosphere of 10−4 mmHg (1.3×10−2 Pa) in the vessel, and depositing titanium on a net-like collection material disposed in the vessel to collect titanium.
Patent Literature 2 (U.S. Pat. No. 2,997,385) discloses a process for producing a metal, including steps of introducing halide vapor as a metal element and alkali metal or alkaline earth metal vapor as a reducing agent into a reaction vessel, and causing a gas-phase reaction in the vessel in an evacuated atmosphere under a pressure of 0.01 to 300 mmHg (1.3 Pa to 40 kPa) and at a temperature of 750 to 1200° C. Patent Literature 2 discloses, in Example II, a method for producing titanium from TiCl4 gas and Mg gas, and specifically, the reaction was caused at a reaction temperature of approximately 850° C. and under a pressure of 10 to 200 microns (1.3 to 26.7 Pa).
Non Patent Literature 1 (D. A. Hansen and S. J. Gerdemann, JOM, 1998, No. 11, page 56) discloses a process for producing titanium ultrafine powders through a gas-phase reaction. According to the process, titanium tetrachloride gas and magnesium gas are introduced into a reaction vessel and reacted at a temperature of not lower than 850° C., and produced titanium ultrafine powders and concomitantly produced MgCl2 powders are separated in a cyclone at a lower portion. Then, magnesium and MgCl2 are separated from the obtained titanium ultrafine powders through vacuum distillation or filtration.    Patent Literature 1: JP-B-33-3004    Patent Literature 2: U.S. Pat. No. 2,997,385    Patent Literature 3: JP-A-2009-242946    Non Patent Literature 1: D. A. Hansen and S. J. Gerdemann, JOM, 1998, No. 11, page 56

Device for producing titanium metal, and method for producing titanium metal


A composite including a polymeric film having a first generally planar major surface and an opposite second major surface defined by a multiplicity of elongate parallel contiguous ridge portions. The ridge portions each have a generally triangular cross section and elongate obscured and transmitting second major surface portions intersecting at the apex of the ridge with the obscured second major surface portion being on the side of the ridge generally facing a first end of the sheet and the transmitting second major surface portions being on the side of the ridge portions adjacent a second end of the sheet. The film can provide visual transmission between its first major surface and the transmitting second major surface portions while coatings along the obscured second major surface portions prevent viewing of visual images through the film; whereas the composite can also provide light transmission between the first major surface and the transmitting second major surface portions, while the coatings along the obscured second major surface portions restrict light transmission.

Composites are known that will only pass light along predetermined paths through the composite and/or can be used to cover objects such as computer screens or the like to thereby restrict viewing of those objects to persons looking at those objects from predetermined orientations relative to a major surface of the composite. One known composite of this type consists of elongate parallel alternate layers of opaque and transparent materials extending between opposite major side surfaces and opposite ends of the composite so that images can only be seen through the composite when it is viewed at generally a right angle to the major surfaces of the composite, and light can only pass through the composite at that same angle. Such composites have been made by photolithography, microreplication, or skiving. While such composites are useful for some purposes, they can be expensive to make, they restrict viewing images or direct light in patterns that are not entirely suitable for some applications, and some absorb light so that they darken the image of the object.

Composite used for light control or privacy

Minnesota Mining and Manufacturing Company


A contact lens comprising one or more microchannels for transport of liquid through the lens is provided. The contact lens can be made by contacting a curable composition with a microfiber that is insoluble in the curable composition; curing the curable composition to provide a polymeric lens body with the microfiber embedded therein; and contacting the polymeric lens body with a solvent to dissolve the microfiber.

Evaporative water loss from the front (anterior) surface of a hydrogel contact lens surface can result in contact lens dehydration, which in turn can lead to depletion of post-lens tear film and cause discomfort. Consequently, many contact lens wearers use rewetting drops to temporarily ease discomfort and dryness. However, most of the eye drop liquid tends to reside in the lower tear meniscus and has a relatively short residence time before it gets drained. Thus, drops are rarely able to provide sustained comfort and relief of symptoms over the wearing day and need to be frequently instilled.
Background publications include U.S. Pat. Nos. 5,009,497, 6,160,030, 6,726,322, 6,779,888, 6,886,936, 8,087,777, 9,278,489, 9,910,296, 9,956,168, U.S. Publ. No. 2013/0043609, U.S. Publ. No. 2017/0131571, PCT Publ. No. WO2002/027389, GB Pat. No. 2,401,954, and EP Pat. No. 2,540,261.


This disclosure describes a system including nodes communicating according to a relaxed, agent-centric distributed hash table. The system includes a requesting node requesting a value from a target node. The requesting node is associated with a store radius and a query radius based on an agent location of the requesting node. The store radius indicates one or more peer nodes wherein the requesting node has knowledge about the storage content of these peer nodes. The query radius indicates one or more peer nodes wherein the requesting node has connection with these peer nodes.

While it is possible to design computing systems that don't use state, many problems—particularly those that are designed to reflect human interactions and the physical world—are easier to model when the computing system has state.
Traditional software applications manage state by storing all the memory in a single place, like a filesystem or database. Just like our house or our bank account, these systems only allow a single program to change what is stored in the memory. This "single system" state management is intuitive and still the most broadly used system for managing computer system state. Even when programs were developed using multiple threads, single systems usually either delegate state management to a single thread, or they use a method of handing off control between different threads so that only one thread is "in control" of the state at any given time.
The problem with state is that it represents a hidden input to each of the functions that rely on it—and it may be changed outside of our control. For example, we may think that we have a certain amount of money in our bank account. But if someone has stolen our passwords and taken money out of our account, our record of how much money we have in our account doesn't agree with the bank account's record.
When we think about "real world" state, we have certain things that we try to control very carefully, like the amount of money in our bank account or the location of our things in our house. We have security systems that allow us to make sure that the state of these protected assets doesn't change without us knowing. In the case of our house, we have locks that make sure that we are the only ones allowed inside to move around our things. For things like our bank account, we make sure that any transactions that change the balance are approved by us.
Designing Computing Systems with State
While it is possible to design computing systems that don't use state, many problems—particularly those that are designed to reflect human interactions and the physical world—are easier to model when the computing system has state.
Traditional software applications manage state by storing all the memory in a single place, like a filesystem or database. Just like our house or our bank account, these systems only allow a single program to change what is stored in the memory. This "single system" state management is intuitive and still the most broadly used system for managing computer system state. Even when programs were developed using multiple threads, single systems usually either delegate state management to a single thread, or they use a method of handing off control between different threads so that only one thread is "in control" of the state at any given time.
Distributed Computing
The need to manage state is acute with distributed computing systems. A distributed computing system is a group of computing systems—frequently called nodes—which work together to maintain a unified or consistent view of the state represented in the system as a whole.
Single system state management is not easily compatible with distributed computing. As soon as multiple programs need to interact with the stored state, all the different programs need to be coordinated. In computing terms, the different programs wanting to interact with the system state are either "readers" (programs retrieving some stored value from the memory) or "writers" (programs adding to the memory or changing a stored value in the memory).
Distributed systems are a generalization of the multi-reader and multi-writer threaded programs that work on a single computing system. Logically, there is no reason why readers or writers cannot be on separate physical nodes, communicating via messages. The various nodes cooperate to maintain the shared system state.
Distributed systems usually have more resources available to them than single systems. This can result in higher performance or higher availability for distributed systems. But there is a tradeoff: distributed systems are subject to communication-based failures that can compromise the system. The CAP theorem states that it is impossible for a distributed data store to simultaneously provide more than two out of the following three guarantees:                Consistency: Every read receives the most recent write or an error.        Availability: Every request receives a (non-error) response—without the guarantee that it contains the most recent write.        Partition tolerance: The system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes.
The job of a state coordination function is to manage the tradeoffs within a distributed computing system. These state coordination functions are used to achieve the best possible consistency, availability, and partition tolerance possible, while mitigating or reducing the number of failures.
The job of a state coordination function is to manage the tradeoffs within a distributed computing system. These state coordination functions are used to achieve the best possible consistency, availability, and partition tolerance possible, while mitigating or reducing the number of failures.
Representing State
Before discussing various state coordination functions, it is helpful to think about how state is stored. Within a computing system, any sort of storage organization system can be used to maintain state, including ordered/unordered flat files, ISAM, heap files, hash buckets, B+ trees, logs, and log-structured merge trees. A state storage engine may also have many layers, each operating under different principles. Careful attention to how the state is stored and manipulated, however, makes it easier to make guarantees about the correctness of the data.
Different types of state storage may be mutable or immutable. A mutable storage can have its records modified. An immutable storage can only add information to the storage; previously written information cannot be changed.
Many common mutable data storage engines use a relational structure. A relational database organizes data into one or more tables (or "relations") of columns and rows, with a unique key identifying each row. The data can be "normalized" to ensure that each piece of information is stored in exactly one place. In a normalized relational database, all changes to the stored state can be expressed in terms of an ordered set of create, read, update, and delete statements, each acting on a specified domain and range within each relation. An ordered set of these state-modifying statements, applied together, is referred to as a transaction. If the transaction applies completely, or not at all, then the transaction is atomic.
Relational databases are flexible, supporting ad-hoc querying and updates to the stored data. But the strict data typing and referential controls necessary to support such flexibility also make relational databases hard to effectively scale up to respond to many readers and writers. If there is only one place where a particular piece of data is stored, then access to a particular piece of information may be a bottleneck, reducing availability.
Some databases address this issue by denormalizing (storing the data in more than one place) or using alternative, non-relational data structures. These databases, sometimes called "NoSQL databases," relax the data type, data organization, or referential controls commonly found in relational databases in order to achieve better availability, partition tolerance, or performance, at the cost of reduced consistency. These NoSQL data storage engines are also examples of mutable data stores.
Alternatively, a data storage engine can have immutable storage. For example, one type of immutable storage engine uses a log-structured storage engine. A log is an append-only, ordered sequence of records ordered by time. Changes to the system state are recorded as atomic changes in the log. At any time, the system state is defined by the ordered set of changes recorded in the log. If two nodes have the same contents in their state logs, then their states are consistent.
One alternative to totally-ordered log-based state storage is the use of additive data structures such as conflict-free replicated data types (CRDTs). CRDTs are data types that can be applied in any order by different nodes, and the end result will be consistent. This means that CRDT-based state storage has high availability and high partition tolerance, but low immediate consistency. CRDTs provide strong eventual consistency, so long as the disparities between different data stores can be tolerated during the period when replicas may be inconsistent. All nodes that have "merged" all the data structure changes, regardless of the order in which the changes are presented, are guaranteed to be in a consistent state.
Hash Chains
One important type of immutable storage is a hash chain or hash tree (sometimes called "blockchains" or "Merkle trees," respectively). Hash chains are data structures in which each record contains both information to be stored, one or more update rules, and a secure cryptographic hash of the immediately preceding record. Because each record includes the preceding hash, recursively to the start of the data structure, anyone receiving a copy of the data structure can independently verify the integrity of the entire record by applying the update rules to the stored data and calculating the appropriate hashes. This makes a hash chain or hash tree effectively immutable, even if it stored in a mutable storage, because any changes to the data invalidate the cryptographic hashes embedded in the chain.
State Coordination Functions
State coordination functions can generally be categorized as one of two types—either centralized or decentralized. Decentralized state management can further be divided into distributed state storage and distributed state management.
Distributed Systems, Centralized State
Systems with centralized state management have a designated center point by which and through which decisions for the entire system are made. To allow multiple independent programs to change the contents of the memory, there are protocols that ensure that each writer is authorized to make its changes and that the changes are made in a careful way that prevents conflicts and makes sure that all the readers see a consistent picture. Common state update protocols include two phase commit and three phase commit, both of which are frequently used in databases.
But these protocols are used to coordinate multiple programs interacting with the stored state—but the state is still primarily maintained in one place. The nodes might be distributed, but the state is centralized. In terms of the CAP theorem, distributed systems with centralized state management have high consistency and high partition tolerance, but lower availability. The central management node can be a bottleneck due to all state management needing to go through that single node, and it is difficult for distributed system to deal with the loss of the node which implements the state management function.
Distributing State Storage
One response to the problem of centralized state is to distribute the state across more than one node. In a distributed state storage system, the state—the memory—is either sharded, replicated, or both.
Sharding
In a sharded system, parts of the system state are stored on and managed by different nodes in the system. If a process needs to either read or store a value in the shared state, it first identifies a sharding key allows it to identify which node is storing and managing that particular part of the system state. The process then interacts with the node managing that part of the system state to read or write the value accordingly.
The advantage of a sharded system is that no single node is responsible for updating or storing all of the state associated with the system. This means that the load associated with state management can be spread out across the distributed system. Further, if a single node goes down, then only the fraction of the state managed by that node becomes unavailable. In terms of the CAP theorem, a sharded system is equivalent to a system with centralized state, but the chance that availability will be compromised by the loss of a node is 1/n, where n is the number of different nodes participating in the sharded state storage.
Replication
In a replicated system, some or all of the system state is duplicated across one or more nodes. The state may be completely duplicated, such for a database with a standby node, or it may be partially replicated. Updates made on one copy are communicated to the various replicas. These updates are usually distributed using one or more of transactional replication, state machine replication, or virtual synchrony.
Transactional replication refers to a model where each update is equivalent to the serialized stream of changes applied during that update. For example, a transaction log can be used to implement transactional replication between two nodes.
State machine replication is a process by which the changes and the state of the system are jointly represented as a closed set of changes that can be applied to each node. Hash chains and CRDTs can be used to implement state machine replication.
Virtual synchrony involves a group of processes which collectively work in tandem to create a replicated state. Not every node needs to participate; smaller groups of nodes are organized into process groups. Nodes join a group and are provided with a checkpoint containing the current state of the data replicated by group members. Nodes then send multicasts to the group and see incoming multicasts in the identical order. Membership changes are handled as a special multicast that delivers a new "membership view" to the nodes in the group.
Coordinating State Updates
Depending on the state management function, updates to the shared state may be performed on only one of the copies, the "master," or on any copy. If updates can only be made to the master copy, then the system has centralized state with recovery to another node. If more than one node can receive updates to the common system state, then some type of distributed state management is required.
Some of the state replication methods identified above can also be used to implement a distributed state management function. In particular, state machine replication assumes that the replicated process is a deterministic finite automaton and that atomic broadcast of every event is possible.
Consensus Algorithms
A distributed state management algorithm is also known as a consensus algorithm. A consensus algorithm is one that allows different nodes to agree on a particular value in the shared state. Examples of applications of consensus include whether to commit a transaction to a database, agreeing on the identity of a leader, state machine replication, and whether to add a particular record to a hash chain. Examples of well-known consensus algorithms include Paxos and Raft.
Consensus algorithms are designed to be resilient in the presence of network failures and changed messages. In general, consensus algorithms have the following properties:                Termination: Eventually, every correct process decides some value.        Integrity: If all (or some specified number of) correctly-operating participants propose the same value v, then the outcome of the process must equal v.        Agreement: Every correct process must agree on the same value.
To achieve this result, most consensus algorithms take one of two approaches. In the first approach, there is a deterministic process for electing one of the participating nodes to be a "leader." The leader determines the correct state value and communicates it to the other nodes. A leader-based approach also includes rules for handling failure of the leader node and network splits that result in inconsistent leader elections.
A second approach for consensus algorithms uses concurrent computation and comparison. In a concurrent computation and comparison approach, each participating node is able to compute and propose a new state value. If some number of participating nodes agree—usually a majority—then the new state value is accepted as the correct value.
Byzantine Fault Tolerance
Some consensus protocols are also designed to deal with some number of faulty or malicious nodes participating in the network. Protocols that are designed to be robust against faulty or malicious nodes are said to have "Byzantine Fault Tolerance," named for the paper that introduced the concept. Byzantine Fault Tolerant (BFT) systems either include a number of message rounds between node participants, verifying state information, or they are built upon unforgeable message signatures, such as digital signatures.
Content and Node Addressing
One problem not discussed above is the problem of addressing: when state values are being replicated, or consensus messages are being exchanged, each node needs to know how to reach other nodes participating in the distributed system.
The simplest way to handle addressing is for all nodes to have a list of other participating nodes, or to have a known "name node" that keeps track of the address information for all participating nodes. This is a solution for systems where the number of nodes is known, and where nodes like the name node can be trusted. But if nodes cannot necessarily be trusted, or if nodes are transient, a different solution can be used: a distributed hash table, or DHT.
A hash table is a data structure that associates keys to values. Values are stored in the data structure according to a hash function that computes an index into a possible array of storage buckets, which themselves provide the value. A distributed hash table performs the same function across more than one node. Any participating node can efficiently retrieve the value associated with a given key. Responsibility for maintaining the mapping from keys to values is distributed among the nodes, in such a way that a change in the set of participants causes a minimal amount of disruption. This allows a DHT to scale to extremely large numbers of nodes and to handle continual node arrivals, departures, and failures. The particular hash function used is chosen minimize changes in lookup values when the number of participants changes. The four most popular approaches are rendezvous hashing, consistent hashing, the content addressable network algorithm, and Kademlia distance. It is not always necessary that all possible values be stored in the DHT; in some cases it may be enough to have a shared formula by which a value can be calculated from a particular key.
For example, a Kademlia DHT works by specifying the structure of the network and the exchange of information through node lookups. Kademlia nodes communicate among themselves using User Datagram Protocol (UDP). A virtual or overlay network is formed by the participant nodes. Each node is identified by a number or node ID. The node ID serves not only as identification, but the Kademlia algorithm uses the node ID to locate values. When searching for some value, the algorithm takes the associated key and explores the network in several steps. Each step will find nodes that are closer to the key until the contacted node returns the value or no more closer nodes are found. When the closest nodes are found, they are returned to the requester.
Existing Systems
The most well-known hash chain application is "Bitcoin," a hash chain-based cryptocurrency ledger. In the context of the systems above, Bitcoin is a distributed system with an immutable replicated state built on a hash chain. Bitcoin uses a Byzantine Fault Tolerant consensus algorithm to coordinate transactions.
Specifically, the bitcoin blockchain is a public ledger that records bitcoin transactions between members of the network. It is implemented as a chain of blocks, each block containing a hash of the previous block up to the genesis block of the chain. Network nodes can validate transactions, add them to their copy of the ledger, and then broadcast these ledger additions to other nodes. To achieve independent verification of the chain of ownership each network node stores its own copy of the blockchain.
A network of communicating nodes running bitcoin software maintains the blockchain by "mining," that is, running a lottery-like process of determining a random hash value that meets a set of acceptance rules. About every 10 minutes, when an acceptable hash value is found, a new group of accepted transactions, called a block, is created, added to the blockchain, and quickly published to all nodes.
Sometimes separate blocks are produced concurrently, creating a temporary fork. In addition to the immutable history, participants in the blockchain have an algorithm for scoring different versions of the history so that the history with the highest value can be selected over others. Peers supporting the database have different versions of the history from time to time. They keep only the highest-scoring version of the database known to them. Whenever a peer receives a higher-scoring version (usually the old version with a single new block added) they extend or overwrite their own database and retransmit the improvement to their peers. There is never an absolute guarantee that any particular entry will remain in the best version of the history, but the shared concurrent computation rules award a higher value to adding new blocks than replacing old blocks. Therefore, the probability of an entry becoming superseded decreases exponentially as more blocks are built on top of it, eventually becoming very low.
Another type of distributed and decentralized system is used to manage source code control and updates. Two similar systems are called Git and Mercurial. Git and Mercurial are a distributed version-control system used to track changes in source code for use in software development. The files and changes to the files are organized as a Merkle tree, guaranteeing that the complete state of the version controlled files is consistent. In addition, each change has a unique cryptographic address, allowing individual commits to be selectively addressed.
Git and Mercurial each include a mutable index (also called stage or cache) that caches information about the working directory and the next revision to be committed; and an immutable, append-only object database. The object database represents the accepted state of the system. The object database contains four types of objects:                A blob object (binary large object) is the content of a file. Blobs have no proper file name, time stamps, or other metadata. (A blob's name internally is a hash of its content.)        A tree object is the equivalent of a directory. It contains a list of file names, each with some type bits and a reference to a blob or tree object that is that file, symbolic link, or directory's contents. These objects are a snapshot of the source tree.        A commit object links tree objects together into a history. It contains the name of a tree object (of the top-level source directory), a time stamp, a log message, and the names of zero or more parent commit objects        A tag object is a container that contains a reference to another object and can hold added metadata related to another object.
When a developer commits a new revision, the temporary information is added to the accepted state. Git and Mercurial provide each developer a local copy of the entire state, and provides a mechanism for exchanging commits (state changes) between different repositories. There is no universal addressing, but different repository signatures are maintained as they are merged. Thus the entire distributed source control mechanism can be seen as a distributed state consensus mechanism with periodic reconciliation between participating nodes.
Freenet is another decentralized and distributed system used for censorship-resistant communication. It uses a decentralized distributed data store to keep and deliver information. Technically, it functions as content-addressed system paired with a distributed hash table. Typically, a host computer on the network runs the software that acts as a node, and it connects to other hosts running that same software to form a large distributed, variable-size network of peer nodes. Some nodes are end user nodes, from which documents are requested and presented to human users. Other nodes serve only to route data. All nodes communicate with each other identically—there are no dedicated "clients" or "servers". It is not possible for a node to rate another node except by its capacity to insert and fetch data associated with a key. Keys are hashes, and so nodes can check that the document returned is correct by hashing it and checking the digest against the key.
Content Addressing and Discovery
Returning to the concept of addressing, distributed systems generally need a mechanism for discovery—that is, finding other nodes in the network based upon some criteria. A number of existing technologies present different methods of organizing clients so that they can be found without resorting to a single central directory. These include Chord, Hypercubes, and Kademlia (discussed previously).
4.1 Chord
FIG. 1 shows an exemplary 16-node chord network 100. In chord network 110, as nodes 105(1)-(16) come online they distinguish their position within the ring based on their identity. These nodes 105(1)-(16) identify themselves to the nodes immediately in front of and behind themselves, and become a part of the ring chain. For example, node 105(2) identifies itself to 105(3) ("successor") and nodes 105(1) ("predecessor")—the nodes immediately in front of and behind node 105(2) in a clockwise direction, respectively. As nodes 105(1)-(16) go offline, they try to notify their connections, but in the case of failure, their connections will notice the lack of connectivity and relink themselves.
Discovery requires messaging the closest node in the "finger list", for example, the successor, then messaging the closest node in their "finger list" and so on.
4.2 HyperCube
FIG. 2 shows an exemplary 2-level HyperCube 200. In level 2, each node not only has sibling nodes but also a parent node. For example, when node 205 comes online, it connects with three siblings and one parent: nodes 210, 215, 220 and 225. In HyperCube, as nodes come online, they simply take the next space in the tree structure. As nodes leave, vacancies are created that can be filled by future arriving nodes. In the dire case of too many nodes leaving, the existing nodes can reorganize.
Discovery is a fairly straight-forward navigation question once the effectively randomly assigned position identifier of a node are known.
4.3 Kademlia
In Kademlia, nodes are organized into "k-buckets" according to the binary digits of their identity. For example, the exemplary Kademlia network 300 includes 7 nodes 305(1)-(7), as shown by the dots at the bottom in FIG. 3. Assuming node 310(6) (with index "110") is the target node to be searched for, the remaining nodes 305(1-5) and 310(7) are peer nodes organized in 3 k-buckets 310(1)-(3), respectively, as shown by the larger circles. The "distance" as measured by the exclusive or (XOR) of two identities determines the relative closeness of another node, and a lopsided binary tree effectively means that references are maintained to more nodes closer to the target identity than those further away. For example, nodes 305(1)-(3) in k-bucket 310(1) are the farthest nodes away from target node 305(6), while node 305(7) in k-bucket 310(3) is the nearest node.
Discovery requires making a query to a node that is known about as close to the target identity as possible (based on the XOR "distance"). That node should theoretically have references to more nodes in that particular neighborhood and can get closer to the target identity. The discovery repeats until the contacted node returns identity of the target node (i.e., the target node is being found) or no more closer nodes are found.
As described above, values can be stored in a data structure using a hash table. The hash table associates keys to values. Given a key, the hash table computes a corresponding index according to a hash function that in turn points to the value stored in an array. Locating a value in a Kademlia network follows the same procedure by locating the closest nodes to a key or index, and the search terminates when a node has the requested value in its store and returns this value.

Holochain—A framework for distributed applications


A method is provided for indicating an IMS (Internet Protocol Multimedia Subsystem) emergency call back to a user equipment and an access network. The method comprises including in a message from a PSAP (Public Safety Answering Point) to the user equipment and the access network an indication that the emergency call back is from the PSAP.

The IP (Internet Protocol) Multimedia Subsystem (IMS) is a standardized architecture for providing both mobile and fixed multimedia services that many telephony service providers are beginning to implement. The IMS architecture can include a collection of different functions (i.e., network elements) that communicate using standard protocols.
A user of an IMS network using a mobile device or any user equipment (UE) may place an emergency call, such as a 911 call (in North America) or a 112 call (in most of Europe). Such calls are typically handled by a Public Safety Answering Point (PSAP), which might coordinate an appropriate response to the emergency. After an emergency call is terminated, the PSAP may place a call back to the user for various reasons. For example, if the emergency call appears to have terminated abnormally, the PSAP might call the user back to determine if the user wishes to convey any additional information. Alternatively, the PSAP might call the user back to ask for information that was inadvertently not requested in the initial call. Other reasons for a call back from a PSAP to an emergency caller after the termination of an emergency call may be familiar to one of skill in the art.

System and method for indicating emergency call back to user equipment


The present invention provides a lubricant composition comprising: (i) a base oil (ii) an organophilic clay-based thickener; and (iii) a solid lubricant, wherein said solid lubricant does not comprise any heavy metals. The present invention also provides the use of a lubricant composition comprising: a base oil; an organophilic clay-based thickener; and a solid lubricant, wherein said solid lubricant does not comprise any heavy metals, as a pipe dope.

Pipe dope is a term used to describe a lubricant composition (sometimes the term "grease composition" is used) used to make a pipe joint leak proof and pressure tight. The pipe dope fulfils an important role in a casing connection system. In the assembly phase, it needs to lubricate and protect against excessive wear under ambient conditions. After installation in a well it needs to protect the sealing surfaces from small sliding movements because of loading and unloading or thermal effects at operating conditions. Further the pipe dope aids in plugging channels present in a metal seal improving seal ability of a casing connection. As well as helping to seal pipe joints, the pipe dope also acts as a lubricant to help prevent seizing of the parts of the pipe to be joined and allowing easy disassembly.
As conventional sources of oil and gas decline, operators are increasingly turning their attention to unexplored or underdeveloped areas. Reservoirs with pressures and temperatures deemed higher than what was considered typical in the past are now frequent targets for exploration and development. These reservoirs and their associated wells are deemed high pressure/high temperature or HPHT.
According to the Society of Petroleum Engineers E&P glossary, high pressure/high temperature (HPHT) is where the undisturbed bottom hole temperature (at prospective reservoir depth or total depth) is greater than 300° F. or 150° C. and when the maximum anticipated pore pressure of the porous formation to be drilled exceeds a hydrostatic gradient of 0.8 psi/ft (18 kPa/m), or the well requiring pressure control equipment has a rated working pressure in excess of 10,000 psi or 69 MPa.
Such conditions require specialist knowledge and technology to safely exploit the reservoirs. Known pipe dope, such as API HP modified pipe dope, suitable for use in such conditions typically contains sulfur and heavy metals, such as lead, zinc and/or copper.
Chemicals, such as those used in pipe dope, for use in the offshore environment, are categorised according to a number of factors depending on local regulatory systems and requirements. Compositions containing such factors will then be categorised according to the chemicals contained therein. For example, the Oslo Paris (OSPAR) convention is the mechanism by which 15 governments of the western coasts and catchments of Europe cooperate to protect the marine environment of the North East Atlantic. OSPAR considers the use and discharge of hazardous substances in the offshore oil and gas industry as a cause for great concern. To reduce the overall impact of offshore chemicals on the marine environment, OSPAR has adopted a harmonised mandatory control system (HMCS) for use and reduction of discharges of offshore chemicals. This system promotes a shift towards the use of less hazardous or preferably non-hazardous substances in offshore oil and gas operations. To achieve these goals, the different OSPAR member states (principally, UK, Netherlands, Denmark and Norway) enforce slightly different schemes to classify the environmental hazards and risks associated with the use and discharge of chemicals offshore.
Under the UK/NL offshore chemical notification scheme (OCNS) managed by the Centre for Environment Fisheries and Aquaculture Science (CEFAS) in collaboration with NL state supervision of mines, products used offshore are assessed in one of two ways:                i) a risk-based approach using the Chemical Hazard and Risk Management CHARM model (if applicable) which compares the predicted environmental concentration of a substance with its toxic effects on environmental organisms which results in a colour classification output (gold, silver, white, blue, orange, purple; ranked in order of low environmental risk to high environmental risk) or;        ii) an assessment of the inherent environmental hazard and fate properties (toxicity, biodegradation and bioaccumulation potential) of a substance which results in letter category grouping from A to E (with A being most environmentally hazardous and E being least environmentally hazardous).
In Norway and Denmark, chemicals are categorised on the basis of their inherent environmental hazard properties (biodegradation, toxicity and bioaccumulation potential) using a colour classification system (green, yellow, red and black; with green chemicals considered to pose little or no risk (PLONOR) to the environment and black chemicals considered the most environmentally hazardous).
Heavy metals, such as lead, zinc and/or copper fall under the most harmful category (black or category A) and, therefore, use of such pipe dopes must be minimised and, preferably, avoided entirely through chemical substitution or "dope free" technologies. Furthermore, lead is on the OSPAR list of chemicals for priority action and is subject to monitoring activities to progress towards the cessation of its use and potential discharge to the marine environment.
In light of the desire to protect both human health and the environment, as well as increasing regulations in this area, much effort has been focussed on developing pipe dopes capable of long-term effective use in HPHT conditions which have a reduced health and environmental impact compared to known dopes.
For lower temperature applications, more environmentally-friendly alternatives (known as 'yellow' or 'OCNS category E-C' dope) are commercially available. However, OCNS category E-C rated pipe dopes typically stop working for temperatures over 150° C. The compounds tend to fail because of evaporation or thermal degradation of the base oil and/or the additives. As a consequence, lubricity is lost and the surface is damaged during the loading cycles leading to leakage. To date, despite all the research effort directed at this problem, no alternative dope to drill HPHT well materials and super duplex materials over 5000 PSI has been identified. Such a challenge is discussed in Inose K, Sugino M, Goto K. Influence of Grease on High-Pressure Gas Tightness by Metal-to-Metal Seals of Premium Threaded Connections, Tribol Online 2016; 11:227-34; and Nowinka J, Dall'Acqua D, New Standard for Evaluating Casing Connections for Thermal-Well Applications. SPE Drill Complet 2011; 26:419-31.
Thus, there is a global need for improved, more environmentally friendly lubricant compositions suitable for use as pipe dope with sufficient anti-galling and sealing performance for HPHT wells. Such formulations would be heavy metal free and, preferably, low sulfur.

Lubricant composition and use of the same as a pipe dope


A method of producing a clad metal ingot suitable for rolling to form a clad metal sheet, and the clad metal ingot so produced. The method involves providing a solid core ingot having an upper side with a rolling face thereon having cavities extending inwardly into the ingot from the rolling face. All or all-but-one of the cavities are blocked against molten metal entry and casting cores extending outwardly from the rolling surface are provided in alignment with the cavities. Molten cladding metal is cast on the rolling face around the casting cores to produce a composite ingot and the casting cores are removed to produce voids in the cladding layer, and the cavities are unblocked. The resulting interconnected cavities and voids are filled with a molten metal to form cast-in-place metal lugs keying or pinning the cladding layer to the core ingot.

(1) Field of the Invention
This invention relates to the cladding of metal ingots used for the formation of metal sheet by rolling. More particularly, the invention relates to cladding such ingots on one or both faces thereof.
(2) Description of the Related Art
It is well known to produce sheets of metal (particularly, although not exclusively, aluminum and aluminum alloys) provided with a core layer of one metal (e.g. AA3003 containing aluminum and 1% by weight Mn) and a thin cladding layer of a different metal (e.g. a high silicon-content alloy, such as Al plus 7 to 10% by weight Si) on one or both major surfaces. Such composite metal sheet is used, for example, as brazing sheet in which a core of a relatively high melting point aluminum alloy is clad with a thin layer of a low melting point alloy to permit attachment of metal components by brazing. In other cases, an alloy that is easily corroded may be clad with a corrosion-resistant alloy to prevent premature degradation.
Typically, clad metal sheet of this kind is produced by co-rolling of a core ingot and one or more plates of the cladding metal. Several hot-rolling and cold-rolling steps are normally undertaken to achieve the gauge reduction required and, during this process, the different metal layers become welded together by the heat and pressure of rolling. There is always a risk, however, that the plates or sheet layers will separate during the rolling process with potentially dangerous and damaging results. The likelihood of this is greatest at the start of rolling and, to prevent this, the cladding plate (or plates) may be secured to the core ingot by means of steel bands during a preheating step, in order to achieve a degree of bonding, followed by removal of the bands prior to rolling. This is a very demanding operation for the operators of the process given that the ingots may have a temperature in the region of 400° C. or more when the bands have to be removed.
Alternatively, the ingot and plate(s) may be welded together at their edges prior to rolling, but welding is time-consuming and is difficult or impossible at times due to warping of the plates.
U.S. Pat. No. 543,192, which issued to A. Rodig on Jul. 23, 1895 discloses a cladding process in which the cladding plates are physically interlocked to the core ingot by means of inter-engaging undercut or overhanging portions. The ingot is provided with furrows, grooves, recesses or overhanging projections and the cladding plate is formed with correspondingly shaped parts or is cast on the ingot surface.
U.S. Pat. No. 6,251,527 which issued to Schelin et al. (Alcoa) on Jun. 26, 2001 grooves the core ingot to provide a liner bed for receiving the cladding plate. A continuous upstanding lip provided at the edges of the ingot holds the cladding plate against slippage during rolling.
U.S. Pat. No. 6,818,078 which issued to Kim et al. (Liquidmetal Technologies) on Nov. 16, 2004 relates to a method of joining an amorphous metal to a non-amorphous metal. This is achieved by forming a cast mechanical joint between the two materials to create mechanical interlocking.
A problem encountered with mechanical interlocking or inlaying of metals of different kinds is that, during casting or cooling, thermal contraction of the metal or metals may result in cracking if one metal is mechanically fixed to another metal.


A gaming device including a game which displays a plurality of symbols to a player. A probability of being selected by the processor is associated with each of the symbols. Additionally, at least two picks of the symbols are provided to the player where the number of picks is less than the number of symbols. In a game, the processor randomly picks the symbols for the number of picks provided to the player. The player receives any awards associated with the symbols picked by the processor. The processor then eliminates the picked symbols from further selection in the game. Eliminating the picked symbols increases the probabilities associated with the unpicked symbols for future picks based on the probabilities associated with the picked symbols. The player continues to pick selections until there are no picks remaining in the game.

Gaming device manufacturers strive to make gaming devices that provide as much enjoyment and excitement as possible. Providing a secondary or bonus game in which a player has an opportunity to win potentially large awards or credits in addition to the awards associated with the primary or base game of the gaming device is one known method for enhancing player enjoyment and excitement.
Gaming devices having bonus games generally employ a triggering event that occurs during the operation of the base game of the gaming device. The triggering event temporarily stalls or halts the base game play and enables a player to enter a second, different game, which is the secondary or bonus game. The player plays the bonus game, likely receives an award, and returns to the base game.
Bonus games typically include a plurality of awards ranging from relatively small awards to relatively large awards such as a jackpot award. These awards are generally weighted so that the relatively large awards are more difficult to obtain than the relatively small awards in a bonus game. Thus, players are less likely to obtain the relatively large awards such as the jackpot award in the game.
Accordingly, gaming devices that employ bonus games that increase the probability of obtaining the relatively large award or awards are desirable. Players are attracted to games that provide larger awards and games that increase the chances of obtaining the larger awards. Therefore, to increase player enjoyment and excitement, it is desirable to provide new games for gaming devices.

Gaming device having a randomly selected symbol elimination game


The invention provides a technique of adjusting the mutual capacitance of resonant through-holes in a dielectric filter while maintaining the shape of input/output electrodes constant without causing a change in the external capacitance. In one such dielectric filter, a plurality of resonant through-holes are formed in a dielectric block, each resonant through-hole including a large-diameter hole and a small-diameter hole, a step being formed at the boundary between the large-diameter hole and the small-diameter hole, the inner wall of each said resonant through-hole being covered with an inner conductor; an outer conductor formed on outer surfaces of said dielectric block except for an end surface in which ends of the respective large-diameter holes are located; and input/output electrodes which are formed on a side face such that said input/output electrodes are coupled with said large-diameter holes; wherein the center axes of said large-diameter holes are deviated from the center axes of the corresponding small-diameter holes, thereby increasing the mutual capacitance between the large-diameter holes.

1. Field of the Invention
The present invention relates to a dielectric filter having a plurality of resonant through-holes formed in a single dielectric block, and more particularly to a dielectric filter having a plurality of resonant through-holes each including a part with a relatively large cross section (hereinafter referred to as a large-diameter hole) and a part with a relatively small cross section (hereinafter referred to as a small-diameter hole).
2. Description of the Related Art
Various techniques to control the characteristics of a dielectric filter for use in communications in a 900 MHZ band have been proposed. For example, International Patent Publication WO 95/30250 discloses a technique in which a receptacle is formed in the upper part of a resonant through-hole so that the receptacle is located near the top surface of a filter body, and furthermore a recess is formed on a side face corresponding to the receptacle. In this technique, the self capacitance and mutual capacitance can be increased by forming the receptacle. On the other hand, the self capacitance can be increased by forming the recess, without causing a significant increase in the mutual capacitance.
In the technique disclosed in Japanese Unexamined Patent Publication 61-52003, a cutout or a slit is formed in an open-circuited side face of a dielectric block. In this technique, the impedance at the open-circuited side face is adjusted by the cutout or the slit formed in the dielectric block to a value different from the impedance at the short-circuited side face so that the resonant through-holes are coupled to a desired degree.
In Japanese Unexamined Patent Publication 7-254806, there is disclosed a technique of producing a dielectric filter in such a manner that each resonant through-hole is divided into a large-diameter part having a greater cross section and a small-diameter part having a smaller cross section so as to achieve a desired degree of coupling between the resonant through-holes. The property of the coupling between resonant through-holes can be varied by shifting the axial position of the small-diameter parts. For example, if the small-diameter parts are moved toward each other, the coupling becomes more inductive, whereas the coupling becomes more capacitive if the small-diameter parts are moved apart from each other. Therefore, it is possible for an attenuation pole to be located at a frequency either lower or higher than the passband so as to achieve a desired frequency characteristic.
However, the technique disclosed in International Patent Publication No. WO 95/30250 has the following disadvantages. The receptacle serves to increase only the self capacitance and mutual capacitance near the open-circuited side face. On the other hand, the recess serves to increase only the self capacitance near the open-circuited side face while the mutual capacitance remains substantially unchanged. When it is desirable to increase the length of the resonant through-holes and also increase the frequency of the attenuation pole, it is required to increase the self capacitance near the open-circuited side face and reduce the mutual capacitance. However, this technique using the receptacle and the recess cannot be employed to meet such the requirement.
The disadvantage of the technique disclosed in Japanese Unexamined Patent Publication 61-52003, in which the coupling between resonant through-holes is adjusted by forming a cutout or a slit in the open-circuited side face, is that the frequency of the attenuation pole cannot be adjusted to a desired value because the mutual capacitance cannot be adjusted by the cutout or the slit although the self capacitance can be adjusted.
In the technique disclosed in Japanese Unexamined Patent Publication 7-254806, when the mutual capacitance is increased in order to locate the attenuation pole at a desired frequency while maintaining the coupling in the same capacitive or inductive modes without changing the general shape of the dielectric block, it is required to increase the diameter of the resonant through-holes at both the open-circuited and short-circuited side faces. However, the increase in the diameter of the resonant through-holes at the open-circuited side face causes an increase in the external coupling capacitance. Therefore, this technique cannot be employed when it is desired to reduce or increase the mutual capacitance without causing a change in the external coupling capacitance.
In view of the above, it is an object of the present invention to provide a dielectric filter whose self capacitance and mutual capacitances can both be easily controlled.


Disclosed is an image forming apparatus in which a replacement component is set including the replacement component in which a storage medium storing adjustment necessity information indicating whether an adjustment procedure is needed or not after the replacement component is replaced and adjustment item information indicating an adjustment item is attached, an information reading unit to read the adjustment necessity information and the adjustment item information from the storage medium when the replacement component is set and a control unit to execute the adjustment procedure based on the adjustment necessity information and the adjustment item information read by the information reading unit when a power is turned on after the replacement component is replaced.

1. Field of the Invention
The present invention relates to an image forming apparatus and an adjustment method and replacement components of the image forming apparatus.
2. Description of Related Art
Conventionally, in an image forming apparatus, various types of adjustments are carried out so that the image forming apparatus can operated stably even after the replacement component is replaced as the replacement component is replaced. There are cases where the adjustment item which needs to be adjusted is different for each replacement component to be replaced. Therefore, a user and a serviceman have been carrying out the adjustment of the adjustment item corresponding to the replaced replacement item by instructing the adjustment item corresponding to the replaced replacement item by the operation panel or the like.
However, missing of adjustment may occur when the adjustment item is instructed manually. Therefore, as for a technique to solve such missing of adjustment, for example, there is suggested a technique in which the adjustment item which is needed when the selected replacement component is replaces is decided and in which the adjustment is carried out in the image forming apparatus when a user or a serviceman selects the replacement component to be replaced manually by the operation panel or the like (for example, see JP2004-148714A (hereinafter, called patent document 1), JP2005-335164A (hereinafter, called patent document 2)).
In the inventions described in Patent documents 1 and 2, an operation of a person such as a user, a serviceman or the like is required. Therefore, there may be an error operation such as a miss selection or a missing of selection of the replacement component and the like, and the manual operation is not enough to prevent the missing of adjustment. Further, when the adjustment item is changed by the component being added, the version upgrading, and the like, it is complicated because an operation of updating of the software and the like in the image forming apparatus side is required. Further, there was a possibility that the missing of adjustment may occur and unnecessary adjustments may be executed unless the software is appropriately updated.

Image forming apparatus, adjusting method thereof and replacement component thereof

Konica Minolta Business Technologies, Inc.


In a display system and a display control method according to the present invention, a display specification data, which represents specifications of a display unit, is detected. A layout data of a document data is detected, the layout data being integrally stored with the document data and representing a page layout of data elements of the document data that are displayed on the display unit. The display unit is controlled such that the document data is displayed on the display unit in conformity with the detected display specification data and the detected layout data.

1. Field of the Invention
The present invention relates to a portable display system in which document data, such as electronic document or electronic magazine, is displayed on a display unit. The present invention relates to a display control method that controls the display system. Further, the present invention relates to a computer readable medium that stores display control program code instructions for use in the display system.
2. Description of the Related Art
A portable display system in which a document data, including characters and images, is displayed on a display unit, such as a liquid crystal display, is known. The proliferation of such portable display systems is increasing with development of a large-size liquid-crystal display and reduction of the cost. By using a portable display system, the user can easily display and view the information of electronic documents or electronic magazines, on the screen of the display unit.
For example, the electronic document format and the EPWing format are commonly used when displaying a text-based electronic document on the display unit. When displaying text data in the electronic document format, the frame of a viewer software package, which is configured to be analogous with a book, appears on the screen of the display unit. The original text data is converted into a processed document data using preset character fonts of the viewer software, and the processed document data is displayed. The electronic document format is primarily used when displaying text-based electronic documents. The EPWing format is similar to the electronic document format. When displaying text data in the EPWing format, the frame of a viewer software package appears on the screen of the display unit. The viewer software package is provided with a search engine. A desired part of electronic document is searched from the original text data, and the obtained part is converted into a processed document data, and the processed document data is displayed. The EPWing format is primarily used when displaying text-based electronic dictionaries.
On the other hand, when displaying a document data in which characters and images, such as drawings or illustrations, coexist, the PDF (portable document format) is frequently used. The PDF is a well-known file format for creating and viewing documents, which is originally developed to standardize Internet-based documents. The PDF file format includes the document data with data elements arranged according to a page layout. The document data with the page layout is visualized on the display unit. The PDF is primarily used when displaying text/image-mixed electronic magazines, including the document design, the page layout and the image data, on the screen of the display unit.
However, when an electronic document or electronic magazine is displayed using a portable display system, the screen of the display unit in the portable display system is too small in size to clearly view the details of the electronic document. When the entire document data with the original display size is selected on the portable display system, it is often difficult for the user to view the fine characters in the document data on the display unit.
Further, when an enlarged view of the document data is selected on the portable display system, the entire document data is enlarged on the display unit. In order to find out a desired part of the document data, it is necessary for the user to shift or scroll the enlarged view on the display unit by additionally manipulating the display system, which will be detrimental to the portability of the display system. In addition, when the enlarged view of the document data is displayed on the screen of the display unit, the entire document data with the original display size does not appear simultaneously with the enlarged view, which lowers the document displaying capabilities of the display system.


A clip (10) has a frame (31) and a flapper (32). Two dry bearings (37) are inserted into a hole (32d) formed in the flapper. Then an attaching shaft (35) is inserted from one of the holes (34a) in the frame (31) to the other through the dry bearings (37), so as to swingably attaching the flapper (32) to the frame (31). DAIDAYNE DDK 01 of DAIDO METAL Corp. is used as the dry bearing (37). A first and a second clip covers (51,52) are provided to cover the clips (10). Fresh air feeding pipes (55) are connected to the first and second clip covers (51,52). Fresh air is fed from the fresh air feeding pipes (55) toward the clips (10) through air outlets (56) provided in the first and second clip covers (51,52).

To produce a polymer film having no unevenness of thickness and optical properties, a tenter device has clips for holding lateral edges of the film, and moves the clips which hold the film. The film is dried while being transported. The clip is assembled such that a flapper is swingably attached to a U-shaped frame through an attaching shaft and dry bearings. The flapper is biased to a holding position by own weight. When the flapper is at the holding position, the film is held between a lower end surface of the flapper and a film holding surface of the frame. In addition, when an upper end surface of the flapper contacts a clip opener, the flapper is swung to a retreat position where the holding of the film is released. The clip starts the holding of the film at an entrance of the tenter device, and releases the holding at an exit of the tenter device. Tenter devices using this type of clips are disclosed in Japanese Patent Laid-Open Publications No. 11-77719 and No. 11-90943.
However, in case the conventional tenter device is used for producing cellulose acylate film, although at beginning the film having high retardation value and superior optical properties can be produced, then after a certain period of time, the some clips start misholding of the film because of poorly smoothness of the swing of the flapper. When the part of the film is misheld by the clip, there occurs the unevenness of thickness or optical properties of the dried film.
In addition, there becomes a possibility to break the soft film formed by solution casting, when springs or the like are used for biasing the swing of the flapper so that the flapper is swung to the holding position regardless of lack of the smoothness of swing.
An object of the present invention is to provide a tenter device used in a film producing apparatus for solution casting method, in which smoothness of swing of a clip does not become lower even after a certain period of time has passed.

This patent is subject to a terminal disclaimer.

Tenter device and method for drying film


A method for implementing large scale parallel file I/O processing includes steps of: separating processing nodes into compute nodes specializing in computation and I/O nodes (computer processors restricted to running I/O daemons); organizing the compute nodes and the I/O nodes into processing sets, the processing sets including: one dedicated I/O node corresponding to a plurality of compute nodes. I/O related system calls are received in the compute nodes then sent to the corresponding I/O nodes. The I/O related system calls are processed through a system I/O daemon residing in the I/O node. The plurality of compute nodes are evenly distributed across participating processing sets. Additionally, for collective I/O operations, compute nodes from each processing set are assigned as I/O aggregators to issue I/O requests to their corresponding I/O node, wherein the I/O aggregators are evenly distributed across the processing set. Additionally, a file domain is partitioned using a collective buffering technique wherein data is aggregated in memory prior to writing to a file; portions of the partitioned file domain are assigned to the processing sets.

A great deal of demand is placed on high-performance input/output (I/O) systems by data-intensive scientific/commercial applications running on today's most powerful computing systems. While most computationally intensive challenges are handled by emerging massively parallel systems with thousands of processors (e.g. IBM's Blue Gene/L), data-intensive computing with scientific and non-scientific applications still continues to be a major area of interest due to the gap between computation and I/O speed. The seamless transfer of data between memory and a file system for large-scale parallel programs is crucial for useful performance in a high-performance computing environment.
A scalable parallel I/O support in a parallel supercomputer consists mainly of high performance file systems and effective parallel I/O application programming interfaces (API). There have been many efforts in developing parallel file systems for supercomputers, such as GPFS (General Parallel File System) [Refer to F. B. Schmuck and R. L. Haskin, GPFS: a shared-disk file system for large computing clusters, in proceedings of Conference of Files and Storages Technologies (FAST'02), 2002] for IBM SP systems as well as Linux clusters, PVFS [See "PVFS2 Parallel Virtual File System,"] and Lustre [See "Lustre scalable storage," Copyright 2006 Cluster File Systems] for Linux-based platforms. In terms of application programming interfaces, MPI (Message Passing Interface) I/O is synonymous with parallel file I/O for scientific computing, because of its wide use and its base in MPI. MPI I/O supports relatively rich file access patterns and operations for concurrently accessing a single file, which allows aggressive optimizations to be integrated. However, in order to explore I/O performance of data-intensive applications, parallel I/O supports are needed at various levels such as: computation system, file system, and parallel I/O application programming interface (API). GPFS is highly optimized for large-chunk I/O operations with regular access patterns (contiguous or regularly striped). On the other hand, its performance for small-chunk, non-contiguous I/O operations with irregular access patterns (non-constant striped) is less optimized. Particularly, concurrent accesses (from distinct processes) to different file regions in the same GPFS striping-block introduce additional file system activities associated with its file locking mechanism, which can hurt performance.
In the past the extent of computations far exceeded the file I/O operations for scientific applications. However, many of today's large-scale scientific operations require real time data input and output (I/O) thereby increasing demands to provide both large-scale computation and file I/O either simultaneously or at regular or irregular intervals. Such demands for large scale computing result in demands to have both large chunk and small chunk file access both at regular and irregular intervals.
File I/O processes within a computer processor (compute node) start with an initiative from an application communicating with libraries (usually libc) through file scanning operations (fseek). The libraries initiate any read operation within the compute node. A compute node kernel is usually assisted by an input/output (I/O) daemon to talk to the outside world for modern network-based file system (NFS). Any communication to the outside world (including other compute nodes, file system or disks) is carried out through computer networks (referred to as communication tree, Ethernet) by means of sending data as communication packets. These packets normally contain the output results which are communicated to file servers (or disks) to be stored or for any file I/O for further processing or future use.
Referring to FIG. 1 there is shown an example of a basic file I/O mechanism for a simple single-node computer system 100. The Central Processing Unit (CPU) 101 performs a read function, which is re-issued by the operating kernel. The operation is a request to transfer data from disk 104 to memory 103 regions. The CPU directly or indirectly (e.g. through DMA) controls the disk and memory to perform the data transfer. For general cases, the data transfer does not involve cache memory 102.
Referring to FIG. 2 there is shown a simple illustration of hardware and software stacks associated with a file I/O mechanism 200. The single node computer system 100 contains the operating system (OS) 201 and an interface for accessing the file server 203 through the Ethernet 202.
In the case of parallel supercomputers, however, the presence of multiple computation cores, multiple file I/O daemons and file servers makes the scheduling, assignments and allocation of file I/O disks or file servers very complex. Depending on any requirements (either large scale computation, file I/O) the number of compute nodes, associated file I/O daemons and file servers are varied to minimize or maximize the application initiated operations. One common procedure followed by parallel supercomputers in recent years to handle large-chunks of file I/O followed by a big phase of computation is by separating the computation and I/O operations and carrying them out by means of separate compute and I/O intensive processors. By assigning separate processors for computations and I/O operations it is easier not only to parallelize the computations and I/O operations, but it is also efficient to optimize and minimize many of the data distributions, hence minimizing any data traffic and operations between different computer processors and file servers.
Referring to FIG. 3 there is shown a typical compute node (CN) 301 (also referred to as a single node computer system 100 specializing in computation) and I/O node 302 (computer processor specializing in and running I/O daemons). A file server 203 for carrying out file I/O in a typical parallel supercomputer is also shown. The compute node kernel 201 interacts with a computation network 303 and an internal I/O network 304. This illustrates the separation of computation and I/O functionalities for a computer system with at least one node functioning as a compute node 301 and another node functioning as an I/O node 302. The dedicated I/O node 302 contains its own kernel 305 that supports normal file I/O operations.
Referring to FIG. 4 there is shown an example of a computing system optimized for high-performance file I/O that explores state-of-the-art technologies. The system is composed of three primary components: a cluster of compute nodes 301 (CN), a storage sub-system 402, and Ethernet fabric 403 that connects the cluster of compute nodes 301 to the storage sub-system 402. In the system, the storage sub-system 402 can be viewed as file servers to provide data to the compute nodes 301, which in turn can be viewed as file clients. The storage sub-system 402 is composed of magnetic disks 104 (physical persistent storage), and Network Shared Disks (NSD) 404 (a cluster of computers collectively optimizes the accesses to the disks). The disks connect to NSD 404 via a Storage Area Network (SAN) fabric 405 (a type of network designed to attach computer storage devices).
Referring now to FIG. 5, a dedicated computation network 501 is used for communication among compute nodes. Some compute nodes 301 are chosen as I/O aggregators 502. Among all the compute nodes, only the I/O aggregators 502 communicate to the backend file system, which is composed of an array of NSD (network shared disks) servers 404, the storage area network (SAN) fabric 405, and the actual disks 104. The interconnect between the I/O aggregators 502 and the NSD servers 404 is Ethernet 403.
In terms of a parallel I/O application programming interface, the most widely-used interface appears to be the POSIX file I/O interface (e.g. POSIX write( )/read( ) system calls). However, such an interface is not efficient enough for parallel I/O. First, it only supports contiguous I/O requests. Second, it does not provide any means for concurrent processes of a large-scale parallel application (usually using message passing for inter-process communication) to coordinate their I/O requests. Modern parallel file systems usually deliver high data-throughput for file I/O requests of disk data in large, contiguous chunks. On the other side, most data-intensive applications issue many file data requests having small-chunk, non-contiguous patterns. There is a requirement for a mechanism or method to handle these different scenarios in a manner that is transparent to a user.
Existing parallel file systems (for example GPFS) do a good job in terms of continuous and regular striped file access with large chunk I/O operations. However, for small chunk and irregular file access patterns frequently encountered for scientific applications, existing parallel file systems do not deal properly, leading to severe performance penalties.
Therefore, there is a need for a solution that meets such demands by delivering useful performance for massive parallel file systems.

Method for providing high performance scalable file I/O through persistent file domain and functional partitioning

International Business Machines Corporation