throbber
Case 5:16-cv-06925-LHK Document 57 Filed 03/31/17 Page 1 of 58
`
`
`
`UNITED STATES DISTRICT COURT
`
`NORTHERN DISTRICT OF CALIFORNIA
`
`SAN JOSE DIVISION
`
`Case No. 16-CV-06925-LHK
`
`ORDER GRANTING IN PART AND
`DENYING IN PART DEFENDANT'S
`MOTION TO DISMISS
`
`Re: Dkt. No. 31
`
`
`
`
`
`TWILIO, INC.,
`
`Plaintiff,
`
`v.
`
`TELESIGN CORPORATION,
`
`Defendant.
`
`
`
`
`
`
`
`
`
`Plaintiff Twiilio, Inc. (“Twilio” or “Plaintiff”) filed a patent infringement suit against
`
`Defendant Telesign Corporation (“Telesign” or “Defendant”) and alleged that Defendant infringed
`
`the claims of U.S. Patent Nos. 8,306,021 (“the ’021 Patent”), 8,837,465 (“the ’465 Patent”),
`
`8,755,376 (“the ’376 Patent”), 8,738,051 (“the ’051 Patent”), 8,737,962 (“the ’962 Patent”),
`
`9,270,833 (“the ’833 Patent”), and 9,226,217 (“the ’217 Patent”) (collectively, the “Asserted
`
`Patents”). Before the Court is Defendant’s Motion to Dismiss, which seeks to dismiss all seven
`
`Asserted Patents. ECF No. 31 (“Mot.”). Due to the breadth of Defendant’s Motion to Dismiss,
`
`the Court will issue its decision in two orders. This order covers the ’962, ’833, ’021, ’465, and
`
`’376 patents. Having considered the submissions of the parties, the relevant law, and the record in
`
`this case, the Court GRANTS IN PART and DENIES IN PART Defendant’s Motion to Dismiss
`
`Case No. 16-CV-06925-LHK
`ORDER GRANTING IN PART AND DENYING IN PART DEFENDANT'S MOTION TO DISMISS
`
`1
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`Northern District of California
`
`United States District Court
`
`

`

`Case 5:16-cv-06925-LHK Document 57 Filed 03/31/17 Page 2 of 58
`
`
`
`with respect to these patents.
`
`I. BACKGROUND
`
`A. Factual Background
`
`1. The Parties
`
`Plaintiff Twilio is a Delaware corporation with its primary place of business in San
`
`Francisco, California. ECF No. 1 (“Compl.”) ¶ 1. Plaintiff’s co-founder, Jeffrey Lawson, is a co-
`
`inventor on three of the Asserted Patents. ECF No. 45 at 1. Defendant Telesign is a California
`
`corporation with its principal place of business in Marina Del Rey, California. Compl. ¶ 15.
`
`2. The Twilio Patents
`
`Plaintiff’s complaint and the parties’ briefing divides the asserted patents into four
`
`families: (1) the ’962 and ’833 patents (the “Score Patents”), (2) the ’051 patent (the “Delivery
`
`Receipts Patent”), (3) the ’021, ’465, and ’376 patents (the “Platform Patents”), and (4) the ’217
`
`patent (the “Path Selection Patent”). As mentioned above, this order covers the ’962, ’833, ’021,
`
`’465, and ’376 patents, which are the patents from the Score Patents and Platform Patents families.
`
`An overview of the two patent families follows.
`
`a. The Score Patents
`
`i. Specification
`
`The ’962 patent is titled “Method and System for Preventing Illicit Use of a Telephony
`
`Platform.” Compl, Ex. E (’962 patent). It was filed on July 24, 2013 and issued on May 27, 2014.
`
`It claims priority to a provisional application, which was filed on July 24, 2012.
`
`The ’833 patent is also titled “Method and System for Preventing Illicit Use of a
`
`Telephony Platform.” Compl., Ex. F (’833 patent). It was filed on April 15, 2014 as a divisional
`
`application of the ’962 patent. It issued on February 23, 2016. Its specification is identical to the
`
`’962 patent, and it also claims priority to the same July 24, 2012 provisional application.
`
`The Score Patents generally relate to “preventing illicit use of a telephony platform.” ’962
`
`patent at col. 1:15. As the Background section of the specification explains, “[t]elephone fraud
`
`has long been a problem for telephony systems.” Id. at col. 1:20-21. However, in recent years,
`
`Case No. 16-CV-06925-LHK
`ORDER GRANTING IN PART AND DENYING IN PART DEFENDANT'S MOTION TO DISMISS
`
`2
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`Northern District of California
`
`United States District Court
`
`

