A device supporting content delivery is configured to run at least one content delivery (CD) service of a plurality of CD services. The plurality of CD services include adaptation services.

A content delivery network (CDN) distributes content (e.g., resources) efficiently to clients on behalf of one or more content providers, preferably via a public Internet. Content providers provide their content (e.g., resources) via origin sources (origin servers or origins), and a CDN can also provide an over-the-top transport mechanism for efficiently sending content in the reverse direction—from a client to an origin server. Both end-users (clients) and content providers benefit from using a CDN. Using a CDN, a content provider is able to take pressure off (and thereby reduce the load on) its own servers (e.g., its origin servers). Clients benefit by being able to obtain content with fewer delays.
End Users and Subscribers
In the following description, an end user is an entity (e.g., person or organization) that ultimately consumes some Internet service (e.g., a web site, streaming service, etc.) provided by a service provider entity. This provider entity is sometimes referred to as a subscriber in this description because they subscribe to CDN services in order to efficiently deliver their content, e.g., from their origins to their consumers. A CDN may provide value-added mediation (e.g., caching, transformation, etc.) between its subscribers and their end-users.
Clients and Origins
As used herein, clients are agents (e.g., browsers, set-top boxes, or other applications) used, e.g., by end users to issue requests (e.g., DNS and HTTP requests) within the system. When no CDN or other intermediaries are in use, such requests may go directly to the subscriber's own servers (e.g., their origin servers) or to other components in the Internet. When a content provider subscribes to CD services (described below), various requests may go to intermediate CD services that may map the end-user requests to origin requests, possibly transforming and caching content along the way.
Typically, each distinct origin (e.g., origin server) is associated with one subscriber, but a subscriber may be associated with any number of origins, including subscriber-owned and CDN provided origins.
The physical origins with which the CDN interacts may actually be intermediaries that acquire content from a chain of intermediaries, perhaps, e.g., elements of a separate content acquisition system that ultimately terminates at a subscriber's actual origin servers. As far as the internals of the CDN are concerned, however, the origin is that service outside the system boundary from which content is directly acquired.
Logical Organization
Services, Service Instances, and Machines
As used herein, a "service instance" refers to a process or set of processes (e.g., long-running or interrupt driven) running on a single machine. As used herein, the term "machine" refers to any general purpose or special purpose computer device including one or more processors, memory, etc. Those of ordinary skill in the art will realize and understand, upon reading this description, that the term "machine" is not intended to limit the scope of anything described herein in any way.
One or more service instances (of the same or different service types) may run on single machine, but a service instance is the execution of a single service implementation. As used herein, "service implementation" refers to a particular version of the software and fixed data that implement the single service instance. A service or service implementation may be considered to be a mechanism (e.g., software and/or hardware, alone or in combination) that runs on a machine and that provides one or more functionalities or pieces of functionality.
A service may be a component and may run on one or more processors or machines Multiple distinct services may run, entirely or in part, on the same processor or machine. The various CD services may thus also be referred to as CD components.
Those of ordinary skill in the art will realize and understand, upon reading this description, that the term "service" may refer to a "service instance" of that kind of service.
In some cases, it may be useful or necessary to distinguish between the code (e.g., software) for a service and an actual running version of the service. For the sake of this description, the code corresponding to a service is sometimes referred to as an application or application code for that service. Those of ordinary skill in the art will realize and understand, upon reading this description, that a machine may have code for a particular service (e.g., in a local storage of that machine) without having that service running on that machine. Thus, e.g., a machine may have the application code (software) for a collector service even though that machine does not have an instance of the collector service running. The application code for a service may be CDN resource (i.e., a resource for which the CDN is the origin).
There is no requirement that services running on a particular machine be of the same type. There is also no requirement that the services running on a particular machine, even if of the same type, be configured in the same manner, or be the same version. Thus, e.g., a particular machine may run two collector services, each configured differently. As another example, a particular machine may run a reducer service and a collector service.
Categorizing Services
A CDN may, in some aspects, be considered to consist of a collection of mutually interconnected services of various types. FIG. 1A depicts an exemplary categorization of major service types, and divides them into two overlapping categories, namely infrastructure services and delivery services. Infrastructure services may include, e.g., services for configuration and control (to command and control aspects of the CDN), and services for data reduction and collection (to observe aspects of the CDN). These services support the existence of the delivery services, whose existence may be considered to be a primary purpose of the overall CDN. In accordance with an embodiment, the delivery services are themselves also used as implementation mechanisms in support of infrastructure services.
Although not required, in preferred CDN implementations, it will likely be the case that, for most service types, service instances will not be isolated but will, instead, be grouped in some manner (e.g., into hierarchies or lattices) containing multiple instances of that service type. Thus, e.g., a CDN may comprise groupings of the various types of services (e.g., a grouping of control services, a grouping of reduction services, etc.) These homogenous groupings may include homogenous sub-groupings of services of the same type. Generally, these homogenous groupings form networks, generally comprising subnetworks.
Typical interaction patterns and peering relationships between services of the same and different types impose not only structure on the topology of a local service neighborhood but also on the topology of interactions between the homogenous subnetworks. These subnetworks may be internally connected or consist of isolated smaller subnetworks. In general, for service type T, this description will refer to the T network as that subnetwork of the CDN consisting of all service instances of type T, regardless of whether or not the corresponding subnetworks of type T are actually interconnected. Thus, e.g., the rendezvous network (for the rendezvous service type) refers to the subnetwork of the CDN consisting of all rendezvous service instances, regardless of whether or not the corresponding rendezvous service subnetworks are actually interconnected.
In general, for service type T, as used herein, the "T service(s)" or "T system" refers to the collection of services of type T, regardless of whether or how those services are connected. Thus, e.g., the "reducer services" refers to the collection of CD services of the CDN consisting of all reducer service instances, regardless of whether or not the corresponding reducer services (or service instances) are actually connected, and, if connected, regardless of how they are connected. Similarly, e.g., the "collector system" refers to the collection of CD services of the CDN consisting of all collector service instances, regardless of whether or not the corresponding collector services (or service instances) are actually connected, and, if connected, regardless of how they are connected; etc.
As used herein, a particular service of type T running on one or more machines may also be referred to as a "T" or a "T mechanism." Thus a rendezvous service instance running on one or more machines may also be referred to as a rendezvous mechanism; a control service instance running on one or more machines may also be referred to as a controller or control mechanism; a collecting (or collector) service instance running on one or more machines may also be referred to as a collector or collector mechanism; and a reducer service instance running on one or more machines may also be referred to as a reducer or reducer mechanism.
It should be appreciated that as a particular machine may be running more than one kind of service, the naming of a service instance on a particular machine does not limit the machine from running other types of services.
Information Types
Each service or kind of service may consume and/or produce data, and, in addition to being categorized by CDN functionality (e.g., namely infrastructure services and delivery services above), a service type may be defined or categorized by the kind(s) of information it produces and/or consumes. In one exemplary high-level categorization of services, services are categorized based on five different kinds of information that services might produce or consume are defined, as shown in the following table (Table 1):
TABLE 1Service CategorizationCategoryDescription1(Abstract)Any information that can be delivered from server toDeliveryclient.2Configura-Relatively static policies and parameter settings thattiontypically originate from outside the network and con-strain the acceptable behavior of the network.3ControlTime-varying instructions, typically generated within thenetwork, to command specific service behaviors withinthe network.4EventsStreams (preferably, continuous) of data that captureobservations, measurements and actual actions performedby services at specific points in time and/or space in oraround the network.5StateCumulative snapshots of stored information collectedover some interval of time and/or space in or around thenetwork.
Each service or kind of service may consume and/or produce various kinds of data. Operation of each service or kind of service may depend on control information that service receives. As part of the operation (normal or otherwise) of each service or kind of service, a service may produce information corresponding to events relating to that service (e.g., an event sequence corresponding to events relating to that service). For some services or kinds of services, the data they consume and/or produce may be or include event data. Each service or kind of service may obtain state information from other CDN services or components and may generate state information for use by other CDN services or components. Each service may interact with other services or kinds of services.
FIG. 1B shows a generic CD service instance for each kind of service in a CDN along with a possible set of information flows (based on the service categorization in Table 1 above).
As shown in FIG. 1B, each service instance in a CDN may consume (take in) control information (denoted CTRL in the drawing) and may produce (e.g., emit or provide) control information as an output (denoted CTRL′ in the drawing). Each service instance may consume state information (denoted S in the drawing) and may produce state information (denoted S′ in the drawing) as an output. Each service instance may consume events (denoted E in the drawing) and may produce events (denoted E′ in the drawing). Each service instance may consume configuration information (denoted CFIG in the drawing) and may produce configuration information (denoted CFIG′ in the drawing). Each service instance may consume delivery information (denoted D in the drawing) and may produce delivery information (denoted D′ in the drawing).
It should be appreciated that not every service instance or kind of service instance needs to consume each kind of input (control, state, events, config, etc.) or to produce each kind of output. Furthermore, it should be appreciated that not every service instance needs to use or transform or modify any/all of its inputs (e.g., a service endpoint may pass information through without transformation of that information). So, e.g., with reference to FIG. 1B, in some cases CTRL=CTRL′ and/or S=S′ and/or E=E′, etc.
As used herein, in the context of data consumed or produced by a service, the term "state" refers to "state information," the term "events" refers to "events information," the term "config." (or "configuration") refers to "configuration information," and the term "control" refers to "control information." When used in the context of configuration information, the word "configuration" is sometimes abbreviated herein to "config" (without a period at the end of the word).
A producer of a certain kind of information is referred to as a "source" of that kind of information, and a consumer of a certain kind of information is referred to as a "sink" of that kind of information. Thus, e.g., a producer of state (or state information) may be referred to as a "state source," a producer of configuration information may be referred to as a "config source," etc.; a consumer of state may be referred to as a "state sink," a consumer of configuration information may be referred to as a "config sink," and so on.
Considering possible combinations of information flows provides a number of different ways to categorize services. A set of trivial service types (shown in FIG. 1C) may be defined by constraining each service to have one kind of information flow in one direction (i.e., to be a source or a sink of one kind of information). The five information categories delivery, configuration, control, events, and state (Table 1 above), give the ten trivial service types shown in FIG. 1C.
Using these trivial service types (FIG. 1C) as the basis, typical combinations of flows expected to occur in CD services may be defined, leading to the exemplary definition/taxonomy of the infrastructure services and (primary) delivery services shown in FIG. 1D. As shown in the drawing in FIG. 1D, CD services may be categorized as delivery sources and/or delivery sinks. A delivery source may be a config source, a control source, an event source, and/or a state source. A delivery source that is a config source is a delivery source of config information; a delivery source that is a control source is a delivery source of control information, a delivery source that is an event source is a delivery source of event information, and a delivery source that is a state source is a delivery source of state information.
A delivery sink may be a config sink, a control sink, an event sink, and/or a state sink. A delivery sink that is a config sink is a delivery sink of config information; a delivery sink that is a control sink is a delivery sink of control information, a delivery sink that is an event sink is a delivery sink of event information, and a delivery sink that is a state sink is a delivery sink of state information.
A minimal CD service is an event source and a control sink. That is, a minimal CD service is a delivery source of event information and a delivery sink of control information.
A (primary) delivery service is a minimal CD service (and thus inherits the taxonomic properties of a minimal CD service).
Thus, a configuration service may be categorized, according to the taxonomy in FIG. 1D, as a config source, and a config sink. A configuration service may also be categorized as a minimal CD service, whereby it is also categorized as an event source and a control sink. A configuration service is a delivery source (of config information) and a delivery sink of config information.
A control service may be categorized, according to the taxonomy in FIG. 1D, as a minimal CD service (and thereby an event source and a control sink), as a config sink, and as a control source. A control service is a delivery sink of config information and a delivery source of control information.
A reducer service may be categorized, according to the taxonomy in FIG. 1D, as a minimal CD service (and thereby an event source and a control sink), and as an event sink. A collector service may be categorized, according to the taxonomy in FIG. 1D, as a minimal CD service (and thereby an event source and a control sink), and as an event sink, a state source, and a state sink.
Caching services, rendezvous services, object distribution services, and compute distribution services are each (primary) delivery services, and are therefore minimal CD services, according to the exemplary taxonomy in FIG. 1D.
As may be seen from the diagram in FIG. 1D, in some aspects to be a CD service means to be enmeshed in the network of other CDN services. The Minimal CD Service in the diagram is both a Control Sink and an Event Source, meaning that all CDN services consume control information and generate events.
Those of ordinary skill in the art will realize and understand, upon reading this description, that this example taxonomy shown in FIG. 1D should be taken as a general guideline for naming services in useful ways that capture their essential similarities and differences, though it should not be used to limit the scope of the system in any way. While the taxonomy captures the names and definitions of idealized services, it should be appreciated that actual service implementations may stray from these constraints for practical reasons. Most actual infrastructure services will involve more information exchanges than shown above, for example. For example, control services may consume state information from collectors, and primary delivery services may consume both event streams and collector state. These variations may be considered subtypes of the versions shown earlier. A more realistic set of information flows between the basic CD service types is shown in FIG. 1E (discussed below). This set of relationships can be considered as existing between individual services or between entire subnetworks of homogeneous services (as can be seen by comparing the diagrams in FIG. 1E and FIG. 1F).
Those of ordinary skill in the art will realize and understand, upon reading this description, that several kinds of delivery services are referred to herein (as noted by the "Abstract" prefix in "(Abstract) Delivery" above). When not explicitly stated, the kind of delivery service may be determined from the context.
The (abstract) delivery service category is an umbrella term for all information exchanged by services and clients, reflecting the fact that all services deliver information. This observation leads to the taxonomy of information flows shown in FIG. 1G, where each of the other four types of information (config, control, events, and state) may be considered as special cases of (abstract) delivery information.
Unless stated otherwise or apparent from the context, in the rest of this description, however, a delivery service refers to one that is providing one of the (primary) delivery services that CDN subscribers/customers use (e.g., caching and rendezvous). Those of ordinary skill in the art will realize and understand, upon reading this description, that this distinction is arbitrary, and may change depending on the set of services offered to subscribers/customers. The offered set of services need not be limited to the current set of primary deliver services
The last service variant is (controlled) delivery, referring to any service that is being controlled by the network. Those of ordinary skill in the art will realize and understand, upon reading this description, that it may sometimes be useful to distinguish the service being controlled from the services doing the controlling, even though all services in the CDN are controlled by it.
Logical and Physical Information Flows
Each information flow between two interacting services will typically have an associated direction (or two). The direction of arrows in most of illustrations here is intended to represent the primary direction in which information flows between a source and a sink, and not the physical path it takes to get there.
For example, the left side of FIG. 1H depicts a logical flow of information across three services (config service to control service to controlled service). It should be appreciated, however, that the flow depicted in the drawing does not necessarily imply a direct exchange of information between the various services. The right side of FIG. 1H shows an example of an actual path through which information might flow, involving intermediate delivery networks (in this example, two specific intermediate delivery networks, object distribution service(s) for the config information from the config service to the control service, and caching service(s) for the control information from the control service to the controlled service, in this example). It should also be appreciated that the level of description of the right side of the FIG. 1H is also a logical representation of the data paths for the config and control information.
In addition, those of ordinary skill in the art will realize and understand, upon reading this description, that whether logical or physical, information flow arrows usually do not specify any protocol(s) involved for the information exchange or which side initiates the conversation. Multiple protocols are conceivable and are contemplated herein, and, in many cases, the same application level protocol could be applied in multiple ways, e.g., where either side may push or pull. An exception to this is when a particular protocol is itself a defining feature of a service (for example, as may be the case with primary delivery services).
Example CDNs
In some aspects, a CDN may be considered to exist in the context of a collection of origin servers provided by (or for) subscribers of the CDN service, a set of end-user clients of the content provided by subscribers through the CDN, a set of internal tools (e.g., tools that provision, configure, and monitor subscriber properties), an internal public-key infrastructure, and a set of tools provided for use by subscribers for direct ("self-service") configuration and monitoring of the service to which they are subscribing (see, e.g., FIG. 1I). It should be appreciated that not every CDN need have all of these elements, services, or components.
For the purposes of this description, all services on the edge of and within the CDN cloud shown in FIG. 1I may be considered part of an exemplary CDN. These services may be distinguished from those outside the boundary in that they are themselves configured and controlled by other services within the CDN.
A CDN may thus be considered to be a collection of interacting and interconnected (or enmeshed) services (or service instances), along with associated configuration and state information. FIG. 1J depicts a logical overview of an exemplary CDN 1000 which includes services 1002, configuration information 1004, and state information 1006.
The services 1002 may be categorized or grouped based on their roles or the kind(s) of service(s) they provided (e.g., as shown in FIG. 1A). For example, as shown in FIG. 1J, an exemplary CDN 1000 may include configuration services 1008, control services 1010, collector services 1012, reducer services 1014, and primary delivery services 1016. Recall that, as used herein, for service type T, as used herein, the phrase "T services" refers to the collection of services of type T, regardless of whether or how those services are connected. Thus, e.g., the reducer services 1014 refer to the collection of all reducer service instances, regardless of whether the corresponding reducer service instances are actually connected, and, if connected, regardless of how they are connected.
The configuration services 1008 may include, e.g., services for configuration validation, control resource generation, etc. The control services 1010 may include, e.g., services for control resource distribution, localized feedback control, etc. The collector services 1012 may include, e.g., services for monitoring, analytics, popularity, etc. The reducer services 1014 may include, e.g., services for logging, monitoring, alarming, analytics, etc. The primary delivery services 1016 may include, e.g., services for rendezvous, caching, storage compute, etc.
Those of ordinary skill in the art will realize and understand, upon reading this description, that different and/or other categorizations of these services may be applied. In addition, those of ordinary skill in the art will realize and understand, upon reading this description, that the examples listed above for the various groups of services are merely exemplary, and that any particular category may include different and/or other services.
Roles and Flavors
The various CD services that a particular machine is running on behalf of the CDN, or the various roles that a machine may take on for the CDN, may be referred to as the flavor of that machine A machine may have multiple flavors and, as will be discussed, a machine may change flavors.
Provisioning and configuration of machines is described in greater detail below.
In some implementations, groups of services (corresponding, e.g., to the services needed by a particular kind of CDN node) may be named, with the names corresponding, e.g., to the flavors.
The role(s) that a machine may take or the services that a machine may provide in a CDN include: caching services, rendezvous services, controlling services, collecting services, and/or reducing services.
As used herein, one or more machines running a caching service may also be referred to as a cache; one or more machines running a rendezvous service may also be referred to as a rendezvous mechanism or system, one or more machines running control services may also be referred to as a controller; one or more machines running collecting services may also be referred to as a collector or collector mechanism; and one or more machines running a reducer services may also be referred to as a reducer or reducer mechanism.
CD Service Interactions
FIG. 1E shows the logical connectivity and flow of different kinds of information (event, control, and state information) between service endpoints of the various services or kinds of services of an exemplary CDN (based, e.g., on the categorization of services in FIG. 1J). As shown in FIG. 1E, configuration service instance endpoints (corresponding to configuration services 1008 in FIG. 1J) may provide configuration information to control service endpoints (corresponding to control services 1010 in FIG. 1J).
Control service instance endpoints may provide control information (C1) to collector service instance endpoints (corresponding to collector services 1012 in FIG. 1J), control information (C2) to reducer service endpoints (corresponding to reducer services 1014 in FIG. 1J), and control information (C3) to delivery service instance endpoints (corresponding to all delivery services, including primary services 1016 in FIG. 1J). Control services endpoints may also provide control information (C4) to other control services endpoints and control information (C5) to configuration service endpoints. The flow of control information is shown in the drawing by solid lines denoted with the letter "C" on each line. It should be appreciated that the letter "C" is used in the drawing as a label, and is not intended to imply any content or that the control information on the different lines is necessarily the same information.
As also shown in FIG. 1E, configuration service endpoints, control service endpoints, collector service endpoints, reducer service endpoints, and services endpoints, may each provide event data to reducer service endpoints. Reducer service endpoints may consume event data from the various service endpoints (including other reducer service endpoints) and may provide event data to collector service endpoints. The flow of event information is shown in the drawing by dotted lines denoted with the letter "E" on each line. It should be appreciated that the letter "E" is used in the drawing as a label, and is not intended to imply any content or that the event information on the different lines is necessarily the same event information.
Various components (i.e., service endpoints) may consume and/or produce state information. For example, collector service endpoints may produce state information for other service endpoints, e.g., state information S1 for reducer service endpoints, state information S2 for configuration services endpoints, state information S3 for control service endpoints, state information S4 for collector service endpoints, and state information S5 for delivery service endpoints. The flow of state information is shown in the drawing by dot-dash lines denoted with the letter "S" on each line. It should be appreciated that the letter "S" is used in the drawing as a label, and is not intended to imply any content or that the state information on the different lines is necessarily the same state information.
As can be seen from the flow of information (event data, control data, and state data) in the diagram in FIG. 1E, various services or components of the CDN can provide feedback to other services or components. Such feedback may be based, e.g., on event information produced by the components. The CDN (services and components) may use such feedback to configure and control CDN operation, at both a local and a global level.
FIG. 1K shows aspects of the flow in FIG. 1E (without the configuration services, with various flow lines removed and with some of the branches relabeled in order to aid this discussion). As shown in FIG. 1K, a particular service endpoint 1016-A may provide event data (E) to a reducer endpoint service 1014-A. The reducer endpoint service may use this event data (and possibly other event data (E′), e.g., from other components/services) to provide event data (E″) to collector endpoint service 1012-A. Collector service 1012-A may use event data (E″) provided by the reducer endpoint service 1014-A to provide state information (S) to a control endpoint service 1010-A as well as state information (denoted S local) to the service endpoint 1016-A. FIG. 1K shows particular components/endpoints (a service endpoint) in order to demonstrate localized feedback. It should be appreciated, however, that each type of service endpoint (e.g., control, collector, reducer) may provide information to other components/service endpoints of the same type as well as to other components/service endpoints of other types, so that the control feedback provided to the service endpoints may have been determined based on state and event information from other components/service endpoints.
Those of ordinary skill in the art will realize and understand, upon reading this description, that the information flow (and thus any feedback loops) shown in FIGS. 1E and 1K may apply equally at local and global levels, and may apply to any and all CDN services and components. Thus, as shown in FIG. 1L, information may flow between the various CDN components shown in FIG. 1J in the same manner as information flows between service instance endpoints.
Event information from each kind of service may be provided to reducer services 1014 from each of the other kinds of services. The reducer services 1014 may provide event information to the collector services 1012. Based at least in part on event information provided by the reducer services 1014, the collector services 1012, in turn, may provide state information to control services 1010, configuration services 1008, reducer services 1014, and primary services 1016. Based at least in part on state information provided by collector services 1012, the control services 1010 may provide control information to the other services.
FIG. 1E shows canonical service interactions between individual service instances of various types, whereas FIG. 1L shows interactions and information flows between groups of services of the same type or between classes of service types. It should therefore be appreciated that various boxes (labeled 1008, 1010, 1012, 1014, and 1016) in FIG. 1L may represent multiple services/components of that type.
The endpoints of each kind of service (caches, rendezvous, collectors, reducers, control) may be organized in various ways. In general, the endpoints of each kind of service form a network comprising one or more sub-networks of those endpoints. Thus, a CDN may include at least one cache network of cache services, at least one rendezvous network of rendezvous services, at least one collector network of collector services, at least one reducer network of reducer services, and at least one control network of control services. Each of these networks may be made up of one or more sub-networks of the same type of services. The configurations and topologies of the various networks may be dynamic and may differ for different services. Those of ordinary skill in the art will realize and understand, upon reading this description, that a CDN need not have all of the kinds of services listed or described here.
Each box showing services in FIG. 1L (i.e., boxes labeled 1008, 1010, 1012, 1014, and 1016) may, e.g., comprise a network (one or more subnetworks) of services or components or machines providing those services.
Thus, e.g., the box labeled reducer services 1014 may comprise a network of reducers (or machines or components providing reducer services). That is, the reducer services 1014 may comprise a reducer network (one or more subnetworks) of reducer services, being those subnetworks of the CDN consisting of all service instances of type "reduce."
Similarly, the box labeled collector services 1012 may comprise a network of collectors (or machines or components providing collector services). That is, the collector services 1012 may comprise a network (one or more subnetworks) of collector services (the collector network), being those subnetworks of the CDN consisting of all service instances of type "collector." Similarly, control services 1010 may comprise a control network (one or more subnetworks) of control services, being those subnetworks of the CDN consisting of all service instances of type "control." Similarly, config services 1008 may comprise a config network (one or more subnetworks) of config services, being those subnetworks of the CDN consisting of all service instances of type "config," and similarly, the delivery services 1016 (which includes cache services and rendezvous services) may comprise a network (one or more subnetworks) of such services. FIG. 1F shows exemplary information flows between homogeneous service-type networks.
Thus, event information may flow from any delivery service (1016) via a network of reducer services 1014 to a network of collector services 1012. Any of the reducer services in the network of reducer services 1014 may provide event information to any of the collector services in the network of collector services 1012. Any of the collector services in the network of collector services 1012 may provide state information to any of the reducer services 1014 and to control services 1010.
Thus are provided various feedback loops that, in an embodiment, operate in real time to control the various services.
Those of ordinary skill in the art will realize and understand, upon reading this description, that, as used herein, the term "real time" means near real time or sufficiently real time. It should be appreciated that there are inherent delays built in to the CDN (e.g., based on network traffic and distances), and these delays may cause delays in data reaching various components Inherent delays in the system do not change the real-time nature of the data. In some cases, the term "real-time data" may refer to data obtained in sufficient time to make the data useful in providing feedback.
Although the term "real time" has been used here, it should be appreciated that the system is not limited by this term or by how much time is actually taken for data to have an effect on control information. In some cases, real time computation may refer to an online computation, i.e., a computation which produces its answer(s) as data arrive, and generally keeps up with continuously arriving data. The term "online" computation is compared to an "offline" or "batch" computation.
Hybrid Services
Although services are generally described as having one role (e.g., delivery, rendezvous, collector, reducer, etc.), those of ordinary skill in the art will realize and understand, upon reading this description, that hybrid services may be formed by combining the functionality of various services. Hybrid services may be formed from services of different types or of the same type. For example, a hybrid service may be formed from a reducer service and a collector service. Hybrid services may be formed from one or more other services, including other hybrid services. Each device may run one or more services, including one or more hybrid services.
Events & Event Information
As noted, each service may produce information corresponding to events relating to that service (e.g., an event sequence corresponding to events relating to that service). An event is information (e.g., an occurrence) associated with an entity and an associated (local) time for that information. Thus, at a local level, i.e., at an entity (e.g., service or device or machine) that produces an event, an event may be considered as a <time, information> pair. An event stream is an ordered list of events, preferably time ordered, or at least partially time ordered. The time associated with an event is, at least initially, presumed to be the time on the entity on which that event occurred or a time on the entity on which the information associated with that event was current, as determined using a local clock on or associated with that entity. Events in event streams preferably include some form of identification of the origin or source of the event (e.g., an identification of the entity originally producing the event). Thus, outside of the entity that produces an event, an event may be considered as a tuple <entity ID; time, information>, where "entity ID" identifies the entity that produced the event specified in the "information" at the local time specified by the "time" field. Preferably the entity ID uniquely identifies the entity (e.g., a service instance) within the CDN. The time value is time at which the event occurred (or the information was generated), as determined by the entity. That is, the time value is a local time of the event at the entity. In preferred implementations, local time is considered to be coordinated universal time (UTC) for all CDN entities/services.
The information associated with an event may include information about the status of an entity (e.g., load information, etc.), information about the health of an entity (e.g., hardware status, etc.), information about operation of the entity in connection with its role in the CDN (e.g., in the case of a server, what content it has been requested to serve, what content it has served, how much of particular content it served, what content has been requested from a peer, etc., and in the case of a DNS service, what name resolutions it has been requested to make, etc.), etc. Those of ordinary skill in the art will realize and understand, upon reading this description, that different and/or other occurrences or items of information may be included in events.
An event stream is a sequence of events, preferably ordered. Streams are generally considered to be never ending, in that they have a starting point but no assumed endpoint.

