throbber
These actions require that metadata be passed to the
`appropriate gateways and resources in each network so that
`the call can be re-routed.
`One significant aspect of cross-system service handoff
`is the decision-making process. The process may include
`network-based handover and mobile device-based handoff
`decisions. The key is that the overall process is controlled
`by users and services.
`
`3.3 Customized Information Collection, Delivery and Dis­
`semination
`There are many cases where the infrastructure can be lever­
`aged to route information in a dynamic, timely fashion. For
`example, a salesperson who has multiple end devices or end
`devices with multiple network interfaces could receive im­
`mediate notification when someone tries to contact them or
`the salesperson could have an service agent monitoring the
`availability of a particular product, etc. When triggered by
`the appropriate condition, the agent would then contact the
`salesperson using the best possible mode, as specified by the
`salesperson.
`Another example is distributing the same information
`to multiple users on the same or different networks (e.?.,
`sending one message to users , with cellular phones, pagers,
`voicemail, E-mail, etc.). Consider being able to type a mes­
`sage and have it delivered to a list of users, where the list
`not only contains e-mail addresses, but also contains cellular
`phone numbers, office numbers, pager numbers, voice mail
`numbers, etc. and the infrastructure transparently converts
`the message to the appropriate format as selected by the re­
`cipient of the message. This service simplifies and optimizes
`information delivery both for senders and recipients.
`Sensor fusion is an example of information collection.
`Consider the problem of aggregating information from sen­
`sors in different networks (e.g., a passive IR detector con­
`nected to an IP network and a video camera connected to
`a digital cellular network). The infrastructure must collect
`and correlate information from very different types of de­
`vices. This problem is similar to the problem of personal
`information management for a user (e.g., voicemail, e-mail,
`pages, faxes, etc.), where the information has many different
`representations.
`
`Novel Ideas in the Iceberg Architecture
`4
`There are several novel aspects to the Iceberg architecture
`that distinguish it from previous research in this area. The
`architecture provides support for the following features across
`cascaded networks: a carefully structured architecture for
`services, service transformations (not just bit transforma­
`tions), and the ability to pass service- and entity-specific
`metadata across cascaded networks
`
`4.1 Structured Architecture for Services Across Cascaded
`Networks
`The Iceberg architecture addresses more than just one-to-
`one connections between networks [1, 2, 8]. The architec­
`ture includes the notion of cascaded networks, where there
`may be multiple paths between two networks, in addition to
`or in lieu of direct connections between the networks, and
`multiple places for services to execute within the networks.
`The architecture is not intended as a special-purpose or one-
`of architecture for interconnecting some existing networks,
`rather our intention is that the architecture is sufficiently
`
`broad enough that it can incorporate many existing and up­
`coming networks.
`The traditional view of a network core is that the core
`services and resources should not be exposed to end users (or
`should be exposed only in a tightly controlled static man­
`ner). In the Iceberg architecture, we take the opposite view
`and provide secure, authenticated mechanisms for allowing
`service- and entity-specific policies to be injected into the
`network infrastructure.
`Injecting code into the network is not something to be
`taken lightly, it requires support for secure execution and au­
`thentication of policies and entities. It also requires a careful
`structuring of the interfaces to resources the infrastructure.
`The Iceberg architecture gives entities control over the path
`that their data takes through the infrastructure and the re­
`sources that are used, but does not give them control over
`the flow of other entities’ data or resources. The Iceberg ar­
`chitecture supports network-specific resource management,
`authentication, policies, billing, etc. to allow such policies
`to be controlled and enforced.
`
`4.2 Not Just Bit Transformations, but Service Transfor­
`mation
`In addition to including more than just, one-to-one network
`interconnections, the Iceberg architecture is also more than
`just bit-level transformations and simple network routing.
`The Iceberg architecture addresses service transforma­
`tions which involve decision making about: what bit-level
`transformations to perform, where to perform the trans­
`formations, high-level transformations to address deficien­
`cies (e.g., in the networks, network interfaces, and bit-level
`transformations), and how to route data across multiple net­
`works, especially when there are multiple paths between net­
`works.
`Entities in the system are a key component of the archi­
`tecture, especially the use of contextual information about
`them: who they are, what services they are using, where
`they are, and the capabilities or limitations of the available
`end devices and networks. This information directly affects
`the choice and placement of bit-level transformations.
`Users may also have specific requirements (e.g., cost, de­
`livery latency, or QoS) for cross-network information. The
`network gateways and end devices may have a limited set
`of bit-level transformations, as such, it may be necessary to
`for end-devices, services, and network gateways to negotiate
`the particular bit-le.vel transformation to use. Furthermore,
`the negotiation process may take place across or involve cas­
`caded networks.
`Routing is another example of a function that cannot
`simply be considered on a one-to-one basis, instead routing
`must be considered as a cascaded network function. The
`locally optimal choice of routing may not be the globally
`optimal function. For example, consider a call being placed
`between a user using VoIP on a computer in San Francisco
`and GSM user London. Routing the call over IP links might
`be optimal in the local area case, but could introduce exces­
`sive jitter and delay in the wide area case.
`The Iceberg architecture is not trying to reinvent bit­
`level transformations or routing protocols. Instead, the ar­
`chitecture leverages off of existing services and management
`functionality in each network. Our concern is with the level
`of operation and scope of decision-rhaking.
`Many of networks are multi-modal, in that they can
`carry many different forms of information. This modality
`can be used as a benefit by cross-network coordination of
`
`Epic Games Ex. 1029
`Page 162
`
`

