System and method for processing telephony sessions

Information

  • Patent Grant
  • 11765275
  • Patent Number
    11,765,275
  • Date Filed
    Thursday, January 27, 2022
    2 years ago
  • Date Issued
    Tuesday, September 19, 2023
    a year ago
Abstract
In one embodiment, the method of processing telephony sessions includes: communicating with an application server using an application layer protocol; processing telephony instructions with a call router; and creating call router resources accessible through a call router Application Programming Interface (API). In another embodiment, the system for processing telephony sessions includes: a call router, a URI for an application server, a telephony instruction executed by the call router, and a call router API resource.
Description
TECHNICAL FIELD

This invention relates generally to the telephony field, and more specifically to a new and useful system and method for processing telephony sessions in the telephony field.


BACKGROUND

In the last decade, legislation and the advent of Voice over Internet Protocol (VOIP) have revolutionized the communication industry with new technologies, business models, and service providers. Software and commodity hardware now provide an alternative to expensive carrier equipment. One can implement extensible call switching and voice application logic in Open source software applications, such as Asterisk and FreeSwitch. These new application stacks, however, usher in new complexities and challenges, requiring new skill sets to deploy, develop, and maintain. Deploying telephony services requires knowledge of voice networking and codecs, hardware or services to bridge servers to the public phone infrastructure, capital investment in hardware, and ongoing collocation of that hardware. These burdens are a mere prerequisite to developing the actual application, which requires developers to train in new languages, tools, and development environments. Even telephony applications that currently try to leverage a model more similar to web-development such as Voice Extensible Markup Language (VoiceXML), require the dedication to learn a new language and understand telephony interaction. Ongoing operation and maintenance of these services requires teams to adopt new analysis tools, performance metrics, and debugging methodologies. Developing even the simplest of voice services (such as a so-called “phone tree”) requires significant upfront and ongoing investment in specialized infrastructure, skills, and operations. Thus, there is a need in the telephony field to create a new and useful system and method for processing telephony sessions. This invention provides such a new and useful system and method.


SUMMARY

The method of the preferred embodiment for processing telephony sessions include the steps of communicating with an application server using an application layer protocol, processing telephony instructions with a call router, and creating call router resources accessible through an Application Programming Interface (API). The method and system of the preferred embodiments enables web developers to use their existing skills and tools with the esoteric world of telephony, making telephony application development as easy as web programming. The method and system use the familiar web site visitor model to interact with a web developer's application, with each step of the phone call analogous to a traditional page view. Within this model, developers reuse their existing tools and techniques, including familiar concepts such as HTTP redirects, accessing resources through an API, cookies, and mime-type responses to construct complex telephony applications. The method of processing telephony instructions and creating call router resources accessible through an API (a call router API) cooperatively function to enable a stateless and simple telephony language with more call router resources and information provided through the call router (preferably a REST API as is familiar to many web developers). In one embodiment, the telephony instructions set may have fewer than dozen verbs, simplifying the language so that developers can quickly learn and implement telephony applications, while the call router API compliments the simple telephony instructions to enable complex telephony applications.





BRIEF DESCRIPTION OF THE FIGURES


FIG. 1 is a flowchart representation of a preferred method of the invention.



FIGS. 2A, 2B, 3A and 3B are schematic representations of preferred embodiments of the invention.



FIGS. 4A-4C are examples of a HTTP GET request, a HTTP POST request, and a HTTP GET request, respectively.



FIGS. 4D-4F are examples of a HTTP requests.



FIGS. 5A and 5B are examples of XML responses.



FIG. 6 is an example of a call Router request and response.



FIGS. 7-15 are schematic representations of various applications that incorporate the principals of the preferred method of the invention.



FIG. 16 is a flowchart representation of the sub-steps relating to the digital signature aspect of the preferred method of the invention.





DESCRIPTION OF THE PREFERRED EMBODIMENTS

The following description of the preferred embodiments of the invention is not intended to limit the invention to these preferred embodiments, but rather to enable any person skilled in the art to make and use this invention.


1. Method for Processing Telephony Sessions


As shown in FIGS. 1, 2A, 2B, 3A, and 3B, the method 10 of the preferred embodiment for processing telephony sessions include the steps of communicating with an application server using an application layer protocol S110, processing telephony instructions with a call router S120, and creating call router resources accessible through an Application Programming Interface (API) S130. The preferred method may also include other steps and/or sub-steps, as explained below.


1A. Communicating with an Application Server


As shown in FIG. 1, the step of communicating with an application server using an application layer protocol S110 preferably includes the following sub-steps: initiating a telephony session S1, mapping a call to a Universal Resource Identifier (URI) S3, sending a request to a server associated with the URI S5, processing the request corresponding to the state of a telephony session S7, and receiving a response from the server S9. One of the challenges of using the familiar web site visitor model is that a third party web application may expose URIs that contain sensitive data or that suggest actions that could maliciously manipulate the application database. In the preferred embodiment, the call router cryptographically signs outbound requests to customer web applications using an account-specific key. More specifically, the step of communicating with the application server includes the additional steps of digitally signing the request parameters S4 and verifying the digital signature of the request parameters S6. Only the call router and the application server know that key, so any request that includes parameters (URL, POST data, headers, etc) signed with that key can be checked for authenticity before allowing such operations. This method also provides verification of authenticity over insecure links (HTTP) with low CPU overhead.


Step S1, which recites initiating a telephony session, functions to accept an incoming message. The message is preferably a call from a PSTN-connected (Public Switched Telephone Network) or Internet addressable devices, such as landline phones, cellular phones, satellite phones, Voice-Over-Internet-Protocol (VOIP) phones, SIP devices, Skype, Gtalk, or any other suitable PSTN-connected or Internet addressable voice device. The message may alternatively be a Short Message Service (SMS) message. A SMS gateway server may alternatively connect to a SMS network through a Short Message Service Center (“SMS-C”), directly to the Signaling System #7 (SS7) telephony network, or by any other suitable SMS gateway provider, and the message is preferably received from the gateway by the call router and translated into a format (such as a URI) that can be sent over the public Internet such as HTTP, based on the recipient address of the SMS, such as a short code, or Direct Inward Dialing (DID), or other suitable unique recipient identifier. The message may alternatively be a multimedia message, a facsimile transmission, an email, or any other suitable messaging medium. The originating phone number of the PSTN device is preferably captured using caller ID, but any other suitable ID may be captured, such as a VOIP provider ID, SMS device number, email address, or a short code. The dialed phone number, the EIN, and/or billing identifier, and/or the date and time of the call are also preferably included in the session information. An authentication ID may additionally or alternatively be included in the session information.


In one variation, Step S1 also functions to initiate a telephony session (such as a phone call) via an HTTP or other request sent to a call router from an application running on a third-party server. In this variation, the application running on the server preferably specifies an initial URI for the call router to use for telephony session in step S3, as well as the phone number (or other addressable destination) to dial and the source phone number (caller id). In this variation, the call router API is preferably used by the application server to request an outgoing call from the call router.


Step S3, which recites mapping the call to a Universal Resource Identifier (URI), functions to enable a telephony session to be converted into a format that may be handled with standard web servers and web applications. The mapping is preferably performed using a call router. The initial URI is preferably pre-specified at the call router by a web application (which may be running on a third party server) or call router account owner. More preferably, the initial URI is assigned to the call via a unique identifier for the call destination, such as a DID (Direct Inbound Dial) phone number, or a VOIP SIP address. The URI may alternatively be specified by a remote server or other suitable device or method. In one variation, the URI may be used to encapsulate state information or a portion of state information from the initiated telephony session, such as the originating phone number, the dialed phone number, the date and time of the call, geographic location of the caller (e.g. country, city, state, and/or zip), and/or the unique call ID. The information included in the URI may be included in the form of a URI template. For example the URI default template could be: http://demo.twilio.com/myapp/{dialed phone number}/{originating phone number} or http://demo.twilio.com/myapp/foo.php?dialed_number={dialed phone number} & originating_number={originating phone number}.


Step S4 functions to digitally sign the request parameters. As shown in FIG. 16, Step S4 preferably determines the call router account owner and, more preferably, looks up the account owner's unique ID or secret key and signs a set of request parameters. Step S4 is preferably accomplished by generating a cryptographic hash of the request parameters, preferably including the URI as well as any request body parameters (in the case of an HTTP POST, for example) with the unique key associated with the call router account owner. The cryptographic hash is preferably generated by appending the hash of the request parameters to the original set of request parameters. The hash is preferably appended to a URL, but if the hash is particularly long (i.e. for a very large number of parameters) the hash may be included in an HTTP header, where there is no limitation on size. In a variation of Step S4, at least one sensitive parameter may be individually encrypted using the account owner's secret key before the hash is processed. In another variation, a cryptographic credential delegation system, such as Oauth (oauth.net), may alternatively be used to electronically sign the request.


Step S5 functions to send the request to a server. Preferably, the request is sent to a URI and, more preferably, the request is sent to the URI mapped in S3. The request preferably includes a cryptographic hash computed from the set of request parameters (acting as a digital signature), but the request may alternatively include individually encrypted request parameters if the parameters are determined to contain sensitive data. The server is preferably a third party server and, more preferably, the server is running a web application. The request is preferably sent to a server over a network. In one variation, the request is sent to a local server on a local area network. In another variation, the request is sent to a server running locally on the device originating the call. In yet another variation, the request may be sent to multiple servers. The request preferably encapsulates at least a portion of the state information from the initiated telephony session, such as the originating phone number, the dialed phone number, the date and time of the call, geographic location of the caller (e.g. country, city, and/or state, zip), and/or the unique call ID. The request, more preferably, encapsulates all the state information of the call, but may alternatively include no state information or partial state information. The state information from the initiated telephony session is preferably sent via HTTP POST in the request body, HTTP GET in the request URI, HTTP header parameters to mimic the data flow of a web browser, or by any combination or suitable alternative way. If new state information is generated in the course of the operation of the call router, a request to the application server is preferably made to communicate the new state and to request new telephony instructions. Preferably, new state information is not kept or acted upon internally by the call router, but is passed to the application server for processing. Alternatively, partial state information is preferably stored on the call router until a fully updated state is achieved, and then communicated to the application server. For example, the application server may specify that multiple digits should be pressed on the keypad, not just one, before new call state is derived and communicated to the application server. In one variation, the information from the initiated telephone session may be a web-form submission included in the HTTP POST request. The request may include any state information from the telephony session, such as the originating phone number, the dialed phone number, the date and time of the call, and/or the unique call ID, the current status of the phone call (pending, in-progress, completed, etc.), or the results of a telephony action, including Dual Tone Multi Frequency (DTMF) digit processing, or a representation of or a link to a sound recording, or the status of the last command, or other call state. Examples of a HTTP GET request, a HTTP POST request, and a HTTP GET request are shown in FIGS. 4A, 4B, and 4C, respectively. Further examples of HTTP communication used for SMS messaging are shown in FIGS. 4D, 4E, and 4F. The HTTP request (or any suitable request communication) to the server preferably observes the principles of a RESTful design. RESTful is understood in this document to describe a Representational State Transfer architecture as is known in the art. The RESTful HTTP requests are preferably stateless, thus each message communicated from the call router to the application server preferably contains all necessary information for operation of the application server and response generation of the application server. The call router and/or the application server preferably do not need to remember or store previous communications to be aware of the state. Documents, media, and application state are preferably viewed as addressable resources, combined with data provide to the resource via request parameter, such as HTTP GET or HTTP POST parameters, or request body contents. Such request data may include an updated representation of the call resource, or other call state data generated as a result of call router operation, such as digits pressed on the keypad or audio recordings generated. State information included with each request may include a unique call identifier, call status data such as whether the call is in—progress or completed, the caller ID of the caller, the phone number called, geographic data about the callers, and/or any suitable data. However, a varying level of a RESTful communication (statelessness) may be used, such as by using cookies, session tracking, or any suitable devices to simulate a normal website visitor model. Preferably, data sent with each request may fully enable the application server to determine the next state of the call to execute. RESTfulness preferably does not preclude using external datasource, such as a database, to lookup additional data to log call meta data, or determine application logic.


Step S6 functions to verify the digital signature of the request parameters. As shown in FIG. 13, after the request is received at the server, the request parameters are preferably checked and/or parsed for a hash. The cryptographic hash is preferably included in the URL of an HTTP request, but may alternatively be included in the HTTP header of the request. If the request does not include a hash, and the web application server has enabled the hash function checking as a security measure, the request is preferably determined to be fraudulent, which would include—for example—malicious requests, mis-routed requests, corrupted requests and any other requests not intended for the application server. If the set of request parameters includes a hash, the hash is preferably extracted from the request, and the secret key of the customer web application (i.e. the same key that is stored on the call router as the customer account secret key) is preferably used to generate a server side cryptographic hash of the parameters received. The server side cryptographic hash is preferably compared to the hash included with the request and if the hashes do not match, the request is preferably determined to be fraudulent. However, if the server side cryptographic hash matches the request hash, the request is preferably determined to be authentic and ready for further processing at the application server. In the variation mentioned above in Step S4, where sensitive parameters may have been encrypted using the secret key, Step S6 preferably includes decrypting the sensitive parameters. The application server and the third parties operating the application are preferably responsible for completing this verification step, but the verification may alternatively be completed by a single party, such as when a single party operates the application server and the call router. The application server may alternatively be configured to ignore a hash included with the request parameters if request authentication is not important to the application.


Step S7, which recites processing the request corresponding to the state of a telephony session, functions to perform processing functions on at least a portion of the data included in the request. The processing functions are preferably performed on a third party server. The processing functions may include recording the data included in the request and/or metadata about the call session, routing to another URI, performing a database lookup of at least one portion of the data included in the request, voice recognition processing, or any other suitable processing function. The processing functions may re-use logic and data from other business applications, such as customer databases and/or shopping cart applications, which may be linked using caller-id or caller provided information. State information is preferably communicated with each request from the call router, and application state is preferably not required on the application server. Alternatively, the application server may store state between each request related to the call, by using HTTP cookies, sessions, and/or database records. In some cases, such as the case of a static HTML, page running on a server or a stored media file such as an mp3 or way file stored on a server, Step S7 may be simplified, and a file mapped to disk by the URI may be simply returned.


Step S9 recites receiving a response from the server. This response is preferably an HTTP response. The response is preferably sent as XML, audio binary, or raw text, but may alternatively be any sort of messaging format, including HTML, delimited text, key/value text or binary encoded format. The HTTP response preferably includes directions to perform telephony actions. The response may alternatively or additionally include a new URI or a new URI template to use with the telephony action in Step S3. An additional example XML response is shown in FIGS. 5A and 5B.


1B. Processing Telephone Instructions