This patent is subject to a terminal disclaimer.

Devices and methods supporting content delivery with adaptation services


A coupling antenna has a substrate, an inducting conductor, a ground plane, a first coupling member and a second coupling member. The inducting conductor is mounted on the substrate. The ground plane is formed on and protrudes from the inducting conductor and is mounted on the substrate. The first coupling member is mounted on the substrate and is connected to a feeding cable. The second coupling member is mounted on the substrate and is connected to the first coupling member. The coupling antenna with the first coupling member, the second coupling member and the inducting conductor has a wide bandwidth and a small size.

1. Field of the Invention
The present invention relates to an antenna, and more particularly to a coupling antenna that has a substrate, a first coupling member, a second coupling member and an inducting conductor so that the coupling antenna has a wide bandwidth and a small size.
2. Description of Related Art
Wireless telecommunication technologies have greatly developed to be mature, reliable and marketable so that the market demand for the wireless products greatly increases in the recent years.
With reference to FIG. 1, U.S. Pat. No. 6,081,242 discloses an "antenna matching circuit" that has a printed circuit board (PCB) (24a), a connection pad (40), a first inductor (34), a second inductor (38) and a ground plane (42). The PCB (24a) has a top surface. The connection pad (40) is mounted on the top surface of the PCB (24a). The first inductor (34) is zigzag, is mounted on the PCB (24a), is coupled to the connection pad (24a) and has an inside end. The second inductor (38) is zigzag, is mounted on the top surface of the PCB (24a) and has an inside end. The inside ends of the first and second inductors (34, 38) cooperate to form a capacitor (26a). The ground plane (42) is mounted on the top surface of the PCB (24a) and is coupled to the second inductor (38). The zigzag first and second inductors (34, 38) improve the inductance effect and the electronic coupling efficiency and reduce the size of the antenna to achieve multi-band operation. However, an area of the antenna generating capacitive coupling effect is small. Therefore, the operating bandwidth of the antenna is narrow so that the practical application of the antenna is limited.
To overcome the shortcomings, the present invention provides a coupling antenna to mitigate or obviate the aforementioned problems.