`

`Case 5:16-cv-06925-LHK Document 57 Filed 03/31/17 Page 3 of 58
`
`
`
`“the opportunities for telephony fraud is [sic] even greater.” Id. at col. 1:22-23. This is because
`
`“[t]he recent development of new telephony platforms . . . enable[] nefarious parties to create
`
`programs that commit telephony fraud.” Id. at col. 1:23-26. Examples of such fraud include toll
`
`fraud, chargebacks, and “us[ing] valuable resources for improper uses that would otherwise be
`
`used for legitimate applications.” Id. at col. 1:26-33.
`
`The Score Patents purport to address telephony fraud through a method of “fraud scoring,”
`
`which “monitor[s], measure[s], and detect[s] instances of illicit use that occur within or through
`
`the communication platform.” Id. at col. 4:4-6. Figure 1 shows how this fraud scoring
`
`mechanism is deployed within a communication platform:
`
`As Figure 1 illustrates, the fraud scoring method functions as a component of a communication
`
`platform. Id. at Fig. 1. The communication platform includes a multitenant account system,
`
`which “manage[s] and facilitate[s] the accounts within the communication platform.” Id. at col.
`
`3:28-29. It also includes “operational components” which include “any servers, databases,
`
`processors or other resources that either define account configuration, account usage, or other
`
`Case No. 16-CV-06925-LHK
`ORDER GRANTING IN PART AND DENYING IN PART DEFENDANT'S MOTION TO DISMISS
`
`3
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`Northern District of California
`
`United States District Court
`
`

`

`Case 5:16-cv-06925-LHK Document 57 Filed 03/31/17 Page 4 of 58
`
`
`
`aspects of the account within the platform.” Id. at col. 5:33-36. The fraud scoring method utilizes
`
`the multitenant account system and the operational components of the communication platform.
`
`Id. at col. 2:16-35, 5:30-32, Fig. 1.
`
`Figure 2 illustrates the operation of the fraud scoring method within the communication
`
`platform:
`
`The first step, “enrolling a plurality of accounts in the platform,” refers to general account set up
`
`and configuration activities. Id. at col. 6:50-51. This includes associating an account with phone
`
`number(s), billing information, and relevant internet resources. Id. at col. 7:13-50. In the system,
`
`it is possible to create sub-accounts that correspond to a single, base account. Id. at col. 3:54-58.
`
`“For example, an application developer may create a customer service application, and then allow
`
`end users to signup as customers within his account.” Id. at col. 3:60-63. The customers’
`
`accounts would then be sub-accounts of the customer service application’s account. See id. This
`
`allows both the customer and the customer service application to modify the customer accounts.
`
`Id. at col. 3:63-66.
`
`The remaining steps describe the core fraud detection functionality. First, at step S120, the
`
`Case No. 16-CV-06925-LHK
`ORDER GRANTING IN PART AND DENYING IN PART DEFENDANT'S MOTION TO DISMISS
`
`4
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`Northern District of California
`
`United States District Court
`
`

