`
`
`
`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