A switchable engine mount is provided. The switchable engine mount includes an end plate including one or more openings in fluidic communication with a hydraulic source and a channel plate coupled to the end plate and including one or more hydraulic flow openings. The switchable engine mount further includes a decoupler including at least one decoupler plate at least partially enclosed by the channel plate and the end plate and a switching plate positioned adjacent to the decoupler and configured to axially actuate the decoupler in response to reception of an input force from an actuator, the input force non-parallel to the axially actuation.

Engine mounts may be used to attach engines to vehicle frames or other suitable structural vehicle elements. However, the engine and/or vehicle may generate vibrations during operation. Therefore, hydraulic dampening engine mounts have been developed to attenuate engine vibrations during vehicle operation. Hydraulic engine mounts may provide several configurations, enabling the dampening provided by the mount to be adapted for different operating conditions. For instance, engines mounts may have a first configuration for idle operation dampening and a second configuration for motive engine operation dampening.
U.S. Pat. No. 7,036,804 discloses an adaptive hydraulic engine mount having a solenoid valve operable to axially adjust a valve sealing element to change the level of dampening provided by the hydraulic mount. However, the inventors have recognized several drawbacks with the hydraulic engine mount disclosed in U.S. Pat. No. 6,361,031. For example, actuating the solenoid valve requires an axial force that must overcome the hydraulic pressure in the mount. As a result, the size of the solenoid valve and corresponding components may be increased to provide a required amount of actuation force to overcome the hydraulic pressure. Additionally, the cost of the hydraulic mount may be increased when the aforementioned components are increased in size.
The inventors herein have recognized the above issues and developed a switchable engine mount. The switchable engine mount includes an end plate including one or more openings in fluidic communication with a hydraulic source and a channel plate coupled to the end plate and including one or more hydraulic flow openings. The switchable engine mount further includes a decoupler including at least one decoupler plate at least partially enclosed by the channel plate and the end plate and a switching plate positioned adjacent to the decoupler and configured to axially actuate the decoupler in response to reception of an input force from an actuator, the input force non-parallel to the axially actuation.
In this way, an actuation force may be applied is a direction that does not oppose an axial hydraulic force in the mount, thereby decreasing an amount of actuation force needed to actuate the mount from a first to a second configuration or vice-versa. The technical results achieved via the switchable engine mount include decreasing the actuation force needed for actuation of the switchable engine mount when compared to mounts which utilize axial actuation forces. As a result, the size of various components in the engine mount may be decreased, thereby decreasing the cost of the engine mount and increasing packaging efficiency.
The above advantages and other advantages, and features of the present description will be readily apparent from the following Detailed Description when taken alone or in connection with the accompanying drawings.
It should be understood that the summary above is provided to introduce in simplified form a selection of concepts that are further described in the detailed description. It is not meant to identify key or essential features of the claimed subject matter, the scope of which is defined uniquely by the claims that follow the detailed description. Furthermore, the claimed subject matter is not limited to implementations that solve any disadvantages noted above or in any part of this disclosure. Additionally, the above issues have been recognized by the inventors herein, and are not admitted to be known.
FIGS. 2-8 are drawn approximately to scale, however other relative dimensions may be used if desired.

