throbber
well for clarification. In some embodiments, different EFR data types can be maintained to the
`criteria parameter to FIG. 20 processing for joining a variety of EFR data types for comparison
`processing.
`
`If block 10574 determines the user selected to configure a LBS configuration change event for
`automated AD presentation processing, then block 10580 preferably maintains a Boolean
`variable for LBS configuration events. When an LBS configuration change is made as detected
`in confiquration processing
`(e.q. by a user at the MS), FIG. 20 processing
`is invoked,
`preferabl
`with keyword information describing the specific change made passedin the criteria parameter
`
`(forcompare to EFR information). CLOG information may or may not be populated for further
`intent),
`the Boolean variable is automatically
`populated, and also whenreceivin MADRs at
`block 4470 from a remote system in accordance with privileges. If block 10574 determines the
`user did not select to configure an event for LBS configuration changes, processing continues to
`block 10578.
`
`If block 10578 determines the user selected to configure a LBX configuration change event for
`automated AD presentation processing, then block 10580 preferably maintains a Boolean
`variable for LBX configuration events. When an LBX configuration change is made as detected
`in configuration processing
`(e.g. by a user at the MS), FIG. 20 processing
`is invoked,
`preferabl
`with keyword information describing the specific change made passedin the criteria parameter
`for com are to EFR information).CLOC information ma or may not be populated for further
`
`intent),
`the Boolean variable is automatically
`populated, and also whenreceivin MADRs at
`block 4470 from a remote system in accordance with privileges. If block 10578 determines the
`user did not select to configure an event for LBX configuration changes, then processing
`continues to block 10582.
`
`
`
`Programming interface necessarybleckIf block 692210582 determines the custort launch isteuse afApplication
`6930-invekesthe
`aching
`the-applicationandprece
`‘nauser selected to
`
`exit FIG. 24 processing, block 10584 terminates the uuserinterlace and FIG. 24 processing
`
`
`terminates at block 10586, otherwise block 10582 continues to block 6938.10588.
`
`Block 10588 handles other user actions, including other event types for being configured before
`continuing back to block 10504.
`
`FIGS. 25A and 25B depict a flowchart for describing a preferred embodimentof a procedurefor
`presenting MADR information. MADR presentation processing begins at block 10600, continues
`to block 10602 where parameters passed are determined, and a current system date/time
`stamp is accessed. Thereafter, block 10604 checks for expiration criteria in field 9850 f and if
`specified, compares the expiration date/time with the current date/time. If
`block 10604 determines the MADR is expired, block 10606 expires it
`(one embodiments
`inactivates field 9850 / and another embodiment deletes the MADR entirely) and processing
`returns to the invoker at block 10634, otherwise block 10608 accesses user preferences
`maintained outside of MADR objects such as those made by the user with FIG. 24. Thereafter,
`block 10610 reconciles the MS (observer's) user's configured preferences with MADR
`(originator's) intent field 9850 f.
`
`EXHIBIT 1013 - PAGE 0301
`
`APPLE
`
`

`

`Reconciliation includes setting MS configuration changes to make based onthe originator's
`intent with the observer's preferences for any
`presentation characteristics (e.g. appearance
`specifications, volume adjustment specifications, full screen presentation, dedicated area
`resentation,
`pop-up/window, title-bar area, mix/preempt, etc),
`preferably
`using
`privileges to
`govern what can and cannot be set with authority. Thereafter, if block 10612 determines FIG.
`25A wasinvoked for an active phonecall line (channel information in parameter passed),
`processing continues to block 10614. If block 10614 determines the MADR cannot be presented
`appropriately for the active call line audio or video channel information (e.g. using
`type
`field 9850 b), then block 10616 deactivates the MADR field 9850 / and the invoker is returned to
`at block 10634. An alternate embodimentof block 10616 includes error notification processing.
`If block 10614 determines the MADR to be presentedis suitable for the active phonecall line,
`then block 10618 sets this FIG. 25A invocation's subsequent processing logic for making use of
`the active call line channel information, block 10620 saves current MS configurations
`determined for changeat block 10610, block 10622 accesses available and suitable
`presentation interfaces at the MS, block 10624 determines which interface is a bestfit for the
`MADR to be presented, and block 10626 checksif a suitable presentation interface was found.
`AMS should provide a variety of content presentation applications suitable for presenting
`MADR information. Some of these applications are prepackaged with the MS, or post-factory
`installed to the MS. For example, a video presentation application maybeinstalled, or an audio
`application may beinstalled. A video presentation API maybe installed, or an audio AP| may be
`installed. When arrived to from block 10618, there is preferably a phone API available for
`presenting audio information on the active audio channel, and there is preferably a video API for
`presenting video information on the active video call channel, preferably using FIG.
`22 architectures. AMS user mayalsoinstall APIs or applications for certain presentation
`content types. Block 10622 accesses known useful applications/interfaces depending on type
`field 9850 b and any active channel information, and block 10624 selects a bestfit if there is
`more than one suitable application or interface, perhaps using a user's precedence
`configuration for which application to select. Thereafter, if block 10626 determines a suitable
`application or interface (e.g. API) was found,
`processing continues to block 10628.
`
`Block 10628 optimizes parameters to the application or interface based on MADR field settings
`and block 10610 reconciliations, makes any remaining MS configuration changesthat are not
`supported with parameters to the application or interface, and block 10630 invokes the
`application or interface with the parameters for presenting the MADR messagefield 9850 c.
`Block 10628 will invoke FIG. 26 for resolving any application information specifications, for
`example to build the message for presentation, and block 10630 will not invoke the application
`orinterface if FIG. 26 returns for skipping the presentation. Thereafter, block 10632 restores
`configurations (if any were modified at block 10628) saved at block 10620, and the FIG.
`25A invoker is returned to at block 10634. If block 10626 determines a suitable application or
`interface was notidentified for presenting the MADR at the MS, then block 10636 makes
`configuration changes(if any) determined at block 10610, block 10638 presents
`field 9850 c with FIG. 25B custom processing, and processing continues to block 10632.
`Custom processing should be a last resort of presentation. The MS is preferably configured with
`suitable presentation applications or interfaces which can be determined at
`blocks 10622/10624. Suitable application or interfaces not already factory provided in the MS
`are preferably a “plug-in” and useinstallation. Blocks 10622/10624 may determine that the
`
`EXHIBIT 1013 - PAGE 0302
`
`APPLE
`
`

`

`message type field 9850 b cannot be handled, and that an attempt at presenting MADR
`information with custom processing should be made.
`
`Referring back to block
`
`
`
`
` 0612thatthe“Operand”performthe1 rmined indicateste
`_ if itis dete
`ft
`ayes
`.
`
`
`
`
`
`
`
`
`
`25A was not invoked for an active call (i.e. offline), then block 10640 accesses the
`observer's) user's
`prompt configuration data (e.g. configured by FIG. 24), and
`
`MS
`
`block 10642 reconciles the MS (observer's) user's configured prompt preferences with an
`
`MADR (originator's) intent field 9850 f prompt configurations. Reconciliation includes settin
`prompt processing based ontheoriginator's intent with the observer's preferences, preferably
`using privileges to govern what can and cannot be set with authority. Thereafter, reconciled
`prompt processing begins at block 10644 for checking to see if a prompt should be provided at
`all for the presentation.
`
`
`
`EXHIBIT 1013 - PAGE 0303
`
`APPLE
`
`

`

`
`
`If block 10644 determines a promptis to be provided, block 10646 provides the prompt and
`configured options to the user and block 10648interfaces with the user for a response. When a
`user response is made, processing continues to block 10650. Some embodiments present
`description field 9850 /, sender information, recipient information, MADR type information,
`and/or any other useful data about the presentation. Applications, event, CLOC or any other
`useful information may also be presentedin the prompt, and may be enabled/disabled for
`example for software debug purposes. A preferred embodiment presentation prompt presented
`at block 10646 may provide any of the following options, depending on reconciliation at
`block 10642.
`
`lO[lo|lolole
`
`lOIlo
`
`Continue with presentation (e.g. Monitor for continue user action):
`Cancel presentation (e.g. Monitor for cancel user action):
`Re-schedule this presentation at a future time on the MS user's calendar;
`Re-schedule in convenient time units this presentation for processing in a period
`of time (e.g. delay for retrying
`presentation in 1 hour, 5 minutes or 200 seconds):
`Re-schedule this presentation for a specified future date/time; or
`Save presentation reference to history information for optional access at a later
`time:
`
`EXHIBIT 1013 - PAGE 0304
`
`APPLE
`
`

`