`

`Case 5:16-cv-06925-LHK Document 57 Filed 03/31/17 Page 5 of 58
`
`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`fraud score method “receive[s] usage data of a telephony platform component.” Id. at col. 7:51-
`
`52, Fig. 2. This step “functions to collect data used to calculate a fraud score.” Id. at col. 7:53.
`
`Usage data can be pulled from “a variety of data sources,” including “call history databases,
`
`messaging history databases, account databases, credit card hash databases, account databases,
`
`client device information databases, IP address databases, phone number databases, credit card or
`
`spending databases, API logs, and/or any suitable machine containing data useful for calculating a
`
`fraud score.” Id. at col. 4:38, 8:3-9. For example, usage data stored in a call history database can
`
`include “call duration, account(s) associated with a call, call destination endpoints, caller
`
`endpoints, carrier origin of a call, destination carrier, frequency of calls, number of concurrent
`
`calls for an account, or any suitable parameter of call data.” Id. at col. 10:6-8.
`
`Next, at step S130, the fraud score method “calculat[es] a fraud score from the usage data.”
`
`Id. at col. 8:55-56, Fig 2. This “functions to process usage data to generate metric that reflects the
`
`likelihood that illicit use of the telephony platform is occurring.” Id. at col. 8:56-58. To calculate
`
`a fraud score, the method uses a set of fraud rules. Id. at col. 8:58-59. Fraud rules can either be
`
`conditions within a single account, or patterns across multiple accounts. Id. at col. 8:64-66. When
`
`a fraud rule is triggered, the corresponding account(s) are assigned a fraud score, which is
`
`generally a “numeric value” but may be a “label or any suitable construct to communicate fraud
`
`likelihood.” Id. at col. 9:16-18, 23-25. A single account may have multiple fraud rules (and, as a
`
`result, multiple fraud scores) associated with it, which reflect different fraud detection heuristics.
`
`Id. at col. 9:30-36.
`
`Next, at step S140, the method “detect[s] when fraud scores of an account satisfy a fraud
`
`threshold.” Id. at col. 11:64-65, Fig. 2. This “function[s] to monitor and assess when a scenario
`
`of illicit behavior is occurring based on the fraud scores.” Id. at col. 11:65-67. In one example,
`
`this is achieved by summing all the fraud scores across an account, and detecting when the sum is
`
`higher than a numeric threshold. Id. at col. 12:12-16.
`
`Finally, at step S150, the method “tak[es] action when a fraud score satisfies a fraud
`
`threshold.” Id. at col. 12:27-28. This “functions to react to fraud scores that indicate illicit
`
`Case No. 16-CV-06925-LHK
`ORDER GRANTING IN PART AND DENYING IN PART DEFENDANT'S MOTION TO DISMISS
`
`5
`
`Northern District of California
`
`United States District Court
`
`

`

`Case 5:16-cv-06925-LHK Document 57 Filed 03/31/17 Page 6 of 58
`
`
`
`behavior.” Id. at col. 12:28-29. Examples of actions include “flagging the account, throttling
`
`communication of an account, requesting additional billing information, notifying account holder,
`
`notifying an analyst of the communication platform, performing additional fraud detection
`
`analysis on the account, blocking particular actions on the account, or performing any suitable
`
`action.” Id. at col. 12:29-35.
`
`Neither the claims nor the specification provide much restriction on how these steps must
`
`be implemented. Instead, the specification makes a number of non-limiting statements, including:
`
`“The communication platform 100 can provide any suitable service.” Id. at col. 2:62-63. “The
`
`[fraud scoring] method is preferably used to prevent illicit use cases in . . . any suitable form of
`
`telephony communication.” Id. at col. 5:55-59. “The telephony platform components coupled to
`
`the fraud scoring system may include . . . any suitable machine containing data useful for
`
`calculating a fraud score.” Id. at col. 8:2-9. “[A]ny suitable usage data may . . . be used in
`
`calculating fraud score.” Id. at col. 9:55-56. And in particular, usage data associated with call
`
`history data may be “any suitable parameter of call data.” Id. at col. 10:7-8. Usage data
`
`associated with messaging history data may be “any suitable parameter of a message or messages
`
`sent through the telephony platform.” Id. at col. 10:40-41. “Usage data associated with platform
`
`account configuration data may include . . . any suitable platform account data.” Id. at col. 10:59-
`
`62. “[A]ny suitable parameters may be specified to determine a [fraud] rule set.” Id. at col. 13:6-7.
`
`“The fraud score is . . . any suitable construct to communicate fraud likelihood.” Id. at col. 9:22-
`
`24. Further, “any suitable relationship may be defined” between the fraud score and the likelihood
`
`of illicit use (e.g., the greater the score, the greater the likelihood, or vice versa). Id. at col. 9:24-
`
`26. “The reaction to a fraud score may include . . . performing any suitable action.” Id. at col.
`
`12:29-35.
`
`ii. Asserted Claims
`
`
`
`In its Complaint, Twilio alleges that Telesign infringes at least claim 1 of the ’962 patent
`
`and claim 5 of the ’833 patent. Compl. ¶¶ 75, 91. Claim 1 recites:
`
`1. A method comprising:
`
`6
`
`Case No. 16-CV-06925-LHK
`ORDER GRANTING IN PART AND DENYING IN PART DEFENDANT'S MOTION TO DISMISS
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`Northern District of California
`
`United States District Court
`
`