Switchable engine mount and method for operation thereof


A stick-shaped ignition coil includes a primary and secondary coils, a plurality of annular protrusions, a thin film sheet, a sub-assembly and a case. The annular protrusions are integrally formed on the outer circumferential periphery of the upper end portion of the primary coil arranged on the radially outer side. The thin film sheet covers the primary coil and the outer circumferential periphery of the plurality of annular protrusions. The sub-assembly is press-inserted to the outer circumferential periphery of the plurality of annular protrusions via the thin film sheet. The sub-assembly, which is electrically insulative, supports a lead portion of the primary winding. The case is press-inserted to the outer circumferential periphery of the cylindrical member.

A stick-shaped ignition coil includes a coil portion, a control portion, and a tower portion. The coil portion is located in an axially intermediate position of the ignition coil. The control portion is located on the upper end side of the ignition coil. The tower portion is located on the lower end side of the ignition coil. The coil portion is constructed of a cylindrical case that receives a center core, a primary coil, and a secondary coil. The control portion is constructed of a box-shaped case that receives an igniter. The cylindrical case and the box-shaped case are individually formed. Subsequently, the cylindrical case and the box-shaped case are connected to each other.
As shown in FIG. 10, a conventional ignition coil, which is disclosed in JP-A-2000-277362, includes an elongated cylindrical coil case 120 and a circuit case 125 that are integrally connected to each other. The coil case 120 receives a center core, primary and secondary coils (none shown). The circuit case 125 has a connecter 126, and receives an electric circuit (not shown). The coil case 120 and the circuit case 125 are individually formed. Subsequently, the upper outer circumferential periphery of the coil case 120 is press-inserted into a hole portion formed in the bottom portion of the circuit case 125 via multiple protrusions 121. The protrusions 121 are formed on the outer circumferential periphery of the coil case 120, and the protrusions 121 are pressed and deformed when the coil case 120 is press-inserted into the circuit case 125.
The outer diameter of a coil portion of an ignition coil needs to be reduced in recent years. Therefore, a coil case, which receives a center core, primary and secondary coils, is reduced in wall thickness in a conventional ignition coil disclosed in JP-A-2003-51416. In this structure, the coil case having thin wall thickness cannot be stably connected to the circuit case due to insufficient rigidity of the coil case. Therefore, the upper end portion of the coil case is press-inserted into the hole portion of the circuit case, and subsequently, the press-insertion portion between the coil case and the hole portion needs to be filled with glue to enhance rigidity. In this structure, the connecting process becomes complicated. Besides, a supporting portion need to be formed on the end portion of the primary spool to support a lead portion of a primary winding of the primary coil. As a result, the outer diameter of the primary spool becomes large.