`

`where transformations should be located. However, reach­
`ing a global optimum in cascaded networks will require co­
`operation and communication between routing entities in
`multiple networks. Only in this manner, will it be possible
`to use high-level transformations, in addition to low-level
`transformations, to overcome the limitations of a given set
`of networks or their interfaces.
`Also, networks contain many of the resource needed by
`services, although not in an abstract manner. For exam­
`ple, all networks have some form of naming and authenti­
`cation. The Iceberg architecture unifies such mechanisms
`across the networks by providing an abstract naming and
`authentication mechanism that resolves to and relies upon
`network-specific mechanisms at the lowest level.
`
`4.3 Propagation of Service- and Entity-Specific Metadata
`Across Cascaded Networks
`As outlined earlier, service handoff requires the propaga­
`tion of service- and entity-specific metadata across cascaded
`networks. The information must be propagated to the com­
`putational resources in each network that are involved in
`carrying the data associated with the particular service.
`The Iceberg architecture provides these propagation paths
`by providing logically or physically separate bi-directional
`metadata and data paths.
`The Iceberg architecture provides infrastructure for spec­
`ifying metadata in the form of XML descriptions. These
`descriptions are used during the creation or modification of
`a path (e.g., during service handoff) between the requestor
`and requested service to choose which transcoders to use,
`where to place them, and how to route between them.
`
`5
`
`Related work
`
`5.1 Domain Naming Service
`The Internet’s Domain Naming Service (DNS) by itself is
`not an acceptable naming protocol for the Iceberg architec­
`ture. DNS’ name to address or information mappings are
`relatively static and limited amounts and types of informa­
`tion can be returned (e.g., objects can’t be returned).
`DNS only provides timeouts for controlling the caching
`of mappings in servers and clients. Servers have no way
`of dynamically flushing or changing cached mappings. For
`example, implementing call forwarding using DNS would fail
`to work properly for an indeterminate amount of time after
`a user changed the forwarding mapping.
`DNS supports one to many mappings, but does not spec­
`ify a policy of which mapping a particular client should
`prefer or use. Instead the choice is left up to clients who
`typically have inconsistent policies.
`Finally, DNS provides addresses, but does not specify
`the routes that should be used between hosts. Such infor­
`mation is managed by separate network routing protocols
`(e.g., OSPF, RIP, etc).
`
`5.2 Signaling System 7 (SS7)
`Signaling System 7 (SS7) is the internetworking protocol
`used in telephone systems (i.e., PSTN and digital cellular).
`SS7 provides a transport for building services with reliable
`message delivery and automatic failure recovery. SS7 en­
`ables telephone service providers to deploy many of the ser­
`vices discussed earlier in this paper. Such services, like dy­
`namic call forwarding and routing, are being used as a basis
`for other services, like dynamic forwarding of calls to 800
`
`numbers to local operators and local number portability, re­
`spectively.
`The question is: should SS7 be used as the internet­
`working protocol for the Iceberg architecture? We believe
`the answer is no, for several reasons. SS7 is a very heavy­
`weight solution and many services, like datagram delivery,
`do not require the overhead imposed by SS7. Also, SS7
`was designed for closed networks and has limited security
`and authentication support. Security and authentication
`are strong requirements for an architecture that allows user
`code to execute in the network core.
`The networking environment in Iceberg is very different
`from a traditional SS7 environment. The Iceberg architec­
`ture includes cascaded networks and routing and connectiv­
`ity change on a very dynamic basis, both of these architec­
`tural aspects are outside the domain of SS7.
`Ail of the negative aspects aside, SS7 has an important
`role in the Iceberg architecture. Interoperability between
`Iceberg and SS7 services and protocols is a requirement;
`as such, we will encapsulate SS7 services behind Iceberg
`services. This abstraction will serve to hide SS7’s complexity
`from Iceberg developers.
`
`5.3 Gateway Location Protocols
`Gateway location (e.g., for IP telephony [1, 6, 7]) is a re­
`quirement for the Iceberg architecture. However, our focus
`is on leveraging existing gateway location services as a com­
`ponent of a more abstract service discovery service.
`
`5.4 Service Transformation
`As with gateway location protocols, we intend to reuse ex­
`isting solutions, but add a layer of indirection. Entities
`specify that they want a particular service between two
`cross-network endpoints and the Iceberg architecture han­
`dles the construction of the path by relying upon network­
`specific service location and transformation protocols and a
`language-independent means of specifying service interfaces.
`
`6
`
`Design of the Iceberg Architecture
`
`The key principals in the Iceberg architecture are: entities
`and services. The task of the Iceberg architecture is to pro­
`vide services between entities located in different or the same
`networks.
`
`6.1 Entities
`Entities are users, callers and callees, or agents acting on
`each other’s behalf. Associated with each entity is a glob­
`ally unique, non-domain-specific Universal Name that pro­
`vides a mechanism for entities to refer to other entities in
`an abstract manner.
`
`6.2 Services Architecture
`Service information delivery requirements span a wide spec­
`trum from real-time, interactive requirements (e.g., a mul­
`timedia conversation), to information that can be deliv­
`ered asynchronously. In addition, some information may
`have non-real-time delay bounds on delivery (e.g., stock
`quotes). These delivery requirements are metadata that
`must be passed across network interfaces.
`
`Epic Games Ex. 1029
`Page 163
`
`

`

`Iceberg Access Point
`
`Callee: Anthony.D.Joseph.Berkeley.CA.US
`Caller: B.R.Badrinat.Berkeley.CA.US
`Interactive? Yes
`Network: PSTN
`
`System State
`
`IDNP Server
`
`Calllee’s
`Policy
`
`Callee’s Profile
`
`Office: 510-555-1212
`PCS: 510-555-1313
`IP: 10.0.0.1:444
`SMS: 510-555-1414
`E-mail: adj@cs.berkely.edu
`.____ _______ >
`Fax: 510-555-1515
`
`Figure 3: Iceberg Inter-Domain Naming Protocol example.
`
`An interactive service may be based upon an information
`delivery mechanism that is connection-based or datagram­
`based. The underlying implementation is hidden from t.he
`user.
`
`6.2.1 Service transformation
`Iceberg Access Points (IAPs) are gateways located in each
`network that provide the interconnections between networks.
`To allow networks to connect to one another, the IAPs per­
`form the link layer and bit transformations and they may
`also perform service-level transcoding. An IAP may be as
`simple as an H.323 gateway or it may be much more com­
`plicated, for example, providing metadata transport in ad­
`dition to data transport.
`The IAP may itself perform a data transcoding operation
`that has been requested by a service or it may choose to
`offload the operation to local computational resources in the
`network.
`The IAP is usually the point where cross-domain (network­
`specific) signaling information is collected from an incoming
`network and potentially from the outgoing network. Such
`information includes authentication and identification infor­
`mation (e.g., a PSTN caller's telephone number).
`
`6.2.2 Cross-domain name resolution
`An important requirement, for service handoff is cross-domain
`name resolution, which allows users to provide a single glob­
`ally unique name (Universal Name) and have it dynami­
`cally, resolved in any network to a domain-specific name
`using entity- or service-specific policies. Name resolution is
`
`handled by servers using the Iceberg Inter-Domain Naming
`Protocol (IDNP).
`Iceberg Inter-Domain Naming Protocol (IDNP) servers
`map Universal Names to domain-specific names using three
`information elements: an entity profile that specifies the
`entity’s domain-specific names, system state (for reachabil­
`ity information about an entity), and the entity’s policy for
`mapping Universal Names to domain-specific names.
`The entity profile is a list of domain-specific names for
`each of the end devices used by the entity. The entity profile
`changes on the order of weeks to months — basically when
`the entity acquires a new device.
`System state or reachability information is domain-specific
`information about each domain-specific name. For exam­
`ple, for a PCS or digital cellular phone it might include
`cost, whether the phone is registered with a network (t.e.,
`reachable). While for a wireless LAN, it might include reg­
`istration information and currently available QoS and band­
`width. System state usually varies on the order of minutes
`or hours, depending upon the entity’s activities.
`The entity’s policy is the key difference between the Ice­
`berg architecture and systems like the PSTN-based call rout­
`ing approaches. The policy gives entities the ability to pro­
`vide code that dynamically evaluates several variables and
`makes routing decisions. The policy is used once at call
`setup and again if system state information changes. Poli­
`cies usually vary on the order of days to weeks.
`Typical variables that are used in decision-making are:
`what is the caller’s network, what is the cost for using each of
`the callee’s available end devices, what QoS or bandwidth
`is available, who is the caller, is the service interactive or
`non-interactive, and any other entity- or service-specific in­
`formation.
`
`Epic Games Ex. 1029
`Page 164
`
`

`