`If block 10650 determines the user did not select to continue with the presentation, then
`block 10652 determinesif the user qualified the cancellation for any of the options provided. If
`block 10652 determines the user selected to qualify
`canceling the presentation,
`then
`block 10654 processesqualifications and the invokeris returned to at block 10634.
`Block 10654 processes qualifications preferably as described here:
`
`IOIle
`
`lo
`
`Re-schedule this presentation at a future time on the MS user's calendar;
`Block 10652 creates a calendar entry containing MADR handle field 9850 a for
`the user's specified date/time information. The calendar entry becomesin effect. a
`schedule processing alert which executes at that time. The processing alert uses
`the MADR handle to access the MADR,sets FIG. 25A invocation parameters,
`and invokes FIG. 25A processing at thattime.
`Re-schedule in convenient time units this presentation for processing in a period
`of time (e.g. delay for retrying
`presentation in 1 hour, 5 minutes or 200 seconds
`<OR> Re-schedule this presentation for a specified future date/time; An
`asynchronousthreadis started for sleeping the specified period of time and then
`invoking at that time FIG. 25A parameters including the MADR.The thread
`terminates after invoking FIG. 25A for the re-processing of the MADR.
`Save presentation reference to history information for optional access at a later
`time: The MADR, or handle field 9850 a,
`is saved to history
`(e.g. LBX histo
`that the MS user can later selectit for presentation, perhaps with saved
`
`
`parameters,atthattime.
`
`re)
`
` If block 694410652 determines the userthenBleck6946-legsdlidnotnotselected cancelprocessing,te
`
`
`
`
`
`
`
` creturriththe utright cancelled itib, thenavewine cancellation (uee.gtoge he E
`
`
`
`processing ¢continues to block6048 for geting the nxt(or fetSB4Btarts sstem-prameterblock
`
`
`
`
`
`MS2MS-110634.Referring b:back to block«10850. if itis determined the user selected to continue
`
`with the presentation, processing continues to block 10656. Referring back to block 10644, ifit
`is determined that no prompt was to be provided, processing continues to block 10656. If
`block 10656 determinesthat delivery criteria field 9850 h is null, then processing continues for
`MSlocal presentation at block 10620. Block 10620 and subsequent Processing 'sis as areaely
`
`described above
`
`EXHIBIT 1013 - PAGE 0305
`
`APPLE
`
`

`

`copyofthesearchresultfromFIG.69AtethesystemofFIG,J5Borecessing-except there is no active
`
`
`
`line (channel) information to be associated with the presentation.
`
`If block 10656 determinesdelivery criteria is specified, then processing continues to
`block 10658. If block 10658 determines the MADR is to be sent using a well known transport
`layer interface (e.g. SMTP),
`then block 10660 prepares parameters (e.g. appearance
`information) for sending the MADR information, block 10662 invokes the transport interface and
`processing continues to block 10634. In effect, the MADR is presented by sending it to the
`delivery criteria which may be a single recipient, group of recipients, or wildcard specification of
`recipients. If block 10658 determinesdelivery criteria is not destined for a well knowntransport
`layer interface, the MADR is delivered to the remote MS(s)
`by
`preparing
`send parametersat
`block 10664 and invoking send processing of FIG. 13A at block 10666 before continuing to
`block 10634. Depending on settings in the application distribution for outbound processing, FIG.
`13A may need to be invoked for a plurality of recipient MSs, therefore an iterative loop 10668is
`appropriately incorporated around blocks 10644 and 10666 for handling multiple recipients, and
`for handling attempts for a prioritized retry. An alternate embodiment may handle multiple
`recipients in send processing invoked at block 10666 depending on a transport interface used.
`Parameters are prepared at block 10664 so a MADR is delivered in its entirety for processing at
`the receiving MS(s). Other transport mechanisms may
`beutilized. Preferably,
`a CLOC
`parameter is passed wheneverpossible, including via block 10666, whereby whereaboutsis
`accessed at block 10664.
`
`FIG. 25B depicts a flowchart for describing block 10638 custom presentation processing to do
`the best possible presentation in absence of a suitable application or interface.
`Block 10638 processing begins at block 10638-1, and continues to block 10638-3. If
`block 10638-3 determines field 9850 c is an executable, block 10638-5 determines compatibility
`for being executed by the MS. Thereafter, if block 10638-7 determines the executable is
`compatible for the MS (e.g. 32 bit Intel executable for 32 bit Intel architecture), block 10638-
`9 spawns the executable processfor execution at the MS and block 10638 processing
`terminates at block 10638-39, otherwise block 10638-11 deactivates MADR field 9850 / and
`processing continues to block 10638-39. Some embodiments will provide an error notification at
`block 10638-11. If block 10638-3 determinesfield 9850 c is not for an executable, processing
`continues to block 10638-13.
`
`If block 10638-13 determines field 9850 c is for audio only, block 10638-15 prepares peripheral
`
`
`
`
`
`
`
`
`
`outputinterfaceparametersusingblockreconciliationsandfirstinvokingtheFIG.10610
`26 procedure for resolving any specified application information. LRDR information may be used
`to skip
`presentation processing
`(e.g. no presenting at MS whereabouts described by a LRDR
`therefore a skip return is checked for at block 10638-17. After resolving any application
`information, block 10638-15 finalizes the message and block 10638-17 invokes the peripheral
`BIOSinterface for presenting the audio if no skip was to be processed. Block 10638-15 is
`capable of many format transformations in order to get the audio to a proper format to the
`interface invoked at block 10638-17. Active call line (channel) audio play was preferably
`handled with an API in FIG. 25A, and active call information preferably need not be used at
`block 10638-17, however block 10638-17 can interface for audio output using architecture
`of FIG. 22. Processing leaves block 10638-17 for block 10638-39. If block 10638-13 determines
`field 9850 c is not for audio only, processing continues to block 10638-19.
`
`EXHIBIT 1013 - PAGE 0306
`
`APPLE
`
`