Stick-shaped ignition coil having internal connecting structure


Bits for use in drilling with a well completion string having a bit body and a cutting face that includes a plurality of sets of cutter elements mounted on the cutting face. The bit body has a central longitudinal bore having an integrated female non-shouldered, standard oilfield completion string thread. The bits are designed with minimal cutter coverage, and this combined with the integrated completion string thread allows for economical completion of a well with high ROP expected from a PDC type bit. In an additional embodiment, a bit comprises a bit body and a cutting face having integrated cutting structures.

1. Field of the Invention
The present invention relates generally to fixed cutter bits of the type used in cutting geological formations such as used in drilling a borehole for completing an oil well or the like. More particularly, the invention relates to fixed cutter bits for attachment to a well casing for effecting simultaneous drilling and casing of a borehole.
2. Description of the Prior Art
In drilling a borehole through a formation it is normal procedure to connect a drill bit on the lower end of an assembly of drill pipe sections which are connected end-to-end so as to form a drill string. An apparatus that is positioned above the surface of the borehole rotates the drill string. The apparatus turns the drill string and advances it downwardly, causing the bit to drill through the formation. During drilling, drilling fluid is pumped through the drill string and directed out of the bit through ports or channels formed in the bit. The drilling fluid is provided to cool the bit and to wash away cutting debris.
Once the drill string has reached a desired depth, the string is removed and a well casing is lowered into the borehole for completing the well. Depending on the required depth of the borehole, this process may need to be repeated several times to reach the desired depth. This process is normally very expensive and time consuming due to the time it takes to drill the borehole, remove the drill string and run-in the well casing. In addition, while removing the drill string and running in the well casing a cave-in can occur obstructing the well casing from advancing downward through the borehole.
With the above mentioned drawbacks, it is desirable to minimize the work and expense required to complete a well by utilizing the well casing or well liner as the drill string which is left in the borehole upon completion of drilling, thereby not requiring the use of a separate casing or liner to be run-in upon removal of the drill string.
Therefore, a need exists for a new and improved bit that can be used for drilling while casing. In this regard, the present invention substantially fulfills this need. In this respect, the bit according to the present invention substantially departs from the conventional concepts and designs of the prior art, and in doing so provides an apparatus primarily developed for the purpose of drilling while casing.

Bits for use in drilling with casting and method of making the same


An anti-tip system is provided for stabilizing a vehicle, such as a power wheelchair, about a pitch axis and relative to a ground plane. The anti-tip system includes at least one anti-tip wheel. The mounting assembly for the anti-tip wheel is configured such that it traverses linearly in a direction toward or away from the ground plane and is responsive to an acceleration or deceleration of the wheelchair. As the wheelchair accelerates or decelerates, rotational motion of the drive train assembly is transmitted to a guide subassembly within the mounting to effect translation of the anti-tip wheel. Upward translation of the anti-tip wheel enables the wheelchair to negotiate obstacles, e.g., curbs or steps, while downward translation or force enhances stability when stopping the wheelchair or while moving down sloping terrain or surfaces. The anti-tip wheels may be castors and normally contacting the ground during operation.

Self-propelled or powered vehicles, such as power wheelchairs, have vastly improved the mobility/transportability of the disabled and/or handicapped. Whereas in the past, disabled/handicapped individuals were nearly entirely reliant upon the assistance of others for transportation, the Americans with Disabilities Act (ADA) of June 1990 has effected sweeping changes to provide equal access and freedom of movement/mobility for disabled individuals. Notably, various structural changes have been mandated to the construction of homes, offices, entrances, sidewalks, and even parkway/river crossing, e.g., bridges, to include enlarged entrances, powered doorways, entrance ramps, curb ramps, etc., to ease mobility for disabled persons in and around society.
Along with these societal changes, has brought an opportunity to offer better, more agile, longer-running and/or more stable powered wheelchairs to take full advantage of the new freedoms imbued by the ADA. More specifically, various technologies, initially developed for the automobile and aircraft industries, are being successfully applied to powered wheelchairs to enhance the ease of control, improve stability, and/or reduce wheelchair weight and bulk. For example, sidearm controllers, i.e., multi-axis joysticks, employed in high technology VTOL and fighter aircraft, are being utilized for controlling the speed and direction of powered wheelchairs. Innovations made in the design of automobile suspension systems, e.g., active suspension systems, which vary spring stiffness to vary ride efficacy, have also been adapted to wheelchairs to improve and stabilize powered wheelchairs. Other examples include the use of high-strength fiber reinforced composites, e.g. graphite, fiberglass, etc. to improve the strength of the wheelchair frame while reducing weight and bulk.
One particular system which has gained widespread popularity/acceptance is mid-wheel drive powered wheelchairs, and more particularly, such powered wheelchairs with anti-tip systems. Mid-wheel powered wheelchairs are designed to position the drive wheels, i.e., the rotational axes thereof, slightly forward of the occupant's Center Of Gravity (COG) to provide enhanced mobility and maneuverability. Anti-tip systems provide enhanced stability of the wheelchair about its pitch axis and, in some of the more sophisticated anti-tip designs, improve the obstacle or curb-climbing ability of the wheelchair. Such mid-wheel powered wheelchairs and/or powered wheelchairs having anti-tip systems are disclosed in Schaffner et al. U.S. Pat. Nos. 5,944,131 & 6,129,165, both issued and assigned to Pride Mobility Products Corporation located in Exeter, Pa.
While such wheelchair designs have vastly improved the capability and stability of powered wheelchairs, designers thereof are continually being challenged to examine and improve wheelchair design and construction. For example, the Schaffner '131 patent discloses a mid-wheel drive wheelchair having a passive anti-tip system. A brief examination thereof reveals that two separate and distinct suspension struts are employed for mounting (i) the drive wheel/drive train assembly to the main structural frame of the wheelchair, and (ii) an anti-tip wheel to a forward portion of the main structural frame. As such, passive anti-tip systems typically necessitate the use of two independent spring-strut assemblies thus increasing mechanical complexity, maintenance requirements, cost (i.e., the cost of two spring-strut assemblies), and weight.
The Schaffner '165 patent discloses a mid-wheel drive powered wheelchair having an anti-tip system which is "active" in contrast to the passive system discussed previously and disclosed in the '131 patent. Such anti-tip systems are responsive to accelerations or decelerations of the wheelchair to actively vary the position of the anti-tip wheels, thereby improving the wheelchair's ability to climb curbs or overcome obstacles. More specifically, the active anti-tip system mechanically couples the suspension system of the anti-tip wheel to the drive-train assembly such that the anti-tip wheels displace upwardly or downwardly as a function of the magnitude of torque applied to the drive train assembly.
The systems are mechanically coupled by a longitudinal suspension arm pivotally mounted to the main structural frame. To one end of the suspension arm is mounted a drive-train assembly, and, to the other end, an anti-tip wheel. To better visualize the arrangement, it is important to understand that the propulsion system employs two independently-controlled and operated drive wheels, each being driven by a separate drive-train assembly (i.e. motor-gear box assembly). The suspension arm is pivotally mounted at a single point, between the drive-train assembly and the anti-tip wheel, and spring-biased to a neutral position by a pair of spring-strut assemblies, each one of the pair being disposed on an opposite side of the pivot mount.
In operation, torque from a drive wheel is reacted by the main structural frame resulting in relative rotational displacement between the drive train assembly and the frame. The relative motion therebetween, in turn, effects rotation of the suspension arm about its pivot axis in a clockwise or counterclockwise depending upon the direction of the applied torque. That is, upon an acceleration, or increased torque input (as may be required to overcome or climb an obstacle), counterclockwise rotation of the drive-train assembly will occur effecting upward vertical displacement of the respective anti-tip wheel. Consequently, the anti-tip wheels are "actively" lifted or raised to facilitate such operational modes, e.g., curb climbing. Alternatively, deceleration causes a clockwise rotation of the drive-train assembly, thus effecting a downward vertical displacement of the respective anti-tip wheel. As such, the downward motion of the anti-tip wheel assists to stabilize the wheelchair wheels when traversing downwardly sloping terrain or a negative decline. Here again, the anti-tip system "actively" responds to a change in applied torque to vary the position of the anti-tip wheel.
While the active anti-tip system disclosed in the Schaffner patent '165 offers significant advances by comparison to prior art passive systems, it too has certain drawbacks and limitations. For example, the active anti-tip system of Schaffner, as a practical matter, also requires two spring-strut assemblies to bias the position of each anti-tip wheel. While only requiring a single pivot connection, for mounting or suspending the anti-tip system, the dual spring-strut arrangement is mechanically complex, costly, requires periodic maintenance and adds weight. Yet another disadvantage of such active anti-tip system relates to design limitations caused by the single pivot connection and, consequently, performance compromises. It will be appreciated, for example, that the one piece construction of the suspension arm necessarily requires that both the drive-train assembly and the respective anti-tip wheel must necessarily enscribe the same angle, i.e., the angles are identical. As such, to vary a predefined vertical displacement of the anti-tip wheel, (as maybe desired to overcome larger curbs or obstacles), it is necessary to vary the length of the suspension arm.
One can best appreciate the challenges of this configuration by examining a simple design requirement which will frequently be encountered. Should, for example, a three inch displacement of the forward anti-tip wheel be required to overcome a three inch curb or obstacle, the forward portion of the suspension arm, i.e., from the pivot axis to the anti-tip wheel, would necessarily measure nearly 35 inches to accommodate this design requirement. An assumption is made that drive-train assembly pivots 5° relative to the main structural frame. If, on the other hand, the drive-train assembly were permitted to traverse a larger angle, e.g., 20°, the anti-tip wheels could be positioned significantly farther inboard, to accommodate the 3-inch design requirement. While this approach may enable greater vertical travel of the anti-tip wheel, other wheelchair structure, e.g., a footrest assembly, may interfere and prohibit this design option. It will, therefore, be appreciated that the single pivot mount design, while elegant and simple, leaves few options available for the designer to satisfy other requirements.
Moreover, when altering the horizontal length (in the longitudinal direction) of the suspension arm, the horizontal path taken by the anti-tip wheels will vary in accordance with the arm radius. Stated another way, as the suspension arm varies in length from long to short, the anti-tip wheels traverse a more arcuate path, i.e., rather than a substantially linear path. This variation can significantly impact the curb-climbing ability of the anti-tip system. More specifically, it will be appreciated that when a curb or obstacle impacts the anti-tip wheel at or near a point which is in-line with the wheel's rotational axis, the anti-tip wheel will have a tendency to move upward or downward depending upon the vertical location of the pivot axis of the suspension arm. In a system having a short suspension arm, i.e., one which effects an arcuate travel of the wheel, wherein the wheel axis lies below the pivot axis of the suspension arm, an anti-tip wheel will have a tendency to move downwardly under the above described loading conditions. This downward travel is, of course, contrary to a desired upward motion for climbing curbs or other obstacles.
Finally, inasmuch as powered wheelchairs of this type, i.e., mid-wheeled vehicles, are most appropriately stabilized by a pair of anti-tip wheels disposed forwardly and rearwardly of the main drive wheels, at least one pair of anti-tip wheels is typically castored, i.e., for pivoting/rotation about a vertical axis. Inasmuch as such castored wheels occupy valuable space aboard powered wheelchairs, e.g., interfere with footrest assemblies or an occupants feet/legs, sometimes one of the anti-tip wheel pairs to enable unrestricted yaw control/motion of the wheelchair 2. Consequently, there may be a lag in pitch stabilization response.
A need, therefore, exists for an active anti-tip system, which eliminates the need for multiple strut assemblies, provides greater design flexibility (especially the design flexibility to position the anti-tip wheels at practically any longitudinal and/or vertical position) and facilitates ground contact of the anti-tip wheel system during routine operating conditions.