`Labs - R.e.search, NOS DAV 1998, July 1998.
`|2) Sandesh Goel, Partho Mishra, Huzur Saran, and Cormac
`Sreenan. Design and evaluation of a platform for mobile
`packet telephony. In AT&T Labs - Research, NOSDAV
`1998, July 1998.
`[3] David J. Goodman. Wireless Personal Communication
`Systems. Addison-Wesley Longman, Inc., Berkeley, CA,
`1997.
`[4] Rajan Kuruppillai, Main Dontamsetti, and Fil J.
`Cosentino. WireZe.s.5 PCS. McGraw-Hill, San Francisco,
`CA, 1997.
`[5] Charles E. Perkins, Mobile IP: Design Principles and
`Practices. Addison-Wesley Longman, Inc., Berkeley, CA,
`1997.
`[6] Jonathan Rosenberg and Henning Schulzrinne. A com­
`parison of SIP and H.323 for internet telephony. In Bell
`Laboratories, Lucent Technologies / Columbia Univer­
`sity, NOSDAV 1998, July 1998.
`[7] Jonathan Rosenberg and Henning Schulzrinne. Internet
`telephony gateway location. In Conference on Computer
`Communications (IEEE Infocom), San Francisco, Cali­
`fornia, March/April 1998.
`[8] Henning Schulzrinne and Jonathan Rosenberg. Internet
`telephony: Architecture and protocols. Computer Net­
`works and ISDN Systems, March/April 1998.
`
`Entity-specific police.« provide dynamic control over how
`an IDNP server maps Universal Names to specific domain­
`specific names. Figure 3 provides an example of a mapping.
`Privacy is an important consideration; as such, the expo­
`sure of domain-specific names is under the control of entities.
`An entity's policy can specify that a domain-specific name
`should be returned to a caller or it can specify that the name
`should be hidden, in which case, the IDNP server informs
`the IAP that it should forward the call or message to the
`domain-specific name.
`The IDNP executes on servers located in each network
`using portals provided by the network into the network’s
`IDNP servers. For example, a special telephone number
`would be used in PSTN and digital cellular networks.
`Information replication and caching are open questions
`in our design. Clearly, both are needed for scalability and
`reduced setup latency. We are experimenting with a num­
`ber of different strategies. However, the maximum tolerable
`propagation delay is basically a function of the expected rate
`of change of information and the frequency of service con­
`nections being established to a particular universal name.
`The rate of change for the information depends upon
`the information. Entity profiles change on the slowest, time
`scale, followed by entity policies. System state or domain­
`specific reachability, however, may change very rapidly over
`the course of a few minutes or hours, as a function of user
`and terminal mobility.
`IDNP servers cache information elements so that they
`can support low latency decision making. This means that
`the information may be replicated and cached at multiple
`IDNP servers and changes will need to be propagated to
`those servers in a timely and secure manner.
`Wherever possible duplication of effort by IDNP will be
`avoided. In particular, name resolution will leverage off of
`each network’s existing infrastructure. This means, for ex­
`ample, that the profile should contain a device’s mobile IP
`home address rather than its current wireless IP address.
`
`7 Summary
`
`In this paper, we have described an architecture for provid­
`ing services over cascaded networks. The need for service
`handoff across cascaded networks arises from the fact that
`users tend to carry multiple devices each of which may have
`multiple network interfaces; thus, the best network to reach
`a user may depend upon several factors.
`The design of services over these networks requires a de­
`tailed consideration of the problems of interoperability over
`cascaded networks. We provide several examples of different
`classes of services over cascaded networks and discuss how
`the separation of control metadata from data helps with the
`construction of these services.
`The Iceberg project is deploying a large-scale testbed
`consisting of GSM digital cellular, wired and wireless IP,
`and PSTN networks and we are beginning to experiment
`with cross-domain services. The Iceberg testbed and the
`services we develop on top of it will help validate the re­
`search, both through the demonstration of ease of service
`construction and deployment, and through the utility pro­
`vided to students and the UC Berkeley community by such
`services and infrastructure.
`
`References
`
`[1) N. Anerousis et al. Architecture for signaling, directory
`services and transport, for packet telephony. In AT&T
`
`Epic Games Ex. 1029
`Page 165
`
`

`