`

`Case 5:16-cv-06925-LHK Document 57 Filed 03/31/17 Page 7 of 58
`
`
`
`enrolling a plurality of accounts on a telecommunications platform, wherein an
`account includes account configuration;
`
`at a fraud detection system of the telecommunications platform, receiving
`account usage data, wherein the account usage data includes at least
`communication configuration data and billing configuration data of account
`configuration and further includes communication history of the plurality of
`accounts;
`
`calculating fraud scores of a set of fraud rules from the usage data, wherein at
`least a sub-set of the fraud rules include conditions of usage data patterns
`between at least two accounts;
`
`detecting when the fraud scores of an account satisfy a fraud threshold;
`
`initiating an action response when a fraud score satisfies the fraud threshold.
`
`’962 patent at col. 14:4-20.
`
`Claim 5 of the ’833 patent recites:
`
`5. A method comprising: at a telecommunication platform:
`
`enrolling a plurality of parent accounts in the telecommunication platform;
`
`within a first enrolled account, enrolling at least one sub-account that is
`managed by the first account;
`
`at a fraud detection system of the telecommunication platform, receiving sub-
`account usage data of a plurality of sub-accounts of the telecommunication
`platform, wherein the sub-account usage data of each of the plurality of sub-
`accounts includes at least configuration data of the sub-account and
`communication history data;
`
`calculating fraud scores of a set of fraud scores from the sub-account usage
`data;
`
`in a case where the set of fraud scores of a sub-account satisfy a fraud threshold,
`programmatically notifying the corresponding parent account of illicit behavior
`of the sub-account, the notification being provided via the telecommunication
`platform,
`
`wherein illicit behavior includes at least one of toll fraud, spamming, terms of
`service violations, denial of service attacks, credit card fraud, suspicious
`behavior, and phishing attacks,
`
`wherein the parent account is an account of an external service provider system,
`and
`
`wherein each sub-account is an account of a system that uses a service of the
`external service provider system.
`
`’833 patent at col. 15:9–col. 16:4.
`
`Case No. 16-CV-06925-LHK
`ORDER GRANTING IN PART AND DENYING IN PART DEFENDANT'S MOTION TO DISMISS
`
`7
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`Northern District of California
`
`United States District Court
`
`

`

`Case 5:16-cv-06925-LHK Document 57 Filed 03/31/17 Page 8 of 58
`
`
`
`b. The Platform Patents
`
`i. Specification
`
`The ’021 patent is titled “System and Method for Processing Telephony Sessions.”
`
`Compl. Ex. A (’021 patent). It was filed on April 2, 2009 and issued on November 6, 2012. It
`
`claims priority to three provisional applications, the earliest of which was filed on April 2, 2008.
`
`The ’465 and ’376 patents are also titled “System and Method for Processing Telephony
`
`Sessions.” Compl. Ex. B (’465 patent); Compl. Ex. C (’376 patent). The ’465 patent was filed on
`
`January 16, 2013 and issued on September 16, 2014. The ’376 patent was filed on January 16,
`
`2013 and issued on June 17, 2014. Both patents are continuations of another patent application,
`
`which is a continuation of the ’021 patent. Accordingly, all three Platform Patents share the same
`
`specification and priority date.
`
`The Platform Patents generally relate to “[a] system and method for processing telephony
`
`sessions.” ’021 patent at col. 1:25-26. Telephony sessions, such as a phone call initiated over a
`
`public switched telephone network (“PSTN”) or a text message sent over the Short Message
`
`Service (SMS), are communications from one point to another. See id. at col. 3:16-53. However,
`
`these communications can be combined with computer logic to create interactive applications,
`
`such as an automated customer service hotline, see id. at col. 15:60-65, or a dial-in conferencing
`
`service, see id. at col. 16:11-20. In order to accomplish this, communication signals need to be
`
`“processed” so that input from the user (e.g., a button pressed, text sent, spoken response) is sent
`
`to the computer logic, and the appropriate response is sent back. See generally id. at col. 6:48-8:5.
`
`For example, processing a call to a customer service hotline would include detecting that the user
`
`selected, say, a “2” from the initial menu, and then retrieving and playing a recording for the new
`
`set of menu options to which option “2” corresponds. See, e.g., id. at col. 15:49-16:4, Fig. 7.
`
`The Background section of the specification explains that, at the time of patenting,
`
`implementation of these interactive applications was complicated. Id. at col. 1:30-58. At that
`
`time, “legislation and the advent of Voice over Internet Protocol (VoIP) ha[d] revolutionized the
`
`communication industry.” Id. at col. 1:30-32. There were new technologies for interactive
`
`Case No. 16-CV-06925-LHK
`ORDER GRANTING IN PART AND DENYING IN PART DEFENDANT'S MOTION TO DISMISS
`
`8
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`Northern District of California
`
`United States District Court
`
`