Active anti-tip wheels for power wheelchair


A semiconductor circuit can have a standard interface for external data, address and/or command interchange in normal operation and a further test interface provided for a test operation with a semiconductor component and with a BIST unit (built-in self-test) assigned to the semiconductor component. The semiconductor circuit can also have a BIST controller for initialization, testing and application-near setting of the semiconductor component, a read-only nonvolatile memory, a programmable nonvolatile memory, and a volatile memory. The processed data stored as operating, test and/or boot parameters in the programmable nonvolatile memory are used during booting and in normal operation for test and configuration purposes for application-near setting of the semiconductor circuit.

Integrated semiconductor circuits with semiconductor components, such as DRAMs (Dynamic Random Access Memories) are generally subject to extensive functional tests in the production process. Inter alia, the functional tests serve for identifying defective memory cells or defective column lines or row lines or generally defective circuit sections of the semiconductor component. In order to guarantee an error-free operation of the memory module, the semiconductor components are tested under different operating conditions, for example, predetermined data values being written to memory cells of a memory cell array and subsequently being read out again in order to be compared with the predetermined data values.
Integrated semiconductor circuits often have an integrated switching unit that automatically carries out a functional test of the integrated semiconductor component when the semiconductor circuit is started up. Such a switching unit is referred to according to its function as a BIST (Built-In Self-Test) unit since a microprocessor into which the switching unit is integrated automatically carries out a self-test of its own semiconductor component when it is activated, i.e., supplied with power. The BIST unit has a BIST controller that is integrated as a switching area in the semiconductor circuit as an ASIC (Application Specific Integrated Circuit). Commands issued by the BIST controller are forwarded to the semiconductor component, the BIST controller monitoring and evaluating the execution of the commands. The data communicated by the semiconductor component with regard to its operating states are for example processed by external test systems to form test results that can be used to make a statement about whether and, if appropriate, which memory areas are not functioning as envisaged.
The BIST controller for testing semiconductor components, in particular, for example, dynamic semiconductor memories, is designed such that the cell array can be addressed in a timing-critical manner and binary potential data topologies coded as voltage values can be written to and read from the semiconductor memory in a suitable write/read sequence in an address-dependent manner. In this case, during each read process, the electrically detected and binary represented information is compared with the logically determined expected values. If no incorrect storage is found after a series of positively assessed write/read accesses during the test sequence, the semiconductor component is classified as "pass," otherwise it is regarded as "fail."
The semiconductor circuit may furthermore be connected to an external test apparatus for the purpose of testing, the test apparatus itself generating the test commands required for testing the semiconductor component, namely control commands, address commands, and data values to be stored, and also the required clock signal, and sending the commands via a standard interface of the semiconductor component and reading out the test results.
Test modes including functional tests may enable access to module-relevant parameters or settings and be called up and set with the aid of the BIST controller or via the standard interface of the semiconductor circuit, by an activation known only by the manufacturer. Like the BIST controller, the test modes are also implemented as ASIC in the semiconductor circuit and, consequently, cannot be set flexibly. Consequently, the space that has to be invested for these types of ASICs for test purposes adversely affects the costs in the fabrication of the semiconductor circuit.
In order to obtain a meaningful test result, it is important for the semiconductor component also to be tested at an operating frequency which it has in normal operation. However, it is not possible to directly compare a characteristic mode of operation of the application with the mode of operation of the functional test in order to be able to ascertain whether the integrated circuit has been tested in a manner near the application. Consequently, it is not possible to make a statement about the fact that the circuit tested in the fabrication process has run through all the operating modes that occur in the later application, since it is often the case that many problems are not discovered until during field use and are therefore subsequently corrected only after the development phase.
Various BIST units for testing of microprocessors or for monitoring of functionality and for testing of semiconductor circuits and detection of malfunctions are known in the art.
Further, it is known to store test contents in coded fashion in the form of fuses or other nonvolatile memories on the semiconductor component in order to keep them ready in a module-specific manner for later evaluations during repair or degradation examinations. Moreover, it is known to store the test results obtained by the BIST unit in the semiconductor circuit itself.
In previous test concepts, the BIST unit is used only during testing in production. Operating parameters gathered during the operation of the semiconductor circuit can be analyzed by the manufacturer only when a memory module having a defective semiconductor circuit is returned to the manufacturer. Consequently, characteristic data possibly programmed in, such as, for example, chip ID, test data, or setting parameters can be used only for a historical posttracking of production, but not for user-specific setting during operation.
A semiconductor circuit that can both be tested and configured in boot mode and be tested, analyzed and set in a manner near the application during normal operation without its function being impaired is desirable. Furthermore, a corresponding method for testing, monitoring and application-near setting of the semiconductor circuit is also desirable.

Semiconductor circuit and method for testing, monitoring and application-near setting of a semiconductor circuit