`INTERNET-DRAFT
`
`Dusseault
`
`Expires: August 1998
`Corporation
`
`Calsyn &
`
`Microsoft
`
`Presence Information Protocol Requirements
`draft-dusseau11- pipr-00.txt
`
`1.
`
`Status of this Memo
`
`(IETF),
`
`This document is an Internet-Draft. Internet-Drafts are
`working documents of the Internet Engineering Task Force
`
`its areas, and its working groups. Note that other groups may
`also distribute working documents as Internet-Drafts.
`
`Internet-Drafts are draft documents valid for a maximum of six
`months and may be updated, replaced, or obsoleted by other
`documents at any time. It is inappropriate to use Internet -
`Draf t s as reference material or to ci te them other than as "work
`in progress."
`
`To learn the current status of any Internet-Draft, please check
`the "lid-abstracts.txt" listing contained in the
`Internet-Draf t s
`Shadow Directories on ds.internic.net (US East Coast),
`nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or
`munnari.oz.au (Pacific Rim).
`
`2. Abstract
`
`Online users have demonstrated a desire to know instantly
`
`whether
`
`Epic Games Ex. 1029
`Page 166
`
`

`

`These
`
`usual ly
`
`another individual is online, to be notified when another
`individual arrives online, and to send instant messages.
`
`applications currently use independent, non-standard and
`
`non-interoperable protocols. The goal is to define a standard
`protocol so that independently written client and server
`implementations can participate in a global network of
`
`''online''
`
`users.
`
`This draft outlines requirements for a Presence Information
`Protocol to support these applications.
`
`comments
`
`Distribution of this document is unlimited. Please send
`
`to the RVP discussion list at rvp@iastate.edu, which may be
`joined by sending a message wi th subj ect ''subscribe1' to rvp-
`request@iastate.edu. Archives of past messages are available.
`Send the single word help to rvp-request@iastate.edu for
`
`more
`
`information.
`
`Calsyn & Dusseault
`
`[Page 1]
`
`Epic Games Ex. 1029
`Page 167
`
`

`