`

`If block 10638-19 determines field 9850 c is for video, block 10638-21 prepares display interface
`parameters using block 10610 reconciliations and first invoking the FIG. 26 procedure for
`resolving any specified application information. LRDR information may be used to skip
`resentation processing
`(e.g. no presenting at MS whereabouts described by a LRDR
`therefore a skip return is checked for at block 10638-23. After resolving any application
`information, block 10638-21 finalizes the message and block 10638-23 invokes the video
`display interface for presenting the video if no skip was to be processed. In one embodiment,
`the MS display bufferis written to for display to the MS. Block 10638-21 is capable of many
`format transformations in order to get the video to a proper format. Depending on FIG.
`26 processing and block 10610 reconciliations, MS whereabouts information may be encoded
`as a ghosting
`image over the video of message field 9850 c. Active call line (channel) video pla
`was preferably handled with an API in FIG. 25A, and active call information preferably need not
`be used at block 10638-23, however block 10638-23 can interface for video output using
`architecture of FIG. 22. Processing leaves block 10638-23 for block 10638-39. If block 10638-
`19 determinesfield 9850 c is not for video, processing continues to block 10638-25.
`
`If block 10638-25 determines field 9850 c is for text, block 10638-27 prepares textual display
`parameters using block 10610 reconciliations andfirst invoking the FIG. 26 procedure for
`resolving any specified application information. LRDR information may be used to skip
`resentation processing
`(e.g. no presenting at MS whereabouts described bya LRDR
`therefore a skip return is checked for at block 10638-29. After resolving any application
`information, block 10638-27 finalizes the message and block 10638-29 presents text to the
`appropriate user interface object if no skip was to be processed. Block 10638-27 is capable of
`manyformat transformations in order to get the final form text. Active call line audio play was
`preferably handled with an API in FIG. 25A, and active call information preferably need not be
`used at block 10638-29, for example to annunciate the text during an active call, however
`block 10638-29 can interface for audio output using architecture of FIG. 22. Processing leaves
`block 10638-29 for block 10638-39. lf block 10638-25 determines field 9850 cis not for text
`
`processing continues to block 10638-31.
`
`EXHIBIT 1013 - PAGE 0307
`
`APPLE
`
`

`

`
`
`EXHIBIT 1013 - PAGE 0308
`
`APPLE
`
`

`

`
`
`EXHIBIT 1013 - PAGE 0309
`
`APPLE
`
`

`

`
`
`EXHIBIT 1013 - PAGE 0310
`
`APPLE
`
`

`

`
`
`EXHIBIT 1013 - PAGE 0311
`
`APPLE
`
`

`

`
`
`EXHIBIT 1013 - PAGE 0312
`
`APPLE
`
`

`

`
`
`EXHIBIT 1013 - PAGE 0313
`
`APPLE
`
`

`

`
`
`EXHIBIT 1013 - PAGE 0314
`
`APPLE
`
`

`

`
`
`EXHIBIT 1013 - PAGE 0315
`
`APPLE
`
`

`

`
`
`EXHIBIT 1013 - PAGE 0316
`
`APPLE
`
`

`

`
`
`EXHIBIT 1013 - PAGE 0317
`
`APPLE
`
`

`

`
`
`EXHIBIT 1013 - PAGE 0318
`
`APPLE
`
`

`

`
`
`EXHIBIT 1013 - PAGE 0319
`
`APPLE
`
`

`

`
`
`EXHIBIT 1013 - PAGE 0320
`
`APPLE
`
`

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