A refueling operation of an all terrain vehicle can be enhanced, even when a fuel tank is arranged below a seat, without changing an entire length of the vehicle. A fuel tank is arranged below a seat. A seat concave portion with a substantially concave shape when viewed from the top is formed in the seat. A fuel filler of the fuel tank is arranged in the seat concave portion to be seen from the top. It becomes possible to perform refueling from the fuel filler without detaching the seat. Also, an overlap between the seat and the fuel filler when viewed from above is avoided, with a reduction in a seating area of the seat minimized.

1. Field of the Invention
The present invention relates to a straddle-type all terrain vehicle that is capable of traveling on an all terrain.
2. Description of Background Art
In a straddle-type three-wheel or four-wheel all terrain vehicles that is capable of traveling on an all terrain, in some cases, a fuel tank is arranged in a rear portion of a vehicle body below a seat in relation to a layout of components thereof (for example, see Japanese Utility Model Laid-open Publication No. Hei 6-15799). In such an all terrain vehicle, a fuel filler of the fuel tank is also arranged below the seat.
On the other hand, in a scooter-type vehicle, also in some cases, a fuel tank is arranged below a seat in a rear portion of a vehicle body (for example, see Japanese Patent Application Publication No. Hei 2-158480). In this case, a fuel filler cap can be seen behind the seat from above.
Incidentally, in the all terrain vehicle described in Japanese Utility Model Laid-open Publication No. Hei 6-15799, because the fuel filler of the fuel tank is arranged below the seat, it is necessary to detach the seat at the time of refueling. Therefore, there has been room for improvement in the refueling operation of such a vehicle.
On the other hand, in the scooter-type vehicle described in Japanese Patent Application Publication No. Hei 2-158480, refueling without detaching the seat is possible. Therefore, refueling of such a scooter-type vehicle is improved when compared to the all terrain vehicle described above. However, if the aforementioned structure, in which the fuel filler cap can be seen from the top behind the seat, is applied to a straddle-type all terrain vehicle, an entire length of the vehicle must be enlarged, since a seat carrier and a storage box are arranged in a rear portion of the vehicle body. Additionally, if the seat carrier is lengthened backward, a balance of the all terrain vehicle is not preferable when the vehicle is placed in the lengthwise direction to be stored.


A pulsating current inverter control circuit aims to convert AC power provided by an external electric source to a pulsating current through a rectification unit. The inverter has a control unit outputting an operation frequency to an actuation unit to divide the pulsating current to a plurality of electric pulse waves to drive a transformer to perform voltage transformation and drive a load. An inspection unit has a preset reference electricity value to compare with the pulsating current and output an activation signal and a deactivation signal to activate or deactivate the actuation unit. The transformer stops performing voltage transformation while the actuation unit is deactivated. Thus the transformer can output power to drive the load. The inspection unit can output a comparison signal to the control unit to alter the conductive interval of the operation frequency so that the inverter can output steady electricity in different AC environments.

The inverter is widely used today, especially in the newly developed electronic and technological products. For instance a liquid crystal display (LCD) panel or LCD TV mostly has an inverter to transform external AC to a high voltage electricity to actuate and ignite a cold cathode lamp. The conventional inverter transforms AC through a rectification unit to a pulsating current, and then adjusts to a low voltage DC through a filter capacitor or a power factor regulator. The lower voltage DC is fed into a transformer to boost the voltage. As the voltage boosting effect of the transformer is determined by inputting electricity, the output power of the conventional inverter is limited. Moreover, the conventional circuit design is complicated and costly, and the size cannot be shrunk as desired. All this hinders the design and development of the modern electronic products that have to conform to the prevailing trend of slim and light.
Therefore the inverter that directly uses pulsating current has been developed. This type of inverter eliminates the DC conversion circuit, and directly feeds the pulsating current into a transformer. It can save fabrication cost and reduce the size and make design simpler. Moreover, the transformer does not have to function under strict DC of a uniform voltage, service life is longer. However, the pulsating current exists in a minimum voltage-maximum voltage-minimum voltage fashion. When the transformer operates in the minimum voltage range, the output power is lower and cannot drive the cold cathode lamp. This results in loss of output power and decrease of total efficiency.
Moreover, due to every country has different AC specifications (such as voltages of 110V and 220V), manufacturers have to design the inverters with different specifications to suit different countries or regions. It is troublesome.

Pulsating current inverter control circuit


A visual display mounted on a musical instrument for use as a teaching aid, for teaching fingerings and chords, a performing aid for displaying information relevant to a user's performance, and a visual effects aid, for displaying visual effects to an audience while a user is performing.

U.S. Pat. No. 5,408,914 to Breitweiser, Jr., et al. (incorporated herein by reference) discloses a musical instrument training system for a stringed musical instrument with fingering and playing displays comprising arrays of multiple LEDs and LCDs embedded in the fingerboard at fixed locations. A notepad display is also embedded in the body for displaying alpha-numeric playing instructions.
U.S. Pat. No. 5,266,735 to Shaffer, et al. (incorporated herein by reference) discloses a stringed musical instrument having a plurality of individual annunciators for dynamically indicating a location for engaging the musical instrument to produce a note.
U.S. Pat. No. 4,915,005 to Shaffer, et al. (incorporated herein by reference) discloses a fingering display for a musical instrument that includes a number of electrical switches manually operable to designate a desired musical note and subdisplays showing all the possible fingering positions for all the notes of the scale or chord.
U.S. Pat. No. 4,318,327 to Toups (incorporated herein by reference) discloses a digital chord display for stringed musical instruments that provides a real time alpha-numeric display of notes and chords being played.
An article entitled "OPTEK FRET LIGHT FG-100 GUITAR" on pages 134-135 of the January 1990 issue of "Guitar Player" magazine (incorporated herein by reference) discloses a teaching guitar having LEDs inlaid into the fingerboard to indicate selected notes and chords.
However, none of the prior art devices provides a single display capable of indicating positions other than positions for conventional notes and chords on conventionally tuned instruments, and none of such devices provides for display of visual graphic or other non-alphanumeric information on portions or the entirety of the fingerboard, or body, of the instrument.
Graphic displays on the fingerboard or body of stringed instruments are especially desirable because such instruments are not fixed in place, as conventional keyboard instruments are, so that the user can present the display of the musical instrument to the audience while still playing the instrument, and also because stringed instruments can be made in varying sizes and shapes because the musical notes created by such instruments are determined by the tension in the strings instead of the shape and size of the body, as would be the case with woodwind, brass and percussion instruments. Visual displays on large musical instruments that are not moved during performance, such as pianos or stringed bass, also are within the scope of this invention.
Of course, this invention can also be used on instruments that do not use physical strings but that use the same fingering techniques as stringed musical instruments, such as finger-actuated synthesizers having a fingerboard, where the sound is generated by an audio oscillator instead of strings. Indeed, this instrument can also be used on portable or movable keyboard instruments that are held and moved by the player while performing.


A control circuit for a start-up circuit that induces current flow in a bandgap circuit during a start-up phase is disclosed. A comparator passes a power supply to the start-up circuit according to an internal node of the bandgap circuit after the start-up phase. An activating circuit is used to activate the comparator to obtain the power supply at an output earlier than another output node of the comparator.

1. Field of the Invention
The present invention generally relates to a bandgap circuit, and more particularly to an auxiliary control circuit for the bandgap circuit.
2. Description of Related Art
A voltage reference is an electronic circuit that generates a fixed voltage regardless of the loading on the circuit. A bandgap circuit is one of the voltage reference circuits for generating a fixed reference voltage that has a value equal to the electron bandgap level of silicon (approximate 1.2 volts) and changes very little with temperature. The bandgap circuits are widely used in electronic systems. FIG. 1, for example, shows a bandgap circuit 101 used in the source driver 10 for a liquid crystal display (LCD) panel 12. A mirror circuit 103 mirrors the current in the bandgap circuit 101. The bandgap circuit 101 and the mirror circuit 103 constitute portion of the power circuit 100 of the source driver 10. The output of the mirror circuit 103 is fed to buffers of driving channels 102. It is well known that a self-biased circuit such as the bandgap circuit 101 shown here, during a start-up phase, has an undesirable zero-bias state in which zero current flows in the circuit. In order to obviate this problem, a start-up circuit 105 is thus needed.
An ideal start-up circuit should not affect the bandgap circuit 101. In other words, the start-up circuit should be inactivated, and the current through the start-up circuit should become zero or very small during normal operation (or after start-up phase). It is, however, unfortunately found that most of the conventional start-up circuits 105 did affect the bandgap circuit 101. Specifically, after the positive power supply VDDA has reached a specified level and during the normal operation, the component or components in the start-up circuit 105 are not completely close or shut down as required. As these components are leaky, they cause unwanted increase in current in the bandgap circuit 101. Worst of all, the output currents of the mirror circuit 103 would increase abruptly under a positive power supply VDDA greater than a specified value. Such an increased current disadvantageously incurs higher consumed power, and at the worst, the functions of circuit stage receiving the output currents would consequently fail.
For the foregoing reason, a need has arisen to propose a scheme to control the start-up circuit 105 such that the start-up circuit 105 does not affect the bandgap circuit 101 during the normal operation.