`INTERNET-DRAFT
`
`PIP Requirements
`
`Feb.
`
`9, 1998
`
`3. Contents
`
`1. Status of this
`Memo..........................................................................1
`2.
`Abstract...............................................................................................1
`3.
`Contents..............................................................................................2
`4.
`Int roduct ion......................................................................................3
`4.1. Purpose of a Presence Information
`Protocol......................3
`4.2. Desired
`Characteristics........................................................4
`4.3.
`Def ini t ions............................................................................... 4
`5. Detailed
`Requirements...................................................................... 5
`5.1. Security
`Requirements............................................................5
`5.1.1.
`Confidential i ty.............................................................. 5
`5.1.2.
`Privacy............................................................................ 5
`5.1.3.
`Authentication............................................................... 6
`5.2. Addressing
`Requirements.........................................................6
`5.2.1. Naming
`Format.................................................................. 6
`5.2.2. Locating a
`Server...........................................................7
`
`Epic Games Ex. 1029
`Page 168
`
`

`

`5.3. Container Schema
`Requi rements............................................ 7
`5.3.1. User Schema
`Requi rements............................................ 7
`5.3.2. Group Schema
`Requirements............................................7
`5.4. Other
`Requi rements..................................................................7
`5.4.1. Control over peer-to-peer
`messaging.........................7
`5.4.2. Nature of Instant
`Messaging....................................8
`5.4.3. Media
`Types......................................................................8
`5.4.4. Location
`Independence..................................................8
`5.4.5. One to many or group
`messaging..................................8
`6.
`Goals....................................................................................................9
`6.1.
`Scalable.....................................................................................9
`6.2.
`Flexible....................................................................................9
`6.3.
`Efficient..................................................................................9
`7. Protocol Implementation
`Issues.................................................. 10
`7.1. Transport-Protocol
`Neut ral................................................ 10
`7.2.
`Text -based............................................................................... 10
`7.3. Supports
`Versioning...............................................................10
`7.4. Minimal
`State..........................................................................10
`7.5.
`Encryption............................................................................... 10
`
`Epic Games Ex. 1029
`Page 169
`
`

`