`

`Case 5:16-cv-06925-LHK Document 57 Filed 03/31/17 Page 9 of 58
`
`
`
`applications, accompanied by new business models, and service providers. Id. at col. 1:32-33.
`
`For example, “[o]ne c[ould] implement extensible call switching and voice application logic in
`
`Open source software applications, such as Asterisk and FreeSwitch.” Id. at col. 1:34-36.
`
`However, getting these modern applications to work with traditional communications networks—
`
`such as telephone networks that handled voice communications and SMS messaging—presented
`
`“new complexities and challenges.” Id. at col. 1:38. In particular, “[d]eploying telephony services
`
`require[d] 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.” Id. at col. 1:39-43. In addition, the actual interactive application itself had to be
`
`developed, which “require[d] developers to train in new languages, tools, and development
`
`environments.” Id. at col. 1:45-46. Finally, “[o]ngoing operation and maintenance of these
`
`services require[d] teams to adopt new analysis tools, performance metrics, and debugging
`
`methodologies.” Id. at col. 1:50-53. All of these efforts were costly, requiring “significant
`
`upfront and ongoing investment.” Id. at col. 1:54-55.
`
`The Processing Patents purport to address these problems by providing a way for a modern
`
`applications to interact with traditional communication networks that mimics web-based
`
`programming. See id. at col. 2:1-18. In particular, this solution “use[s] the familiar web site
`
`visitor model,” where each step of a phone call is made to act like a web page. Id. at col. 2:5-8.
`
`For example, in one embodiment, input that a user enters into his telephone (e.g., pressing a “2” in
`
`the automated customer hotline example) is sent to the application via HTTP POST, the same
`
`mechanism that is used when a user submits a form on a website. See id. at col. 4:49-57, Fig. 7.
`
`The methods and systems also leverage “familiar concepts such as HTTP redirects, accessing
`
`resources through an API, cookies, and mime-type responses.” Id. at col. 2:9-11. According to
`
`the Processing Patents, this reduces complexity and expense because it “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.” Id. at col. 2:2-5.
`
`Case No. 16-CV-06925-LHK
`ORDER GRANTING IN PART AND DENYING IN PART DEFENDANT'S MOTION TO DISMISS
`
`9
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`Northern District of California
`
`United States District Court
`
`

`

`Case 5:16-cv-06925-LHK Document 57 Filed 03/31/17 Page 10 of 58
`
`
`
`In the Processing Patents, the ability to interact with a traditional communication network
`
`in a web-like way is accomplished through a “call router,” which sits between the traditional
`
`communication network and the modern application and translates between the two. Id. at col.
`
`6:49-8:5, 13:12-14:14. Figures 2A and 3A show this setup for a modern application
`
`communicating with a traditional phone line:
`
`Item 26 represents a server that runs the modern application (“application server”), such as code
`
`that implements the tree of menu options in a customer service hotline. Id. at col. 14:15-15:47. It
`
`communicates with the call router, item 22, using familiar web-like constructs. Id. at col. 13:29-
`
`14:14. The call router then takes these web-based descriptions of interactions and translates them
`
`into telephone signals that can be sent to the user’s telephone, item 21, over a traditional telephone
`
`network, and vice versa. Id. at col. 6:49-8:5, 13:12-14:14. For example, the call router is able to
`
`detect the signal indicating that a user pressed a “2” coming from a traditional telephone line,
`
`translate that into an HTTP POST response, and send that over the internet to the application
`
`server. See id. at col. 13:12-14:14, Fig. 7.
`
`10
`
`Case No. 16-CV-06925-LHK
`ORDER GRANTING IN PART AND DENYING IN PART DEFENDANT'S MOTION TO DISMISS
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`Northern District of California
`
`United States District Court
`
`