Control circuit having a comparator for a bandgap circuit


A novel material for a liquid crystal composition that can be used for various liquid crystal devices is provided. A novel cyanobiphenyl derivative represented by General Formula (G1) is provided. In General Formula (G1), R1 represents a single bond or a substituted or unsubstituted alkylene group having 1 to 6 carbon atoms. Note that in General Formula (G1), R1 may have a substituent. Examples of the substituent are fluorine (F), chlorine (Cl), bromine (Br), iodine (I), a cyano group (CN), a trifluoromethylsulfonyl group (SO2CF3), a trifluoromethyl group (CF3), a nitro group (NO2), an isothiocyanate group (NCS), and a pentafluorosulfanyl group (SF5).

1. Field of the Invention
The present invention relates to an object, a method, or a manufacturing method. In addition, the present invention relates to a process, a machine, manufacture, or a composition of matter. Specifically, one embodiment of the present invention relates to a semiconductor device, a display device, a driving method thereof, or a manufacturing method thereof. More specifically, one embodiment of the disclosed invention relates to a novel cyanobiphenyl derivative, a liquid crystal composition including the cyanobiphenyl derivative, a liquid crystal element in which the liquid crystal composition is used, a liquid crystal display device in which the liquid crystal composition is used, and manufacturing methods thereof.
2. Description of the Related Art
In recent years, liquid crystal has been used for a variety of devices; in particular, a liquid crystal display device (liquid crystal display) having features of thinness and lightness has been used for displays in a wide range of fields.
As the application field of a liquid crystal display device expands, various liquid crystal modes and liquid crystal compositions have been developed to improve the display quality (e.g., see Patent Documents 1 and 2).

Cyanobiphenyl derivative, liquid crystal composition, liquid crystal element, and liquid crystal display device

SEMICONDUCTOR ENERGY LABORATORY CO., LTD.


A locking device adapted to lock a shell to an installation body includes a thread connection member extending through a connecting hole in the shell and engaging a threaded hole in the installation body, a sealing ring sleeved on the thread connection member and adapted to be pressed on an installation surface of the shell to seal the connecting hole of the shell, and a gasket sleeved on the thread connection member and adapted to be pressed between the thread connection member and the sealing ring to prevent the thread connection member from being loosened. The gasket has a pair of stopping arms. An angle defined between the stopping arms is greater than 0 degrees and less than 180 degrees. A pair of top ends of the stopping arms are adapted to simultaneously abut against an outer wall of the shell to prevent the gasket from rotating with the thread connection member.

A heavy load connector adapted to be mounted on an installation panel generally includes a shell, a flange, and a plurality of contacts. The contacts are received in the shell. The shell is locked to the flange by a locking device. The flange is adapted to be fixed to the installation panel. In this way, the heavy load connector may be mounted and fixed onto the installation panel.
The locking device generally comprises a screw, a sealing ring, and a gasket. The screw passes through a connection hole formed in the shell and is screwed into a threaded hole formed in the flange. The sealing ring is sleeved on the screw and adapted to be pressed on an installation surface of the shell, so as to seal the connection hole in the shell. The gasket is sleeved on the screw and adapted to be pressed between a head of the screw and the sealing ring, so as to prevent the screw from being loosened.
During tightening the screw, however, the screw will drive the gasket to rotate with it, and an installation surface of the shell may be worn by the gasket, which will destroy a protection coating on the shell and reduce the service life of the shell. Furthermore, the sealing ring may be also worn by the gasket when the gasket is rotated, which will damage the sealing ring and reduce the service life of the sealing ring. Thereby, after several locking and unlocking operations, the sealing ring is severely worn and damaged and cannot achieve a waterproof sealing effect.


An innerspring unit for a mattress is manufactured by inserting a resilient element into the passage between each two adjacent rows of springs of the innerspring unit. The height dimension of the resilient element is greater than the distance between the upper and lower spring retainer structures of the innerspring unit, whereby the resilient element remains partially compressed heightwise between the spring retainer structures.

This invention relates to a mattress structure and in particular to an improved method of manufacturing an innerspring unit for a mattress.
The conventional mattress includes an innerspring unit, a top cover assembly and a bottom cover assembly. The innerspring unit includes coil springs arranged in linear rows. Each two adjacent coil springs are attached to one another at top and bottom by spring retainer elements.
The top and bottom cover assemblies are each composed of multiple layers of resilient foam material and an outer layer of fabric.
Generally, the mattress provides a balance between two potentially conflicting qualities. The mattress should be firm enough to provide adequate support and should be soft enough that it will not be uncomfortable. For many years, the goal of firmness dominated the mattress industry but more recently the desire for comfort has gained ground. Firmness and softness are each aspects of resilience or elasticity, i.e. the capability of a strained body to recover its size and shape after deformation.
In the conventional innerspring mattress, firmness is provided by the coil springs of the innerspring unit and softness is provided by the foam layers of the top and bottom cover assemblies. If the foam layers of the top cover assembly of a mattress are relatively thin, relatively little load is absorbed by the top cover assembly and most of the load is absorbed by the innerspring unit. In this case, the mattress will feel firmer rather than softer. The mattress might even be termed hard. If the foam layers of the top cover assembly are thicker (for a given resilience), more load will be absorbed by the top cover assembly and less by the innerspring unit, and the mattress will feel softer. However, it is not desirable that the cover assemblies be too thick because a degree of firmness and support is desirable.
As a user applies increasing weight to a conventional innerspring mattress, the weight is first taken up by the deformation of the foam layers of the top cover assembly, and when the foam layers of the top cover assembly are fully compressed, further increase in weight is taken up by the innerspring unit. The user can feel a sudden transition between the softness of the foam layers and the firmness of the innerspring unit, and this can cause the user to feel that in fact the mattress offers little in the way of comfort.
U.S. Pat. No. 5,048,167 discloses a method for restoring a used mattress in which blocks of resilient foam are inserted between the rows of coil springs of an innerspring unit using a tool that forces deformed or displaced springs to their proper positions. U.S. Pat. No. 5,048,167 teaches that in the event that the space between two rows of coil springs has a total height of five inches and a width of two inches, the foam block also should have a height of five inches and a width of two inches. Thus, if the coil springs are in a relaxed state, so that they are not compressed heightwise, the foam block also is relaxed and is not compressed heightwise.
In accordance with a first aspect of the invention there is provided an improved method of manufacturing an innerspring unit for a mattress, wherein the innerspring unit includes upper and lower spring retainer structures in substantially parallel confronting relationship and spaced apart at a predetermined distance, and a plurality of coil springs positioned between and attached to the spring retainer structures, the coil springs being arranged in a plurality of linear rows that are mutually parallel and are spaced apart perpendicular to the length of the rows, whereby a passage is formed between each two adjacent rows of coil springs, wherein the improvement comprises, for each two adjacent rows of springs, providing a resilient element having a height dimension, wherein the height dimension of the resilient element, in a relaxed state, is greater than said predetermined distance, and inserting the resilient element into the passage between the adjacent rows of springs with the resilient element oriented so that the height dimension of the resilient element is substantially perpendicular to the upper and lower spring retainer structures, whereby the resilient element remains partially compressed heightwise between the spring retainer structures.
In accordance with a second aspect of the invention there is provided a method of manufacturing a mattress, comprising providing an innerspring unit that includes upper and lower spring retainer structures in substantially parallel confronting relationship and spaced apart at a predetermined distance, and a plurality of coil springs positioned between and attached to the spring retainer structures, the coil springs being arranged in a plurality of linear rows that are mutually parallel and are spaced apart perpendicular to the length of the rows, whereby a passage is formed between each two adjacent rows of coil springs, providing a resilient element having a height dimension, wherein the height dimension of the resilient element, in a relaxed state, is greater than said predetermined distance, and inserting the resilient element into the passage between the adjacent rows of springs with the resilient element oriented so that the height dimension of the resilient element is substantially perpendicular to the upper and lower spring retainer structures, whereby the resilient element remains partially compressed heightwise between the spring retainer structures.
In accordance with a third aspect of the invention there is provided an innerspring unit for a mattress, including upper and lower spring retainer structures in substantially parallel confronting relationship and spaced apart at a predetermined distance, a plurality of coil springs positioned between and attached to the spring retainer structures, the coil springs being arranged in a plurality of linear rows that are mutually parallel and are spaced apart perpendicular to the length of the rows, whereby a passage is formed between each two adjacent rows of coil springs, and a plurality of resilient elements each having a height dimension, wherein the height dimension of the resilient element, in a relaxed state, is greater than said predetermined distance, wherein the resilient elements are disposed in the passages respectively and are oriented so that the height dimension is substantially perpendicular to the upper and lower spring retainer structures, whereby the resilient elements are partially compressed heightwise between the spring retainer structures.