`7.6.
`Au then t icat ion........................................................................10
`7.7.
`Fi rewal Is................................................................................ 11
`7.8. Content
`types..........................................................................11
`8.
`Non-Goals...........................................................................................11
`8.1. Presence Information and
`Ema i 1..........................................11
`8.2. Presence Information and
`LDAP........................................... 12
`8.3. Peer-to-peer vs.
`cl ient - to-server.................................... 12
`9. Discussion
`Group..............................................................................12
`10.
`REFERENCES.........................................................................................12
`11. Authors’
`Addresses..........................................................................12
`
`Calsyn & Dusseault
`
`[Page 2]
`
`INTERNET-DRAFT
`
`PIP Requirements
`
`Feb.
`
`9, 1998
`
`Epic Games Ex. 1029
`Page 170
`
`

`

`4.
`
`Introduction
`
`4.1. Purpose of a Presence Information Protocol
`
`Users want to know instantly when a friend or colleague logs
`
`and to be able to send this acquaintance a quick message. The
`desired functionality includes both the ability to subscribe
`
`instant notifications of remote events, such as a friend
`
`on, and the ability to send instant messages to others.
`
`Also note that in early discussions on the problem there has
`
`on,
`
`to
`
`logging
`
`been
`
`agreement that a client-only solution is not feasible. Users
`wish to be notified when another user comes online. When the
`target user is offline, there must be another entity
`responsible
`for taking subscription requests. The protocol must specify
`
`how:
`
`@ a client requests or subscribes to dynamic user status
`information,
`
`@ a server responds to queries and subscriptions,
`
`@ a client sends instant messages, and
`
`@ a server forwards instant messages to recipients.
`
`Besides being able to subscribe to on 1 ine status, users may also
`be able to subscribe to other propert ies of users or propert ies
`of non-user objects.
`
`Users and administrators must be able to set access control
`
`Epic Games Ex. 1029
`Page 171
`
`