The step of processing telephone instructions with a call router S120 preferably functions to convert the server response into telephony actions or executable operations during a telephony session. The telephony actions may include, for example, playing a pre-recorded sound file at a server-specified URI (such as a static mp3 file located at http://demo.twilio.com/myapp/1234.mp3), reading text to the caller using text-to-speech technology, calling another number (such as creating a new voice connection through the PSTN, SIP/VoIP, or other IP technology system), collecting digits via DTMF input, recording voice response audio, TTY or other inputs, sending an SMS message, or any suitable combination or sequence of these or other suitable actions. This conversion of the server response is preferably performed at a call router. Preferably, Step S120 includes processing the response mime-types associated with the server response. For example, if the response mime-type is XML, it is considered to be a set of call router instructions. If the response mime-type is MP3, it is considered a sound file to be played for the caller. If the response type is plain text, it is considered to be text to be read, via Text-To-Speech, to the caller.


Contents of the server response, such as an XML document, are preferably converted into a telephony action by processing the document sequentially (e.g. line by line). Telephony instructions are preferably contained within the document in the form of a markup language, such as XML as shown in FIGS. 5A and 5B. This sequential approach to processing a document of telephony instructions is enabled when the communication is stateless and all the necessary information is contained within the URI. This stateless communication preferably allows telephony instructions (verbs or commands) to be used as the programming interface for a server application performing telephony services. Algorithmic interpretation (based on the state of the communication) of the telephony verbs or the document is preferably not necessary. The telephony actions are preferably executed in the order of telephony instructions found in the contents of the server response. For example, an XML document may include the necessary verbs to carry out the telephony actions of reading text to a caller, monitoring keys pressed by the caller, and redirecting the caller to a new URI using the pressed keys as part of the data within the new URI. Preferably, the telephony action (such as digits pressed) results in new state information, which may result in a repetition of some steps of the method, preferably beginning at Steps S3. The next URI is preferably provided by the server as part of the processing instructions. In another variation, the last URI is reused if the server fails to specify a next URI. In yet another variation, no repetition occurs if the server fails to specify a next URI, and processing continues below at the next call router instruction. The behavior may be determined by the nature of the call router instruction; for example, instructions that generate no new state information would not need to have a next URI since they don't trigger communication with a remote server. More preferably, the telephony actions result in the repetition of step S3 with the new URI resulting from Step S11, but may alternatively initiate a repetition of one or more steps (Steps S5, S7, S9, or S11) of the method. Step S3 is preferably repeated using all new phone session state information resulting from execution of a telephony action, such as digits pressed, a recorded audio file, or the success or failure of any telephony action requested. Repetition also includes all state information that remains relevant during the course of the session, such as Caller, Called, unique Call ID, and call status. The state information may also be represented in the form of a URI Template. For example, if the server response specifies that the call router should collect DTMF digits, and specifies that the next URL is the URI Template http://demo.twilio.com/foo.php?digits={Digits}, and the caller presses 1234, the resulting URI is http://demo.twilio.com/foo.php?digits=1234. Similarly, if the server response specifies the URI Template: http://demo.twilio.com/myapp/{Digits}.mp3, the resulting HTTP Request could be to a static mp3 file located at: http://demo.twilio.com/myapp/1234.mp3. Thus, a call may be controlled by one server that issued the telephony instruction and a second server that processes the response, as shown in FIGS. 13 and 14. Such call control hand-offs constitute the transfer of state information between servers in the form of a URI and accompanying request data, such as GET, POST, and/or request body. Preferably, all state communications conform to a syntax established by the call router to facilitate integration between multiple servers. For example, digits pressed on the keypad are preferably communicated to application servers in an identical fashion, thus minimizing the need for coordination between a multiple application servers with regard to how state is transferred. Alternatively, call router instructions may dictate the method of communicating new state information, such as the names and types of variables to send representing new state.


1C. Creating Resources Accessible by a Call Router API


The step of creating call router resources accessible through an Application Programming Interface (API) S130 preferably functions to expose information and/or functionality of the call router. The interaction from outside parties is preferably performed via the API (call router API). The Call Router API may additionally cooperate with the use of telephony instructions to function as a storage and retrieval format for data generated or required by the call router's operation. The Call Router API is preferably an application programming interface (API) such as a REST API (Representational State Transfer) as is known in the art, but the Call Router API may alternatively be a SOAP (Simple Object Access Protocol) API or any suitable programmatic communication interface. The Call Router API preferably may be used by an application asynchronously to the execution of a call (such as to later query the call records or retrieve recordings). Alternatively, the Call Router API may be used synchronously during the course of a call (such as to alter the state of the call, hanging up a call, initiating call recording, etc.). The Call Router API preferably stores state information in a persistent URI for a resource. The persistent URI preferably contains all the necessary state information, and this preferably makes data persistent, queryable, and recoverable. The Call Router API is preferably used for modifying resources to alter state of call router and for interacting with media of the call router. An application server can use the Call Router API to preferably query meta-data of call records, caller identification, call media (such as recordings, text transcripts, etc.), account information, transfer or interact with in-progress communications in the call router, and/or any suitable data generated by or required to operate the call router. The Call Router API preferably involves communication between an application server and a call router, but may alternatively be communication from any suitable device to the call router. The Call Router API preferably resides on the same hardware as the call router, but may alternatively reside on remote hardware or on any suitable hardware environment. The communication is preferably HTTP, but alternatively HTTPS or any suitable communication protocol may be used. The Call Router API may additionally be compatible with any HTTP client. The telephony system of the preferred embodiment preferably implements a Call Router API that includes a Call Router API request format, a Call Router API response format, and a plurality of API Resources representing types of data generated by or used by the Call Router.


The Call Router API request of the preferred embodiment functions as a communication message sent from an application server to an API resource of the call router. The Call Router API request is preferably sent from an application server to a call router, but may be sent from any suitable device to the call router. The Call Router API request is preferably similar to a REST API request, but the Call Router API request may alternatively conform to any suitable programming principle, such as SOAP. The Call Router API request preferably uses HTTP to interface with a resource, but HTTPS or any suitable communication protocol may be used. Preferably the HTTP or HTTPS method of GET is used to retrieve a resource or resource information, and the HTTP or HTTPS method of PUT or POST is used to create or update a resource. In some cases, PUT or POST may be used to affect the functionality of the call router by modifying the state of a resource. Alternatively, a method parameter may be included in the URI of the resource to identify a requested action for the resource, or any suitable commands or methods may be used to interface with an API resource. The Call Router API request preferably includes authentication such as basic HTTP or HTTPS authentication, by including message authentication information in the URI, such as a cryptographic hashing of the request content using a shared key, or by any suitable method.


The Call Router API response of the preferred embodiment functions as a communication sent in response to a method performed on an API resource. The Call Router API response is preferably sent from the call router to an application server, or any suitable device. The Call Router API response is preferably sent in response to a Call Router API request, and the response is preferably sent to the originating device. The Call Router API response is preferably similar to a REST API response, where the response is a representation of the requested resource. The Call Router API response may alternatively conform to any suitable programming principle such as SOAP. The Call Router API response is preferably returned as formatted XML with information corresponding to the HTTP status code, a message, error codes, and/or any suitable information related to the resource. The Call router API response may alternatively be represented as Comma-separated values list (CSVs), HTML, JSON, or any suitable format. In one variation, the response format is determined by a portion of the requested URI, such as a file extension. In one variation, an API resource may be a binary data resource, and the Call Router API response is preferably formatted in a native binary format (e.g., a way or mp3 audio file), an XML meta-data description, and or any suitable format.


The API resource of the preferred embodiment functions as an addressable representation of call router meta-data, internal call router state, or the state of a given resource used by the call router. An API resource is preferably addressed by a persistent URI. Preferably, the API resource responds to at least one HTTP action of POST, PUT, GET, or DELETE. The API resource may alternatively respond to multiple HTTP actions. The API resource may alternatively respond to any suitable method(s) that are preferably included in the Call Router API request. Consistent with the RESTful conventions, a GET request of a resource may return the current state of a resource, while PUT may update the state, PUT or POST may be used to create a new resource, and DELETE may be used to destroy a resource. The call router API may alternatively be used to affect the functionality of an in-progress call in addition to modifying data. The API resources of the preferred embodiment include an account resource, caller ID resource, incoming address resource, call resource, media resource, and/or any suitable resource of the call router. The API resources may alternatively be any suitable combination of the listed resources or other suitable resources. An API resource is preferably a preconfigured (or “static”) resource, such as account information, or a resource actively in use by the call router, such as a phone call. Modifying the state of a resource via the API may additionally affect the operation of the call router in real-time, affect the state or capabilities of the call router in the future, and/or have any suitable effect.


The account resource of the preferred embodiment functions to allow an application to retrieve and/or modify account information. An account is preferably created by a telephony service provider, such as the operator of the call router. Information such as account name, usage information, contact information, initial URI, setup parameters, or any suitable account information may be retrieved or edited by an application using the account resource.


The caller ID resource of the preferred embodiment functions to allow an application to retrieve, modify, register new caller ID's (phone numbers), and/or delete caller identification information. The caller identification information is preferably for the phone number associated with out-going calls made by an application and/or user (i.e. where the application appears to be calling from). The numbers for outgoing calls are preferably assigned or verified prior to being used as a caller ID. As an alternative, to prevent fraudulent use of caller ID phone numbers in applications, a verification step may be used by the API before adding a new caller ID resource. A request to add a caller ID may be initiated via a request to the API, wherein a random validation code is generated and returned in the API response. The validation code is preferably provided to an end user. A phone call is placed to the given phone number (caller ID), requesting that the validation code be entered via keypad digits or spoken. Entry of the validation code verifies possession of the phone number, or the device associated with the phone number, at the time of the request. Use of the caller ID resource may additionally be presented in a user interface, such as a web browser, by displaying the verification code. User interface may be provided by the operator of the call router, or may be provided by any suitable application using the API. Any suitable method may also be used for verification of a caller ID. In another alternative, where multiple parties are involved in a call, the caller ID of one of the existing party members may be assigned for additional outgoing calls during that call session.


The incoming address resource of the preferred embodiment functions to allow an application to get, modify, or provision new inbound DID phone numbers, SMS short codes, SIP Addresses, etc. for use with applications. PUT or POST may be used to set the initial URI associated with the inbound address. DELETE may be used to release the resource. The incoming address resource may be used for real-time provisioning of phone numbers or other addressable inbound identifiers.


The call resource of the preferred embodiment functions to allow an application to get or modify the state of a telephony session in the call router. A telephony session or call may be in-progress, completed, failed, not yet initiated, and/or in any suitable call status. A call resource can preferably change the state or connection of an in-progress call. State changes preferably include: hanging up or terminating existing telephony sessions, transferring one or more existing telephony sessions from one contextual group of sessions to another, merging or splitting an existing group telephony sessions, transferring one or more telephony sessions from one communications medium to another (such as from one URI to a second URI), injecting an event or notification into a existing session or group of sessions, recording or ceasing to record the audio from one or more parties on a call, and/or any suitable call action. Call information or call log data can preferably be retrieved by sending a GET to the call resource or by alternatively sending any suitable method. Outgoing calls may also be initiated by using a POST or any suitable method that preferably indicates that a new call resource is to be created. When using the call resource to initiate a call, information may be provided as required to place a phone call, such as a caller ID to present, a phone number to call, and/or a URI to handle the call, but alternatively any suitable information may be provided. A call instruction XML, document may alternatively be provided to the API instead of a URI, which is to be used for call instructions. The Call Router API may additionally respond with the status of a call such as if the call is answered, if a machine answered the phone, busy signal, no answer, call failure, and/or any suitable call status. The response may alternatively indicate that the new call request was accepted, but has not yet been initiated. In the example shown in FIG. 6, caller information and caller ID are included in a POST request to the call resource. This step would initiate an outgoing call to the phone number designated in the caller information. The Call Router API response includes available state information regarding the call, such as whether the call has commenced yet, the call start time, end time, price, caller info, and the Call Router API response could alternatively include any suitable information. Additionally, information about the call returned at any point by the API may depend on the status of the call. For example, a call start time would not be given if the call has not yet begun, or the call end time, duration or price would not be given if the call had not yet ended.


Additionally or alternatively, the call resource of the preferred embodiment may be used to transfer a call to a new URI by a single call resource receiving a POST, PUT, and/or any suitable method. In this alternative, a call is preferably transferred to the new URI for new call instructions. The API may preferably be used to issue asynchronous changes in call state, unlike the synchronous communication between the call router and application server for synchronous URI requests and responses. The call resource, in this alternative, functions to allow a call to be asynchronously directed to URIs. Examples of various applications of the call resource include initiating a new telephony session, terminating an existing telephony session, call waiting, call holding, call queuing, call parking, private call sessions within a conference, carry on multiple call sessions, and/or any suitable application. Any situation where asynchronous events affect the call status, such as a call agent becoming available, or a person returning to the phone after placing a caller on hold. The currently executing call router instruction may be allowed to complete, or may be immediately terminated, before requesting the provided URI. New call state resulting from the last call instruction executed by the call router, such as digits pressed on the keypad or audio recorded from the caller, may be provided to the new URI in a form POST or GET parameters, or may alternatively be discarded by the call router and not provided. As shown in FIG. 15, call waiting may be implemented by an application sending a Call Router API request to the call resource that POSTs a new URI for the call. The caller is then directed to the new URI for instructions. A second Call Router API request is sent to the call resource that POSTs the original URI for the call, and thus brings the caller back to the first call session. The call resource may alternatively be used in any suitable application.


As an alternative embodiment of the call resource, a calls resource may implement a plurality of individual calls as distinct subresources. For example, a URI ending in “/Calls” may be a list of many calls performed by the account, and a URI ending in “/Calls/12345” may represent one specific call, uniquely identified by the key “12345”. The calls resource preferably allows retrieval of many call records and/or creating new calls, while a single-call resource represents a single call. The calls resource preferably accepts a request to create a new call resource, as is common in RESTful architectures, which in the Call Router API, preferably serves to initiate one or more new calls. A calls resource may be used to both list current and previous calls using the GET method, as well as initiate a new outbound call using the POST method. Using RESTful principles such as POST or PUT to alter the state of an individual call resource can preferably change the state of an in-progress call, affecting the realtime activities of the call, such as by hanging up, transferring control to a new URI, joining the call with another call, or any suitable telephony action.


The media resource of the preferred embodiment functions to allow an application to retrieve and/or access information of media stored, cached, created, and/or used during a call. In one variation, the media resource is preferably a recording resource to access information and recordings made during a call via recording call instructions, or asynchronously via the Call Router API. In another variation, the media resource may alternatively include call transcripts, text messages, key press logs, faxes, a binary-coded resource, and/or any suitable media. The media resource may alternatively include a URI of the binary-coded file (such as a way, mp3 audio file or PDF document file). In one variation, the media resources may additionally be integrated with the telephony instructions (or markup language) such that a telephony instruction may instruct the call router to perform an action that creates a media resource. The call router preferably sends a response to the application server with the URI of the created media resource. For example, when the call router is instructed to record a message, the call router preferably sends a response to the application server with a unique URI of the recorded message within the API. The media URI preferably responds to GET requests to return the media in a number of formats, such as binary or XML meta-data representations. The media resource may accept requests to delete a media resource. In one variation, the media resource preferably requires authentication to access the resource. In another variation, the media resource may not require authentication to enable URI embedding in a variety of applications, without exposing authentication credentials. In yet another variation, authentication is preferably performed via cryptographic hashing, such that credentials are not exposed to client applications that consume the media resources. In another variation, the media resource allows the initiation of transcription of audio resources to text using transcription technology. The audio resource used for transcription is preferably generated during telephony sessions (such as by using the record instruction) and hosted on the Call Router API. The media resource preferably allows retrieving or deletion of audio transcriptions generated from recorded media. The media resource may additionally allow centralized hosting of media files, and the resource URIs are preferably exchanged between the call router and the application server, instead of the large media files themselves. The media resource may alternatively be used for any suitable media.


Additionally or alternatively, a join resource of the preferred embodiment may be used to join one or calls into a shared session that allows the parties to communicate (i.e., a conference) by a single call resource receiving a POST, PUT, and/or any suitable method. In this alternative, one or more calls are preferably join together such that they are in a conference. The join resource may alternatively be a subresource or part of the call resource.


Additionally or alternatively, a split resource of the preferred embodiment may be used to split shared sessions (e.g., a conference) into individual call sessions by a single call resource receiving a POST, PUT, and/or any suitable method. In this alternative, one or more shared sessions involving two or more calls are preferably split such that one or more calls are split into separate calls or into on or more separate conferences. The split resource may alternatively be a subresource or part of the call resource.


2. System for Handling Telephony Sessions


As shown in FIGS. 2A, 2B, 3A, and 3B, a system 20 and 30 of the preferred embodiment for handling telephony sessions includes a call router 22, a URI 23 for an application server, a telephony instruction 27, and a call router resource 29. As shown in FIGS. 2A and 2B, a first configuration 20 is initiated by a telephony device (such as a telephone call, fax or SMS message). As shown in FIGS. 3A and 3B, a second configuration 30 is initiated by an application developer side (i.e., server 26 calling out). The telephony system of the preferred embodiment preferably additionally implements a Call Router API 28 that includes a Call Router API request format, a Call Router API response format and a plurality of resources substantially similar to those described above.


The call router 22 functions to initiate or receive calls from the telephony device and connect to a web-application server. The call router 22 is preferably connected to a PSTN device over the PSTN network, such that it can receive and make calls from PSTN-connected devices 21, such as landlines, cellular phones, satellite phones, or any other suitable PSTN-connected devices, as well as non-PSTN devices, such as Voice-Over-Internet-Protocol (VOIP) phones, SIP devices, Skype, Gtalk, or other Internet addressable voice devices. The call router 22 may alternatively or additionally function as or include a message router for use with SMS messages. The call router 22 can preferably connect to an SMS network, such that it can receive and send messages from SMS network devices 21, cellular phones, computers, smartphones, or any suitable SMS network devices. The call router 22 may also send or receive text messages, multimedia messages, emails, faxes and other suitable PSTN-compatible communication messages. The call router 22 preferably communicates with the application server 26 using an application layer protocol, more preferably using the HTTP, or secure HTTPS, protocol. The communication between the application server 26 and the call router 22 is preferably stateless and any state information (e.g., call state) or data is preferably located in a URI or the request parameters, such as HTTP headers, GET URI parameters, POST request body parameters, or HTTP cookies. Available state information is preferably transmitted by call router requests to the application server for stateless processing, and the application server preferably stores no state. Alternatively, the application server preferably stores local state information, such as databases or sessions, as is common in web development. The call router 22 preferably stores state information in call router resources 29. The call router resources 29 are preferably accessible by the application server 26 and other devices through the call router API 28. The call router resources 29 are preferably similar to those described above. The call router 22 preferably associates each incoming phone number with a starting URI 23, more preferably the URI 23 is provided by the application server 26, still more preferably the URI 23 is provided by the application developer before a call is received at the call router 22 by associating the initial URI with the incoming call address (such as DID, SIP address, etc.) or by the application upon initiation of an outgoing call. The call router 22 preferably sends call data such as the caller number (obtained via Caller ID), caller geographic data (country, city, and/or state, zip) the number dialed, the time of the call, or any other suitable information or parameter. The call data is preferably digitally signed with a secret key 25 stored on the call router 22. A cryptographic hash of the information is preferably included along with the information as a digital signature. The call router 22 may also encrypt sensitive information (either before or after the cryptographic hash is computed) using the secret key to allow sensitive information to be sent across the network. The call data is preferably sent as an HTTP POST request to the application server 26. Call data may also be sent in URL (GET) variables, or encapsulated in HTTP headers. An example HTTP request containing the information in the header is shown in FIG. 4A and 4D. As shown in FIG. 4B, further inputs (such as voice recording or DTMF button pressing) from the PSTN-device may be subsequently submitted to the application server 26 as HTTP requests (GET or POST). As shown in FIG. 4C, the inputs from a phone keypad may be included in an HTTP GET request. As shown in FIG. 4E, the content of an SMS message received by the call router may be sent to the application server 26 as an HTTP request. As shown in FIG. 4F, the inputs from the text message are included in an HTTP GET request. The request data may alternatively be simultaneously sent in the URI (query string), message body (POST) and message headers, or any combination of the above.


The application server 26 functions to provide data processing logic for requests received from the call router 22. The application server 26 is preferably connected to the call router 22 via a network 24, more preferably via the Internet. The application server 26 is preferably a third party server operated outside of the system, but the system may alternatively include the application server 26. The URI 23 is preferably associated with an application server 26 or an application on an application server 26. The application server 26 preferably communicates with the call router 22 using an application layer protocol, more preferably using the HTTP protocol, or more secure HTTPS protocol. The application server 26 preferably receives HTTP requests from and sends HTTP responses to the call router 22. The application server 26 preferably runs on a standard stack of programming languages, hosting providers, operating systems and databases to handle HTTP requests, as if the caller were a website visitor in a web browser. The application server 26 also preferably verifies the digital signatures of the call data received in the requests using the secret key to compute a cryptographic hash from the received information and the hash received. If the computed hash and the received hash do not match, or no hash is received with the request, then the application server 26 preferably determines the request is fraudulent, and the request is preferably discarded. If the computed hash and received hash match, the application server 26 preferably determines that the request is authentic and proceeds further with the processing of the request. The application server may alternatively choose to ignore the hash if security is not important. The application server preferably uses call state data communicated by the call router request to determine the next call router instructions, without requiring call state stored on the application server. The application server may alternatively use call state data sent by the call router, such as the caller ID of the caller or the unique ID of the call, to reference additional or external state data, such as rows in a database or session data stored on the application server. The application server 26 preferably responds to HTTP requests received from the call router 22 by generating telephony instructions 27 for the call router 22. The application server preferably replies to the call router in XML, however, any suitable machine-readable message format may be used, including HTML, key/value pair text, delimited text or binary encoding. The XML preferably includes the telephony instructions 27 for the call router 22 such as connecting to another number, playing a recorded greeting, reading text, and/or requesting DTMF digit entry from the caller. The telephony instruction 27 may alternatively be related to SMS messaging, Multimedia Messaging Service (MMS) messaging, email, or any suitable messaging task. The telephony instruction 27 may additionally be used to send an outgoing SMS message, arrange a phone call from a specific phone number, arranging for a callback, setting up a conference call (connecting multiple numbers), sending an email, interfacing with a calendar or scheduling system, purchasing goods, or services, or any other suitable instruction. The XML instructions are preferably a set of commands to be executed in order, one at a time (i.e., sequentially). An example XML response is shown in FIGS. 5A and 5B. In single telephony session (e.g. one initiated by a PSTN-device or an SMS device) a response from an application server can initiate an outgoing telephony call and/or a SMS message. That is, a single XML response preferably provides the ability to interact with both the SMS network and the voice telephony network (PSTN, SIP/VoIP, etc) sequentially or simultaneously. In addition, audio or video files sent to the call router 22 can be converted to text by an automatic speech-to-text engine, human or other technique, and sent back in text form as an SMS message or an attachment to an MMS. In one variation, an application running on a server may be a simple static XML page and static sound files, deployed on basic web servers where no development or scripting environment is available. This variation preferably uses URI Templates (a current IETF proposal for HTML5), which essentially includes URLs with placeholders for variable data, like this: http://www.twilio.com/audio/{Digit}.mp3 where the call router 22 would substitute the digits pressed for the {Digit} placeholder in the URI Template, GET the file at the resulting URI, and play the static sound file in response. This allows an entire application to be authored offline in a What-You-See-Is-What-You-Get (WYSIWYG) html editor. For example, if the server response specifies the URI Template: http://demo.twilio.com/myapp/{Digits}.mp3, and the caller presses digits 1234, the call router 22 would GET the static mp3 file located at: http://demo.twilio.com/myapp/1234.mp3 and play it to the caller. The variables used for substitution in the URI Templates preferably correspond to the names of variables defined for state submission in HTTP GET, POST and/or header requests from the call router. From the previous example, {Digits} would be associated with a parameter named “Digits” that is preferably generated as a result of a “gather” telephony instruction (collection of DTMF digits). In the preferred embodiment for the second configuration, the call is initiated by the application server 26 (through the call router 22), and the second configuration 30 is substantially similar to the first configuration 20, such that the call routing is preferably handled identically to an incoming call, namely via URI requests from call router 22 to the server 26 upon call state changes. The application server preferably additionally is able to make calls to the Call Router API as described above.


3. Example Applications


Call router applications are preferably web applications, implementing the most common phone system features with full APIs for administration. Each Call Router Application object has a unique URI. A call may be transferred to that object instance by specifying its URI as a call destination. The call router applications preferably include: the AutoAttendant application (in FIG. 7), the Follow Me application (in FIG. 8), the Conference application (in FIG. 9), the AutoConference application (in FIGS. 9-11), the Device application, the Person application, the VoicemailBox application, the Group application, and the Queuing application (in FIG. 12).


The AutoAttendant application, as exemplified in FIG. 7, plays a recorded greeting, and waits for the caller to press one or more digits on the keypad. Based on the input, the AutoAttendant preferably directs the call to another AutoAttendant, one or more of phones of a person, a voicemail box or any other valid calling destination.


The Follow Me application, as exemplified in FIG. 8, enables a person to be reached at multiple devices, such as a work number, a cellular phone number, a landline, and/or a VOIP device. The Follow Me Application preferably calls these devices in order or simultaneously in an attempt to reach the person.


The Stay With Me application enables a person to transfer an in-progress call between multiple phone devices, such as a cellular phone and a home phone. For example, a user may wish to transfer a call from a more expensive cellular call to a less expensive landline phone, or may wish to transfer a call to a landline phone if a cellular phone battery is running low.


The Conference application, as exemplified in FIG. 9, preferably allows three or more callers to participate in a call simultaneously, while providing mechanisms to control who can join and speak during the call. The Conference application may alternatively or additionally incorporate SMS messaging control. The Conference application upon receipt of an SMS message including multiple phone numbers, may initiate a conference call to one or more parties, using the single SMS.


The AutoConference application preferably allows a conference administrator to initiate a conference call with two or more parties by performing one action, such as selecting a button on a website, selecting a button on a phone device, dialing a phone number, or scheduling the call prior to its initiation. Examples of the AutoConference application implemented using the preferred method of the invention are shown in FIG. 9 (viewed from the PSTN-device side), FIG. 10 (viewed from the application server side), and FIG. 11 (initiated by an application server using the call router API).


The Device application represents a telephone used within the phone system, and may be a hard phone (hardware) or soft phone (software), a VOIP phone or a traditional PSTN phone. The Device application handles configuration details and device status (Do Not Disturb, Busy, etc.).


The Person application represents a human-being user of a telephone system. The Person may have one or more extensions, devices, and/or voicemail boxes, and may have a preferred order in which to ring their phones or voicemail. A person may have a username and password with which to login and update these settings.


The VoicemailBox application preferably plays a greeting, and allows the caller to record a message. Once complete, the recorded message may be stored for later listening, emailed as an audio link or attachment, or both. A list of current messages for a VoicemailBox may be retrieved by dialing in, via API, via RSS feed, and/or any other suitable method or device. In one variation, the audio recording may be automatically transcribed, transforming speech to text. The text is preferably included in the email or text message along with the audio link, attachment, and/or retrievable later by any suitable means of the API.


The Group application preferably represents a logical grouping of other Call Router Application objects, including other Groups. The Group preferably defines the behavior of calls directed to the group, including queuing, hunting for the first available party, and simultaneously ringing multiple parties.


The Queuing application preferably, upon receipt of a phone call or an SMS message, enters the message sender to a telephony call queue and the message sender is called back via the PSTN, SIP/VoIP network or other telephony network, as exemplified in FIG. 12. The call may be placed either at the message' originating number or another pre-specified number, either when a human/operator/service is available (customer service applications) at a pre-scheduled time, such as a wake-up call, anniversary reminder, birthday reminder.


The call router applications may additionally or alternatively include:


a Busy Signal Buster service that, upon receipt of an SMS message or phone call transmitting a number to be called that is currently busy, and calls the SMS message sender back at the message' originating number or another pre-specified number when the number is no longer busy;


a SMS Reader/TTY application that, upon receipt of an SMS, translates the text into audio, using a text-to-speech engine to a caller or the members of an audio conference (e.g., to tell them you will join the call in a few minutes), or for the hearing impaired to use instead of TTY services;


a Translation application that, upon receipt of an SMS message containing a phrase in a language, translates the language of the SMS message into another language (either manually by a human or automatically by a program) and sends a response message via SMS or email; and


a Programming application that, upon receipt of an SMS message containing programming code, could compile the code and execute the code, update a website, update a programming project, return data from a database, return a generated computer graphics object as an MMS message, or any other suitable program compilation or computation.


The call router applications may additionally or alternatively include a Status/Notification application that allows users to get or send the status of an object, task, or process by sending an SMS message and receiving a call back via the PSTN, SIP/VoIP network or other telephony network. The service may be used by an operator sending an SMS message with the name of a particular server and then get a call back on her mobile phone and hear the status of that server read aloud. The service may also be used for notification, i.e. to call other parties. For example, a store manager may want to let employees know what time a store is opening the next day. The manager could send an SMS message that would then call each employee and tell him or her over the phone the time when the store was opening the next day, and or what time they needed to arrive at work.


The call router applications may, however, include any collection and/or permutation or these or other suitable prebuilt telephony functions and features.


Applications of the preferred method may include simple PBX functionality, such as auto-attendant voice menus, employee extensions, and voicemail features. The application may also include other, unconventional, applications such as an Interactive Hold application, a Conference Calling application, an Independent Music Hold Channel, a Voting/Fundraising application, a Sales Application, a Blog by phone service and a Call Annotation application.


The Interactive Hold application preferably includes interactive activities, such as a playing a quiz game to be played while on hold (with or without the ability to be played against other callers), listening to news headlines or podcasts of the choice of the listener, and using a phone keypad as a synthesizer to create music in realtime. The Conference Calling application may, as an example, include selecting particular (or random) users from a phone book and instantly substantiating a conference call to the group, with the ability to save the group for future calling. The Independent Music Hold Channel preferably allows independent artists to upload, classify, and grant permission for their works to be played while a caller is on hold. The Voting/Fundraising application preferably connects willing callers (calling to encourage voting or to raise funds for a cause), to potential voters and/or donors respectively, preferably including an interface for the caller to display information about the voter/donor and to make notes about the voter's response to the call. The Sales Application preferably allows sales organizations to quickly integrate inbound and outbound calls with customer relationship management (CRM) applications, or read order details from a shopping cart application. Finally, the Call Annotation application allows call participants to append meta-data, such as reference URIs used in the phone conversation, to a specific call and a timestamp within the call. Participants on the call with a suitable user agent could view the annotations during the call, and people listening to a later replay of the call audio could also receive such annotations at the same timestamp during the playback. The Call Annotation may be used, for example, to facilitate conference call note taking, employee training, sales team collaboration, and/or customer support collaboration.


Applications may alternatively include hold or park functionality, where a caller is placed in a waiting state until an external event resumes the call, such as another party becoming available. One variation of this application is the call queue, where callers wait for an available attendant to answer a call. Applications of the preferred method may alternatively include other conventional or unconventional PBX functionality.


As a person skilled in the art will recognize from the previous detailed description and from the figures and claims, modifications and changes can be made to the preferred embodiments of the invention without departing from the scope of this invention defined in the following claims. It is possible, and indeed hoped, that additional applications will be designed and built upon this technology platform (the preferred method and/or system of the invention) that would not otherwise be possible using conventional telephony platforms.

Claims
  • 1. A method comprising: receiving, by one or more processors and via a first application programming interface (API), a message comprising text, the message addressed to a recipient;based on the recipient of the message, identifying a uniform resource locator (URL); andsending a request to an application using a second API and via the identified URL, the request comprising the text of the message and a cryptographic hash computed from parameters of the request.
  • 2. The method of claim 1, wherein the receiving of the message comprises receiving a Short Message Service (SMS) message.
  • 3. The method of claim 1, wherein the receiving of the message comprises receiving a Multimedia Messaging Service (MMS) message.
  • 4. The method of claim 1, wherein the receiving of the message comprises receiving an email.
  • 5. The method of claim 1, wherein the request further includes an originating phone number of the received message.
  • 6. The method of claim 1, further comprising: receiving, from the application, a response that includes at least one telephony instruction; andexecuting, based the at least one telephony instruction, a telephony action.
  • 7. A system comprising: one or more processors; anda memory coupled to the one or more processors and storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: receiving, via a first application programming interface (API), a message comprising text, the message addressed to a recipient;based on the recipient of the message, identifying a uniform resource locator (URL); andsending a request to an application using a second API and via the identified URL, the request comprising the text of the message and a cryptographic hash computed from parameters of the request.
  • 8. The system of claim 7, wherein the receiving of the message comprises receiving a Short Message Service (SMS) message.
  • 9. The system of claim 7, wherein the receiving of the message comprises receiving a system Messaging Service (MMS) message.
  • 10. The system of claim 7, wherein the receiving of the message comprises receiving an email.
  • 11. The system of claim 7, wherein the request further includes an originating phone number of the received message.
  • 12. The system of claim 7, wherein the operations further comprise: receiving, from the application, a response that includes at least one telephony instruction; andexecuting, based the at least one telephony instruction, a telephony action.
  • 13. A non-transitory machine-readable medium that stores instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: receiving, via a first application programming interface (API), a message comprising text, the message addressed to a recipient;based on the recipient of the message, identifying a uniform resource locator (URL); andsending a request to an application using a second API and via the identified URL, the request comprising the text of the message and a cryptographic hash computed from parameters of the request.
  • 14. The non-transitory machine-readable medium of claim 13, wherein the receiving of the message comprises receiving a Short Message Service (SMS) message.
  • 15. The non-transitory machine-readable medium of claim 13, wherein the receiving of the message comprises receiving a system Messaging Service (MMS) message.
  • 16. The non-transitory machine-readable medium of claim 13, wherein the receiving of the message comprises receiving an email.
  • 17. The non-transitory machine-readable medium of claim 13, wherein the request further includes an originating phone number of the received message.
  • 18. The non-transitory machine-readable medium of claim 13, wherein the operations further comprise: receiving, from the application, a response that includes at least one telephony instruction; andexecuting, based the at least one telephony instruction, a telephony action.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 17/446,551, filed Aug. 31, 2021, which application is a continuation of U.S. patent application Ser. No. 17/061,311, filed Oct. 1, 2020, which is a continuation of U.S. patent application Ser. No. 16/520,195, filed Jul. 23, 2019, which is a continuation of U.S. patent application Ser. No. 16/247,214, filed Jan. 14, 2019, which is a continuation of U.S. patent application Ser. No. 15/871,794, filed Jan. 15, 2018 now issued as Pat. No. 10,560,495, which is a continuation of U.S. patent application Ser. No. 15/412,933, filed Jan. 23, 2017, now issued as Pat. No. 9,906,571, which is a continuation of U.S. patent application Ser. No. 15/245,456, filed Aug. 24, 2016, now issued as U.S. Pat. No. 9,596,274, which is a continuation of U.S. patent application Ser. No. 14/459,615, filed Aug. 14, 2014, now issued as U.S. Pat. No. 9,456,008, which is a continuation of U.S. patent application Ser. No. 13/743,080, filed Jan. 16, 2013, now issued as U.S. Pat. No. 8,837,465, which is a continuation of U.S. patent application Ser. No. 13/632,798, filed Oct. 1, 2012, now abandoned, which is a continuation of U.S. patent application Ser. No. 12/417,630, filed Apr. 2, 2009, now issued as U.S. Pat. No. 8,306,021, which claims the benefit of U.S. Provisional Application No. 61/041,829 filed Apr. 2, 2008, U.S. Provisional Application No. 61/055,417 filed on May 22, 2008, U.S. Provisional Application No. 61/100,578 filed on Sep. 26, 2008, U.S. Provisional Application No. 61/156,746 filed on Mar. 2, 2009, and U.S. Provisional Application No. 61/156,751 filed on Mar. 2, 2009, which are all incorporated by reference in their entireties.

US Referenced Citations (925)
Number Name Date Kind
5274700 Gechter et al. Dec 1993 A
5526416 Dezonno et al. Jun 1996 A
5581608 Jreij et al. Dec 1996 A
5598457 Foladare et al. Jan 1997 A
5633914 Rosa May 1997 A
5867495 Elliott et al. Feb 1999 A
5896506 Ali et al. Apr 1999 A
5934181 Adamczewski Aug 1999 A
5978465 Corduroy et al. Nov 1999 A
6026440 Shrader et al. Feb 2000 A
6034946 Roginsky et al. Mar 2000 A
6094681 Shaffer et al. Jul 2000 A
6138143 Gigliotti et al. Oct 2000 A
6185565 Meubus et al. Feb 2001 B1
6192123 Grunsted et al. Feb 2001 B1
6206564 Adamczewski Mar 2001 B1
6223287 Douglas et al. Apr 2001 B1
6232979 Shochet May 2001 B1
6269336 Ladd et al. Jul 2001 B1
6317137 Rosasco Nov 2001 B1
6363065 Thornton et al. Mar 2002 B1
6373836 Deryugin et al. Apr 2002 B1
6425012 Trovato et al. Jul 2002 B1
6426995 Kim et al. Jul 2002 B1
6430175 Echols et al. Aug 2002 B1
6434528 Sanders Aug 2002 B1
6442159 Josse et al. Aug 2002 B2
6445694 Swartz Sep 2002 B1
6445776 Shank et al. Sep 2002 B1
6459913 Cloutier Oct 2002 B2
6463414 Su et al. Oct 2002 B1
6493558 Bernhart et al. Dec 2002 B1
6496500 Nance et al. Dec 2002 B2
6501739 Cohen Dec 2002 B1
6501832 Saylor et al. Dec 2002 B1
6507875 Mellen-Garnett et al. Jan 2003 B1
6571245 Huang et al. May 2003 B2
6574216 Farris et al. Jun 2003 B1
6577721 Vainio et al. Jun 2003 B1
6600736 Ball et al. Jul 2003 B1
6606596 Zirngibl et al. Aug 2003 B1
6614783 Sonesh et al. Sep 2003 B1
6625258 Ram et al. Sep 2003 B1
6625576 Kochanski et al. Sep 2003 B2
6636504 Albers et al. Oct 2003 B1
6662231 Drosset et al. Dec 2003 B1
6704785 Koo et al. Mar 2004 B1
6707811 Greenberg et al. Mar 2004 B2
6707889 Saylor et al. Mar 2004 B1
6707899 Saito et al. Mar 2004 B2
6711129 Bauer et al. Mar 2004 B1
6711249 Weissman et al. Mar 2004 B2
6738738 Henton May 2004 B2
6757365 Bogard Jun 2004 B1
6765997 Zirngibl et al. Jul 2004 B1
6768788 Langseth et al. Jul 2004 B1
6771955 Imura et al. Aug 2004 B2
6778653 Kallas et al. Aug 2004 B1
6785266 Swartz Aug 2004 B2
6788768 Saylor et al. Sep 2004 B1
6792086 Saylor et al. Sep 2004 B1
6792093 Barak et al. Sep 2004 B2
6798867 Zirngibl et al. Sep 2004 B1
6801604 Maes et al. Oct 2004 B2
6807529 Johnson et al. Oct 2004 B2
6807574 Partovi et al. Oct 2004 B1
6813690 Lango et al. Nov 2004 B1
6819667 Brusilovsky et al. Nov 2004 B1
6820260 Flockhart et al. Nov 2004 B1
6829334 Zirngibl et al. Dec 2004 B1
6831966 Tegan et al. Dec 2004 B1
6834265 Balasuriya Dec 2004 B2
6836537 Zirngibl et al. Dec 2004 B1
6842767 Partovi et al. Jan 2005 B1
6850603 Eberle et al. Feb 2005 B1
6870830 Schuster et al. Mar 2005 B1
6873952 Bailey et al. Mar 2005 B1
6874084 Dobner et al. Mar 2005 B1
6885737 Gao et al. Apr 2005 B1
6888929 Saylor et al. May 2005 B1
6892064 Qi et al. May 2005 B2
6895084 Saylor et al. May 2005 B1
6898567 Balasuriya May 2005 B2
6912581 Johnson et al. Jun 2005 B2
6922411 Taylor Jul 2005 B1
6928469 Duursma et al. Aug 2005 B1
6931405 El-shimi et al. Aug 2005 B2
6934858 Woodhill Aug 2005 B2
6937699 Schuster et al. Aug 2005 B1
6940953 Eberle et al. Sep 2005 B1
6941268 Porter et al. Sep 2005 B2
6947417 Laursen et al. Sep 2005 B2
6947727 Brynielsson Sep 2005 B1
6947988 Saleh et al. Sep 2005 B1
6961330 Cattan et al. Nov 2005 B1
6964012 Zirngibl et al. Nov 2005 B1
6970915 Partovi et al. Nov 2005 B1
6977992 Zirngibl et al. Dec 2005 B2
6981041 Araujo et al. Dec 2005 B2
6985862 Strom et al. Jan 2006 B2
6993658 Engberg et al. Jan 2006 B1
6999576 Sacra Feb 2006 B2
7003464 Ferrans et al. Feb 2006 B2
7006606 Cohen et al. Feb 2006 B1
7010586 Allavarpu et al. Mar 2006 B1
7020685 Chen et al. Mar 2006 B1
7039165 Saylor et al. May 2006 B1
7046778 Martin et al. May 2006 B2
7058042 Bontempi et al. Jun 2006 B2
7062709 Cheung Jun 2006 B2
7065637 Nanja Jun 2006 B1
7076037 Gonen et al. Jul 2006 B1
7076428 Anastasakos et al. Jul 2006 B2
7080049 Truitt et al. Jul 2006 B2
7085727 Vanorman Aug 2006 B2
7089310 Ellerman et al. Aug 2006 B1
7092370 Jiang et al. Aug 2006 B2
7103003 Brueckheimer et al. Sep 2006 B2
7103171 Annadata et al. Sep 2006 B1
7106844 Holland Sep 2006 B1
7110513 Halpern et al. Sep 2006 B2
7110514 Brown et al. Sep 2006 B2
7111163 Haney Sep 2006 B1
7136932 Schneider Nov 2006 B1
7140004 Kunins et al. Nov 2006 B1
7142662 Rodenbusch et al. Nov 2006 B2
7143039 Stifelman et al. Nov 2006 B1
7197331 Anastasakos et al. Mar 2007 B2
7197461 Eberle et al. Mar 2007 B1
7197462 Takagi et al. Mar 2007 B2
7197544 Wang et al. Mar 2007 B2
7225232 Elberse May 2007 B2
7227849 Rasanen Jun 2007 B1
7231035 Walker et al. Jun 2007 B2
7245611 Narasimhan et al. Jul 2007 B2
7260208 Cavalcanti Aug 2007 B2
7266181 Zirngibl et al. Sep 2007 B1
7269557 Bailey et al. Sep 2007 B1
7272212 Eberle et al. Sep 2007 B2
7272564 Phillips et al. Sep 2007 B2
7277851 Henton Oct 2007 B1
7283515 Fowler Oct 2007 B2
7286521 Jackson et al. Oct 2007 B1
7287248 Adeeb Oct 2007 B1
7289453 Riedel et al. Oct 2007 B2
7296739 Mo et al. Nov 2007 B1
7298732 Cho Nov 2007 B2
7298830 Guedalia et al. Nov 2007 B2
7298834 Homeier et al. Nov 2007 B1
7308085 Weissman Dec 2007 B2
7308408 Stifelman et al. Dec 2007 B1
7324633 Gao et al. Jan 2008 B2
7324942 Mahowald et al. Jan 2008 B1
7328263 Sadjadi Feb 2008 B1
7330463 Bradd et al. Feb 2008 B1
7330890 Partovi et al. Feb 2008 B1
7340040 Saylor et al. Mar 2008 B1
7349714 Lee et al. Mar 2008 B2
7369865 Gabriel et al. May 2008 B2
7370329 Kumar et al. May 2008 B2
7373660 Guichard et al. May 2008 B1
7376223 Taylor et al. May 2008 B2
7376586 Partovi et al. May 2008 B1
7376733 Connelly et al. May 2008 B2
7376740 Porter et al. May 2008 B1
7383572 Rolfe Jun 2008 B2
7395050 Tuomi et al. Jul 2008 B2
7412525 Cafarella et al. Aug 2008 B2
7418090 Reding et al. Aug 2008 B2
7426750 Cooper et al. Sep 2008 B2
7428302 Zirngibl et al. Sep 2008 B2
7431202 Meador et al. Oct 2008 B1
7440898 Eberle et al. Oct 2008 B1
7447299 Partovi et al. Nov 2008 B1
7454459 Kapoor et al. Nov 2008 B1
7457249 Baldwin et al. Nov 2008 B2
7457397 Saylor et al. Nov 2008 B1
7473872 Takimoto Jan 2009 B2
7486780 Zirngibl et al. Feb 2009 B2
7496054 Taylor Feb 2009 B2
7496188 Saha et al. Feb 2009 B2
7496651 Joshi Feb 2009 B1
7500249 Kampe et al. Mar 2009 B2
7505951 Thompson et al. Mar 2009 B2
7519359 Chiarulli et al. Apr 2009 B2
7522711 Stein et al. Apr 2009 B1
7536454 Balasuriya May 2009 B2
7542761 Sarkar Jun 2009 B2
7552054 Stifelman et al. Jun 2009 B1
7565547 Matta et al. Jul 2009 B2
7571226 Partovi et al. Aug 2009 B1
7577847 Nguyen et al. Aug 2009 B2
7606868 Le et al. Oct 2009 B1
7613287 Stifelman et al. Nov 2009 B1
7623648 Oppenheim et al. Nov 2009 B1
7630900 Strom Dec 2009 B1
7631310 Henzinger Dec 2009 B1
7644000 Strom Jan 2010 B1
7657433 Chang Feb 2010 B1
7657434 Thompson et al. Feb 2010 B2
7664102 Samarasinghe Feb 2010 B1
7668157 Weintraub et al. Feb 2010 B2
7672275 Yajnik et al. Mar 2010 B2
7672295 Andhare et al. Mar 2010 B1
7675857 Chesson Mar 2010 B1
7676221 Roundtree et al. Mar 2010 B2
7685280 Berry et al. Mar 2010 B2
7685298 Day et al. Mar 2010 B2
7715547 Ibbotson et al. May 2010 B2
7716293 Kasuga et al. May 2010 B2
7742499 Erskine et al. Jun 2010 B1
7756507 Morper et al. Jul 2010 B2
7764955 Mangal et al. Jul 2010 B1
7779065 Gupta et al. Aug 2010 B2
7809125 Brunson et al. Oct 2010 B2
7865394 Calloway Jan 2011 B1
7875836 Imura et al. Jan 2011 B2
7882253 Pardo-Castellote et al. Feb 2011 B2
7920866 Bosch et al. Apr 2011 B2
7926099 Chakravarty et al. Apr 2011 B1
7929562 Petrovykh Apr 2011 B2
7936867 Hill et al. May 2011 B1
7946913 Yacenda May 2011 B2
7949111 Harlow et al. May 2011 B2
7962644 Ezerzer et al. Jun 2011 B1
7979555 Rothstein et al. Jul 2011 B2
7983404 Croak et al. Jul 2011 B1
7992120 Wang et al. Aug 2011 B1
8023425 Raleigh Sep 2011 B2
8024567 Han Sep 2011 B2
8024785 Andress et al. Sep 2011 B2
8032383 Bhardwaj et al. Oct 2011 B1
8045689 Provenzale et al. Oct 2011 B2
8046378 Zhuge et al. Oct 2011 B1
8046823 Begen et al. Oct 2011 B1
8069096 Ballaro et al. Nov 2011 B1
8078483 Hirose et al. Dec 2011 B1
8081744 Sylvain Dec 2011 B2
8081958 Soderstrom et al. Dec 2011 B2
8082576 Flynn et al. Dec 2011 B2
8103725 Gupta et al. Jan 2012 B2
8126128 Hicks, III et al. Feb 2012 B1
8126129 Mcguire Feb 2012 B1
8130750 Hester Mar 2012 B2
8139730 Da Palma et al. Mar 2012 B2
8145212 Lopresti et al. Mar 2012 B2
8149716 Ramanathan et al. Apr 2012 B2
8150918 Edelman et al. Apr 2012 B1
8156213 Deng et al. Apr 2012 B1
8165116 Ku et al. Apr 2012 B2
8166185 Samuel et al. Apr 2012 B2
8166299 Kemshall Apr 2012 B2
8169936 Koren et al. May 2012 B2
8175007 Jain et al. May 2012 B2
8185619 Maiocco et al. May 2012 B1
8190670 Gavrilescu et al. May 2012 B2
8196133 Kakumani et al. Jun 2012 B2
8204479 Vendrow et al. Jun 2012 B2
8214868 Hamilton et al. Jul 2012 B2
8233611 Zettner Jul 2012 B1
8238533 Blackwell et al. Aug 2012 B2
8243889 Taylor et al. Aug 2012 B2
8244822 Lowry et al. Aug 2012 B1
8249552 Gailloux et al. Aug 2012 B1
8266327 Kumar et al. Sep 2012 B2
8295272 Boni et al. Oct 2012 B2
8302175 Thoursie et al. Oct 2012 B2
8306021 Lawson et al. Nov 2012 B2
8315198 Corneille et al. Nov 2012 B2
8315620 Williamson et al. Nov 2012 B1
8319816 Swanson et al. Nov 2012 B1
8326805 Arous et al. Dec 2012 B1
8346630 Mckeown Jan 2013 B1
8355394 Taylor et al. Jan 2013 B2
8413247 Hudis et al. Apr 2013 B2
8416923 Lawson et al. Apr 2013 B2
8417817 Jacobs Apr 2013 B1
8429827 Wetzel Apr 2013 B1
8438315 Tao et al. May 2013 B1
8447025 Shaffer et al. May 2013 B2
8462670 Chien Jun 2013 B2
8462920 Gonen et al. Jun 2013 B2
8467502 Sureka et al. Jun 2013 B2
8477926 Jasper et al. Jul 2013 B2
8503639 Reding et al. Aug 2013 B2
8503650 Reding et al. Aug 2013 B2
8509068 Begall et al. Aug 2013 B2
8510397 Chapman et al. Aug 2013 B2
8532612 Holzhey et al. Sep 2013 B1
8532686 Schmidt et al. Sep 2013 B2
8542805 Agranovsky et al. Sep 2013 B2
8543665 Ansari et al. Sep 2013 B2
8547962 Ramachandran et al. Oct 2013 B2
8565117 Hilt et al. Oct 2013 B2
8572391 Golan et al. Oct 2013 B2
8576712 Sabat et al. Nov 2013 B2
8577803 Chatterjee et al. Nov 2013 B2
8582450 Robesky Nov 2013 B1
8594626 Woodson et al. Nov 2013 B1
8601136 Fahlgren et al. Dec 2013 B1
8611338 Lawson et al. Dec 2013 B2
8613102 Nath Dec 2013 B2
8621598 Lai et al. Dec 2013 B2
8649268 Lawson et al. Feb 2014 B2
8656452 Li et al. Feb 2014 B2
8667056 Proulx et al. Mar 2014 B1
8675493 Buddhikot et al. Mar 2014 B2
8688147 Nguyen et al. Apr 2014 B2
8694025 Dupray et al. Apr 2014 B2
8695077 Gerhard et al. Apr 2014 B1
8705518 Afshar et al. Apr 2014 B1
8728656 Takahashi et al. May 2014 B2
8737593 Lawson et al. May 2014 B2
8737962 Ballai et al. May 2014 B2
8738051 Nowack et al. May 2014 B2
8745205 Anderson et al. Jun 2014 B2
8751801 Harris et al. Jun 2014 B2
8755375 Haley et al. Jun 2014 B2
8755376 Lawson et al. Jun 2014 B2
8767925 Sureka et al. Jul 2014 B2
8781975 Bennett et al. Jul 2014 B2
8806024 Toba Francis et al. Aug 2014 B1
8819133 Wang Aug 2014 B2
8825746 Ravichandran et al. Sep 2014 B2
8837465 Lawson et al. Sep 2014 B2
8838707 Lawson et al. Sep 2014 B2
8843596 Goel et al. Sep 2014 B2
8855271 Brock et al. Oct 2014 B2
8861510 Fritz Oct 2014 B1
8879545 Jackson et al. Nov 2014 B2
8879547 Maes Nov 2014 B2
8885639 Robbins Nov 2014 B1
8938053 Cooke et al. Jan 2015 B2
8948356 Nowack et al. Feb 2015 B2
8954591 Ganesan et al. Feb 2015 B2
8964726 Lawson et al. Feb 2015 B2
8990610 Bostick et al. Mar 2015 B2
9014664 Kim et al. Apr 2015 B2
9015702 Bhat Apr 2015 B2
9031223 Smith et al. May 2015 B2
9032204 Byrd et al. May 2015 B2
9071677 Aggarwal et al. Jun 2015 B2
9137127 Nowack et al. Sep 2015 B2
9141682 Adoc, Jr. et al. Sep 2015 B1
9160696 Wilsher et al. Oct 2015 B2
9161296 Parsons et al. Oct 2015 B2
9204281 Ramprasad et al. Dec 2015 B2
9210275 Lawson et al. Dec 2015 B2
9225840 Malatack et al. Dec 2015 B2
9226217 Malatack Dec 2015 B2
9270833 Ballai et al. Feb 2016 B2
9306982 Lawson et al. Apr 2016 B2
9307094 Nowack et al. Apr 2016 B2
9325624 Malatack et al. Apr 2016 B2
9338190 Eng et al. May 2016 B2
9344573 Wolthuis et al. May 2016 B2
9378337 Kuhr Jun 2016 B2
9456008 Lawson et al. Sep 2016 B2
9456339 Hildner et al. Sep 2016 B1
9596274 Lawson et al. Mar 2017 B2
9628624 Wolthuis et al. Apr 2017 B2
9632875 Raichstein et al. Apr 2017 B2
9906651 Lawson et al. Feb 2018 B2
10560495 Lawson et al. Feb 2020 B2
10694042 Lawson et al. Jun 2020 B2
10893078 Lawson et al. Jan 2021 B2
10893079 Lawson et al. Jan 2021 B2
10986142 Lawson et al. Apr 2021 B2
11283843 Lawson et al. Mar 2022 B2
11575795 Lawson et al. Feb 2023 B2
11611663 Lawson et al. Mar 2023 B2
11698987 Ramaraj et al. Jul 2023 B2
11700329 Matula et al. Jul 2023 B2
20010032192 Putta et al. Oct 2001 A1
20010037254 Glikman Nov 2001 A1
20010037264 Husemann et al. Nov 2001 A1
20010038624 Greenberg et al. Nov 2001 A1
20010043684 Guedalia et al. Nov 2001 A1
20010049274 Degraeve Dec 2001 A1
20010051996 Cooper et al. Dec 2001 A1
20020006124 Jimenez et al. Jan 2002 A1
20020006125 Josse et al. Jan 2002 A1
20020006193 Rodenbusch et al. Jan 2002 A1
20020020741 Sakaguchi Feb 2002 A1
20020025819 Cetusic et al. Feb 2002 A1
20020032874 Hagen et al. Mar 2002 A1
20020035539 O'Connell Mar 2002 A1
20020057777 Saito et al. May 2002 A1
20020064267 Martin et al. May 2002 A1
20020067823 Walker et al. Jun 2002 A1
20020070273 Fujll Jun 2002 A1
20020073206 Jawahar et al. Jun 2002 A1
20020077833 Arons et al. Jun 2002 A1
20020126813 Partovi et al. Sep 2002 A1
20020133587 Ensel et al. Sep 2002 A1
20020136391 Armstrong et al. Sep 2002 A1
20020138450 Kremer Sep 2002 A1
20020147913 Lun Yip Oct 2002 A1
20020165957 Devoe et al. Nov 2002 A1
20020169988 Vandergeest et al. Nov 2002 A1
20020176378 Hamilton et al. Nov 2002 A1
20020176404 Girard Nov 2002 A1
20020177433 Bravo et al. Nov 2002 A1
20020184361 Eden Dec 2002 A1
20020198941 Gavrilescu et al. Dec 2002 A1
20030005136 Eun Jan 2003 A1
20030006137 Wei et al. Jan 2003 A1
20030012356 Zino et al. Jan 2003 A1
20030014665 Anderson et al. Jan 2003 A1
20030018830 Chen et al. Jan 2003 A1
20030023672 Vaysman Jan 2003 A1
20030026426 Wright et al. Feb 2003 A1
20030046366 Pardikar et al. Mar 2003 A1
20030051037 Sundaram et al. Mar 2003 A1
20030058884 Kallner et al. Mar 2003 A1
20030059020 Meyerson et al. Mar 2003 A1
20030060188 Gidron et al. Mar 2003 A1
20030061317 Brown et al. Mar 2003 A1
20030061404 Atwal et al. Mar 2003 A1
20030065739 Shnier Apr 2003 A1
20030088421 Maes et al. May 2003 A1
20030097330 Hillmer et al. May 2003 A1
20030097447 Johnston May 2003 A1
20030097639 Niyogi et al. May 2003 A1
20030103620 Brown et al. Jun 2003 A1
20030123640 Roelle et al. Jul 2003 A1
20030126076 Kwok et al. Jul 2003 A1
20030149721 Alfonso-nogueiro et al. Aug 2003 A1
20030159068 Halpin et al. Aug 2003 A1
20030162506 Toshimitsu et al. Aug 2003 A1
20030169881 Niedermeyer Sep 2003 A1
20030172272 Ehlers et al. Sep 2003 A1
20030195950 Huang et al. Oct 2003 A1
20030195990 Greenblat et al. Oct 2003 A1
20030196076 Zabarski et al. Oct 2003 A1
20030204616 Billhartz et al. Oct 2003 A1
20030204756 Ransom et al. Oct 2003 A1
20030211842 Kempf et al. Nov 2003 A1
20030221125 Rolfe Nov 2003 A1
20030231647 Petrovykh Dec 2003 A1
20030233276 Pearlman et al. Dec 2003 A1
20040008635 Nelson et al. Jan 2004 A1
20040011690 Marfino et al. Jan 2004 A1
20040044953 Watkins et al. Mar 2004 A1
20040052349 Creamer et al. Mar 2004 A1
20040054632 Remy Mar 2004 A1
20040071275 Bowater et al. Apr 2004 A1
20040073519 Fast Apr 2004 A1
20040097217 Mcclain May 2004 A1
20040101122 Da Palma et al. May 2004 A1
20040102182 Reith et al. May 2004 A1
20040117788 Karaoguz et al. Jun 2004 A1
20040122685 Bunce Jun 2004 A1
20040136324 Steinberg et al. Jul 2004 A1
20040165569 Sweatman et al. Aug 2004 A1
20040172482 Weissman et al. Sep 2004 A1
20040199572 Hunt et al. Oct 2004 A1
20040203595 Singhal Oct 2004 A1
20040205101 Radhakrishnan Oct 2004 A1
20040205689 Ellens et al. Oct 2004 A1
20040213400 Golitsin et al. Oct 2004 A1
20040216058 Chavers et al. Oct 2004 A1
20040218748 Fisher Nov 2004 A1
20040219904 De Nov 2004 A1
20040228469 Andrews et al. Nov 2004 A1
20040236696 Aoki et al. Nov 2004 A1
20040240649 Goel Dec 2004 A1
20050005109 Castaldi et al. Jan 2005 A1
20050005200 Matenda et al. Jan 2005 A1
20050010483 Ling Jan 2005 A1
20050015505 Kruis et al. Jan 2005 A1
20050021626 Prajapat et al. Jan 2005 A1
20050025303 Hostetler Feb 2005 A1
20050038772 Colrain Feb 2005 A1
20050043952 Sharma et al. Feb 2005 A1
20050047579 Salame Mar 2005 A1
20050060411 Coulombe et al. Mar 2005 A1
20050066179 Seidlein Mar 2005 A1
20050083907 Fishler Apr 2005 A1
20050086307 Kelley Apr 2005 A1
20050091282 Whitfield Apr 2005 A1
20050091336 Dehamer et al. Apr 2005 A1
20050091572 Gavrilescu et al. Apr 2005 A1
20050108770 Karaoguz et al. May 2005 A1
20050125251 Berger et al. Jun 2005 A1
20050125739 Thompson et al. Jun 2005 A1
20050128961 Miloslavsky et al. Jun 2005 A1
20050135578 Ress et al. Jun 2005 A1
20050141500 Bhandari et al. Jun 2005 A1
20050147088 Bao et al. Jul 2005 A1
20050176449 Cui et al. Aug 2005 A1
20050177635 Schmidt et al. Aug 2005 A1
20050181835 Lau et al. Aug 2005 A1
20050198292 Duursma et al. Sep 2005 A1
20050228680 Malik Oct 2005 A1
20050238153 Chevalier Oct 2005 A1
20050240659 Taylor Oct 2005 A1
20050243977 Creamer et al. Nov 2005 A1
20050246176 Creamer et al. Nov 2005 A1
20050273442 Bennett et al. Dec 2005 A1
20050286496 Malhotra et al. Dec 2005 A1
20050289222 Sahim Dec 2005 A1
20060008065 Longman et al. Jan 2006 A1
20060008073 Yoshizawa et al. Jan 2006 A1
20060008256 Khedouri et al. Jan 2006 A1
20060015467 Morken et al. Jan 2006 A1
20060020799 Kemshall Jan 2006 A1
20060021004 Moran et al. Jan 2006 A1
20060023676 Whitmore et al. Feb 2006 A1
20060047666 Bedi et al. Mar 2006 A1
20060067506 Flockhart et al. Mar 2006 A1
20060080415 Tu Apr 2006 A1
20060095526 Levergood et al. May 2006 A1
20060095575 Sureka et al. May 2006 A1
20060098624 Morgan et al. May 2006 A1
20060129638 Deakin Jun 2006 A1
20060143007 Koh et al. Jun 2006 A1
20060146792 Ramachandran et al. Jul 2006 A1
20060146802 Baldwin et al. Jul 2006 A1
20060168126 Costa-Requena et al. Jul 2006 A1
20060168334 Potti et al. Jul 2006 A1
20060203979 Jennings Sep 2006 A1
20060209695 Archer et al. Sep 2006 A1
20060212865 Vincent et al. Sep 2006 A1
20060215824 Mitby et al. Sep 2006 A1
20060217823 Hussey Sep 2006 A1
20060217978 Mitby et al. Sep 2006 A1
20060222166 Ramakrishna et al. Oct 2006 A1
20060223494 Chmaytelli Oct 2006 A1
20060235715 Abrams et al. Oct 2006 A1
20060256816 Yarlagadda et al. Nov 2006 A1
20060262915 Marascio et al. Nov 2006 A1
20060270386 Yu et al. Nov 2006 A1
20060285489 Francisco et al. Dec 2006 A1
20070002744 Mewhinney et al. Jan 2007 A1
20070027775 Hwang Feb 2007 A1
20070036127 Roosen et al. Feb 2007 A1
20070036143 Alt et al. Feb 2007 A1
20070038499 Margulies et al. Feb 2007 A1
20070042755 Singhal Feb 2007 A1
20070043681 Morgan et al. Feb 2007 A1
20070050306 McQueen Mar 2007 A1
20070064672 Raghav et al. Mar 2007 A1
20070070906 Thakur Mar 2007 A1
20070070980 Phelps et al. Mar 2007 A1
20070071223 Lee et al. Mar 2007 A1
20070074174 Thornton Mar 2007 A1
20070088836 Tai et al. Apr 2007 A1
20070091907 Seshadri et al. Apr 2007 A1
20070094095 Kilby Apr 2007 A1
20070107048 Halls et al. May 2007 A1
20070112574 Greene May 2007 A1
20070112673 Protti May 2007 A1
20070116191 Bermudez et al. May 2007 A1
20070121651 Casey et al. May 2007 A1
20070124536 Carper May 2007 A1
20070127691 Lert Jun 2007 A1
20070127703 Siminoff Jun 2007 A1
20070130260 Weintraub et al. Jun 2007 A1
20070133771 Stifelman et al. Jun 2007 A1
20070147351 Dietrich et al. Jun 2007 A1
20070149166 Turcotte et al. Jun 2007 A1
20070153711 Dykas et al. Jul 2007 A1
20070167170 Fitchett et al. Jul 2007 A1
20070168228 Lawless Jul 2007 A1
20070171898 Salva Jul 2007 A1
20070186002 Campbell et al. Aug 2007 A1
20070192629 Saito Aug 2007 A1
20070201448 Baird et al. Aug 2007 A1
20070208862 Fox et al. Sep 2007 A1
20070232284 Mason et al. Oct 2007 A1
20070239761 Baio et al. Oct 2007 A1
20070242626 Altberg et al. Oct 2007 A1
20070255828 Paradise Nov 2007 A1
20070265073 Novi et al. Nov 2007 A1
20070286180 Marquette et al. Dec 2007 A1
20070291734 Bhatia et al. Dec 2007 A1
20070291789 Kutt et al. Dec 2007 A1
20070291905 Halliday et al. Dec 2007 A1
20070293200 Roundtree et al. Dec 2007 A1
20070295803 Levine et al. Dec 2007 A1
20080005275 Overton et al. Jan 2008 A1
20080016143 Bumpus et al. Jan 2008 A1
20080025320 Bangalore et al. Jan 2008 A1
20080037715 Prozeniuk et al. Feb 2008 A1
20080037746 Dufrene et al. Feb 2008 A1
20080040484 Yardley Feb 2008 A1
20080049617 Grice et al. Feb 2008 A1
20080049623 Qiu et al. Feb 2008 A1
20080052395 Wright et al. Feb 2008 A1
20080091843 Kulkarni Apr 2008 A1
20080101571 Harlow et al. May 2008 A1
20080104348 Kabzinski et al. May 2008 A1
20080120702 Hokimoto May 2008 A1
20080123559 Haviv et al. May 2008 A1
20080134049 Gupta et al. Jun 2008 A1
20080139166 Agarwal et al. Jun 2008 A1
20080140861 Kothari et al. Jun 2008 A1
20080141352 Lindsley et al. Jun 2008 A1
20080146268 Gandhi et al. Jun 2008 A1
20080152101 Griggs Jun 2008 A1
20080154601 Stifelman et al. Jun 2008 A1
20080155029 Helbling et al. Jun 2008 A1
20080162482 Ahern et al. Jul 2008 A1
20080165708 Moore et al. Jul 2008 A1
20080165942 Provenzale et al. Jul 2008 A1
20080172404 Cohen Jul 2008 A1
20080177883 Hanai et al. Jul 2008 A1
20080192736 Jabri et al. Aug 2008 A1
20080201426 Darcie Aug 2008 A1
20080205655 Wilkins et al. Aug 2008 A1
20080209050 Li Aug 2008 A1
20080209052 Velan et al. Aug 2008 A1
20080212945 Khedouri et al. Sep 2008 A1
20080222656 Lyman Sep 2008 A1
20080229421 Hudis et al. Sep 2008 A1
20080232574 Baluja et al. Sep 2008 A1
20080235230 Maes Sep 2008 A1
20080244148 Nix, Jr. et al. Oct 2008 A1
20080256224 Kaji et al. Oct 2008 A1
20080267117 Stern Oct 2008 A1
20080275741 Loeffen Nov 2008 A1
20080307436 Hamilton Dec 2008 A1
20080310599 Purnadi et al. Dec 2008 A1
20080313318 Vermeulen et al. Dec 2008 A1
20080313660 Malik et al. Dec 2008 A1
20080316931 Qiu et al. Dec 2008 A1
20080317222 Griggs et al. Dec 2008 A1
20080317232 Couse et al. Dec 2008 A1
20080317233 Rey et al. Dec 2008 A1
20090018489 Babaev Jan 2009 A1
20090046838 Andreasson Feb 2009 A1
20090052437 Taylor et al. Feb 2009 A1
20090052641 Taylor et al. Feb 2009 A1
20090059894 Jackson et al. Mar 2009 A1
20090063502 Coimbatore et al. Mar 2009 A1
20090074159 Goldfarb et al. Mar 2009 A1
20090075684 Cheng et al. Mar 2009 A1
20090083155 Tudor et al. Mar 2009 A1
20090086951 Geppert et al. Apr 2009 A1
20090089165 Sweeney Apr 2009 A1
20090089352 Davis et al. Apr 2009 A1
20090089699 Saha et al. Apr 2009 A1
20090092674 Ingram et al. Apr 2009 A1
20090093250 Jackson et al. Apr 2009 A1
20090106371 Schmidt-Karaca Apr 2009 A1
20090106829 Thoursie et al. Apr 2009 A1
20090125608 Werth et al. May 2009 A1
20090129573 Gavan et al. May 2009 A1
20090136011 Goel May 2009 A1
20090150400 Abu-Hakima et al. Jun 2009 A1
20090154451 Ku et al. Jun 2009 A1
20090170496 Bourque Jul 2009 A1
20090171659 Pearce et al. Jul 2009 A1
20090171669 Engelsma et al. Jul 2009 A1
20090171752 Galvin et al. Jul 2009 A1
20090182896 Patterson et al. Jul 2009 A1
20090193393 Baldwin et al. Jul 2009 A1
20090193433 Maes Jul 2009 A1
20090216835 Jain et al. Aug 2009 A1
20090217293 Wolber et al. Aug 2009 A1
20090022131 Chen et al. Sep 2009 A1
20090220057 Waters Sep 2009 A1
20090222341 Belwadi et al. Sep 2009 A1
20090225748 Taylor Sep 2009 A1
20090225763 Forsberg et al. Sep 2009 A1
20090228868 Drukman et al. Sep 2009 A1
20090228967 Gbadegesin et al. Sep 2009 A1
20090232289 Drucker et al. Sep 2009 A1
20090234965 Viveganandhan et al. Sep 2009 A1
20090235329 Chavez et al. Sep 2009 A1
20090235349 Lai et al. Sep 2009 A1
20090241135 Wong et al. Sep 2009 A1
20090252159 Lawson et al. Oct 2009 A1
20090262725 Chen et al. Oct 2009 A1
20090276771 Nickolov et al. Nov 2009 A1
20090288012 Hertel et al. Nov 2009 A1
20090288165 Qiu et al. Nov 2009 A1
20090300194 Ogasawara Dec 2009 A1
20090316687 Kruppa Dec 2009 A1
20090318112 Vasten Dec 2009 A1
20090327401 Gage Dec 2009 A1
20100027531 Kurashima Feb 2010 A1
20100037204 Lin et al. Feb 2010 A1
20100054142 Moiso et al. Mar 2010 A1
20100070424 Monk Mar 2010 A1
20100071053 Ansari et al. Mar 2010 A1
20100082513 Liu Apr 2010 A1
20100087215 Gu et al. Apr 2010 A1
20100088187 Courtney et al. Apr 2010 A1
20100088698 Krishnamurthy Apr 2010 A1
20100094758 Chamberlain et al. Apr 2010 A1
20100098232 Wu et al. Apr 2010 A1
20100103845 Ulupinar et al. Apr 2010 A1
20100107222 Glasser Apr 2010 A1
20100115041 Hawkins et al. May 2010 A1
20100138501 Clinton et al. Jun 2010 A1
20100142516 Lawson et al. Jun 2010 A1
20100150139 Lawson et al. Jun 2010 A1
20100153862 Schreiber Jun 2010 A1
20100167689 Sepehri-Nik et al. Jul 2010 A1
20100188979 Thubert et al. Jul 2010 A1
20100191915 Spencer Jul 2010 A1
20100208881 Kawamura Aug 2010 A1
20100217837 Ansari et al. Aug 2010 A1
20100217982 Brown et al. Aug 2010 A1
20100232594 Lawson et al. Sep 2010 A1
20100235539 Carter et al. Sep 2010 A1
20100250946 Korte et al. Sep 2010 A1
20100251329 Wei Sep 2010 A1
20100251340 Martin et al. Sep 2010 A1
20100265825 Blair et al. Oct 2010 A1
20100029191 Sanding et al. Nov 2010 A1
20100281108 Cohen Nov 2010 A1
20100299437 Moore Nov 2010 A1
20100312919 Lee et al. Dec 2010 A1
20100332852 Vembu et al. Dec 2010 A1
20110026516 Roberts et al. Feb 2011 A1
20110029882 Jaisinghani Feb 2011 A1
20110029981 Jaisinghani Feb 2011 A1
20110053555 Cai et al. Mar 2011 A1
20110078278 Cui et al. Mar 2011 A1
20110081008 Lawson et al. Apr 2011 A1
20110083069 Paul et al. Apr 2011 A1
20110083179 Lawson et al. Apr 2011 A1
20110093516 Geng et al. Apr 2011 A1
20110096673 Stevenson et al. Apr 2011 A1
20110110366 Moore et al. May 2011 A1
20110014981 Koren et al. Jun 2011 A1
20110131293 Mori Jun 2011 A1
20110138453 Verma et al. Jun 2011 A1
20110143714 Keast et al. Jun 2011 A1
20110145049 Hertel et al. Jun 2011 A1
20110149950 Petit-Huguenin et al. Jun 2011 A1
20110151884 Zhao Jun 2011 A1
20110158235 Senga Jun 2011 A1
20110167172 Roach et al. Jul 2011 A1
20110170505 Rajasekar et al. Jul 2011 A1
20110176537 Lawson et al. Jul 2011 A1
20110179126 Wetherell et al. Jul 2011 A1
20110211679 Mezhibovsky et al. Sep 2011 A1
20110238688 Mercuri et al. Sep 2011 A1
20110251921 Kassaei et al. Oct 2011 A1
20110253693 Lyons et al. Oct 2011 A1
20110255447 Li et al. Oct 2011 A1
20110255675 Jasper et al. Oct 2011 A1
20110258432 Rao et al. Oct 2011 A1
20110265168 Lucovsky et al. Oct 2011 A1
20110265172 Sharma Oct 2011 A1
20110267985 Wilkinson et al. Nov 2011 A1
20110274111 Narasappa et al. Nov 2011 A1
20110276892 Jensen-Horne et al. Nov 2011 A1
20110276951 Jain Nov 2011 A1
20110280390 Lawson et al. Nov 2011 A1
20110283259 Lawson et al. Nov 2011 A1
20110289126 Aikas et al. Nov 2011 A1
20110289162 Furlong et al. Nov 2011 A1
20110299672 Chiu et al. Dec 2011 A1
20110310902 Xu Dec 2011 A1
20110313950 Nuggehalli et al. Dec 2011 A1
20110320449 Gudlavenkatasiva Dec 2011 A1
20110320550 Lawson et al. Dec 2011 A1
20120000903 Baarman et al. Jan 2012 A1
20120011274 Moreman Jan 2012 A1
20120017222 May Jan 2012 A1
20120023531 Meuninck et al. Jan 2012 A1
20120023544 Li et al. Jan 2012 A1
20120027228 Rijken et al. Feb 2012 A1
20120028602 Lisi et al. Feb 2012 A1
20120036574 Heithcock et al. Feb 2012 A1
20120039202 Song Feb 2012 A1
20120059709 Lieberman et al. Mar 2012 A1
20120079066 Li et al. Mar 2012 A1
20120083266 Vanswol et al. Apr 2012 A1
20120089572 Raichstein et al. Apr 2012 A1
20120094637 Jeyaseelan et al. Apr 2012 A1
20120101952 Raleigh et al. Apr 2012 A1
20120110564 Ran et al. May 2012 A1
20120114112 Rauschenberger et al. May 2012 A1
20120149404 Beattie et al. Jun 2012 A1
20120166488 Kaushik et al. Jun 2012 A1
20120017361 Bleau et al. Jul 2012 A1
20120170726 Schwartz Jul 2012 A1
20120174095 Natchadalingam et al. Jul 2012 A1
20120179646 Hinton et al. Jul 2012 A1
20120179907 Byrd et al. Jul 2012 A1
20120180021 Byrd et al. Jul 2012 A1
20120180029 Hill et al. Jul 2012 A1
20120185561 Klein et al. Jul 2012 A1
20120198004 Watte Aug 2012 A1
20120201238 Lawson et al. Aug 2012 A1
20120208495 Lawson et al. Aug 2012 A1
20120221603 Kothule et al. Aug 2012 A1
20120226579 Ha et al. Sep 2012 A1
20120239757 Firstenberg et al. Sep 2012 A1
20120240226 Li Sep 2012 A1
20120246273 Bornstein et al. Sep 2012 A1
20120254828 Aiylam et al. Oct 2012 A1
20120266258 Tuchman et al. Oct 2012 A1
20120281536 Gell et al. Nov 2012 A1
20120288082 Segall Nov 2012 A1
20120290706 Lin et al. Nov 2012 A1
20120304245 Lawson et al. Nov 2012 A1
20120304275 Ji et al. Nov 2012 A1
20120316809 Egolf et al. Dec 2012 A1
20120321058 Eng et al. Dec 2012 A1
20120321070 Smith et al. Dec 2012 A1
20130028251 Lawson et al. Jan 2013 A1
20130029629 Lindholm et al. Jan 2013 A1
20130031158 Salsburg Jan 2013 A1
20130031613 Shanabrook et al. Jan 2013 A1
20130035078 Skog et al. Feb 2013 A1
20130035427 Kimura et al. Feb 2013 A1
20130036476 Roe et al. Feb 2013 A1
20130047232 Tuchman et al. Feb 2013 A1
20130054517 Beechuk et al. Feb 2013 A1
20130054684 Brazier et al. Feb 2013 A1
20130058262 Parreira Mar 2013 A1
20130067232 Cheung et al. Mar 2013 A1
20130067448 Sannidhanam et al. Mar 2013 A1
20130097298 Ting et al. Apr 2013 A1
20130110658 Lyman May 2013 A1
20130128882 Lawson et al. May 2013 A1
20130128883 Lawson et al. May 2013 A1
20130132573 Lindblom May 2013 A1
20130139148 Berg et al. May 2013 A1
20130156024 Burg Jun 2013 A1
20130166580 Maharajh et al. Jun 2013 A1
20130179942 Caplis et al. Jul 2013 A1
20130201909 Bosch et al. Aug 2013 A1
20130204786 Mattes et al. Aug 2013 A1
20130212603 Cooke et al. Aug 2013 A1
20130244632 Spence et al. Sep 2013 A1
20130246944 Pandiyan et al. Sep 2013 A1
20130268676 Martins et al. Oct 2013 A1
20130325934 Fausak et al. Dec 2013 A1
20130328997 Desai Dec 2013 A1
20130336472 Fahlgren et al. Dec 2013 A1
20140013400 Warshavsky et al. Jan 2014 A1
20140025503 Meyer et al. Jan 2014 A1
20140058806 Guenette et al. Feb 2014 A1
20140064467 Lawson et al. Mar 2014 A1
20140072115 Makagon et al. Mar 2014 A1
20140073291 Hildner et al. Mar 2014 A1
20140095627 Romagnino Apr 2014 A1
20140098809 Lawson et al. Apr 2014 A1
20140101058 Castel et al. Apr 2014 A1
20140101149 Winters et al. Apr 2014 A1
20140105372 Nowack et al. Apr 2014 A1
20140106704 Cooke et al. Apr 2014 A1
20140122600 Kim et al. May 2014 A1
20140123187 Reisman May 2014 A1
20140126715 Lum et al. May 2014 A1
20140129363 Lorah et al. May 2014 A1
20140153565 Lawson et al. Jun 2014 A1
20140185490 Holm et al. Jul 2014 A1
20140254600 Shibata et al. Sep 2014 A1
20140258481 Lundell Sep 2014 A1
20140269333 Boerjesson Sep 2014 A1
20140274086 Boerjesson et al. Sep 2014 A1
20140282473 Saraf et al. Sep 2014 A1
20140289391 Balaji et al. Sep 2014 A1
20140304054 Orun et al. Oct 2014 A1
20140317640 Harm et al. Oct 2014 A1
20140037251 Fausak et al. Dec 2014 A1
20140355600 Lawson et al. Dec 2014 A1
20140372508 Fausak et al. Dec 2014 A1
20140372509 Fausak et al. Dec 2014 A1
20140373098 Fausak et al. Dec 2014 A1
20140378110 Chingon et al. Dec 2014 A1
20140379670 Kuhr Dec 2014 A1
20150004932 Kim et al. Jan 2015 A1
20150004933 Kim et al. Jan 2015 A1
20150023251 Giakoumelis et al. Jan 2015 A1
20150026477 Malatack et al. Jan 2015 A1
20150066865 Yara et al. Mar 2015 A1
20150081918 Nowack et al. Mar 2015 A1
20150082378 Collison Mar 2015 A1
20150100634 He et al. Apr 2015 A1
20150119050 Liao et al. Apr 2015 A1
20150181631 Lee et al. Jun 2015 A1
20150236905 Bellan et al. Aug 2015 A1
20150281294 Nur et al. Oct 2015 A1
20150365480 Soto et al. Dec 2015 A1
20150370788 Bareket et al. Dec 2015 A1
20150381580 Graham, III et al. Dec 2015 A1
20160001758 Sugio Jan 2016 A1
20160011758 Dornbush et al. Jan 2016 A1
20160028695 Binder Jan 2016 A1
20160077693 Meyer et al. Mar 2016 A1
20160112475 Lawson et al. Apr 2016 A1
20160112521 Lawson et al. Apr 2016 A1
20160119291 Zollinger et al. Apr 2016 A1
20160127254 Kumar et al. May 2016 A1
20160149956 Birnbaum et al. May 2016 A1
20160162172 Rathod Jun 2016 A1
20160205519 Patel et al. Jul 2016 A1
20160226937 Patel et al. Aug 2016 A1
20160226979 Lancaster et al. Aug 2016 A1
20160234391 Wolthuis et al. Aug 2016 A1
20160239770 Batabyal et al. Aug 2016 A1
20160366193 Lawson et al. Dec 2016 A1
20170134443 Lawson et al. May 2017 A1
20170134587 Lawson et al. May 2017 A1
20170339283 Chaudhary et al. Nov 2017 A1
20180131813 Lawson et al. May 2018 A1
20180139248 Lawson et al. May 2018 A1
20190114676 Jain Apr 2019 A1
20190149582 Lawson et al. May 2019 A1
20190034941 Lawson et al. Nov 2019 A1
20190349409 Lawson et al. Nov 2019 A1
20200236220 Lawson et al. Jul 2020 A1
20210021651 Lawson et al. Jan 2021 A1
20210021652 Lawson et al. Jan 2021 A1
20210326935 Buchalter et al. Oct 2021 A1
20210409456 Lawson et al. Dec 2021 A1
20210409457 Lawson et al. Dec 2021 A1
20210409458 Lawson et al. Dec 2021 A1
20220182374 Peddada et al. Jun 2022 A1
20220353219 Malatack Nov 2022 A1
20230116937 Lawson et al. Apr 2023 A1
20230124331 Lawson et al. Apr 2023 A1
20230129872 Lawson et al. Apr 2023 A1
20230139697 Lawson et al. May 2023 A1
20230176857 Hartley et al. Jun 2023 A1
Foreign Referenced Citations (44)
Number Date Country
2009231676 Oct 2009 AU
2009231676 Oct 2013 AU
2720398 Oct 2009 CA
2720398 Aug 2016 CA
1653790 Aug 2005 CN
102027721 Apr 2011 CN
104902113 Sep 2015 CN
1684587 Mar 1971 DE
0282126 Sep 1988 EP
1168766 Jan 2002 EP
1387239 Feb 2004 EP
1464418 Oct 2004 EP
1522922 Apr 2005 EP
1770586 Apr 2007 EP
2053869 Apr 2009 EP
2266269 Dec 2010 EP
2266269 Jan 2019 EP
2134107 Sep 1999 ES
2362489 Nov 2001 GB
10294788 Nov 1998 JP
2004166000 Jun 2004 JP
2004220118 Aug 2004 JP
2006319914 Nov 2006 JP
WO-9732448 Sep 1997 WO
WO-0131483 May 2001 WO
WO-0167219 Sep 2001 WO
WO-0219593 Mar 2002 WO
WO-0235486 May 2002 WO
WO-02052879 Jul 2002 WO
WO-2002087804 Nov 2002 WO
WO-03063411 Jul 2003 WO
WO-2004092867 Oct 2004 WO
2005009018 Jan 2005 WO
WO-2005041526 May 2005 WO
WO-2006020975 Apr 2006 WO
WO-2006037492 Apr 2006 WO
WO-2007129225 Nov 2007 WO
WO-2007147151 Dec 2007 WO
WO-2009018489 Feb 2009 WO
WO-2009124223 Oct 2009 WO
WO-2010037064 Apr 2010 WO
WO-2010040010 Apr 2010 WO
WO-2010101935 Sep 2010 WO
WO-2011091085 Jul 2011 WO
Non-Patent Literature Citations (286)
Entry
U.S. Appl. No. 16/520,190 U.S. Pat. No. 10,893,078, filed Jul. 23, 2019, System and Method for Processing Telephony Sessions.
U.S. Appl. No. 16/520,195 U.S. Pat. No. 10,893,079, filed Jul. 23, 2019, System and Method for Processing Telephony Sessions.
U.S. Appl. No. 17/061,307, filed Oct. 1, 2020, System and Method for Processing Telephony Sessions.
U.S. Appl. No. 17/061,311 U.S. Pat. No. 11,283,843, filed Oct. 1, 2020, System and Method for Processing Telephony Sessions.
U.S. Appl. No. 17/446,542, filed Aug. 31, 2021, System and Method for Processing Telephony Sessions.
U.S. Appl. No. 17/446,545, filed Aug. 31, 2021, System and Method for Processing Telephony Sessions.
U.S. Appl. No. 12/417,630 U.S. Pat. No. 8,306,021, filed Apr. 2, 2009, System and Method for Processing Telephony Sessions.
U.S. Appl. No. 17/446,551, filed Aug. 31, 2021, System and Method for Processing Telephony Sessions.
U.S. Appl. No. 13/632,798, filed Oct. 1, 2012, System and Method for Processing Telephony Sessions.
U.S. Appl. No. 13/743,080 U.S. Pat. No. 8,837,465, filed Jan. 16, 2013, System and Method for Processing Telephony Sessions.
U.S. Appl. No. 13/743,078 U.S. Pat. No. 8,755,376, filed Jan. 16, 2013, System and Method for Processing Telephony Sessions.
U.S. Appl. No. 14/459,615 U.S. Pat. No. 9,456,008, filed Aug. 14, 2014, System and Method for Processing Telephony Sessions.
U.S. Appl. No. 15/245,456 U.S. Pat. No. 9,596,274, filed Aug. 24, 2016, System and Method for Processing Telephony Sessions.
U.S. Appl. No. 15/412,933 U.S. Pat. No. 9,906,571, filed Jan. 23, 2017, System and Method for Processing Telephony Sessions.
U.S. Appl. No. 15/871,794 U.S. Pat. No. 10,560,495, filed Jan. 15, 2018, System and Method for Processing Telephony Sessions.
U.S. Appl. No. 16/247,214 U.S. Pat. No. 10,986,142, filed Jan. 14, 2019, System and Method for Processing Telephony Sessions.
U.S. Appl. No. 12/568,646 U.S. Pat. No. 8,611,338, filed Sep. 28, 2009, System and Method for Processing Media Requests During a Telephony Sessions.
U.S. Appl. No. 14/103,632 U.S. Pat. No. 9,306,982, filed Dec. 11, 2013, System and Method for Processing Media Requests During Telephony Sessions.
U.S. Appl. No. 15/050,268 U.S. Pat. No. 9,591,033, filed Feb. 22, 2016, System and Method for Processing Media Requests During Telephony Sessions.
U.S. Appl. No. 15/413,660 U.S. Pat. No. 9,906,651, filed Jan. 24, 2017, System and Method for Processing Media Requests During Telephony Sessions.
U.S. Appl. No. 15/868,796 U.S. Pat. No. 10,694,042, filed Jan. 11, 2018, System and Method for Processing Media Requests During Telephony Sessions.
U.S. Appl. No. 16/845,029, filed Apr. 9, 2020, System and Method for Processing Media Requests During Telephony Sessions.
“U.S. Appl. No. 16/845,029, Examiner Interview Summary dated Mar. 9, 2022”, 2 pgs.
“U.S. Appl. No. 16/845,029, Response filed Mar. 21, 2022 to Non Final Office Action dated Dec. 21, 2021”, 9 pgs.
“European Application Serial No. 18215851.9, Response Filed Mar. 18, 2022 to Communication Pursuant to Article 94(3) EPC dated Sep. 8, 2021”, 21 pgs.
“[Proposed] Order Granting Defendant Telesign Corporation's Motion to Dismiss”, Twilio, Inc., v. Telesign Corporation, Case No. 5:16-cv-6925-LHK, Filed Jan. 25, 2017, 2 pgs.
“ActivCard”, [Online], Retrieved from the Internet: <URL: http://www.activcard.com:80/products/client/tokens/token.pdf>, (1998), 26 pgs.
“Aepona's API Monetization Platform Wins Best of 4G Awards for Mobile Cloud Enabler”, 4G World 2012 Conference & Expo, [Online], [Accessed Nov. 5, 2015], Retrieved from the Internet: <URL: https://www.realwire.com/releases/%20Aeponas-API-Monetization>, (Oct. 30, 2012), 4 pgs.
“U.S. Appl. No. 12/417,630, Non Final Office Action dated Apr. 26, 2012”, 14 pgs.
“U.S. Appl. No. 12/417,630, Notice of Allowance dated Aug. 30, 2012”, 5 pgs.
“U.S. Appl. No. 12/417,630, Preliminary Amendment filed Jan. 22, 2010”, 8 pgs.
“U.S. Appl. No. 12/417,630, Response filed Jun. 19, 2012 to Non Final Office Action dated Apr. 26, 2012”, 9 pgs.
“U.S. Appl. No. 12/568,646, Advisory Action dated Jul. 5, 2013”, 5 pgs.
“U.S. Appl. No. 12/568,646, Final Office Action dated Feb. 14, 2013”, 14 pgs.
“U.S. Appl. No. 12/568,646, Non Final Office Action dated Jun. 7, 2012”, 15 pgs.
“U.S. Appl. No. 12/568,646, Notice of Allowance dated Aug. 19, 2013”, 6 pgs.
“U.S. Appl. No. 12/568,646, Response filed Jun. 14, 2013 to Final Office Action dated Feb. 14, 2013”, 13 pgs.
“U.S. Appl. No. 12/568,646, Response filed Jul. 24, 2013 to Advisory Action dated Jul. 5, 2013”, 8 pgs.
“U.S. Appl. No. 12/568,646, Response filed Oct. 19, 2012 to Non Final Office Action dated Jun. 7, 2012”, 11 pgs.
“U.S. Appl. No. 13/632,798, Final Office Action dated Jun. 25, 2014”, 7 pgs.
“U.S. Appl. No. 13/743,078, Examiner Interview Summary dated Apr. 2, 2014”, 4 pgs.
“U.S. Appl. No. 13/743,078, Examiner Interview Summary dated Sep. 5, 2013”, 3 pgs.
“U.S. Appl. No. 13/743,078, Final Office Action dated Nov. 29, 2013”, 13 pgs.
“U.S. Appl. No. 13/743,078, Non Final Office Action dated May 9, 2013”, 13 pgs.
“U.S. Appl. No. 13/743,078, Notice of Allowance dated Apr. 22, 2014”, 8 pgs.
“U.S. Appl. No. 13/743,078, Response filed Mar. 28, 2014 to Final Office Action dated Nov. 29, 2013”, 4 pgs.
“U.S. Appl. No. 13/743,078, Response filed Aug. 9, 2013 to Non Final Office Action dated May 9, 2013”, 7 pgs.
“U.S. Appl. No. 13/743,080, Examiner Interview Summary dated Apr. 21, 2014”, 3 pgs.
“U.S. Appl. No. 13/743,080, Examiner Interview Summary dated Sep. 9, 2013”, 3 pgs.
“U.S. Appl. No. 13/743,080, Final Office Action dated Dec. 18, 2013”, 11 pgs.
“U.S. Appl. No. 13/743,080, Non Final Office Action dated May 13, 2013”, 12 pgs.
“U.S. Appl. No. 13/743,080, Notice of Allowance dated May 9, 2014”, 7 pgs.
“U.S. Appl. No. 13/743,080, Response filed Apr. 17, 2014 to Final Office Action dated Dec. 18, 2013”, 10 pgs.
“U.S. Appl. No. 13/743,080, Response filed Aug. 12, 2013 to Non Final Office Action dated May 13, 2013”, 12 pgs.
“U.S. Appl. No. 14/103,632, Examiner Interview Summary dated Mar. 20, 2015”, 3 pgs.
“U.S. Appl. No. 14/103,632, Examiner Interview Summary dated Mar. 31, 2015”, 3 pgs.
“U.S. Appl. No. 14/103,632, Examiner Interview Summary dated Nov. 5, 2015”, 3 pgs.
“U.S. Appl. No. 14/103,632, Examiner Interview Summary dated Dec. 22, 2014”, 2 pgs.
“U.S. Appl. No. 14/103,632, Non Final Office Action dated Mar. 17, 2014”, 4 pgs.
“U.S. Appl. No. 14/103,632, Non Final Office Action dated Jul. 30, 2015”, 22 pgs.
“U.S. Appl. No. 14/103,632, Non Final Office Action dated Oct. 10, 2014”, 16 pgs.
“U.S. Appl. No. 14/103,632, Notice of Allowability dated Dec. 7, 2015”, 2 pgs.
“U.S. Appl. No. 14/103,632, Notice of Allowance dated Nov. 20, 2015”, 5 pgs.
“U.S. Appl. No. 14/103,632, Response filed Apr. 9, 2015 to Non Final Office Action dated Oct. 10, 2014”, 16 pgs.
“U.S. Appl. No. 14/103,632, Response filed Jun. 17, 2014 to Non Final Office Action dated Mar. 17, 2014”, 8 pgs.
“U.S. Appl. No. 14/103,632, Response filed Oct. 30, 2015 to Non Final Office Action dated Jul. 30, 2015”, 12 pgs.
“U.S. Appl. No. 14/459,615, Non Final Office Action dated Feb. 2, 2016”, 8 pgs.
“U.S. Appl. No. 14/459,615, Notice of Allowance dated Jun. 8, 2016”, 7 pgs.
“U.S. Appl. No. 14/459,615, Response filed Apr. 28, 2016 to Non Final Office Action dated Feb. 2, 2016”, 10 pgs.
“U.S. Appl. No. 15/245,456, Notice of Allowance dated Oct. 21, 2016”, 13 pgs.
“U.S. Appl. No. 15/412,933, Notice of Allowance dated Oct. 13, 2017”, 11 pgs.
“U.S. Appl. No. 15/412,933, Preliminary Amendment filed Feb. 21, 2017”, 6 pgs.
“U.S. Appl. No. 15/413,660, Non Final Office Action dated Mar. 13, 2017”, 7 pgs.
“U.S. Appl. No. 15/413,660, Notice of Allowance dated Oct. 11, 2017”, 9 pgs.
“U.S. Appl. No. 15/413,660, Notice of Allowance dated Nov. 3, 2017”, 6 pgs.
“U.S. Appl. No. 15/413,660, Notice of Allowance dated Dec. 14, 2017”, 2 pgs.
“U.S. Appl. No. 15/413,660, Notice of Non-Compliant Amendment dated Jun. 19, 2017”, 2 pgs.
“U.S. Appl. No. 15/413,660, Preliminary Amendment filed Feb. 23, 2017”, 8 pgs.
“U.S. Appl. No. 15/413,660, Response filed Jun. 12, 2017 to Non Final Office Action dated Mar. 13, 2017”, 8 pgs.
“U.S. Appl. No. 15/413,660, Response filed Jun. 22, 2017 to Notice of Non-Compliant Amendment dated Jun. 19, 2017”, 8 pgs.
“U.S. Appl. No. 15/868,796, Advisory Action dated Feb. 4, 2020”, 3 pgs.
“U.S. Appl. No. 15/868,796, Examiner Interview Summary dated Feb. 24, 2020”, 3 pgs.
“U.S. Appl. No. 15/868,796, Examiner Interview Summary dated Aug. 2, 2019”, 3 pgs.
“U.S. Appl. No. 15/868,796, Final Office Action dated Nov. 15, 2019”, 6 pgs.
“U.S. Appl. No. 15/868,796, Non Final Office Action dated May 3, 2019”, 20 pgs.
“U.S. Appl. No. 15/868,796, Notice of Allowance dated Feb. 27, 2020”, 10 pgs.
“U.S. Appl. No. 15/868,796, Response filed Jan. 15, 2020 to Final Office Action dated Nov. 15, 2019”, 11 pgs.
“U.S. Appl. No. 15/868,796, Response filed Aug. 5, 2019 to Non-Final Office Action dated May 3, 2019”, 12 pgs.
“U.S. Appl. No. 15/871,794, Non Final Office Action dated May 13, 2019”, 11 pgs.
“U.S. Appl. No. 15/871,794, Notice of Allowance dated Feb. 4, 2019”, 8 pgs.
“U.S. Appl. No. 15/871,794, Notice of Allowance dated Oct. 9, 2018”, 8 pgs.
“U.S. Appl. No. 15/871,794, Notice of Allowance dated Oct. 23, 2019”, 8 pgs.
“U.S. Appl. No. 15/871,794, Response filed Sep. 5, 2019 to Non-Final Office Action dated May 13, 2019”, 11 pgs.
“U.S. Appl. No. 16/247,214, Examiner Interview Summary dated Sep. 1, 2020”, 3 pgs.
“U.S. Appl. No. 16/247,214, Non Final Office Action dated Jun. 18, 2020”, 15 pgs.
“U.S. Appl. No. 16/247,214, Notice of Allowance dated Dec. 22, 2020”, 10 pgs.
“U.S. Appl. No. 16/247,214, Response filed Sep. 17, 2020 to Non Final Office Action dated Jun. 18, 2020”, 13 pgs.
“U.S. Appl. No. 16/520,190, Non Final Office Action dated Jun. 22, 2020”, 6 pgs.
“U.S. Appl. No. 16/520,190, Notice of Allowance dated Aug. 26, 2020”, 7 pgs.
“U.S. Appl. No. 16/520,190, Response filed Aug. 17, 2020 to Non Final Office Action dated Jun. 22, 2020”, 7 pgs.
“U.S. Appl. No. 16/520,195, Non Final Office Action dated Jun. 22, 2020”, 6 pgs.
“U.S. Appl. No. 16/520,195, Notice of Allowance dated Sep. 16, 2020”, 7 pgs.
“U.S. Appl. No. 16/520,195, Response filed Aug. 17, 2020 to Non Final Office Action dated Jun. 22, 2020”, 7 pgs.
“U.S. Appl. No. 16/845,029, Final Office Action dated Sep. 29, 2021”, 31 pgs.
“U.S. Appl. No. 16/845,029, Non Final Office Action dated Mar. 18, 2021”, 30 pgs.
“U.S. Appl. No. 16/845,029, Non Final Office Action dated Dec. 21, 2021”, 30 pgs.
“U.S. Appl. No. 16/845,029, Response filed Jun. 17, 2021 to Non Final Office Action dated Mar. 18, 2021”, 12 pgs.
“U.S. Appl. No. 16/845,029, Response filed Dec. 10, 2021 to Final Office Action dated Sep. 29, 2021”, 11 pgs.
“U.S. Appl. No. 17/061,307, Examiner Interview Summary dated Dec. 10, 2021”, 2 pgs.
“U.S. Appl. No. 17/061,307, Non Final Office Action dated Oct. 27, 2021”, 8 pgs.
“U.S. Appl. No. 17/061,307, Preliminary Amendment filed Oct. 2, 2020”, 6 pgs.
“U.S. Appl. No. 17/061,307, Response filed Jan. 26, 2022 to Non Final Office Action dated Oct. 27, 2021”, 8 pgs.
“U.S. Appl. No. 17/061,311, Notice of Allowance dated Nov. 9, 2021”, 8 pgs.
“U.S. Appl. No. 17/061,311, Preliminary Amendment filed Oct. 2, 2020”, 5 pgs.
“Archive Microsoft Office 365 Email I Retain Unified Archiving”, GWAVA, Inc., Montreal, Canada, [Online] Retrieved from the Internet: <URL: http://www.gwava.com/Retain/Retain for_Office_365.php>, (2015), 4 pgs.
“ASB Bank selects RSA Mobile two-factor authentication for Internet security; Leading New Zealand bank to integrate RSA Mobile solution to expand business opportunities and enhance”, RSA Security, M2 Presswire ; Coventry [Coventry], (Jun. 23, 2003), 4 pgs.
“Australian Application Serial No. 2009231676, First Examiner Report dated Jan. 15, 2013”, 3 pgs.
“Australian Application Serial No. 2009231676, Response filed Aug. 14, 2013 to First Examiner Report dated Jan. 15, 2013”, 17 pgs.
“Authenex”, [Online], Retrieved from the Internet: <URL: http://www.authenex.com:80/isaserver/pdf/psasas.pdf>, (2003), 34 pgs.
“Aventail partners with phone-based two-factor authentication company; Aventail and SecurEnvoy join forces to offer easy-to-use authentication from mobile devices for secure, remote access”, Aventail—M2 Presswire ; Coventry [Coventry], (Dec. 7, 2005), 4 pgs.
“Canadian Application Serial No. 2,720,398, Office Action dated May 4, 2015”, 4 pgs.
“Canadian Application Serial No. 2,720,398, Response filed Nov. 3, 2015 to Office Action dated May 4, 2015”, 11 pgs.
“Carrierinfo—Product Guide”, Mapinfo Corporation, (2005), 36 pgs.
“CDyne Phone Verifier”, BACKGROUND_WEB_ARCHIVE, (2005), 4 pgs.
“Chinese Application Serial No. 200980116961.6, Office Action dated Jul. 17, 2014”, W/O English Translation, 3 pgs.
“Chinese Application Serial No. 201510204607.6, Office Action dated Jan. 12, 2018”, W/English Translation, 8 pgs.
“Chinese Application Serial No. 201510204607.6, Office Action dated May 24, 2017”, W/English Translation, 9 pgs.
“Classifying m-payments—a user-centric model”, Proceedings of the Third International Conference on Mobile Business, M-Business, (2004), 11 pgs.
“Complaint for Patent Infringement”, Telinit Technologies, LLC v. Twilio Inc 2:12-cv-663, (Oct. 12, 2012), 17 pgs.
“Complaint for Patent Infringement—Jury Trial Demanded”, Twilio Inc., vs. Telesign Corporation, Case 3:16-cv-06925 Filed Dec. 1, 2016, 240 pgs.
“CRYPTO-Tokens”, CryptoCard, (2003), 12 pgs.
“Cyber Locator”, (1999), 7 pgs.
“Declaration of Jesse J. Camacho in Support of Defendant Telesign Corporation's Reply To Motion To Dismiss”, Twilio, Inc., v. Telesign Corporation, Case No. 5:16-cv-6925-LHK, Filed Feb. 15, 17, 17 pgs.
“Defendant Telesign Corporation's Notice of Motion and Motion To Dismiss; Memorandum of Points and Authorities in Support Thereof”, Twilio, Inc., v. Telesign Corporation, Case No. 5:16-cv-6925-LHK, Filed Jan. 25, 17, 32 pgs.
“Defendant Telesign Corporation'S Reply in Support of Motion To Dismiss”, Twilio, Inc., v. Telesign Corporation, Case No. 5:16-cv-6925-LHK, Filed Feb. 15, 2017, 22 pgs.
“DIGIPASS® GO 1”, Vasco, (2001), 36 pgs.
“Diversinet”, MobiSecure, 2 pgs.
“Entrust”, Entrust TruePass™ Product Portfolio, 28 pgs.
“Ethernet to Token Ring Bridge”, Black Box Corporation, [Online] Retrieved from the Internet: <URL: http://blackboxcanada.com/resource/files/productdetails/17044.pdf>, (Oct. 1999), 2 pgs.
“EToken”, Aladdin Knowledge Systems, [Online], Retrieved from the Internet: <URL: http://www.aladdin.com:80/etoken/products.asp>, (2005), 20 pgs.
“European Application Serial No. 09726505.2, Communication Pursuant to Article 94(3) EPC dated Jan. 23, 2018”, 5 pgs.
“European Application Serial No. 09726505.2, Extended European Search Report dated Oct. 30, 2013”, 7 pgs.
“European Application Serial No. 09726505.2, Intention to Grant dated Jul. 20, 2018”, 56 pgs.
“European Application Serial No. 09726505.2, Response filed May 10, 2018 to Communication pursuant to Article 94(3) EPC dated Jan. 23, 2018”, 73 pgs.
“European Application Serial No. 09726505.2, Response filed May 12, 2014 to Extended European Search Report dated Oct. 30, 2013”, 13 pgs.
“European Application Serial No. 18215851.9, Communication Pursuant to Article 94(3) EPC dated Jun. 24, 2020”, 4 pgs.
“European Application Serial No. 18215851.9, Communication Pursuant to Article 94(3) EPC dated Sep. 8, 2021”, 6 pgs.
“European Application Serial No. 18215851.9, Extended European Search Report dated Apr. 2, 2019”, 7 pgs.
“European Application Serial No. 18215851.9, Response filed Jan. 6, 2021 to Communication Pursuant to Article 94(3) EPC dated Jun. 24, 2020”, 10 pgs.
“European Application Serial No. 18215851.9, Response filed Oct. 30, 2019 to Extended European Search Report dated Apr. 2, 2019”, 15 pgs.
“File History U.S. Pat. No. 8,351,369”, 295 pgs.
“File History U.S. Pat. No. 8,462,920 B2”, 322 pgs.
“File History U.S. Pat. No. 8,737,593”, 261 pgs.
“File History U.S. Pat. No. 8,755,376 B2”, 1084 pgs.
“Final Written Decision 35 U.S.C. § 318(a)”, Telesign Corporation v. Twilio Inc., Case IPR2017-01976, U.S. Pat. No. 8,837,465B2, (Mar. 6, 2019), 42 pgs.
“Final Written Decision 35 U.S.C. § 318(a)”, Telesign Corporation v. Twilio Inc., Case IPR2017-01977, U.S. Pat. No. 8,755,376B2, (Mar. 6, 2019), 51 pgs.
“Fone Finder”, (Feb. 4, 2005), 12 pgs.
“IKey 2032”, Personal USB Authentication and Encryption Token, [Online] Retrieved from the Internet: <http://www.safenet-inc.com:80/library/3/iKey_2032.pdf>, (2005), 5 pgs.
“Indian Application Serial No. 7232/DELNP/2010, First Examiner Report dated May 4, 2018”, 8 pgs.
“International Application Serial No. PCT/US2009/039371, International Preliminary Report on Patentability dated Oct. 14, 2010”, 7 pgs.
“International Application Serial No. PCT/US2009/039371, International Search Report dated Jul. 14, 2009”, 2 pgs.
“International Application Serial No. PCT/US2009/039371, Written Opinion dated Jul. 14, 2009”, 5 pgs.
“International Application Serial No. PCT/US2009/058671, International Preliminary Report on Patentability dated Apr. 7, 2011”, 6 pgs.
“International Application Serial No. PCT/US2009/058671, International Search Report dated Dec. 30, 2009”, 2 pgs.
“International Application Serial No. PCT/US2009/058671, Written Opinion dated Dec. 30, 2009”, 4 pgs.
“International Numbering Plans”, BACKGROUND_WEB_ARCHIVE, (2005), 1 pg.
“Maag Holdings Selects RSA Security to Help Protect its Real Estate Information System”, (2003), 5 pgs.
“Microsoft Targets Mobile Developers with Tools and Devices”, Mobile Business Advisor, (2003), 1 pg.
“Multi-Factor Authentication Employing Voice Biometrics and Existing Infrastructures”, Background_WEB_ARCHIVE_Authentify, (2005), 15 pgs.
“Open Service Access (OSA); Parlay X Web Services; Part 11: Audio Call (Parlay X 2)”, ETSI ES 202 391-11 V1.2.1, (Dec. 2006), 19 pgs.
“Open Service Access (OSA); Parlay X Web Services; Part 2: Third Party Call (Parlay X 2)”, ETSI ES 202 391-2 V1.2.1, (Dec. 2006), 18 pgs.
“Open Service Access (OSA); Parlay X Web Services; Part 3: Call Notification (Parlay X 2)”, ETSI 202 391-3 V1.2.1, (Dec. 2006), 23 pgs.
“Open Service Access (OSA); Parlay X Web Services; Part 4: Short Messaging (Parlay X 2)”, ETSI ES 202 391-4 V1.2.1, (Dec. 2006), 26 pgs.
“Open Service Access (OSA); Parlay X Web Services; Part 7: Account Management (Parlay X 2)”, ETSI ES 202 391-7 V1.2.1, (Dec. 2006), 22 pgs.
“Order Granting in Part and Denying in Part Defendant's Motion To Dismiss”, Twilio, Inc., v. Telesign Corporation, Case No. 16-CV-06925-LHK, Re: Dkt. No. 31, Filed Mar. 31, 17, 58 pgs.
“Order Granting in Part Defendant's Motion To Dismiss”, Twilio, Inc., v. Telesign Corporation, Case No. 16-CV-06925-LHK, Re: Dkt. No. 31, Filed Apr. 17, 2017, 54 pgs.
“PhoneID Fraud Prevention”, Delivers real-time security intelligence and data on phone numbers around the world to enable greater assurance and security against fraudulent activity, (Jun. 15, 2015), 7 pgs.
“PhoneID Score”, PhoneID Score—TeleSign Rest API v1.50 documentation, (Jun. 16, 2015), 10 pgs.
“PhoneID Standard”, PhoneID Standard—TeleSign Rest API v1.50 documentation, (Jun. 16, 2015), 1-10.
“Plaintiff's Opposition To Defendant's Motion to Dismiss”, Twilio Inc., vs. Telesign Corporation, Case No. 5:16-CV-06925-LHK, Filed Feb. 8, 2017, 28 pgs.
“Q3 2002 RSA Security Earnings Conference Call—Final”, Dow Jones, (Oct. 16, 2002), 12 pgs.
“Q4 2002 RSA Security Earnings Conference Call—Final”, Dow Jones, (Jan. 23, 2003), 8 pgs.
“Requests”, TeleSign Rest API v1.51 documentation, (Nov. 3, 2015), 1 pg.
“Resources”, TeleSign Rest API v1.51 documentation, (Nov. 2, 2015), 2 pgs.
“Responses”, TeleSign Rest API v1.51 documentation, (Nov. 3, 2015), 1 pg.
“Risk factor put on hold—Security Solutions—Data Under Siege—A special advertising report”, The Australian—Dow Jones, (Sep. 24, 2002), 1 pg.
“RSA launches authentication solutions”, The China Post—Dow Jones, (Sep. 14, 2002), 2 pgs.
“RSA Mobile”, Two-factor authentication for a mobile world, (Jun. 12, 2004), 6 pgs.
“RSA Mobile New Product Review”, (2002), 1 pg.
“RSA SecurID® Authentication”, A Better Value for a Better ROI, (2003), 34 pgs.
“RSA Security and iRevolution Join Forces to Offer Two-Factor Authentication For Companies Using Microsoft(R) Passport”, PR Newswire; New York, (Oct. 8, 2002), 4 pgs.
“RSA Security and Nocom launch new service in Scandinavia: Flexible and secure solution for user identification”, NASDAQ OMX—Dow Jones, (Sep. 9, 2003), 2 pgs.
“RSA Security Announces Third Quarter Results”, PR Newswire—Dow Jones, (Oct. 16, 2002), 10 pgs.
“RSA Security Helps Banca Popolare di Sondrio (Suisse) Differentiate Itself from the Competition”, PR Newswire ; New York, (Apr. 15, 2003), 4 pgs.
“RSA Security technology helps make an innovative information management solution even more compelling to the marketplace”, Maag Holdings Ltd., (2004), 3 pgs.
“RSA Security Unveils Innovative Two-Factor Authentication Solution for the Consumer Market”, PR Newswire ; New York, (Sep. 4, 2002), 5 pgs.
“RSA Security uses phones as security token. (Business)”, RCR Wireless News. 21.36, Academic OneFile, [Online] Retrieved from the Internet: <http://link.galegroup.com/apps/doc/A91672329/AONE?u=otta35732&sid=AONE&xid=2f576581 >, (Sep. 9, 2002), 1 pg.
“RSA(R) Mobile and RSA SecurID(R) Two-Factor Authentication Products Recognized by SC Magazine as Best of 2002”, PR Newswire—Dow Jones, (Dec. 12, 2002), 2 pgs.
“Saintlogin”, BACKGROUND_WEB_ARCHIVE, (2005), 3 pgs.
“Score( )—TeleSign Python SDK documentation”, score( ), (Jun. 16, 2015), 2 pgs.
“Scottrade Selects PassMark for Strong Mutual Authentication”, PassMark, (Oct. 11, 2005), 8 pgs.
“SecurAccess Overview Video”, Securenvoy—Date for Overview.swf, [Online]. [Accessed Jan. 20, 2005]. Retrieved from the Internet: <URL: www.securenvoy.com/animations/Overview.swf>, 14 pgs.
“SecurAccess User Guide Video”, Securenvoy—Date for UserGuide.swf, [Online]. [Accessed Sep. 30, 2004]. Retrieved from the Internet: <URL: http://www.securenvoy.com/animations/UserGuide.swf>, 17 pgs.
“SecurAccess Video”, Securenvoy—Date for SecurAccess.swf, [Online]. [Accessed May 5, 2006]. Retrieved from the Internet: <URL: http://www.securenvoy.com:80/animations/SecurAccess.swf>, 8 pgs.
“Securenvoy”, Secure Email, (2004), 6 pgs.
“SecurEnvoy SecurAccess”, Protecting Access from outside the perimeter, (2005), 6 pgs.
“SecurMail and SecurAccess”, Securenvoy, 1 pg.
“SIEMENS”, System Description HiPath 3000 Version 1.2-3.0, (2002), 762 pgs.
“Simple, secure access control for the Web”, using SafeWord™ PremierAccess, (Nov. 2001), 46 pgs.
“Smart Verify | TeleSign”, Smart Verify, (Nov. 3, 2015), 9 pgs.
“SMS Authentication”, RSA Security Inc. Published in Computerworld Sep. 23, 2002, Technology, p. 38, (Sep. 23, 2002), 1 pg.
“SMS Verify—TeleSign”, SMS Verify, (Nov. 3, 2015), 8 pgs.
“Taking security online to new level”, Dow Jones, (2005), 2 pgs.
“TeleSign's PhoneID Score Named a New Products Winner”, TeleSign, (Jun. 27, 2014), 4 pgs.
“TRAILBLAZRES: RSA SECURITY (specialises in access management tools for internal security)”, Dow Jones, (2003), 1 pg.
“Twilio Cloud Communications—APIs for Voice, VoIP, and Text Messaging”, Twilio, [Online] Retrieved from the Internet: <URl: http://www.twilio.com/docs/api/rest/call-feedback>, (Jun. 24, 2015), 8 pgs.
“Unified Authentication”, Verisign, (Mar. 21, 2005), 196 pgs.
“Verify Registration—TeleSign REST API v1.51 documentation”, Verify Registration, (Nov. 3, 2015), 7 pgs.
“Voice Verify With Call Forward Detection”, TeleSign Verification APIs, (2015), 2 pgs.
“What's a Mobile Phone, anyway?”, Australian PC World; Off Camera Fun, (Jun. 2005), 1 pg.
“Wifi WatchDog”, Newbury Networks, (2006), 11 pgs.
Abu-Lebdeh, et al., “A 3GPP Evolved Packet Core-Based Architecture for QoS-Enabled Mobile Video Surveillance Applications”, 2012 Third International Conference on the Network of the Future {NOF), (Nov. 21-23, 2012), 1-6.
Barakovic, Sabina, et al., “Survey and Challenges of QoE Management Issues in Wireless Networks”, Hindawi Publishing Corporation, (2012), 1-29.
Bennett, Robert, “American business has to start thinking of data with the same reverence that it thinks of money!”, Griffin Technologies, LLC. White Paper, (Oct. 2001), 6 pgs.
Berners-Lee, T., “RFC 3986: Uniform Resource Identifier (URI): Generic Syntax”, The Internet Society, [Online]. Retrieved from the Internet: <URL: http://tools.ietf.org/html/rfc3986>, (Jan. 2005), 57 pgs.
Curphey, Mark, et al., “A Guide to Building Secure Web Applications: The Open Web Application Security Project”, (2002), 70 pgs.
Doyle, Eric, “RSA uses SMS to offer secure Web access anywhere”, (2002), 1 pg.
Fonseca, Brian, “RSA and Entrust target Web services security returns”, Dow Jones, (Oct. 8, 2002), 2 pgs.
Forbes, Bob, “The Fifth Factor: Behavior Profiling Opens New Possibilities For Web Access Control”, Data Security Management, 8 pgs.
Fred, Piper, et al., “Identities and authentication”, Cyber Trust & Crime Prevention Project, (Apr. 6, 2004), 1-15.
Hill, Kashmir, “Your Phone Number Is Going To Get A Reputation Score Forbes”, Forbes, (Jun. 16, 2015), 4 pgs.
Hong, Sungjune, et al., “The semantic PARLAY for 4G network”, 2nd International Conference on Mobile Technology, Applications and Systems. IEEE, (2005), 5 pgs.
Jamieson, Rodger, et al., “A Framework for Security, Control and Assurance of Knowledge Management Systems”, School of Information Systems, Technology and Management, University of New South Wales, Sydney, Australia, CHAPTER 25, (2004), 29 pgs.
Jones, Dow, “Awakens To The Fact That Prevention Is Better Than Cure”, India Inc., (Mar. 31, 2003), 1 pg.
Jones, Dow, “Event Brief of Q3 2002 RSA Security Earnings Conference Call—Final”, (Oct. 16, 2002), 5 pgs.
Jones, Dow, “Make sure you're secure”, Bristol Evening Post, (Oct. 25, 2004), 2 pgs.
Jones, Dow, “Regulatory News Service (RNS)”, REG—iRevolution Group Announces Partnership, (Oct. 9, 2002), 2 pgs.
Jörg, Tacke, et al., “Two-Factor Web Authentication Via Voice”, VOICE.TRUST AG1, (2003), 88 pgs.
Kemshall, A., et al., “Two Factor Authentication”, securenvoy_White Paper, (2005), 8 pgs.
Kim, Hwa-Jong, et al., “In-Service Feedback QoE Framework”, 2010 Third International Conference on Communication Theory. Reliability and Quality of Service, (2010), 135-138.
Kotanchik, J, “Kerberos And Two-Factor Authentication”, (Mar. 1994), 6 pgs.
Kumar, Bharat, et al., “Breaking into Cyberia”, Business Line, Dow Jones, (Nov. 5, 2003), 4 pgs.
Lebihan, Rachel, “New online banking security plan in doubt”, The Australian Financial Review, Dow Jones, (Aug. 2, 2004), 2 pgs.
Lebihan, Rachel, “Still Fishing For Answer To Internet Scams”, The Australian Financial Review, Dow Jones, (2004), 3 pgs.
Louise, Richardson, “RSA Security”, Dow Jones, (Dec. 1, 2003), 2 pgs.
Mallery, John, “Who Are You? You just can't trust a username/password combo to verify user identity. It's time for two-factor”, Security Technology & Design, (Nov. 1, 2005), 4 pgs.
Matos, et al., “Quality of Experience-based Routing in Multi-Service Wireless Mesh Networks”, Realizing Advanced Video Optimized Wireless Networks. IEEE, (2012), 7060-7065.
McCue, Andy, “Networks—ISP trials security via SMS”, Computing, (Sep. 12, 2002), 1 pg.
McCue, Andy, “SMS Secures Online Apps”, ITWEEK, Dow Jones, (Sep. 9, 2002), 2 pgs.
McCue, Andy, “United Utilities pilots SMS security software”, VNUnet Newswire, Dow Jones, (Sep. 4, 2002), 2 pgs.
Messmer, Ellen, “HIPPA deadline ups healthcare anxiety”, Network World, (Mar. 10, 2003), 1 pg.
Mills, Kelly, “Security merger to boost banks”, The Australian—Dow Jones, (2005), 2 pgs.
Mizuno, Shintaro, et al., “Authentication Using Multiple Communication Channels”, (Nov. 11, 2005), 9 pgs.
Mu, Mu, et al., “Quality Evaluation in Peer-to-Peer IPTV Services”, Data Traffic and Monitoring Analysis, LNCS 7754, 302-319, (2013), 18 pgs.
Nguyan, Thien-Loc, “National Identification Systems”, (Jun. 2003), 156 pgs.
Nystrom, M, “The SecurID(r) SASL Mechanism”, RSA Laboratories, (Apr. 2000), 11 pgs.
O'Gorman, “Comparing Passwords, Tokens, and Biometrics for User Authentication”, In Proceedings: The IEEE, vol. 91, Issue 12, (Dec. 2003), 20 pgs.
O'Gorman, Lawrence, et al., “Call Center Customer Verification by Query-Directed Passwords”, 15 pgs.
Parthasarathy, P R, “Resolving Webuser on the Fly”, (Jun. 2002), 6 pgs.
Pullar-Strecker, Tom, “Asb Shuts Out Online Fraud”, (Sep. 27, 2004), 2 pgs.
Pullar-Strecker, Tom, “Auckland Security Firm Turns Heads”, (May 30, 2005), 3 pgs.
Pullar-Strecker, Tom, “NZ bank adds security online”, (Nov. 8, 2004), 1 pg.
Pullar-Strecker, Tom, et al., “NZ start-up plans authentication trial”, (Aug. 23, 2004), 3 pgs.
Scarlet, Pruitt, “RSA secures mobile access to Web apps”, Dow Jones—InfoWorld Daily News, (Sep. 4, 2002), 1 pg.
Subramanya, et al., “Digital Signatures”, IEEE Potentials, (Mar./Apr. 2006), 5-8.
Tran, et al., “User to User adaptive routing based on QoE”, ICNS 2011: The Seventh International Conference on Networking and Services, (2011), 170-177.
Tynan, Dan, “What's a Cell Phone, Anyway?”, PC World.Com ; San Francisco, (Mar. 23, 2005), 3 pgs.
Wall, Matthew, “Fight business marauders the high-tech way”, Sunday Times ; London (UK), (Sep. 18, 2005), 4 pgs.
Wolfe, Daniel, “For PassMark, Image Is Everything in Phish Foiling”, American Banker. 169.43, (Mar. 4, 2004), 2 pgs.
Wright, Rob, “Paramount Protection Vendors have devised new ways to safeguard information”, VARbusiness, (Oct. 28, 2002), 4 pgs.
Wu, Min, et al., “Secure Web Authentication with Mobile Phones”, DIMACS Workshop on Usable Privacy and Security Software, (Jul. 2004), 5 pgs.
Wullems, Chris, et al., “Enhancing the Security of Internet Applications using location : A New Model for Tamper-resistant GSM Location”, Proceedings of the Eighth IEEE International Symposium on Computers and Communication (ISCC'03), (2003), 9 pgs.
“U.S. Appl. No. 16/845,029, Final Office Action dated Apr. 27, 2022”, 29 pgs.
“U.S. Appl. No. 17/061,307, Notice of Allowance dated May 6, 2022”, 7 pgs.
“U.S. Appl. No. 17/446,545, Notice of Allowance dated Oct. 7, 2022”, 8 pgs.
“U.S. Appl. No. 16/845,029, Response filed Feb. 27, 2023 to Non Final Office Action dated Nov. 25, 2022”, 11 pgs.
“U.S. Appl. No. 17/446,551, Notice of Allowance dated Mar. 1, 2023”, 8 pgs.
“U.S. Appl. No. 16/845,029, Notice of Allowance dated Mar. 20, 2023”, 6 pgs.
“U.S. Appl. No. 18/084,909, Non Final Office Action dated Apr. 20, 2023”, 7 pgs.
“U.S. Appl. No. 18/084,943, Non Final Office Action dated Apr. 20, 2023”, 9 pgs.
“U.S. Appl. No. 18/084,891, Non Final Office Action dated May 5, 2023”, 9 pgs.
“U.S. Appl. No. 18/084,891, Examiner Interview Summary dated Jun. 14, 2023”, 2 pgs.
“U.S. Appl. No. 16/845,029, Corrected Notice of Allowability dated Jun. 28, 2023”, 3 pgs.
“U.S. Appl. No. 18/084,909, Response filed Jul. 18, 2023 to Non Final Office Action dated Apr. 20, 2023”, 6 pgs.
“U.S. Appl. No. 18/084,943, Response filed Jul. 18, 2023 to Non Final Office Action dated Apr. 20, 2023”, 6 pgs.
“U.S. Appl. No. 18/084,967, Notice of Allowance dated Jul. 20, 2023”, 8 pgs.
Related Publications (1)
Number Date Country
20220150361 A1 May 2022 US
Provisional Applications (5)
Number Date Country
61156746 Mar 2009 US
61156751 Mar 2009 US
61100578 Sep 2008 US
61055417 May 2008 US
61041829 Apr 2008 US
Continuations (11)
Number Date Country
Parent 17446551 Aug 2021 US
Child 17649113 US
Parent 17061311 Oct 2020 US
Child 17446551 US
Parent 16520195 Jul 2019 US
Child 17061311 US
Parent 16247214 Jan 2019 US
Child 16520195 US
Parent 15871794 Jan 2018 US
Child 16247214 US
Parent 15412933 Jan 2017 US
Child 15871794 US
Parent 15245456 Aug 2016 US
Child 15412933 US
Parent 14459615 Aug 2014 US
Child 15245456 US
Parent 13743080 Jan 2013 US
Child 14459615 US
Parent 13632798 Oct 2012 US
Child 13743080 US
Parent 12417630 Apr 2009 US
Child 13632798 US