SYSTEM AND METHOD FOR PROVISION OF AN ADVANCED NETWORK FUNCTION TO A TELECOMMUNICATIONS DEVICE
20200186634 ยท 2020-06-11
Assignee
Inventors
- George Backhaus (Suwanee, GA, US)
- Philip Lowman (Ellijay, GA, US)
- Jingnesh Gandhi (Duluth, GA, US)
- Julio Gonzalez (Tucker, GA)
- John Green (Roswell, GA, US)
- Paul Rubenstein (Johns Creek, GA, US)
- Mike Speanburg (Lawrenceville, GA, US)
Cpc classification
H04M1/57
ELECTRICITY
H04W4/16
ELECTRICITY
H04W40/02
ELECTRICITY
H04M3/46
ELECTRICITY
H04Q3/76
ELECTRICITY
H04M3/42042
ELECTRICITY
International classification
H04M1/57
ELECTRICITY
H04M3/42
ELECTRICITY
H04M3/46
ELECTRICITY
H04Q3/76
ELECTRICITY
H04W4/16
ELECTRICITY
Abstract
Enhanced capabilities within a telephone network are made accessible to a telecommunications device. The telecommunications device is used to dial a sequence. A network server receives and identifies the sequence invokes an advanced network function. A advanced network function server in communication with the network server provides instructions as to how the network server is to provide the advanced network function. The network server processes the call in accordance with the received instructions to provide the particular advanced network function.
Claims
1. A method to provide enhanced capabilities accessible using a telecommunications device, the method comprising the actions of: a network server receiving from the telecommunications device, a communication invoked by a user dialing a sequence on the telecommunications device, the sequence being a pre-defined sequence to signal the network server that the communication is to be subject to special handling; the network server examining the dialed sequence; the network server determining that the communication is to invoke a particular advanced network function selectable from a plurality of advanced network functions; the network server querying an advanced network function server, the query including the dialed sequence; the network server receiving a query reply, the query reply including instructions for how the network server is to provide the advanced network function; and the network processing the call in accordance with the received instructions to provide the particular advanced network function.
2. The method of claim 1, wherein the telecommunications device is associated with a service provider number serviced by a service provide, and the action of the network server receiving a query reply further comprises receiving a second line number that is associated with the telecommunications device and that is in addition to the service provider number, and a destination service provider number associated with a destination telecommunications device.
3. The method of claim 2, wherein the action of the network processing the call in accordance with the received instructions further comprises completing a voice call to the destination telecommunication device by directing the communication to the destination service provider number and populating the caller ID field with the received second line number.
4. The method of claim 3, wherein the action of the network server receiving a user dialed sequence further comprises receiving a special network terminable number that is recognized by the network server as being serviced by the advanced network function server.
5. The method of claim 4, wherein the advanced network function server, upon receiving the dialed sequence, uses the dialed sequence to lookup the second line number and the destination provider number.
6. The method of claim 3, wherein the action of the network server receiving a user dialed sequence further comprises receiving a prefix along with a dialed destination number.
7. The method of claim 6, further comprising the action of the network server querying an advanced network function server, further comprises creating a query with the prefix and the dialed destination number and sending that to the advanced network function server.
8. The method of claim 7, wherein the advanced network function server, upon receiving the prefix and dialed destination number, uses the prefix to lookup the second line number.
9. The method of claim 3, wherein the action of the network server receiving a user dialed sequence further comprises receiving a suffix along with a dialed destination number.
10. The method of claim 9, further comprising the action of the network server querying an advanced network function server, further comprises creating a query with the suffix and the dialed destination number and sending that to the advanced network function server.
11. The method of claim 10, wherein the advanced network function server, upon receiving the suffix and dialed destination number, uses the suffix to lookup the second line number.
12. A system configured to provide enhanced capabilities accessible using a telecommunications device, the system comprising: a network based communicatively coupled to a telecommunications device through a mobile telephone switching office, the network based server configured to receive a communication transmitted by the telecommunications device in response to a user dialing a sequence on the telecommunications device; the network based server communicatively coupled to an advanced network functions server; the network based server configured to examine the dialed sequence and upon determining that the dialed sequence is one of a pre-defined sequence subject to special handling, being further configured to send a query to the advanced network function server, the query including the dialed sequence; the network based server receiving a query reply, the query reply including instructions from the advanced network functions server indicating how the network based server is to provide the advanced network function; and the network based server processing the call in accordance with the received instructions to provide the particular advanced network function.
13. The system of claim 12, wherein the telecommunications device is associated with a service provider number serviced by a service provide, and the advanced network function server is configured to respond to the query with a second line number that is associated with the telecommunications device and that is in addition to the service provider number, and a destination service provider number associated with a destination telecommunications device.
14. The system of claim 13, wherein the network based server is configured to process the call in accordance with the received instructions by completing a voice call to the destination telecommunication device by directing the communication to the destination service provider number and populating the caller ID field with the received second line number.
15. The system of claim 14, wherein the network based server is configured to recognize the dialed sequence by determining it is a special network terminable number that is recognized by the network based server as being serviced by the advanced network function server.
16. The system of claim 15, wherein the advanced network function server is further configured to utilize the dialed sequence to lookup the second line number and the destination provider number.
17. The system of claim 14, wherein the network based server is configured to recognize the dialed sequence by determining the dialed sequence includes a prefix along with a dialed destination number.
18. The system of claim 17, wherein the network based server is further configured to identify the prefix and the dialed destination number and sending them to the advanced network function server in the query.
19. The system of claim 18, wherein the advanced network function server is further configured to utilize the prefix and dialed destination number to lookup the second line number and the destination provider number.
20. The method of claim 14, wherein the network based server is configured to recognize the dialed sequence by determining the dialed sequence a suffix along with a dialed destination number.
21. The method of claim 20, wherein the network based server is further configured to identify the suffix and the dialed destination number and sending them to the advanced network function server.
22. The method of claim 21, wherein the advanced network function server is further configured to utilize the suffix and dialed destination number to lookup the second line number and the destination provider number.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] In the Figures, like reference numerals refer to like parts throughout the various views unless otherwise indicated. For reference numerals with letter character designations such as 102A or 102B, the letter character designations may differentiate two like parts or elements present in the same figure. Letter character designations for reference numerals may be omitted when it is intended that a reference numeral encompass all parts having the same reference numeral in all figures.
[0016]
[0017]
[0018]
[0019]
DETAILED DESCRIPTION
[0020] The word exemplary is used herein to mean serving as an example, instance, or illustration. Any aspect described herein as exemplary is not necessarily to be construed as preferred or advantageous over other aspects.
[0021] One or more components may reside within a process and/or thread of execution, and a component may be localized on one computer and/or distributed between two or more computers. In addition, these components may execute from various computer readable media having various data structures stored thereon. The components may communicate by way of local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems by way of the signal).
[0022] In this description, the terms telecommunications device, communication device, wireless device, wireless telephone, wireless communication device and wireless handset are used interchangeably. With the advent of third generation (3G) and fourth generation (4G) wireless technology, greater bandwidth availability has enabled more portable computing devices with a greater variety of wireless capabilities. Therefore, a telecommunications device (TD) may include a cellular telephone, a pager, a PDA, a smartphone, a navigation device, a tablet personal computer (PC), a hand-held computer with a wireless connection or link, etc.
[0023] In this description, the terms call and communication, in their noun forms, envision any data transmission routed across a network from one device to another including, but not limited to, a voice transmission, a text message, a video message, a page, a data transmission, etc.
[0024] The present disclosure presents various embodiments, as well as features and aspects that may be included in such embodiments, of a second line service (SLS) deployment for providing enhanced capabilities to a user of a telecommunications device (TD). More specifically, various embodiments of the SLS may include the dialing of a special prefix that is used to signal the telecommunications network that the presently dialed call is to be subject to special routing. For instance, in one embodiment, a calling party can call a predefined prefix, and then dial a called party's 10 digit telephone number. When the switching system, central office or other component of the telecommunications network receives the dialed sequence, the component parses or examines the received sequence of dialed numbers to compare at least portions of the sequence to known patterns, such as the predefined prefix. If the component identifies the predefined prefix within the dialed sequence, the component processes the received sequence as one for which the calling party wishes to utilize its second line service to contact the called party. In another embodiment, rather than a prefix, a suffix may be used to signal to the telecommunications network that the call is to be routed using the calling party's second line service.
[0025] Turning now to the figures in which like elements are represented by similar labels, various embodiments, as well as aspects, features and characteristics of the embodiments are presented in more detail.
[0026]
[0027] Each SSP in the AIN serves as an originating switch for a number of subscriber lines. Generally, an originating switch is associated with and communicatively coupled with the subscriber's lines serviced by the switch. Thus, the originating switch that services a subscriber's line can be the first network element of the AIN to process communications originating on the subscriber's line.
[0028] The originating switch receives a communication originating on the subscriber line and implements further processing, such as verifying that the subscriber is authorized to use the network, supplementing/supplanting data within the communication, and routing the communication for connection with a terminating destination, such as telecommunications devices TD.sub.2 112, TD.sub.3 114, and TD.sub.N 116. For example, an SSP 122 that receives a communication from an originating station, such as telephone device TD.sub.1 110, can route the communication for connection with a terminating destination TD.sub.N 116 in accordance with the packet-switched protocol of the PSTN. The details of such communication routing are familiar to those of ordinary skill in the relevant art and as such, will not be presented in further detail.
[0029] In addition to routing, the SSP 122 may populate the calling line identification (CLID) field, such as the CLID field in a call setup request being sent through the network to a terminating device, with the directory number associated with calling party's TD.sub.1 110, such that when the communication is received at the called party's TD.sub.N 116, the CLID may be displayed for the benefit of the called party. Notably, although various embodiments described in the present disclosure use the CLID as an example of data that may be displayed for the benefit of the called party, it will be understood that any data associated with the SLS subscriber/calling party, called party, or the like may be rendered for the benefit of the user of such embodiments within the environment 100 and, as such, only describing that the CLID is displayed will not limit the scope of what is envisioned by the disclosure.
[0030] In
[0031] As is understood by one of ordinary skill in the art, each piece of terminating equipment in a telecommunications network is preferably assigned a directory number. The term directory number is used herein in a manner consistent with its generally understood meaning of a number that is dialed or input by a calling party at an originating station to reach a terminating destination. A directory number, typically a seven or ten-digit number in the United States, is commonly referred to as a telephone number. For example, TD.sub.1 110 is associated with a primary telephone number assigned to it by a primary service provider. As such, a subscriber to an SLS offered through an exemplary embodiment operating within environment 100 may initiate communications from TD.sub.1 110 that are associated with and/or directed to either the primary telephone number provided by the primary service provider or the secondary telephone number (SLS telephone number) provided, serviced and or facilitated by the second line service provider.
[0032] Notably, depending on the particular embodiment, the primary service provider and the second line service provider may be the same entity or different entities. In embodiments where the primary service provider and the second line service provider are different entities, the subscriber may receive separate billing records from each entity. However, it is envisioned that within certain embodiments where the primary service provider and the second line service provider are not one and the same, that the providing entities may take advantage of session initiated protocols (SIP) to simplify billing records for the user. Additionally, depending on the particular embodiment, the subscriber to an SLS offered through an exemplary system operating in exemplary environment 100 may also receive communications from a third party's TD that are directed to either the subscriber's primary telephone number or the SLS telephone number.
[0033] In general, any communication directed from either the primary telephone number or the SLS telephone number of a subscriber's TD.sub.1 110, an originating station, is routed to a third party TD like TD.sub.2 112, TD.sub.3 114 or TD.sub.N 116, a terminating destination, by way of a telecommunications system, such as the illustrated components operating within the exemplary environment 100. Notably, the exemplary environment 100 envisions any and all networks for transmitting and terminating communications between TDs such as, but not limited to, cellular networks, PSTNs, cable networks and the Internet. Notably, while the use of any particular protocol or communications standard may be a novel aspect of a particular embodiment disclosed herein, it will be understood that the scope of the embodiments is not limited to the use of any particular protocol or combination of protocols.
[0034] Methods for effecting the transmission of data through environment 100 including communication setups, terminations, etc. are understood by those of ordinary skill in the relevant art, and they may include the use of protocols and standards such as, but not limited to, signaling system seven (SS7) protocol suite, SIP, customized applications for mobile networks enhanced logic (CAMEL) or CAMEL Application Part (CAP), remote operations service element (ROSE), Voice Over IP (VOIP), etc. As one of ordinary skill in the relevant art would recognize, CAMEL Application Part (CAP) is a user protocol that rides on top of the Transaction Capabilities Application Part (TCAP) of the SS7 protocol suite. Embodiments of the second line services may use combinations of SIP, CAP, ISUP and/or other protocols to connect calls between calling and called parties on a mobile device network.
[0035] Routing a communication from the originating station to the terminating destination involves the selection of a routing path for the communication and may also involve the implementation of one or more advanced network functions. The ability of a typical SSP to provide these advanced network functions, however, is limited due to physical and other constraints. The AIN therefore provides for increased information processing capability through a system of intelligent network elements that are functionally connected with the SSPs through a network of data links.
[0036] These intelligent network elements of the AIN can communicate with each other, and with the SSPs of the network, via digital data messages transmitted over the network of digital data links. An SSP may be configured to interface with these intelligent network elements through the use of a trigger. In general, a trigger serves as an indicator for the SSP to take certain action. The SSP is configured so that, when the SSP detects a predetermined set of conditions defining the trigger in association with a communication, the SSP creates an appropriate digital data message for transmission over the network of digital data links. The SSP may also suspend routing of the communication (i.e., hold the communication) until the SSP receives a reply to its message from an appropriate network element instructing the SSP to take a certain action. If the SSP receives no instructions within a certain amount of time, the SSP may time-out and execute a default task for the communication.
[0037] The message created by an SSP in response to a trigger is known as a query message. A query message opens a transaction and the SSP generally holds the communication while the transaction remains open. The reply to the query message may be a conversation message or a response message. Conversation messages allow for bi-directional exchanges between network elements while the transaction remains open. A response message closes the transaction opened by the query message, and usually instructs the SSP to route the held communication for connection with a terminating destination. A trigger is typically activated or deactivated at an SSP by another network element through an update message. Query messages, conversation messages, response messages, and update messages are standard types of messages defined by the AIN protocol. The details of the AIN protocol are well known to those of ordinary skill in the relevant art.
[0038] In an exemplary embodiment, the originating switch 122 can be an SSP switch. It is noted, however, that the AIN may also include non-SSP central office switches (not shown). It will be appreciated that a non-SSP switch may initially receive a communication from a subscriber line, such as when the subscriber is roaming on a foreign telecommunications network, and pass the communication to another switch, such as SSP 122, for further processing. Similarly, in a cellular or wireless network, an MTSO or other receiver/transmitter may initially receive a communication from a cellular telephone or wireless unit and route the communication to another network element, such as SSP 122, for further processing. In this manner, advanced network functions available through the AIN may be provided to wireless units and to subscriber lines that are directly connected to non-SSP switches, roaming on foreign networks, employing wireless devices, or any combination thereof.
[0039] Each switch in the AIN is connected to a signal transfer point 126 via a data link. The signal transfer point 126 is a multi-port, high-speed packet switch that is programmed to respond to the routing information in the SS7 protocol and route the packet to its destination. Digital data messages flowing between the service control point 128 and the SSP 122 go through signal transfer point 126. Thus, the signal transfer point 126 is not normally a terminating destination; instead, it merely directs traffic among the other entities on the network that generate and respond to the data messages.
[0040] Much of the intelligence of the AIN resides in a one or more service control points 128 that are connected to the signal transfer point 126 by a SS7 data link. A service control point 128 is a remotely programmable intelligent network element. As is known to those of ordinary skill in the relevant art, a service control point is physically implemented by relatively powerful fault tolerant computers. Among the functions performed by a service control point is the maintenance of network databases, such as database 130, which is used in providing subscribers with advanced network functions.
[0041] Additional devices for implementing advanced network functions within the AIN are provided by a service management system 132. The service management system 132 is connected via a data link to the service control point 128. The service management system 132 provides a centralized platform for remotely programming the service control point 128 so that a coordinated information-processing scheme may be implemented for the AIN. The service management system 132 is implemented by a large general-purpose computer and interfaces to business offices of the local exchange carrier and inter-exchange carriers. The functions of the service management system 132 include: (a) downloading information to the database 130 when new subscribers are added or when subscribers modify their ensemble of services; (b) performing data reloads when the service control point 128 crashes or when software needs to be updated; (c) implementing high volume routing services, such as call forwarding and 800 number translation and routing; (d) maintaining and providing access to high volume databases for the authorization of billing, such as credit card number validations; and (e) downloading, on a non-real-time basis, billing information that is needed in order to appropriately invoice telephone company subscribers for the services provided.
[0042] As illustrated in
[0043] The AIN thus provides subscribers with a selectable menu of advanced network functions. These advanced network functions are typically sold on a per-service basis, or in groups of services known as calling plans. Each subscriber may select a set of advanced network functions, or a calling plan that suits the subscriber's needs. Moreover, each subscriber may generally select among a plurality of local advanced network functions, as well as select among a plurality of long distance/roaming advanced network functions.
[0044] Cellular, wireless digital or mobile communication networks are similarly situated to provide intelligent features similar to what are available through the AIN or, in conjunction with components of the AIN. In addition, a PBX 150 connected to the telecommunications network such as through a service switching point 122 or even an MTSO or other point of entry may also operate to provide some or all aspects of an embodiment of the SLS while servicing stations S1 152 and SN 154.
[0045] Thus, referring back to
[0046] When the SSP 122 intercepts the communication, it is configured to search for the trigger in the received communication. Because the communication from TD.sub.1 110 includes the predefined trigger for the SSL, the SSP 122 then creates a query message for transmission to the SLS Platform 138. When the SLS Platform 138 receives the query message, the SLS Platform 138 creates a reply message for transmission back to the SSP 122 as it is configured to do. The SLS platform 138 is configured to provide the necessary information for routing the communication using the SLS. In this particular embodiment, transmission of these messages is performed using the CAP portion of the SS7 protocol suite. In other embodiments, and as described more fully above, the particular protocol or communications standard may be ROSE, VOIP, or any other similar standard known to those skilled in the art.
[0047] The reply message contains the information necessary for the SSP 122 to implement the SLS. In typical embodiments, the reply message may contain the information/instructions necessary to properly route the communication to the terminating destination TD.sub.N 116 at the directory number included in the dialed sequence. However, in other embodiments, the reply message may additionally contain the information/instructions necessary for further processing of the communication, such as verifying that the subscriber TD.sub.1 110 is authorized to use the advanced network functions, like the SLS, and supplementing/supplanting data within the communication. For example, the reply message may additionally contain instructions for the SSP 122 indicating which of the subscriber's CLIDs (either its primary directory number or its SLS number, etc.) should be populated for display on the called party's TD.sub.N 116.
[0048]
[0049] Additionally, it is envisioned that TDs like TD.sub.1 110 and TD.sub.N 116 are capable of roaming from their home AIN, like the environment 100 depicted in
[0050] When an SLS subscriber wishes to initiate a communication from their TD.sub.1 110 to a third party TD.sub.N 116 using their SLS number instead of their primary telephone number, and the subscriber is roaming on telecommunications network 201, the subscriber dials the dialed sequence including the trigger as described above. Because the TD.sub.1 110 is roaming, the telecommunications network 201 ultimately intercepts the communication at one of its switches or MTSOs. The telecommunications network 201 does not inherently recognize the foreign TD.sub.1 110 roaming on its network, so it does not have the necessary information to determine how to process TD.sub.1 110's communication and the embedded trigger.
[0051] As such, the telecommunications network 201 sends a query message to the home AIN 202 of TD.sub.1 110 for purposes of getting instructions on how to process TD.sub.1 110's communication and the embedded trigger. Consequently, the telecommunications network 201 creates a query message for transmission to AIN 202 through the SS7 protocol suite, specifically the CAP portion of the protocol, as it is programmed to do. In other embodiments, the particular protocol or communications standard may be ROSE, VOIP, or any other similar standard known to those skilled in the art. It is known by those skilled in the art that message exchanges between a roamed to network and a home network can occur through various intermediary network elements.
[0052] Regardless of the string of intermediary network elements involved in between the telecommunications network 201 and AIN 202, eventually an SSP, like SSP 122 in
[0053] Like
[0054]
[0055] Further, rather than a prefix of suffix, in some embodiments a special area code or telephone number may be used to identify the intention to use and SLS number. For instance, the dialed number may be 999-xxx-xxxx, where 999 signals the use of a second line number and the 7 digit number can be looked up in the subscriber's database to identify the appropriate area code. Moreover, one of ordinary skill in the art will recognize that telephone numbers, although generally described in this disclosure as possibly including a specific country code, area code, and seven digit directory number, may include any country code, area code and directory number system known to those skilled in the art.
[0056] The communication containing or associated with the dialed sequence then propagates to the switch 400, such as SSP 122 from
[0057] If the switch 400 determines that the communication is not enabled for SLS 420, then exception processing can be performed 424, which may be limited to or include simply performing normal processing 416. However, if the switch 400 determines that the communication is enabled for SLS, then the switch 400 performs SLS processing for the communication 426 and thus completes the call from the calling party to a TD associated with the dialed directory number. From the calling party's perspective, the communication is directly connected to the called party 308.
[0058]
[0059] In the reverse direction, if a third party calls a subscriber by using the subscriber's SLS number, then the switch 400 receives the call and determines that the number is to be serviced by the SLS platform (i.e., the SLS number is in a block of numbers or a list of numbers that are to be routed to an SLS platform for processing). The SLS platform can then have the switch initiate a call or complete the call to the subscriber's normal number (the number assigned to the subscriber's terminal device). In doing so, the SLS can cause the switch to include a special sequence with the digits sent to the subscriber's equipment to indicate that this is a call to the SLS number of the subscriber. The sequence can be in the form of a prefix, suffix, other embedded number or using a special area code or other similar techniques.
[0060] Certain actions or blocks in the processes or process flows described in this specification naturally precede others for the embodiment to function as described. However, the various embodiments are not limited to the order of the actions or blocks as presented or described. That is, it is recognized that some actions or blocks may be performed before, after, or in parallel (substantially simultaneously with) other actions or blocks without departing from the scope and spirit of the various embodiments. In some embodiments, certain actions or blocks may be omitted or not performed as not all embodiments necessarily must implement all of the described actions. Also, in some embodiments, multiple actions depicted and described as unique actions or blocks in the present disclosure may be comprised within a single step or block. Further, words such as thereafter, then, next, subsequently, etc. are not intended to limit the order of the actions or blocks. These words are simply used to guide the reader through the description of the exemplary method.
[0061] Additionally, one of ordinary skill in programming will be able to write computer code or identify appropriate hardware and/or circuits to implement the various embodiments, as well as features and aspects thereof, based on the flow charts and associated description in this specification. Therefore, disclosure of a particular set of program code instructions or detailed hardware devices is not considered necessary for an adequate understanding of how to make and use the various embodiments. The functionality of the claimed computer implemented processes is explained in more detail in the above description and in conjunction with the Figures that may illustrate various process flows.
[0062] In one or more exemplary aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media include both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
[0063] In the description and claims of the present application, each of the verbs, comprise, include and have, and conjugates thereof, are used to indicate that the object or objects of the verb are not necessarily a complete listing of members, components, elements, or parts of the subject or subjects of the verb.
[0064] A storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, such computer-readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to carry or store desired program code in the form of instructions or data structures and that may be accessed by a computer.
[0065] Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, acoustic and microwave are included in the definition of medium.
[0066] Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
[0067] Therefore, although selected aspects have been illustrated and described in detail, it will be understood that various substitutions and alterations may be made therein without departing from the spirit and scope of the present invention, as defined by the following claims.