`

`a
`
`be
`
`levels on queryable objects and properties.
`
`Interest-based messaging, in which a user sends a message to
`
`group of individuals which share some characteristics, should
`
`supported by the protocol. This group of individuals or
`aggregate entity may be handled by the server much like email
`distribution lists.
`
`Examples of existing presence information systems include:
`
`@ Act iverse s Ding!
`
`@ AOL s Instant Messenger
`
`@ IChat s IChat Pager
`
`@ Flash Communications s Flash Communicator
`
`@ Mi rabi1i s s ICQ
`
`@ MSN s Friends Online
`
`@ PeopleLink s People Link
`
`Calsyn & Dusseault
`
`[Page 3]
`
`INTERNET-DRAFT
`
`PIP Requirements
`
`Feb.
`
`9, 1998
`
`Epic Games Ex. 1029
`Page 172
`
`

`

`a
`
`a
`
`4.2. Desired Characteristics
`
`This section briefly outlines the desired characteristics of
`
`presence information system. Requirements and goals of the
`protocol are discussed in more detail in sections 5 and 6.
`
`Protocol Characteristics:
`
`1. Can scale to support number of users on internet within
`foreseeable future
`
`2. Provides rich extensibility
`
`3. Globally unique human-readable address can be assigned to
`
`user without consulting a central authority
`
`4. Server is not required to store messages long-term
`
`User Features:
`
`5. Standard way to find the address of a user
`
`6. Standard way to see if a user is online
`
`7. Supports 1-to-l, 1-to-many and interest-classified
`
`messaging
`
`8. Supports acknowledgements of received instant messages
`
`9. Supports a subscription and notification model
`
`10. Responsive: quick notifications of status changes
`
`Epic Games Ex. 1029
`Page 173
`
`

`

`11. Provides maximum flexibility for message content
`
`12. Supports media negotiation and session initiation: users
`
`can
`
`peer-to-peer)
`
`switch to another application (server-based or
`
`13. The target of subscriptions can list who initiated those
`subscript ions
`
`14. Supports non-humans on either end (or both) of a
`subscription,
`
`query or message
`
`15. Supports location independence
`
`Secur i ty Features:
`
`16. Supports reverse-lookup to find out who has asked for
`informat ion
`
`17. Provides endpoint to endpoint security
`
`18. Support firewal1-friendly deployment
`
`to
`
`19. Supports access control, at minimum who can read or write
`
`any object, object property, or list of objects.
`
`20. Allows users to maintain privacy by blocking others
`
`4.3. Definitions
`
`This specification uses a number of terms to refer to the roles
`of participants and the kinds of messages passed between them.
`
`Epic Games Ex. 1029
`Page 174
`
`

`

`Client: An application program that establishes connections to
`the server for the purpose of registering to be online or
`
`Calsyn & Dusseault
`
`[Page 4]
`
`INTERNET-DRAFT
`Feb. 9, 1998
`
`PIP Requi rements
`
`requesting information on another client or group. Clients
`
`or may not interact directly with a human user.
`
`Server: A program that accepts connections from clients and
`
`is responsible for maintaining online/off1ine state.
`
`Request: A request is a subscription to a property or a query
`for a property value, or the setting of the property.
`
`Response: A response is a message from a server to a client
`
`has made a query or who has an active subscription.
`
`Subscription: A subscription is a request from a client to be
`notified when a property changes or to receive all instant
`messages on a channel. Commonly, a subscription from user A
`
`user B will be for the purpose of notifying user A when user
`
`may
`
`that
`
`who
`
`to
`
`B's
`
`Epic Games Ex. 1029
`Page 175
`
`

`

`Status changes to "online".
`
`Property: Presence information and other information should
`accessed as properties, or name/value pairs.
`
`Property Container: A property container can represent a
`
`world object which has properties queryable through the
`
`real -
`
`Presence
`
`Information Protocol. -
`
`5. Detai led Requirements
`
`5.1. Security Requirements
`
`5.1.1.
`
`Confidentiality
`
`Users MUST be able to protect information about themselves.
`
`requirement should be considered met by a system which allows
`users to set fine-grained access control levels on client or
`server held objects and properties.
`
`5.1.2.
`
`Privacy
`
`Access

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