Apple, Inc. v. Motorola, Inc. et al

Filing 240

Exhibit to 236 Declaration,,,, filed by Motorola, Inc., Motorola Mobility, Inc. (Attachments: # 1 Exhibit 15 - Excerpt from April 25, 2011 ITC Hearing, Inv. No. 337-TA-710, # 2 Exhibit 17 - Patent No. 5,519,867, # 3 Exhibit 18 - Patent No. 6,275,983, # 4 Exhibit 20 - Prosecution History for Patent No. 5,519,867, # 5 Exhibit 21 - Patent No. 5,566,337, # 6 Exhibit 23 - Apple's Infringment Contentions regarding Patent No. 5,566,337, # 7 Exhibit 25 - Email, dated June 3, 2011, # 8 Exhibit 26 - Motorola's Preliminary Proposed Claim Constructions, # 9 Exhibit 27 - Email, dated June 6, 2011, # 10 Exhibit 28 - Disregard; wrong document filed, see entry 255 for replaced version # 11 Exhibit 30 - Anatomy and Physiology of an Android) (Burrows, James) Modified on 11/8/2011 (llj). Modified Exhibit #28 with replaced version entry on 11/9/2011 (mmo).

Download PDF
Exhibit 23 IN THE UNITED STATES DISTRICT COURT FOR THE WESTERN DISTRICT OF WISCONSIN APPLE INC. and NeXT SOFTWARE INC. (f/k/a NeXT COMPUTER, INC.), Plaintiffs, Case No. 10-CV-662 (BBC) JURY TRIAL DEMANDED v. MOTOROLA, INC. and MOTOROLA MOBILITY, INC. Defendants. PLAINTIFFS’ SUPPLEMENTAL OBJECTIONS AND RESPONSES TO DEFENDANTS’ FIRST SET OF INTERROGATORIES (NO. 6) Pursuant to Rules 26 and 33 of the Federal Rules of Civil Procedure, Plaintiffs Apple Inc. (“Apple”) and NeXT Software, Inc. (“NeXT”) (collectively, “Plaintiffs”) hereby provide their first supplemental objections and responses to the first set of interrogatories served by Defendants Motorola, Inc. and Motorola Mobility, Inc. (collectively, “Defendants”). GENERAL OBJECTIONS Plaintiffs reiterate and incorporate by reference their objections to Defendants’ First Set of Interrogatories, as if specifically stated herein. FURTHER OBJECTIONS AND RESPONSES INTERROGATORY NO. 6 For each claim of the Apple Asserted Patents that you allege Defendants have infringed or are infringing, describe the complete basis for your contention that Defendants are infringing or have infringed that claim by describing in a claim chart on an element-by-element basis where each element of each Asserted Claim can be found in each Accused Instrumentality of Defendants that you contend infringes that claim, whether such alleged infringement is literal or by equivalents, how 35 U.S.C. § 112(6) is satisfied, if applicable, and whether such alleged infringement is direct (i.e., under 35 U.S.C. § 271(a)) or indirect (i.e., under 35 U.S.C. §§ 271(b) or (c)). RESPONSE TO INTERROGATORY NO. 6 In addition to their General Objections, Plaintiffs object to this interrogatory as vague and ambiguous, overly broad, and unduly burdensome. Plaintiffs further object to this interrogatory to the extent that it seeks information that is (a) protected by the attorney-client privilege or work product doctrine; (b) confidential, proprietary, or trade secret; (c) subject to Plaintiffs’ legal or contractual obligation of nondisclosure or confidentiality to a third party; and/or (d) public or readily available to Defendants. Plaintiffs further object to the extent this interrogatory calls for a legal conclusion. Plaintiffs also object to this contention interrogatory as premature because, among other things, Defendants have not yet produced documents or information about its products used to infringe the Apple Asserted Patents. Plaintiffs expressly reserve the right to amend, supplement, and/or correct its response to this interrogatory as additional information becomes available to Plaintiffs during the course of their discovery and investigation, in response to any claim construction by the Court, or in response to Defendants’ responses to Plaintiffs’ interrogatories (or any supplement thereto). Subject to their General and Specific Objections, Plaintiffs respond as follows: Plaintiffs will provide their infringement contentions by March 4, 2011 pursuant to the 2 Court’s Preliminary Pretrial Order and will supplement those contentions as appropriate. Plaintiffs will provide their expert reports regarding infringement of the Apple Asserted Patents by September 2, 2011 pursuant to the Court’s Preliminary Pretrial Order and will supplement those reports as appropriate and necessary and as permitted by the Court. SUPPLEMENTAL RESPONSE TO INTERROGATORY NO. 6 Subject to their General and Specific Objections above, Plaintiffs hereby incorporate by reference Plaintiffs’ Identification of Asserted Claims and Accused Products regarding U.S. Patent Nos. 7,479,949 (“the ’949 patent”), 6,493,002 (“the ’002 patent”), 5,838,315 (“the ’315 patent”), RE 39,486 (the “RE ’486 patent”), 6,424,354 (“the ’354 patent”), 6,343,263 (“the ’263 patent”), 6,275,983 (“the ’983 patent”), 5,969,705 (“the ’705 patent”), 5,946,647 (“the ’647 patent”), 5,929,852 (“the ’852 patent”), 5,915,131 (“the ’131 patent”), 5,566,337 (“the ’337 patent”), 5,519,867 (“the ’867 patent”), 5,481,721 (“the ’721 patent”) and 5,455,599 (“the ’599 patent”), served on March 4, 2011. In addition, based upon presently known information, Plaintiffs append claim charts for each of the Apple Patents-in-Suit as follows: • • • • • • • • • • • • • Ex. A: ’949 Patent, claims 1, 2, 4-6, and 9-20. Ex. B: ’002 Patent, claims 1, 3-7, 11, 21, 22, 26, 28-32, 36, 37, 46, and 47. Ex. C: ’315 Patent, claims 1, 7, 8, and 12-14. Ex. D: RE ’486 Patent, claims 1-3, 6-12, 14-17, and 20. Ex. E: ’354 Patent, claims 1, 3, 5-8, 41, and 42. Ex. F: ’263 Patent, claims 1-6, 24, 25, 29, and 30. Ex. G: ’983 Patent, claims 1-11, 16, 17, and 22. Ex. H: ’705 Patent, claim 1. Ex. I: ’647 Patent, claims 1, 3, 4, 8, 9, 13-15, 19, 20, and 22. Ex. J: ’852 Patent, claims 1-3, 7-13, and 15-19. Ex. K: ’131 Patent, claims 1, 3, 4, 7-12, and 15-17. Ex. L: ’337 Patent, claims 1, 3, 6-10, 12, 14, 16-19, 21, 23, and 24. Ex. M: ’867 Patent, claims 1-3, 7-10, 12, 13, and 32. 3 • • Ex. N: ’721 Patent, claims 1, 3-7, 11-14, 19-22, and 24. Ex. O: ’599 Patent, claims 1-3, 15, 16, 18, 19, 22, and 24-26. Defendants infringe or have infringed these claims (collectively, “the Asserted Claims”) by making, using, selling, offering for sale or importing at least the following devices: Droid, Droid 2, Droid 2 Global, Droid X, Droid Pro, Cliq, Cliq XT, Cliq 2, Charm, BackFlip, Devour, i1, Citrus, Defy, Bravo, Flipout, Flipside, Atrix 4G, and Xoom (collectively “the Accused Products”). As described in further detail in the appended claim charts, see Exs. A-O, each element of each of the Asserted Claims is met by the Accused Products. Where the basis for infringement is not significantly distinct, Plaintiffs have selected representative Accused Products as appropriate. Defendants directly and indirectly infringe all of the Asserted Claims. Defendants directly infringe these claims by making, using, offering for sale, or selling the Accused Products within the United States, or by importing the Accused Products into the United States. In addition, Defendants’ customers directly infringe the Asserted Claims by using the Accused Products, and Defendants induce this direct infringement of the Asserted Claims by selling the Accused Products and by providing manuals and other user guides encouraging their customers to use the Accused Products in an infringing manner. Defendants further contribute to this direct infringement of the Asserted Claims by selling the Accused Products, which are specifically designed to practice the inventions of the Asserted Claims and have no substantial non-infringing uses. Based on presently known information, Plaintiffs contend that the Accused Products made, used, sold, offered for sale or imported by Defendants infringe each of the Asserted Claims literally or, in the alternative, under the doctrine of equivalents. 4 These contentions are preliminary and based only on publicly available information. Defendants have not yet provided discovery as to twelve of the fifteen Apple Patents-in-Suit and Plaintiffs’ investigation of Defendants’ infringement is ongoing. Based on discovery and Plaintiffs’ continued investigations, Plaintiffs may identify additional claims that are infringed and additional accused products, including products that Defendants may introduce in the future. Plaintiffs expressly reserve the right to amend their response to this Interrogatory to include such products. Also, these contentions are made based on information ascertained to date, and Plaintiffs expressly reserve the right to modify or amend the contentions contained herein based on the Court’s claim constructions or to reflect additional information that becomes available to Plaintiffs as discovery and their investigation proceeds. Dated: March 18, 2011 WEIL, GOTSHAL & MANGES LLP By: /s/ Jill J. Ho Jill J. Ho Attorneys for Apple Inc. and NeXT Software, Inc. 5 CERTIFICATE OF SERVICE I declare that I am employed with the law firm of Weil, Gotshal & Manges LLP, whose address is 201 Redwood Shores Parkway, Redwood Shores, California 94065-1175. I am not a party to the within cause, and I am over the age of eighteen years. I further declare that on March 18, 2011, I served a corrected copy of: PLAINTIFFS’ SUPPLEMENTAL OBJECTIONS AND RESPONSES TO DEFENDANTS’ FIRST SET OF INTERROGATORIES (NO. 6) BY U.S. MAIL by placing a true copy thereof enclosed in a sealed envelope with postage thereon fully prepaid, addressed as follows, for collection and mailing in accordance with the firm’s ordinary business practices. I am readily familiar with the practice for collection and processing of mail, and know that in the ordinary course of business practice that the document(s) described above will be deposited with the U.S. Postal Service on the same date as sworn to below. BY ELECTRONIC SERVICE by electronically mailing a true and correct copy through the electronic mail system to the email address(es) set forth in the service list below. BY OVERNIGHT DELIVERY by placing a true copy thereof enclosed in a sealed envelope with overnight delivery fees provided for, addressed as follows, for collection by Federal Express in accordance with ordinary business practices. I am readily familiar with the practice for collection and processing of correspondence for overnight delivery and know that in the ordinary course of business practice the document(s) described above will be deposited by an employee or agent in a box or other facility regularly maintained by Federal Express for collection on the same day that the document(s) are deposited. Lynn Stathas (# 1003695) lstathas@reinhartlaw.com REINHART BOERNER VAN DEUREN, S.C. 22 East Mifflin Street Madison, WI 53701-2018 Phone: (608) 229-2200 Fax: (608) 229-2100 Edward J. DeFranco eddefranco@quinnemanuel.com 51 Madison Avenue, 22nd Floor New York, NY 10010 Telephone: (212) 849-7000 Facsimile: (212) 849-7100 Moto-Apple-745@quinnemanuel.com Attorneys for Defendants Motorola, Inc. and Motorola Mobility, Inc. I declare under penalty of perjury under the laws of the United States of America that the foregoing is true and correct. Executed on March 18, 2011, at Redwood Shores, California. /s/ Jill J. Ho Jill J. Ho Exhibit L –U.S. Patent No. 5,566,337 Motorola directly and/or indirectly infringes at least claims 1, 3, 6-10, 12, 14, 16-19, 21, and 23-24 of the ’337 patent, either literally or through the doctrine of equivalents. Motorola’s infringing products include mobile devices such as smartphones and tablet computers, including but not limited to the: Atrix, Bravo, Cliq, Cliq XT, Cliq 2, Charm, Defy, Devour, BackFlip, Devour, Droid, Droid 2, Droid 2 Global, Droid X, Droid Pro, Droid Bionic, Flipout, Flipside, i1, Xoom, (collectively, the “ ’337 Accused Products”). For the purposes of this analysis, Plaintiffs will examine a representative mobile device, Motorola’s Droid X, which is shipped operates with the Android 2.1 Platform. All other ’337 Accused Products meet the limitations of the asserted claims on the same bases as indicated for the Droid X, unless otherwise stated. These infringement contentions are preliminary and based only on publicly available information as to the ’337 Accused Products. Motorola has not yet provided discovery as to its accused products and in addition Plaintiff's investigation of Motorola's infringement is ongoing. Based on discovery and Plaintiff's continued investigations Plaintiff reserves the right to amend these contentions to identify additional bases for infringement and additional accused products, including products that Motorola may introduce in the future. Accordingly, Plaintiff reserves its right to amend these contentions as discovery and its investigation proceeds. Also, these disclosures are made based on information ascertained to date, and Plaintiff expressly reserves the right to modify or amend the disclosures contained herein based on the Court’s claim constructions or to reflect additional information that becomes available to Plaintiff. U.S. Patent No. 5,566,337 1. In a computer including at least one event producer for detecting that an event has occurred in the computer and generating an event Infringement Contentions The ’337 Accused Products are, inter alia, computers that include at least one event producer for detecting that an event has occurred in the computer and generating an event. • For example, the Motorola Droid X includes a Texas Instruments OMAP3630 processor for executing applications such as web browsers, email clients, and telephony applications, see Exh. L-9 [Motorola Droid X Specification], and is therefore a computer. • For example, the ’337 Accused Products contain a Bluetooth protocol that generates an event when the Bluetooth state changes. See Exh. L-1 [BluetoothService.java]. • For example, the Bluetooth code calls the Context.sendBroadcast() method, which “initiates a broadcast [event] by passing an Intent object.” See Id.; Exh. L-2 [Android U.S. Patent No. 5,566,337 Infringement Contentions Dev Site, “Application Fundamentals”]. The Intent object that is passed in Context.sendBroadcast() is an object that “defines a message . . . . and defines the action to perform.” Id. and at least one event consumer which needs to be informed when events occur in the computer, The ’337 Accused Products have at least one event consumer which needs to be informed when events occur in the computer. a system for distributing events comprising: The ’337 Accused Products have a system for distributing events comprising storing means for storing a specific set of events of which said at least one event consumer is to be informed. storing means for storing a specific set of events of which said at least one event consumer is to be informed • For example, the ’337 Accused Products contain, inter alia, a Phone application that needs to be informed of, e.g., changes to the Bluetooth settings. For that reason, the Phone application registers a broadcast receiver for this event using an Android Manifest file. “Broadcast receivers enable applications to receive intents that are broadcast by the system or by other applications, even when other components of the application are not running.” See Exh. L-3 [Android Dev Site, “Receiver”]; Exh. L-10 [AndroidManifest.xml]. • For example, in the ’337 Accused Products, means for storing a specific set of events of which said at least one event consumer is to be informed include the Activity Manager. • For example, when an event consumer registers to receive an event, it calls the registerReceiver() method, which causes the system to store a specific set of events of which at least one event consumer is to be informed. See Exh. L-4 [Android Dev Site, “Context”], Exh. L-5 [ActivityManagerService.java]. • For example, the Activity Manager includes a HashMap data structure named mRegisteredReceivers which “[k]eeps track of all IIntentReceivers that have been registered for broadcasts.” Id. 2 U.S. Patent No. 5,566,337 event manager control means for receiving the event from the event producer, comparing the received event to the stored set of events, and distributing an appropriate event to an appropriate event consumer Infringement Contentions The ’337 Accused Products have event manager control means for receiving the event from the event producer. • For example, in the ’337 Accused Products, means for receiving the event from the event producer, comparing the received event to the stored set of events, and distributing an appropriate event to an appropriate event consumer include the Activity Manager. • For example, the ’337 Accused Products contains an Activity Manager which, inter alia, manages events that are transmitted from event producers to event consumers. See Exh. L-5 [ActivityManagerService.java]. The Activity Manager first receives events from the event producer via a Context.sendBroadcast() call, which is called by event producers when they have an event to transmit. The Context.sendBroadcast() method “broadcast[s] the given intent to all interested BroadcastReceivers” by first sending it to the Activity Manager. See, Exh. L-4 [Android Dev Site, “Context”]. The ’337 Accused Products have event manager control means for comparing the received event to the stored set of events. • For example, the Activity Manager, inter alia, compares the received event to the stored set of events. It will determine which event consumers are interested in the current event, and return a list of interested consumers. See Exh. L-5 [ActivityManagerService.java]. The ’337 Accused Product have event manager control means for distributing an appropriate event to an appropriate event consumer. • distributor means for receiving the event from the control means and directing said control means to distribute an For example, after identifying an appropriate event consumer through the distributor means (see infra), “the Android system finds the appropriate activity, service, or set of broadcast receivers to respond to the intent, instantiating them if necessary.” See Exh. L-6 [Android Dev Site, “Intents and Intent Filters”]. For example, the Activity Service Manager has a processNextBroadcast() method which delivers broadcasts. See Exh. L5 [ActivityManagerService.java]. The ’337 Accused Products have distributor means for receiving the event from the control means and directing said control means to distribute an appropriate event to an appropriate event consumer. 3 U.S. Patent No. 5,566,337 appropriate event to an appropriate event consumer Infringement Contentions • For example, in the ’337 Accused Products, means for receiving the event from the control means and directing said control means to distribute an appropriate event to an appropriate event consumer include the Activity Manager. • For example, the ’337 Accused Products utilize a permissions system which can be used to direct the control means to distribute an appropriate event to an appropriate event consumer: “Using Permissions A basic Android application has no permissions associated with it, meaning it can not do anything that would adversely impact the user experience or any data on the device. To make use of protected features of the device, you must include in your AndroidManifest.xml one or more <uses-permission> tags declaring the permissions that your application needs.” See Exh. L-7 [Android Dev Site, “Security and Permissions”]. • For example, either the event producer or the event consumer can use permissions to determine what events are appropriate for an event consumer to receive: “Permissions Access permissions can be enforced by either the sender or receiver of an Intent. To enforce a permission when sending, you supply a non-null permission argument to sendBroadcast(Intent, String) or sendOrderedBroadcast(Intent, String, BroadcastReceiver, android.os.Handler, int, String, Bundle). Only receivers who have been granted this permission (by requesting it with the <usespermission> tag in their AndroidManifest.xml) will be able to receive the broadcast. To enforce a permission when receiving, you supply a non-null permission when registering your receiver -- either when calling registerReceiver(BroadcastReceiver, IntentFilter, String, android.os.Handler) or in the static <receiver> tag in your AndroidManifest.xml. Only broadcasters who have been granted this permission (by requesting it with the <uses-permission> 4 U.S. Patent No. 5,566,337 Infringement Contentions tag in their AndroidManifest.xml) will be able to send an Intent to the receiver.” See Exh. L-8 [Android Dev Site, “Broadcast Receiver”]. • For example, the distributor means can receive the event from the event control means and then can check that a target event consumer has the required permissions to view the broadcast. The distributor means then may return a value to the event control means directing it to either distribute or not distribute the event to a specific event consumer. See Exh. L-5 [ActivityManagerService.java]. • For example, the ActivityManager has methods for delivery, including processingNextBroadcast() and broadcastIntent(); for confirming permissions, including checkComponentPermission(); and a “[r]esolver for broadcast intents to registered receivers,” such as mReceiverResolver. See Exh. L-5 [ActivityManagerService.java]. 3. The system according to claim 1, wherein a plurality of event consumers are included in the computer and the plurality of consumers comprise: broadcast consumers having no relationship with other consumers, the broadcast consumers operating independently of other consumers and of the order in which consumers are informed of the event; and The ’337 Accused Products have a plurality of event consumers comprising broadcast consumers having no relationship with other consumers, the broadcast consumers operating independently of other consumers and of the order in which consumers are informed of the event. sequential consumers having relationships with other consumers, the sequential consumers requiring that no other consumer be told about an The ’337 Accused Products have sequential consumers having relationships with other consumers, the sequential consumers requiring that no other consumer be told about an event while they themselves are processing the event and having an ability to influence when they receive the event relative to the other consumers. • • For example, “[n]ormal broadcasts (sent with Context.sendBroadcast) are completely asynchronous. All receivers of the broadcast are run in an undefined order, often at the same time.” See Exh. L-8 [Android Dev Site, “BroadcastReceiver”], Exh. L-4 [Android Dev Site, “Context”]. For example, “[o]rdered broadcasts (sent with Context.sendOrderedBroadcast) are 5 U.S. Patent No. 5,566,337 Infringement Contentions event while they themselves are processing the event and having an ability to influence when they receive the event relative to the other consumers. delivered to one receiver at a time. As each receiver executes in turn, it can propagate a result to the next receiver, or it can completely abort the broadcast so that it won't be passed to other receivers. The order receivers run in can be controlled with the android:priority attribute of the matching intent-filter.” See Exh. L-8 [Android Dev Site, “BroadcastReceiver”]. 6. The system according to claim 3, wherein said storing means comprises: a subscription matrix for storing subscriptions to events in which the broadcast consumers are interested; and The ’337 Accused Products have storing means which comprises a subscription matrix for storing subscriptions to events in which the broadcast consumers are interested. For example, in the ’337 Accused Products, storing means which comprises a subscription matrix for storing subscriptions to events in which the broadcast consumers are interested include the Activity Manager. • For example, when an event consumer registers to receive an event, it calls the registerReceiver() method, which causes the system to store events in which the broadcast consumers are interested. See Exh. L-4 [Android Dev Site, “Context”], Exh. L-5 [ActivityManagerService.java]. • a sequential consumer database for storing entries to events in which the sequential consumers are interested. • For example, the Activity Manager includes a HashMap data structure named mRegisteredReceivers which “[k]eeps track of all IIntentReceivers that have been registered for broadcasts.” See Exh. L-5 [ActivityManagerService.java]. The ’337 Accused Products have storing means which comprises a sequential consumer database for storing entries to events in which the sequential consumers are interested. • For example, in the ’337 Accused Products, storing means which comprises a sequential consumer database for storing entries to events in which the sequential consumers are interested include the Activity Manager. • For example, ordered broadcasts are stored by the Activity Manager in the mOrderedBroadcasts ArrayList. See Exh. L-5 [ActivityManagerService.java]. “Ordered broadcasts (sent with Context.sendOrderedBroadcast) are delivered to one 6 U.S. Patent No. 5,566,337 Infringement Contentions receiver at a time. As each receiver executes in turn, it can propagate a result to the next receiver, or it can completely abort the broadcast so that it won’t be passed to other receivers. The order receivers run in can be controlled with the android:priority attribute of the matching intent-filter.” See Exh. L-8 [Android Dev Site, “BroadcastReceiver”]. 7. The system according to claim 3, wherein said storing means comprises an event queue corresponding to each of the broadcast consumers for receiving distributed events from said control means and for storing the distributed events until the events are consumed by the corresponding broadcast consumer. The ’337 Accused Products have storing means which comprises an event queue corresponding to each of the broadcast consumers for receiving distributed events from said control means and for storing the distributed events until the events are consumed by the corresponding broadcast consumer. 8. The system according to claim 3, wherein said control means comprises means for passing an event to the sequential consumers in succession in accordance with the entries in the sequential consumer database. The ’337 Accused Products have control means comprising means for passing an event to the sequential consumers in succession in accordance with the entries in the sequential consumer database. 9. The system according to The ’337 Accused Products have a means for prohibiting passing of an event receiving an event • For example, in the ’337 Accused Products, storing means which comprises an event queue corresponding to each of the broadcast consumers for receiving distributed events from said control means and for storing the distributed events until the events are consumed by the corresponding broadcast consumer include the Activity Manager. • For example, in the ’337 Accused Products, Normal Broadcasts are stored by the Activity Manager in the mParallelBroadcasts ArrayList. See Exh. L-5 [ActivityManagerService.java]. • For example, in the ’337 Accused Products, means for passing an event to the sequential consumers in succession in accordance with the entries in the sequential consumer database include the ordered broadcast API. • For example, “[o]rdered broadcasts (sent with Context.sendOrderedBroadcast) are delivered to one receiver at a time. As each receiver executes in turn, it can propagate a result to the next receiver, or it can completely abort the broadcast so that it won't be passed to other receivers. The order receivers run in can be controlled with the android:priority attribute of the matching intent-filter.” See Exh. L-8 [Android Dev Site, “BroadcastReceiver”]. 7 U.S. Patent No. 5,566,337 Infringement Contentions claim 8, wherein said control means comprises means for prohibiting passing of an event upon receiving an event handled message from a sequential consumer. handled message from a sequential consumer. 10. A computer system comprising: event producers for detecting than an event has occurred in the computer, generating an event, and generating a description of the event; The ’337 Accused Products are computers comprising event producers for detecting than an event has occurred in the computer, generating an event, and generating a description of the event. • For example, in the ’337 Accused Products, means for prohibiting the passing of an event receiving an event handled message from a sequential consumer include the abort API provided by broadcast receivers. • For example, “[o]rdered broadcasts (sent with Context.sendOrderedBroadcast) are delivered to one receiver at a time. As each receiver executes in turn, it can propagate a result to the next receiver, or it can completely abort the broadcast so that it won't be passed to other receivers. The order receivers run in can be controlled with the android:priority attribute of the matching intent-filter.” See Exh. L-8 [Android Dev Site, “BroadcastReceiver”]. For example, the Motorola Droid X includes a Texas Instruments OMAP3630 processor for executing applications such as web browsers, email clients, and telephony applications, see Exh. L-9 [Motorola Droid X Specification], and is therefore a computer system. • For example, the ’337 Accused Products contain a Bluetooth protocol that generates an event when the Bluetooth state changes. See Exh. L-1 [BluetoothService.java]. • event consumers which need to be informed when events occur in the computer, said event consumers comprising a first and a second class of • For example, the Bluetooth code calls the Context.sendBroadcast() method, which “initiates a broadcast [event] by passing an Intent object.” See Id.; Exh. L-2 [Android Dev Site, “Application Fundamentals”]. The Intent object that is passed in Context.sendBroadcast() is an object that “holds the content of the message... and names the action being announced.” Id. The ’337 Accused Products have event consumers which need to be informed when events occur in the computer, said event consumers comprising a first and second class of consumers. • For example, the ’337 Accused Products contain, inter alia, a Phone application that needs to be notified of, e.g., changes to the Bluetooth settings. For that reason, the Phone 8 U.S. Patent No. 5,566,337 Infringement Contentions consumers; storing means for storing a specific set of events of which the event consumers are to be informed; application registers a broadcast receiver for this event using a Android Manifest file. “Broadcast receivers enable applications to receive intents that are broadcast by the system or by other applications, even when other components of the application are not running.” See Exh.L-3 [Android Dev Site, “Receiver”]; Exh. L-10 [AndroidManifest.xml] . The ’337 Accused Products have storing means for storing a specific set of events of which event consumers are to be informed. For example, in the ’337 Accused Products, means for storing a specific set of events of which the event consumers are to be informed include the Activity Manager. • For example, when an event consumer registers to receive an event, it calls the registerReceiver() method, which causes the system to store a specific set of events of which at least one event consumer is to be informed. See, Exh. L-4 [Android Dev Site, “Context”], Exh. L-5 [ActivityManagerService.java]. • event manager control means for receiving the event from the event producers and comparing the received event to the stored set of events; • For example, the Activity Manager includes a HashMap data structure named mRegisteredReceivers which “[k]eeps track of all IIntentReceivers that have been registered for broadcasts.” See Exh. L-5 [ActivityManagerService.java]. The ’337 Accused Products have an event manager control means that receives the event from the event producer and compares the received event to the stored set of events. • For example, in the ’337 Accused Products, means for receiving the event from the event producers and comparing the received event to the stored set of events is the Activity Manager. • For example, the ’337 Accused Products contains an Activity Manager which, inter alia, manages events that are transmitted from event producers to event consumers. See Exh. L-5 [ActivityManagerService.java]. The Activity Manager first receives events from the event producer via a Context.sendBroadcast() call, which is called by event producers when they have an event to transmit. The Context.sendBroadcast() method “broadcast[s] the given intent to all interested BroadcastReceivers” by first sending it to the Activity Manager. See, Exh. L-4 [Android Dev Site, “Context”]. 9 U.S. Patent No. 5,566,337 Infringement Contentions The ’337 Accused Product event manager control means then compares the information in the event to a stored set of events. • distributor means, responsive to said event control means, for deciding if an event should be passed to an event consumer; For example, the Activity Manager, inter alia, compares the received event to the stored set of events. It will determine which event consumers are interested in the current event, and return a list of interested consumers. See Exh. L-5 [ActivityManagerService.java]. The ’337 Accused Products have distributor means responsive to said control means, for deciding if an event should be passed to an event consumer. • For example, in the ’337 Accused Products, means, responsive to said event control means, for deciding if an event should be passed to an event consumer include the Activity Manager. • For example, the Android devices utilize a permissions system which can be used to direct the control means to distribute an appropriate event to an appropriate event consumer: “Using Permissions A basic Android application has no permissions associated with it, meaning it can not do anything that would adversely impact the user experience or any data on the device. To make use of protected features of the device, you must include in your AndroidManifest.xml one or more <uses-permission> tags declaring the permissions that your application needs.” See Exh. L-7 [Android Dev Site, “Security and Permissions”]. • For example, either the event producer or the event consumer can use permissions to determine what events are appropriate for an event consumer to receive: “Permissions Access permissions can be enforced by either the sender or receiver of an Intent. To enforce a permission when sending, you supply a non-null permission argument to sendBroadcast(Intent, String) or sendOrderedBroadcast(Intent, String, BroadcastReceiver, android.os.Handler, int, String, Bundle). Only receivers who have been granted this permission (by requesting it with the <uses-permission> tag 10 U.S. Patent No. 5,566,337 Infringement Contentions in their AndroidManifest.xml) will be able to receive the broadcast. To enforce a permission when receiving, you supply a non-null permission when registering your receiver -- either when calling registerReceiver(BroadcastReceiver, IntentFilter, String, android.os.Handler) or in the static <receiver> tag in your AndroidManifest.xml. Only broadcasters who have been granted this peimission (by requesting it with the <uses-permission> tag in their AndroidManifest.xml) will be able to send an Intent to the receiver.” See Exh. L-8 [Android Dev Site, “Broadcast Receiver”]. • For example, the distributor means can receive the event from the event control means and then can check that a target event consumer has the required permissions to view the broadcast. The distributor means then may return a value to the event control means directing it to either distribute or not distribute the event to a specific event consumer. See Exh. L-5 [ActivityManagerService.java]. • For example, the ActivityManager has methods for delivery, including processingNextBroadcast() and broadcastIntent(); for confirming permissions, including checkComponentPermission(); and a “[r]esolver for broadcast intents to registered receivers,” such as mReceiverResolver. See Exh. L-5 [ActivityManagerService.java]. said event manager control means comprising: first means for sending an event to appropriate event consumers of a first class in accordance with the stored set of events; and The ’337 Accused Products have an event manager control means which comprises a first means for sending an event to appropriate event consumers of a first class in accordance with the stored set of events. • For example, in the ’337 Accused Products, means for sending an event to appropriate event consumers of a first class in accordance with the stored set of events include the Activity Manager. • For example, after the Android’s event manager control means will distribute an event to appropriate sequential event consumers in accordance with the stored set of events and then “finds the appropriate activity, service, or set of broadcast receivers to respond to the intent, instantiating them if necessary.” See Exh. L-6 [Android 11 U.S. Patent No. 5,566,337 Infringement Contentions Dev Site, “Intents and Intent Filters”]. • second means for sending the event to appropriate event consumers of a second class responsive to said distributor means. For example, the ActivityManager has methods for delivery, including processingNextBroadcast() and broadcastIntent(); for confirming permissions, including checkComponentPermission(); and a “[r]esolver for broadcast intents to registered receivers,” such as mReceiverResolver. See Exh. L-5 [ActivityManagerService.java]. The ’337 Accused Products have an event manager control means which comprises a second means for sending an event to appropriate event consumers of a second class responsive to said distributor means. • For example, in the ’337 Accused Products, means for sending the event to appropriate event consumers of a second class responsive to said distributor means include the Activity Manager. • For example, the ’337 Accused Product utilize a permissions system which can be used to direct the control means to distribute an appropriate event to an appropriate event consumer: “Using Permissions A basic Android application has no permissions associated with it, meaning it can not do anything that would adversely impact the user experience or any data on the device. To make use of protected features of the device, you must include in your AndroidManifest.xml one or more <uses-permission> tags declaring the permissions that your application needs.” See Exh. L-7 [Android Dev Site, “Security and Permissions”]. • For example, either the event producer or the event consumer can use permissions to determine what events are appropriate for an event consumer to receive: “Permissions Access permissions can be enforced by either the sender or receiver of an Intent. To enforce a permission when sending, you supply a non-null permission argument to sendBroadcast(Intent, String) or sendOrderedBroadcast(Intent, String, 12 U.S. Patent No. 5,566,337 Infringement Contentions BroadcastReceiver, android.os.Handler, int, String, Bundle). Only receivers who have been granted this permission (by requesting it with the <uses-permission> tag in their AndroidManifest.xml) will be able to receive the broadcast. To enforce a permission when receiving, you supply a non-null permission when registering your receiver -- either when calling registerReceiver(BroadcastReceiver, IntentFilter, String, android.os.Handler) or in the static <receiver> tag in your AndroidManifest.xml. Only broadcasters who have been granted this permission (by requesting it with the <uses-permission> tag in their AndroidManifest.xml) will be able to send an Intent to the receiver.” See Exh. L-8 [Android Dev Site, “Broadcast Receiver”]. • For example, the distributor means can receive the event from the event control means and then can check that a target event consumer has the required permissions to view the broadcast. The distributor means then may return a value to the event control means directing it to either distribute or not distribute the event to a specific event consumer. See Exh. L-5 [ActivityManagerService.java]. 12. The system according to claim 10, wherein said first class of consumers comprise sequential consumers having relationships with other consumers, the sequential consumers requiring that no other consumer be told about an event while they themselves are processing it, and having an ability to influence when they receive the event relative to the other consumers; and The ’337 Accused Products have a first class of consumers which comprise sequential consumers having relationships with other consumers, the sequential consumers requiring that no other consumer be told about an event while they themselves are processing it, and having an ability to influence when they receive the event relative to the other consumers. said second class of consumers The ’337 Accused Products have a second class of consumers which comprise broadcast • For example, “[o]rdered broadcasts (sent with Context.sendOrderedBroadcast) are delivered to one receiver at a time. As each receiver executes in turn, it can propagate a result to the next receiver, or it can completely abort the broadcast so that it won't be passed to other receivers. The order receivers run in can be controlled with the android:priority attribute of the matching intent-filter.” See Exh. L-8 [Android Dev Site, “BroadcastReceiver”]. 13 U.S. Patent No. 5,566,337 comprise broadcast consumers having no relationship with other consumers, the broadcast consumers operating independently of other consumers and of the order in which consumers are informed of the event. Infringement Contentions consumers having no relationship with other consumers, the broadcast consumers operating independently of other consumers and of the order in which consumers are informed of the event. • For example, the ’337 Accused Products contains an Activity Manager which, inter alia, manages events that are transmitted from event producers to event consumers. See Exh. L-5 [ActivityManagerService.java]. The Activity Manager first receives events from the event producer via a Context.sendBroadcast() call, which is called by event producers when they have an event to transmit. The Context.sendBroadcast() method “broadcast[s] the given intent to all interested BroadcastReceivers” by first sending it to the Activity Manager. See, Exh. L-4 [Android Dev Site, “Context”]. 14. The system according to claim 12, wherein said storing means comprises: a subscription matrix for storing subscriptions to events in which the broadcast consumers are interested; and The ’337 Accused Products have storing means which comprises a subscription matrix for storing subscriptions to events in which the broadcast consumers are interested. For example, in the ’337 Accused Products, storing means which comprise a subscription matrix for storing subscriptions to events in which the broadcast consumers are interested include the Activity Manager. • For example, when an event consumer registers to receive an event, it calls the registerReceiver() method, which causes the system to store a specific set of events of which at least one event consumer is to be informed. See Exh. L-4 [Android Dev Site, “Context”], Exh. L-5 [ActivityManagerService.java]. • a sequential consumer database for storing entries to events in which the sequential consumers • For example, the Activity Manager includes a HashMap data structure named mRegisteredReceivers which “[k]eeps track of all IIntentReceivers that have been registered for broadcasts.” See Exh. L-5 [ActivityManagerService.java]. The ’337 Accused Products have storing means which comprises a sequential consumer database for storing entries to events in which the sequential consumers are interested. • For example, in the ’337 Accused Products, storing means which comprise a sequential 14 U.S. Patent No. 5,566,337 Infringement Contentions are interested. consumer database for storing entries to events in which the sequential consumers are interested include the Activity Manager. • • 16. The system according to claim 12, wherein said control means comprises means for passing an event to the sequential consumers in succession in accordance with the entries in a sequential consumer database. For example, “[o]rdered broadcasts (sent with Context.sendOrderedBroadcast) are delivered to one receiver at a time. As each receiver executes in turn, it can propagate a result to the next receiver, or it can completely abort the broadcast so that it won't be passed to other receivers. The order receivers run in can be controlled with the android:priority attribute of the matching intent-filter.” See Exh. L-8 [Android Dev Site, “BroadcastReceiver”]. For example, the Activity Manager includes a HashMap data structure named mRegisteredReceivers which “[k]eeps track of all IIntentReceivers that have been registered for broadcasts.” See Exh. L-5 [ActivityManagerService.java.] The ’337 Accused Products have control means which comprises means for passing an event to the sequential consumers in succession in accordance with the entries in a sequential consumer database. For example, in the ’337 Accused Products, control means which comprises means for passing an event to the sequential consumers in succession in accordance with the entries in a sequential consumer database include the Context.sendOrderedBroadcast() method. • For example, “[o]rdered broadcasts (sent with Context.sendOrderedBroadcast) are delivered to one receiver at a time. As each receiver executes in turn, it can propagate a result to the next receiver, or it can completely abort the broadcast so that it won't be passed to other receivers. The order receivers run in can be controlled with the android:priority attribute of the matching intent-filter.” See Exh. L-8 [Android Dev Site, “BroadcastReceiver”]. • 17. The system according to claim 16, wherein said control • For example, the ActivityManager has methods for delivery, including processingNextBroadcast() and broadcastIntent(); for confirming permissions, including checkComponentPermission(); and a “[r]esolver for broadcast intents to registered receivers,” such as mReceiverResolver. See Exh. L-5 [ActivityManagerService.java]. The ’337 Accused Products have control means which comprises means for prohibiting passing 15 U.S. Patent No. 5,566,337 means comprises means for prohibiting passing of an event upon receiving an event handled message from a sequential consumer. Infringement Contentions of an event upon receiving an event handled message from a sequential consumer. • For example, in the ’337 Accused Products, control means which comprises means for prohibiting passing of an event upon receiving an event handled message from a sequential consumer include the abort API provided by broadcast receivers. • For example, “[o]rdered broadcasts (sent with Context.sendOrderedBroadcast) are delivered to one receiver at a time. As each receiver executes in turn, it can propagate a result to the next receiver, or it can completely abort the broadcast so that it won't be passed to other receivers. The order receivers run in can be controlled with the android:priority attribute of the matching intent-filter.” See Exh. L-8 [Android Dev Site, “BroadcastReceiver”]. For example, the ActivityManager has methods for delivery, including processingNextBroadcast() and broadcastIntent(); for confirming permissions, including checkComponentPermission(); and a “[r]esolver for broadcast intents to registered receivers,” such as mReceiverResolver. See Exh. L-5 [ActivityManagerService.java]. • 18. A method for distributing events occurring in a computer, said method comprising the steps of: determining that an event has been detected by an event producer in the computer; The ’337 Accused Products perform a method for distributing events occurring in a computer by, first, determining that an event has been detected by an event producer in the computer. For example, the Motorola Droid X includes a Texas Instruments OMAP3630 processor for executing applications such as web browsers, email clients, and telephony applications, see Exh. L-9 [Motorola Droid X Specification], and is therefore a computer. • storing, in a storing means, a specific set of events of which an event consumer is to be • For example, the Bluetooth code calls the Context.sendBroadcast() method, which “initiates a broadcast [event] by passing an Intent object.” See Exh. L-1 [BluetoothService.java]; Exh. L-2 [Android Dev Site, “Application Fundamentals”]. The Intent object that is passed in Context.sendBroadcast() is an object that “holds the content of the message... and names the action being announced.” Id. The ’337 Accused Products perform the step of storing, in a storing means, a specific set of events of which an event consumer is to be informed. • For example, in the ’337 Accused Products, storing means include the Activity 16 U.S. Patent No. 5,566,337 Infringement Contentions informed; Manager. • • receiving the event in an event control means from the event producer; For example, when an event consumer registers to receive an event, it calls the registerReceiver() method, which causes the system to store a specific set of events of which at least one event consumer is to be informed. See, Exh. L-4 [Android Dev Site, “Context”], Exh. L-5 [ActivityManagerService.java]. For example, the Activity Manager includes a HashMap data structure named mRegisteredReceivers which “[k]eeps track of all IIntentReceivers that have been registered for broadcasts.” See Exh. L-5 [ActivityManagerService.java]. The ’337 Accused Products perform the step of receiving the event in an event control means from the event producer. For example, in the ’337 Accused Products, event control means includes the Activity Manager. • comparing the received event to the stored sets of events; • For example, the ’337 Accused Products contains an Activity Manager which, inter alia, manages events that are transmitted from event producers to event consumers. See L-5 [ActivityManagerService.java]. The Activity Manager first receives events from the event producer via a Context.sendBroadcast() call, which is called by event producers when they have an event to transmit. The Context.sendBroadcast() method “broadcast[s] the given intent to all interested BroadcastReceivers” by first sending it to the Activity Manager. See, Exh. L-4 [Android Dev Site, “Context”]. The ’337 Accused Product perform the step of comparing the received event to a stored set of events. • receiving the event in a distributor means from the control means; For example, the Activity Manager, inter alia, compares the received event to the stored set of events. It will determine which event consumers are interested in the current event, and return a list of interested consumers. See L-5 [ActivityManagerService.java]. The ’337 Accused Products perform the step of receiving the event in a distributor means from the control means. • For example, in the ’337 Accused Products, distributor means include the Activity 17 U.S. Patent No. 5,566,337 Infringement Contentions Manager. • For example, the distributor means receives the event in the form of a BroadcastRecord (which contains, inter alia, the Intent object described supra) from the event control means. See Exh. L-5 [ActivityManagerService.java]. directing the control means to distribute an appropriate event to an appropriate event consumer; and The ’337 Accused Products perform the step of directing the control means to distribute an appropriate event to an appropriate event consumer. distributing, via the control means, an appropriate event to an appropriate event consumer. The ’337 Accused Products perform the step of distributing, via the control means, an appropriate event to an appropriate event consumer. • For example, the distributor means can receive the event from the event control means and then can check that a target event consumer has the required permissions to view the broadcast. The distributor means then may return a value to the event control means directing it to either distribute or not distribute the event to a specific event consumer. See Exh. L-5 [ActivityManagerService.java]. The ’337 Accused Product event manager control means then distributes an appropriate event to an appropriate event consumer. For example, after identifying an appropriate event consumer through the distributor means (see infra), “the Android system finds the appropriate activity, service, or set of broadcast receivers to respond to the intent, instantiating them if necessary.” See Exh. L-6 [Android Dev Site, “Intents and Intent Filters”]. • 19. The method according to claim 18, wherein the event consumer comprises a plurality of consumers including broadcast consumers which • For example, the ActivityManager has methods for delivery, including processingNextBroadcast() and broadcastIntent(); for confirming permissions, including checkComponentPermission(); and a “[r]esolver for broadcast intents to registered receivers,” such as mReceiverResolver. See Exh. L-5 [ActivityManagerService.java]. The ’337 Accused Products have an event consumer which comprises a plurality of consumers including broadcast consumers which operate independently from one another and of the order in which consumers are informed of events and sequential consumers which require that no other consumer be told about an event while they themselves are processing it and have an ability to influence when they receive the event relative to the other consumers. 18 U.S. Patent No. 5,566,337 operate independently from one another and of the order in which consumers are informed of events and sequential consumers which require that no other consumer be told about an event while they themselves are processing it and have an ability to influence when they receive the event relative to the other consumers. Infringement Contentions • For example, “[o]rdered broadcasts (sent with Context.sendOrderedBroadcast) are delivered to one receiver at a time. As each receiver executes in turn, it can propagate a result to the next receiver, or it can completely abort the broadcast so that it won’t be passed to other receivers. The order receivers run in can be controlled with the android:priority attribute of the matching intent-filter.” See Exh. L-8 [Android Dev Site, “BroadcastReceiver”]. 21. The method according to claim 19, wherein said step of storing comprises the steps of: storing, in a subscription matrix, subscriptions to events in which the broadcast consumers am interested; and The ’337 Accused Products perform the step of storing, in a subscription matrix, subscriptions to events in which the broadcast consumers am interested. For example, the ’337 Accused Products contains an Activity Manager which, inter alia, manages events that are transmitted from event producers to event consumers. See Exh. L-5 [ActivityManagerService.java]. The Activity Manager first receives events from the event producer via a Context.sendBroadcast() call, which is called by event producers when they have an event to transmit. The Context.sendBroadcast() method “broadcast[s] the given intent to all interested BroadcastReceivers” by first sending it to the Activity Manager. See, Exh. L-4 [Android Dev Site, “Context”]. • storing, in a sequential consumer database, entries to events in which the sequential • For example, the Activity Manager includes a HashMap data structure named mRegisteredReceivers which “[k]eeps track of all IIntentReceivers that have been registered for broadcasts.” See Exh. L-5 [ActivityManagerService.java. The ’337 Accused Products perform the step of storing, in a sequential consumer database, entries to events in which the sequential consumers are interested. • For example, the ’337 Accused Products contains an Activity Manager which, inter 19 U.S. Patent No. 5,566,337 Infringement Contentions consumers are interested. alia, manages events that are transmitted from event producers to event consumers. See Exh. L-5 [ActivityManagerService.java]. The Activity Manager first receives events from the event producer via a Context.sendOrderedBroadcast() call. See Exh. L-8 [Android Dev Site, “BroadcastReceiver”]. • For example, the Activity Manager includes a HashMap data structure named mRegisteredReceivers which “[k]eeps track of all IIntentReceivers that have been registered for broadcasts.” See Exh. L-5 [ActivityManagerService.java]. 23. The method according to claim 19, wherein the step of distributing comprises the step of passing an event to the sequential consumers in succession upon receiving a continue message from a sequential consumer indicating that it has completed processing of the event. The ’337 Accused Products perform the step of distributing, which comprises the step of passing an event to the sequential consumers in succession upon receiving a continue message from a sequential consumer indicating that it has completed processing of the event. 24. The method according to claim 23, wherein the step of distributing further comprises the step of prohibiting passing of an event upon receiving an event handled message from a sequential consumer. The ’337 Accused Products perform the step of distributing, which further comprises the step of prohibiting passing of an event upon receiving an event handled message from a sequential consumer. • • For example, a sequential consumer can send a continue message by returning a nonnull value with the BroadcastReceiver.SetResultData() method. See Exh. L-8 [Android Dev Site, “BroadcastReceiver”], Exh. L-11 [Android Dev Blog, “Processing Ordered Broadcasts”]. For example, “[o]rdered broadcasts (sent with Context.sendOrderedBroadcast) are delivered to one receiver at a time. As each receiver executes in turn, it can propagate a result to the next receiver, or it can completely abort the broadcast so that it won't be passed to other receivers. The order receivers run in can be controlled with the android:priority attribute of the matching intent-filter.” See Exh. L-8 [Android Dev Site, “BroadcastReceiver”]. 20

Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.


Why Is My Information Online?