`
`JINr
`
`A Collection of Jini™
`Technology Helper
`Utilities and Services
`Specifications
`
`This Collection of Jini™ Technology Helper Utilities and
`Services Specifications defines a set of standard helper utilities
`and services which extend the Jini Technology Core Platform.
`These helperutilities and services encapsulate desirable
`behaviors in the form of a set of reusable components that can be
`used to help simplify the process of developing Jini technology(cid:173)
`enabled clients and services (Jini clients and services) for the Jini
`technology application environment. Employing these utilities
`and services to build such desirable behavior into a Jini client or
`service can help to avoid poor design and implementation
`decisions, greatly simplifying the development process.
`
`♦Sun
`
`micro systems
`
`Version 1.1
`October 2000
`
`Smart Mobile Technologies LLC, Exhibit 2003
`Page 2003 - 1
`IPR2022-00807, Apple Inc. et al. v. Smart Mobile Technologies LLC
`
`
`
`ii
`
`Copyright © 2000 Sun Microsystems, Inc.
`901 San Antonio Road, Palo Alto, CA 94303 USA.
`All rights reserved.
`
`Sun Microsystems, Inc. has intellectual property rights ("Sun IPR") relating to implementations of the technology
`described in this publication (''the Technology"). In particular, and without limitation, Sun IPR may include one or more
`patents or patent applications in the U.S. or other countries. Your limited right to use this publication does not grant you any
`right or license to Sun IPR nor any right or license to implement the Technology. Sun may, in its sole discretion, make
`available a limited license to Sun IPR and/or to the Technology under a separate license agreement. Please visit http://
`www.sun.com/software/communitysource/.
`
`Sun, the Sun logo, Sun Microsystems, Jini, the Jini logo, JavaSpaces, Java, and JavaBeans are trademarks or registered
`trademarks of Sun Microsystems, Inc. in the United States and other countries.
`
`THIS SPECIFICATION IS PROVIDED ''AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
`IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FIT(cid:173)
`NESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
`
`THIS SPECIFICATION COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS.
`CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE
`INCORPORATED IN NEW EDITIONS OF THE SPECIFICATION. SUN MICROSYSTEMS, INC. MAY MAKE
`IMPROVEMENTS AND/OR CHANGES IN ANY TECHNOLOGY, PRODUCT, OR PROGRAM DESCRIBED IN
`THIS SPECIFICATION AT ANY TIME.
`
`Smart Mobile Technologies LLC, Exhibit 2003
`Page 2003 - 2
`IPR2022-00807, Apple Inc. et al. v. Smart Mobile Technologies LLC
`
`
`
`Contents
`
`us Introduction to Helper Utilities and Services ............ 1
`US.1 Summary ................................................ 1
`US.2 Terminology ............................................. 3
`US.2.1 Terms Related to Discovery and Join . . . . . . . . . . . . . . . . . . . . . 3
`US.2.2 Jini Clients and Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
`US.2.3 Helper Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
`US.2.4 Helper Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
`US.2.5 Managed Sets ........................................ 5
`US.2.6 What Exceptions Imply about Future Behavior . . . . . . . . . . . . . 5
`US.2. 7 Unavailable Lookup Services . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
`US.2.8 Discarding a Lookup Service ........................... 8
`US.2.8.1 Active Communication Discarded Event .......... 8
`US.2.8.2 Active No-Interest Discarded Event .............. 9
`US.2.8.3 Passive Communication Discarded Event ......... 9
`US.2.8.4 Passive No-Interest Discarded Event ............. 9
`US.2.8.5 Changed Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
`US.2.8.6 Remote Objects, Stubs, and Proxies ............. 10
`US.2.9 Activation ......................................... 12
`US.3 Introduction to the Helper Utilities ..................... 13
`US.3.1 The Discovery Utilities ............................... 13
`US.3.1.1 The Di scoveryManagement Interface .......... 14
`US.3.1.2 The Di scoveryGroupManagement Interface ..... 14
`US.3.1.3 The Di scoverylocatorManagement Interface ... 14
`US.3.1.4 The LookupDi scovery Helper Utility .......... 14
`US.3.1.5 The LookuplocatorDi scovery Helper Utility ... 15
`US.3.1.6 The LookupDi scoveryManager Helper Utility ... 15
`US.3.1.7 The Constants Class ....................... 15
`US.3.1.8 The Outgoi ngMul ti castRequest Utility ....... 15
`US.3.1.9 The Incomi ngMul ti castRequest Utility ....... 15
`US.3.1.10 The Outgoi ngMul ti castAnnouncement Utility .. 16
`
`Smart Mobile Technologies LLC, Exhibit 2003
`Page 2003 - 3
`IPR2022-00807, Apple Inc. et al. v. Smart Mobile Technologies LLC
`
`
`
`iv
`
`US.3.1.11 The Incomi ngMul ti castAnnouncement Utility . 16
`US.3.1.12 The Outgoi ngUni castRequest Utility
`. . . . . . . . 16
`US.3.1.13 The Incomi ngUni castRequest Utility
`. . . . . . . . 16
`US.3.1.14 The Outgoi ngUni castResponse Utility . . . . . . . 16
`US.3.1.15 The Incomi ngUni castResponse Utility . . . . . . . 16
`US.3.2 The Lease Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
`US.3.2.1 The LeaseRenewalManager Helper Utility ...... 17
`US.3.3 The Join Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
`US.3.3.1 The Joi nManager Helper Utility . . . . . . . . . . . . . . 17
`US.3.4 The Service Discovery Utilities . . . . . . . . . . . . . . . . . . . . . . . . 18
`US.3.4.1 The Servi ceDi scoveryManager Helper Utility. . 18
`US.4 Introduction to the Helper Services ..................... 19
`US.4.1 The Lookup Discovery Service ........................ 19
`US.4.2 The Lease Renewal Service ........................... 19
`US.4.3 The Event Mailbox Service ........................... 20
`US.5 Dependencies ........................................... 21
`
`DU Jini Discovery Utilities Specification .................... 23
`DU.1 Introduction ............................................ 23
`DU.1.1 Dependencies ...................................... 23
`DU.2 The Discovery Management Interfaces ................. 25
`DU.2.1 Overview .......................................... 25
`DU.2.2 Other Types ........................................ 26
`DU.2.3 The Di scoveryManagement Interface . . . . . . . . . . . . . . . . . . . 27
`DU.2.3.1 The Semantics ............................. 27
`DU.2.4 The Di scoveryGroupManagement Interface . . . . . . . . . . . . . . 30
`DU.2.4.1 The Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
`DU.2.5 The Di scoverylocatorManagement Interface . . . . . . . . . . . . 32
`DU.2.5.1 The Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
`DU.2.6 Supporting Interfaces and Classes ...................... 34
`DU.2.6.1 The Di scoveryl i stener Interface ............ 34
`DU.2.6.2 The Di scoveryChangeL i stener Interface ...... 35
`DU.2.6.3 The Di scoveryEvent Class .................. 36
`DU.2.7 Serialized Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
`DU.3 LookupDi scovery Utility ............................... 39
`DU.3.1 Other Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
`DU.3.2 The Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
`DU.3.3 The Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
`DU.3.4 Supporting Interfaces and Classes ...................... 41
`DU.3.4.1 The Di scoveryManagement Interfaces ......... 41
`DU.3.4.2 Security and Multicast Discovery: The
`42
`Di scoveryPermi ssion Class
`DU.3.5 Serialized Forms .................................... 43
`
`Smart Mobile Technologies LLC, Exhibit 2003
`Page 2003 - 4
`IPR2022-00807, Apple Inc. et al. v. Smart Mobile Technologies LLC
`
`
`
`V
`
`DU.4 The LookuplocatorDi scovery Utility .................. 45
`DU.4.1 Overview .......................................... 45
`DU.4.2 Other Types ........................................ 46
`DU.4.3 The Interface ....................................... 46
`DU.4.4 The Semantics ...................................... 47
`DU.4.5 Supporting Interfaces ................................. 48
`DU.4.5.1 The Di scoveryManagement Interfaces .......... 48
`DU.5 The LookupDi scoveryManager Utility .................. 49
`DU.5.1 Overview .......................................... 49
`DU.5.2 Other Types ........................................ 49
`DU.5.3 The Interface ....................................... 50
`DU.5.4 The Semantics ...................................... 50
`DU.5.5 Supporting Interfaces and Classes ....................... 53
`DU.5.5.1 The Di scoveryManagement Interfaces .......... 53
`DU.5.5.2 Security and Multicast Discovery: The
`53
`DiscoveryPermission Class
`DU.6 Low-Level Discovery Protocol Utilities .................. 55
`DU.6.1 The Constants Class ................................ 55
`DU.6.1.1 Overview ................................. 55
`DU.6.1.2 Other Types ............................... 55
`DU.6.1.3 The Class Definition ......................... 56
`DU.6.1.4 The Semantics ............................. 56
`DU.6.2 The 0utgoi ngMul ti castRequest Utility ................ 57
`DU.6.2.1 Overview ................................. 57
`DU.6.2.2 Other Types ............................... 57
`DU.6.2.3 The Interface ............................... 57
`DU.6.2.4 The Semantics ............................. 58
`DU.6.3 The Incomi ngMul ti castRequest Utility ................ 58
`DU.6.3.1 Overview ................................. 58
`DU.6.3.2 Other Types ............................... 59
`DU.6.3.3 The Interface ............................... 59
`DU.6.3.4 The Semantics ............................. 59
`DU.6.4 The 0utgoi ngMul ti castAnnouncement Utility ........... 60
`DU.6.4.1 Overview ................................. 60
`DU.6.4.2 Other Types ............................... 60
`DU.6.4.3 The Interface ............................... 61
`DU.6.4.4 The Semantics ............................. 61
`DU.6.5 The Incomi ngMul ti castAnnouncement Utility ........... 62
`DU.6.5.1 Overview ................................. 62
`DU.6.5.2 Other Types ............................... 62
`DU.6.5.3 The Interface ............................... 63
`DU.6.5.4 The Semantics ............................. 63
`DU.6.6 The 0utgoi ngUni castRequest Utility .................. 64
`DU.6.6.1 Overview ................................. 64
`DU.6.6.2 Other Types ............................... 64
`
`Smart Mobile Technologies LLC, Exhibit 2003
`Page 2003 - 5
`IPR2022-00807, Apple Inc. et al. v. Smart Mobile Technologies LLC
`
`
`
`vi
`
`DU.6.6.3 The Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
`DU.6.6.4 The Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
`DU.6.7 The Incomi ngUni castRequest Utility . . . . . . . . . . . . . . . . . . 65
`DU.6.7.1 Overview ................................. 65
`DU.6.7.2 Other Types ............................... 65
`DU.6.7.3 The Interface .............................. 65
`DU.6.7.4 The Semantics ............................. 66
`DU.6.8 The Outgoi ngUni castResponse Utility . . . . . . . . . . . . . . . . . 66
`DU.6.8.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
`DU.6.8.2 Other Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
`DU.6.8.3 The Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
`DU.6.8.4 The Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
`DU.6.9 The Incomi ngUni castResponse Utility . . . . . . . . . . . . . . . . . 68
`DU.6.9.1 Overview ................................. 68
`DU.6.9.2 Other Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
`DU.6.9.3 The Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
`DU.6.9.4 The Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
`
`EU Jini Entry Utilities Specification ......................... 71
`EU.1 Entry Utilities .......................................... 71
`EU.1.1 AbstractEntry .................................... 71
`EU .1.2 Serialized Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
`
`LM Jini Lease Utilities Specification ......................... 73
`LM.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
`LM.2 The LeaseRenewalManager ............................. 75
`LM.2.1 Other Types ........................................ 76
`LM.3 The Interface ........................................... 77
`LM.4 The Semantics .......................................... 79
`LM.5 Supporting Interfaces and Classes . . . . . . . . . . . . . . . . . . . . . . 87
`LM.5.1 The Leasel i stener Interface ......................... 87
`LM.5.1.1 The Semantics ............................. 88
`LM.5.2 The Desi redExpi rati onl i stener Interface . . . . . . . . . . . . . 88
`LM.5.2.1 The Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
`LM.5.3 The LeaseRenewa l Event Class . . . . . . . . . . . . . . . . . . . . . . . . 89
`LM.5.3.1 The Semantics ............................. 90
`LM.5 .4 Serialized Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
`
`JU Jini Join Utilities Specification ........................... 93
`JU.1 Introduction ............................................ 93
`JU.2 The JoinManager ....................................... 95
`ru.2.1 Other Types ........................................ 96
`
`Smart Mobile Technologies LLC, Exhibit 2003
`Page 2003 - 6
`IPR2022-00807, Apple Inc. et al. v. Smart Mobile Technologies LLC
`
`
`
`vii
`
`JU.3 The Interface ........................................... 97
`JU.4 The Semantics .......................................... 99
`JU.5 Supporting Interfaces and Classes .................... 105
`ru.5.1 The Di scoveryManagement Interface .................. 105
`ru.5.2 The Servi ceIDL i stener Interface .................... 106
`
`SD Jini Service Discovery Utilities Specification ......... 107
`SD.1 Introduction .......................................... 107
`SD.2 The ServiceDiscoveryManager ...................... 109
`SD.2.1 The Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
`SD.3 The Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
`SD.4 The Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
`SD.4.1 The Methods ...................................... 115
`SD.4.1.1 The Constructor ........................... 115
`SD.4.1.2 The createlookupCache Method ............. 116
`SD.4.1.3 The lookup Method . . . . . . . . . . . . . . . . . . . . . . . . 120
`SD.4.1.4 The getDi scoveryManager Method .......... 123
`SD.4.1.5 The getleaseRenewalManager Method ....... 124
`SD.4.1.6 The terminate Method . . . . . . . . . . . . . . . . . . . . . 124
`SD.4.2 Defining Service Equality ............................ 125
`SD.4.3 Exporting RemoteEventL i stene r Objects . . . . . . . . . . . . . . 126
`SD.5 Supporting Interfaces and Classes . . . . . . . . . . . . . . . . . . . . 129
`SD.5.1 The Di scoveryManagement Interface .................. 129
`SD.5.2 The ServiceitemFilter Interface .................... 130
`SD.5.2.1 The Semantics ............................ 131
`SD.5.3 The Servi ceDi scoveryEvent Class ................... 131
`SD.5.3.1 The Semantics
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
`SD.5.4 The Servi ceDi scoveryl i stener Interface ............. 133
`SD.5.4.1 The Semantics
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
`SD.5.5 The LookupCache Interface . . . . . . . . . . . . . . . . . . . . . . . . . . 135
`SD.5.5.1 The Semantics
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
`
`LS Jini Lookup Attribute Schema Specification ......... 141
`LS.1 Introduction ........................................... 141
`LS.1.1 Terminology ...................................... 142
`LS.1.2 Design Issues ...................................... 142
`LS.1.3 Dependencies ...................................... 143
`LS.2 Human Access to Attributes .......................... 145
`LS.2.1 Providing a Single View of an Attribute's Value .......... 145
`LS.3 JavaBeans Components and Design Patterns ......... 147
`LS.3.1 Allowing Display and Modification of Attributes .......... 147
`LS.3.1.1 Using JavaBeans Components with Entry Classes 147
`
`Smart Mobile Technologies LLC, Exhibit 2003
`Page 2003 - 7
`IPR2022-00807, Apple Inc. et al. v. Smart Mobile Technologies LLC
`
`
`
`viii
`
`LS.3.2 Associating JavaBeans Components with Entry Classes .... 148
`LS.3.3 Supporting Interfaces and Classes . . . . . . . . . . . . . . . . . . . . . 150
`LS.4 Generic Attribute Classes ............................. 151
`LS.4.1
`Indicating User Modifiability . . . . . . . . . . . . . . . . . . . . . . . . . 151
`LS.4.2 Basic Service Information
`. . . . . . . . . . . . . . . . . . . . . . . . . . . 151
`LS.4.3 More Specific Information . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
`LS.4.4 Naming a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
`LS.4.5 Adding a Comment to a Service ....................... 154
`LS.4.6 Physical Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
`LS.4. 7 Status Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
`LS.4.8 Serialized Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
`
`LD Jini Lookup Discovery Service . . . . . . . . . . . . . . . . . . . . . . . . . 159
`LD.1 Introduction ........................................... 159
`LD .1.1 Goals and Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
`LD.1.2 Other Types ....................................... 162
`LD.2 The Interface .......................................... 163
`LD.3 The Semantics ......................................... 165
`LD.3.1 Registration Semantics .............................. 165
`LD.3.2 Event Semantics ................................... 168
`LD.3.3 Leasing Semantics
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
`LD.4 Supporting Interfaces and Classes ..................... 171
`LD.4.1 The LookupDiscoveryRegistration Interface .......... 171
`LD.4.1.1 The Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
`LD.4.2 The RemoteDi scoveryEvent Class .................... 180
`LD.4.2.1 The Semantics ............................ 182
`LD.4.2.2 Serialized Forms .......................... 184
`LD.4.3 The LookupUnmarshal Exception Class ............... 184
`LD.4.3.1 The Semantics ............................ 186
`LD.4.3.2 Serialized Forms . . . . . . . . . . . . . . . . . . . . . . . . . . 187
`
`LR Jini Lease Renewal Service Specification . . . . . . . . . . . . . 189
`LR.1 Introduction ........................................... 189
`LR.1.1 Goals and Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
`LR.1.2 Other Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
`LR.2 The Interface .......................................... 193
`LR.2.1 Events ........................................... 200
`LR.2.2 Serialized Forms ................................... 204
`
`EM Jini Event Mailbox Service Specification ............. 205
`EM.1 Introduction ........................................... 205
`EM.1.1 Goals and Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
`
`Smart Mobile Technologies LLC, Exhibit 2003
`Page 2003 - 8
`IPR2022-00807, Apple Inc. et al. v. Smart Mobile Technologies LLC
`
`
`
`EM.1.2 Other Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
`EM.2 The Interface . . . . . . . . .. .. .. . . . . . . . . .. . . . . . . . . . . . . . . . . . 207
`EM.3 The Semantics . . . . . . . . . . . . .. . . . . . . . . .. . . . . . . . . . . . . . . . . 209
`EM.4 Supporting Interfaces and Classes .................... 211
`EM.4.1 The Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
`
`ix
`
`Smart Mobile Technologies LLC, Exhibit 2003
`Page 2003 - 9
`IPR2022-00807, Apple Inc. et al. v. Smart Mobile Technologies LLC
`
`
`
`X
`
`Smart Mobile Technologies LLC, Exhibit 2003
`Page 2003 - 10
`IPR2022-00807, Apple Inc. et al. v. Smart Mobile Technologies LLC
`
`
`
`us
`
`Introduction to Helper
`Utilities and Services
`
`US.1 Summary
`
`WHEN developing clients and services that will participate in the application
`environment for Jini™ technology, there are a number of behaviors that the devel(cid:173)
`oper may find desirable to incorporate in the client or service. Some of these
`behaviors may satisfy requirements described in the specifications of various Jini
`technology components; some behaviors may simply represent design practices
`that are desirable and should be encouraged. Examples of the sort of behavior that
`is required or desirable include the following:
`
`♦ It is a requirement of the Jini discovery protocols that a service must con(cid:173)
`tinue to listen for and act on announcements from lookup services in which
`the service has registered interest.
`♦ It is a requirement of the Jini discovery protocols that, until successful, a ser(cid:173)
`vice must continue to attempt to join the specific lookup services with which
`it has been configured to join.
`♦ Under many conditions, a Jini technology-enabled client (Jini client) or ser(cid:173)
`vice will wish to regularly renew leases that it holds. For example, when a
`Jini technology-enabled service (Jini service) registers with a Jini lookup
`service, the service is requesting residency in the lookup service. Residency
`in a lookup service is a leased resource. Thus, when the requested residency
`is granted, the lookup service also imposes a lease on that residency. Typi(cid:173)
`cally, such a registered service will wish to extend the lease on its residency
`
`1
`
`Smart Mobile Technologies LLC, Exhibit 2003
`Page 2003 - 11
`IPR2022-00807, Apple Inc. et al. v. Smart Mobile Technologies LLC
`
`
`
`2
`
`SUMMARY
`
`beyond the original expiration time, resulting in a need to renew the lease on
`a regular basis.
`♦ Many Jini services will need to maintain a dormant (inactive) state, becom(cid:173)
`ing active only when needed.
`♦ Many Jini clients and services will need to have a mechanism for finding and
`managing Jini services.
`♦ Many Jini clients and services will find it desirable to employ a separate ser(cid:173)
`vice that will handle events, in some useful way, on behalf of the participant.
`
`To help simplify the process of developing clients and services for the appli(cid:173)
`cation environment for Jini technology (Jini application environment), several
`specifications in this document collection define reusable components that encap(cid:173)
`sulate behaviors such as those outlined above. Employing such utilities and ser(cid:173)
`vices to build such desirable behavior into a Jini client or service can help to avoid
`poor design and implementation decisions, greatly simplifying the development
`process.
`What is presented first is terminology that may be helpful when analyzing
`these specifications. Following the section on terminology, brief summaries of the
`content of each of the current helper utilities and services specifications are pro(cid:173)
`vided. Finally, the other specifications on which these specifications depend are
`listed for reference.
`
`Smart Mobile Technologies LLC, Exhibit 2003
`Page 2003 - 12
`IPR2022-00807, Apple Inc. et al. v. Smart Mobile Technologies LLC
`
`
`
`INTRODUCTION TO HELPER UTILITIES AND SERVICES, version 1.1
`
`3
`
`US.2 Terminology
`
`THIS section defines terms and discusses concepts that may be referenced
`throughout the helper utilities and services specifications. While the terms and
`concepts that appear in this section are general in nature and may apply to multi(cid:173)
`ple components specified in this collection, each specification may define addi(cid:173)
`tional terms and concepts to further facilitate the understanding of a particular
`component. Each specification may also present supplemental information about
`some of the terms defined in this section and their relationship with the compo(cid:173)
`nent being specified.
`Because this document makes use of a number of terms defined in the "Jini™
`Technology Glossary", reviewing the glossary is recommended. A number of the
`terms defined in the glossary are also defined in this section to provide easy refer(cid:173)
`ence because those terms are used extensively in the helper utilities and services
`specifications. Additionally, this section augments the definitions of some of the
`terms from the glossary with details relevant to those specifications.
`In addition to the glossary, the Jini™ Technology Core Platform Specification
`(referred to as the core specification) presents detailed definitions of a number of
`terms and concepts appearing both in this section and throughout the helper utili(cid:173)
`ties and services specifications. When appropriate, the relevant specification will
`be referenced.
`
`US.2.1 Terms Related to Discovery and Join
`
`The Jini Technology Core Platform Specification, "Discovery and Join", defines a
`discovering entity as one or more cooperating software objects written in the
`Java™ programming language (Java software objects), executing on the same
`host, that are in the process of obtaining references to Jini lookup services. That
`specification also defines a joining entity as one or more cooperating Java soft(cid:173)
`ware objects, on the same host, that have received a reference to a lookup service
`and are in the process of obtaining services from, and possibly exporting services
`to, a federation of Jini technology-enabled services and/or devices and Jini lookup
`services referred to as a djinn. The lookup services comprising a djinn may be
`
`A COLLECTION OF JINJTM TECHNOLOGY HELPER UTILITIES AND SERVICES SPECIFICATIONS
`
`Smart Mobile Technologies LLC, Exhibit 2003
`Page 2003 - 13
`IPR2022-00807, Apple Inc. et al. v. Smart Mobile Technologies LLC
`
`
`
`4
`
`TERMINOLOGY
`
`organized into one or more sets known as groups. Multiple groups may or may not
`be disjoint. Each group of lookup services is identified by a logical name repre(cid:173)
`sented by a String object.
`The Jini Technology Core Platform Specification, "Discovery and Join"
`defines two protocols used in the discovery process: the multicast discovery proto(cid:173)
`col and the unicast discovery protocol.
`When a discovering entity employs the multicast discovery protocol to dis(cid:173)
`cover lookup services that are members of one or more groups belonging to a set
`of groups, that discovery process is referred to as group discovery.
`The utility class net.jini .core.discovery.Lookuplocator is defined in
`The Jini Technology Core Platform Specification, "Discovery and Join". Any
`instance of that class is referred to as a locator. When a discovering entity
`employs the unicast discovery protocol to discover specific lookup services, each
`corresponding to an element in a set of locators, that discovery process is referred
`to as locator discovery.
`
`US.2.2 Jini Clients and Services
`
`For the purposes of the helper utilities and services specifications, a Jini client is
`defined as a discovering entity that can retrieve a service ( or a remote reference to
`a service) registered with a discovered lookup service and invoke the methods of
`the service to meet the entity's requirements. An entity that acts only as a client
`never registers with (requests residency in) a lookup service.
`A Jini service is defined as both a discovering and a joining entity containing
`methods that may be of use to some other Jini client or service, and which regis(cid:173)
`ters with discovered lookup services to provide access to those methods. Note that
`a Jini service can also act as a Jini client.
`The term client-like entity may be used, in general, when referring to Jini cli(cid:173)
`ents and Jini services that act as clients.
`Note that when the term entity is used, that term may be referring to a discov(cid:173)
`ering entity, a joining entity, a client-like entity, a service, or some combination of
`these types of entities. Whenever that general term is used, it should be clear from
`the context what type of entity is being discussed.
`
`US.2.3 Helper Service
`
`A Jini technology-enabled helper service is defined in this document as an inter(cid:173)
`face or set of interfaces, with an associated implementation, that encapsulates
`behavior that is either required or highly desirable in service entities that adhere to
`
`Smart Mobile Technologies LLC, Exhibit 2003
`Page 2003 - 14
`IPR2022-00807, Apple Inc. et al. v. Smart Mobile Technologies LLC
`
`
`
`INTRODUCTION TO HELPER UTILITIES AND SERVICES, version 1.1
`
`s
`
`the Jini technology programming model ( or simply the Jini programming model).
`A helper service is a Jini service that can be registered with any number of lookup
`services and whose methods can execute on remote hosts.
`In general, a helper service should be of use to more than one type of entity
`participating in the Jini application environment and should provide a significant
`reduction in development complexity for developers of such entities.
`
`US.2.4 Helper Utility
`
`This document distinguishes between a helper utility and a helper service. Helper
`utilities are programming components that can be used during the construction of
`Jini services and/or clients. Helper utilities are not remote and do not register with
`a lookup service. Helper utilities are instantiated locally by entities wishing to
`employ them.
`
`US.2.5 Managed Sets
`
`When performing discovery duties, entities will often maintain references to dis(cid:173)
`covered lookup services in a set referred to as the managed set of lookup services.
`The entity may also maintain two other notable sets: the managed set of groups
`and the managed set of locators.
`Each element of the managed set of groups is a name of a group whose mem(cid:173)
`bers are lookup services that the entity wishes to be discovered via group discov(cid:173)
`ery. The managed set of groups is typically represented as a String array, or a
`Collection of String elements.
`Each element of the managed set of locators corresponds to a specific lookup
`service that the entity wishes to be discovered via locator discovery. Typically, this
`set is represented as an array of net.jini .core.discovery.LookupLocator
`objects or some other Co 11 ecti on type whose elements are LookupLocator
`objects.
`Note that when the general term managed set is used, it should be clear from
`the context whether groups, locators, or lookup services are being discussed.
`
`US.2.6 What Exceptions Imply about Future Behavior
`
`When interacting with a remote object, an entity may call methods that result in
`exceptions. The specification of those methods should define what each possible
`exception implies (if anything) about the current state of the object. One important
`
`A COLLECTION OF JINJTM TECHNOLOGY HELPER UTILITIES AND SERVICES SPECIFICATIONS
`
`Smart Mobile Technologies LLC, Exhibit 2003
`Page 2003 - 15
`IPR2022-00807, Apple Inc. et al. v. Smart Mobile Technologies LLC
`
`
`
`6
`
`TERMINOLOGY
`
`aspect of an object's state is whether or not further interactions with the object are
`likely to be fruitful. Throughout the helper utilities and services specifications, the
`following general terms may be used to classify what a given exception implies
`about the probability of success of future operations on the object that threw the
`exception:
`
`♦ Bad object exception: If a method invocation on an object throws a bad
`object exception, it can be assumed that any further operations on that object
`will also fail.
`♦ Bad invocation exception: If a method invocation on an object throws a bad
`invocation exception, it can be assumed that any retries of the same method
`with the same arguments that are expected to return the same value will also
`fail. No new assertions can be made about the probability of success of any
`future invocation of that method with different arguments or if a different
`return value is expected, nor can any new assertions be made about the prob(c