`

`Case 5:16-cv-06925-LHK Document 57 Filed 03/31/17 Page 11 of 58
`
`
`
`
`
`Figure 1 illustrates the operation of the call router, the application server, and the
`
`communication network:
`
`The call router communicates with the application server using an “application layer protocol,”
`
`such as HTTP or HTTPS. Id. at col. 14:24-26. The location of the application server, or an
`
`application hosted on an application server, is identified using a universal resource identifier
`
`(“URI”). Id. at col. 14:21-23. When a user initiates a telephony session (such as a phone call), the
`
`call router determines the URI that corresponds to the application server responsible for handling
`
`that call, and maps the call to that URI. Id. at col. 3:54-4:10. (For example, if a user calls a dial-in
`
`voice conferencing number, the call router maps that number to the URI for the server hosting the
`
`conferencing application. See id. at col. 3:54-4:10, 15:51-54.) The call router then communicates
`
`that a new call was initiated to the application server by digitally signing any parameters
`
`associated with the call, such as the caller’s number, the number they are calling, and their account
`11
`
`Case No. 16-CV-06925-LHK
`ORDER GRANTING IN PART AND DENYING IN PART DEFENDANT'S MOTION TO DISMISS
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`Northern District of California
`
`United States District Court
`
`

`

`Case 5:16-cv-06925-LHK Document 57 Filed 03/31/17 Page 12 of 58
`
`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`ID, and sending this information to the application server as a web request. Id. at col. 4:11-5:46,
`
`13:29-14:14, Figs. 4A-F. The application server then determines the next action that should be
`
`taken, and sends this information back to the call router as a response. Id. at col. 6:15-48, Figs.
`
`5A-B. (For example, if a user calls a dial-in voice conferencing number, the conferencing
`
`application may determine that the next step would be to play a greeting asking the user to enter
`
`his conference ID. See id. at Fig. 7. In this case, it sends back a response to the call router with an
`
`audio file for this greeting and instructions to play it. See id.) The call router receives this
`
`response and converts it into a “telephony action.” Id. at col. 6:49-8:5. It does this by sending the
`
`appropriate signals over the telephone network to the user’s phone. Id. at col. 6:49-64. Any
`
`subsequent input from the user is processed as a new request using this same request and response
`
`pattern. See, e.g., id. at Figs. 12-15.
`
`
`
`In addition to translating and relaying signals between the communication network and the
`
`application server, the call router also stores state information about the telephony session, such as
`
`the number associated with a particular call, id. at col. 10:1-4, the number to which a call was
`
`directed, id. at col. 10:29-32, or the current state of a call (e.g., in-progress, completed, failed, not
`
`yet initiated), id. at col. 10:40-42. It then makes this information accessible to the application
`
`server through a Call Router Application Programming Interface (“API”), which the application
`
`server can use at any time. Id. at col. 8:52-54; see generally id. at col. 8:7-12:64. In addition, the
`
`application server can use the Call Router API to direct the call router to take certain actions, such
`
`as modify information stored by the call router relating to calls or preform operations on an
`
`existing call. Id. at col. 9:42-48. For example, the application server can direct the call router to
`
`modify data about the number that a call was initiated from, id. at col. 10:1-4, or change the state
`
`of a current call (e.g., hanging up a current call, transferring a current call, or initiating recording
`
`of a current call), id. at col. 10:42-53.
`
`This functionality is implemented through “resources” located on the call router, which are
`
`web-accessible data elements that each are associated with their own URIs. Id. at col. 9:33-40.
`
`Using the Call Router API, the application server can access or modify a resource by performing
`
`Case No. 16-CV-06925-LHK
`ORDER GRANTING IN PART AND DENYING IN PART DEFENDANT'S MOTION TO DISMISS
`
`12
`
`Northern District of California
`
`United States District Court
`
`

`

`Case 5:16-cv-06925-LHK Document 57 Filed 03/31/17 Page 13 of 58
`
`
`
`HTTP actions (e.g., POST, PUT, GET, or DELETE) on its associated URI. Id. For example,
`
`information about the number from which a particular call was initiated is associated with the
`
`“caller ID resource.” Id. at col. 10:1-4. To request the number from which a particular call was
`
`initiated, the application server can send a GET request to the URI of the caller ID resource. See
`
`id. at col. 9:42-46, 10:1-4. The call router then sends a response to the application server with that
`
`information. Id. at col. 10:1-4. These resources allow the application server to access information
`
`it needs about the telephony session using familiar web-programming constructs. See id. at col.
`
`8:7-51.
`
`ii. Asserted Claims
`
`
`
`In its Complaint, Twilio alleges that Telesign infringes at least claim 13 of the ’021 patent.
`
`Compl. ¶ 135. Claim 13 recites:
`
`13. A method comprising:
`
`communicating with an application server using an application layer protocol;
`
`processing telephony instructions with a call router;
`
`creating call router resources accessible through a call router Application
`Programming Interface (API), wherein the call router resources are accessible
`by outside devices at an addressable Uniform Resource Identifier (URI);
`
`mapping a telephony session to the URI, the URI being associated with the
`application server;
`
`sending a request to the application server;
`
`embedding state information of the telephony session in the request;
`
`receiving from the application server a response comprising telephony
`instructions for sequential processing;
`
`receiving an API request from the application server for interaction with a
`resource; and
`
`responding to an API request based on the interaction with a resource.
`
`’021 patent at col. 19:19–col. 20:2.
`
`Twilio also alleges that Telesign infringes at least claim 1 of the’465 patent. Compl. ¶ 156.
`
`Claim 1 recites:
`
`Case No. 16-CV-06925-LHK
`ORDER GRANTING IN PART AND DENYING IN PART DEFENDANT'S MOTION TO DISMISS
`
`13
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`Northern District of California
`
`United States District Court
`
`

`

`Case 5:16-cv-06925-LHK Document 57 Filed 03/31/17 Page 14 of 58
`
`
`
`1. A method for processing a telephony communication comprising:
`
`associating an initial URI with a telephony endpoint;
`
`initiating a telephony voice session for a telephony communication to the
`telephony endpoint;
`
`mapping the initial URI to the telephony session;
`
`sending an application layer protocol request to an application resource
`specified by the URI and embedding state information of the telephony voice
`session in the request;
`
`receiving a response to the application layer protocol request sent to the
`application resource, wherein the response includes a document of telephony
`instructions; and
`
`executing telephony actions during the telephony voice session according to a
`sequential processing of at least a subset of the telephony instructions of the
`response.
`
`’465 patent at col. 18:37-54.
`
`Twilio also alleges that Telesign infringes at least claim 1 of the ’376 patent. Compl. ¶
`
`169. Claim 1 recites:
`
`1. A method comprising:
`
`operating a telephony network and internet connected system cooperatively
`with a plurality of application programming Interface (API) resources, wherein
`operating the system comprises:
`
`initiating a telephony session,
`
`communicating with an application server to receive an application response,
`
`converting the application response into executable operations to process the
`telephony session,
`
`creating at least one informational API resource; and
`
`exposing the plurality of API resources through a representational state transfer
`(REST) API that comprises:
`
`receiving a REST API request that specifies an API resource URI, and
`
`responding to the API request according to the request and the specified
`resource URI.
`
`’376 patent at col. 18:29-45.
`
`Case No. 16-CV-06925-LHK
`ORDER GRANTING IN PART AND DENYING IN PART DEFENDANT'S MOTION TO DISMISS
`
`14
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`Northern District of California
`
`United States District Court
`
`

`

`Case 5:16-cv-06925-LHK Document 57 Filed 03/31/17 Page 15 of 58
`
`
`
`B. Procedural History
`
`On December 1, 2016, Plaintiff filed the instant patent infringement suit. In its complaint,
`
`Plaintiff alleged that Defendant “has infringed and continues to infringe one or more claims of the
`
`[Asserted Patents].” Compl. ¶ 75, 91, 106, 135, 156, 169, 184. The products accused included
`
`“Defendant’s Smart Verify product,” “Auto Verify product,” “SMS Verify product,” “Voice
`
`Verify Product,” “Push Verify product,” and “Score and Phone ID products.” Id. ¶¶ 40-45.
`
`On January 25, 2017, Defendant filed the instant Motion to Dismiss, ECF No. 31 (“Mot.”).
`
`On February 9, 2017, Plaintiff filed an opposition to Defendant’s Motion to Dismiss, ECF No. 37
`
`(“Opp’n”), and on February 15, 2017, Defendant filed a reply, ECF No. 39 (“Reply”).
`
`On March

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket