`
`11111111111111111111111111f111111811111111,1111111111111111111111111
`
`(12) United States Patent
`Lin
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,018,877 B2
`*Sep. 13, 2011
`
`(54) MOBILE CONFERENCING METHOD AND
`SYSTEM
`
`(75)
`
`Inventor: Daniel J. Lin, San Francisco, CA (US)
`
`(73) Assignee: Daniel J. Lin, San Francisco, CA (US)
`
`* ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`This patent is subject to a terminal dis-
`claimer.
`
`(21) Appl. No.: 13/079,767
`
`(22) Filed:
`
`Apr. 4, 2011
`
`(65)
`
`Prior Publication Data
`
`US 2011/0179179 Al
`
`Jul. 21, 2011
`
`Related U.S. Application Data
`
`(63) Continuation of application No. 12/691,594, filed on
`Jan. 21, 2010, now Pat. No. 7,940,704, which is a
`continuation of application No. 11/091,242, filed on
`Mar. 28, 2005, now Pat. No. 7,672,255, and a
`continuation-in-part of application No. 10/935,342,
`filed on Sep. 7, 2004, now Pat. No. 7,764,637, which is
`a continuation-in-part of application No. 10/817,994,
`filed on Apr. 5, 2004, now Pat. No. 7,961,663, and a
`continuation-in-part of application No. 11/042,620,
`filed on Jan. 24, 2005, now Pat. No. 7,773,550.
`
`(51) Int. Cl.
`HO4L 12/16
`(52) U.S. Cl.
`
`(2006.01)
` 370/260; 370/353; 709/704
`
`370/260,
`(58) Field of Classification Search
`370/338, 328, 252, 353, 352, 335, 342, 349,
`370/389, 395.2, 400, 437; 709/204, 205,
`709/206, 207, 226, 227; 379/202.01, 265.05,
`379/204.01, 100.17; 455/418, 419, 456.1,
`455/435, 432, 421, 412.1, 435.1, 450, 458,
`455/466, 45, 6.5, 456.2, 518, 519
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`7,058,036 B1 *
`6/2006 Yu et al.
`2002/0089968 Al *
`7/2002 Johansson et al.
`2004/0240417 Al * 12/2004 Kim
`2005/0105509 Al *
`5/2005 Crocker et al.
`2005/0135348 Al * 6/2005 Staack
`2005/0197143 Al * 9/2005 Lee et at
`2006/0194596 Al *
`8/2006 Deng
`2009/0161663 Al *
`6/2009 Tu
`OTHER PUBLICATIONS
`
`370/335
`370/349
`370/338
`370/352
`370/353
`455/466
`455/466
`370/352
`
`J. Rosenberg, et al., Traversal Using Relay NAT (TURN) draft-
`rosenberg-midcom-turn-07, MIDCOM Feb. 21, 2005, pp. 1-33.
`
`* cited by examiner
`
`Primary Examiner - Aung S Moe
`Assistant Examiner - Abdullah Riyami
`
`ABSTRACT
`(57)
`A server-based architecture for mobile conferencing is pre-
`sented. Session-based mobile conferencing is established by
`transmitting necessary server network address information
`through page-mode based messaging services to establish
`connections among the various mobile devices with the
`server.
`
`20 Claims, 4 Drawing Sheets
`
`START
`SERVER
`
`205
`
`OPEN AND LISTEN
`ON WELL KNOWN PORT
`FOR TCP CONNECTIONS
`TO INITIATE IM SESSION
`
`220
`
`ESTABLISH TCP
`CONNECTION WITH
`INITIATING MOBILE DEVICE
`
`23D
`
`OPEN SPECIFIC PORT NUMBER
`FOR IM SESSION AND SEND
`PORT NUMBER TO INITIATING
`MOBILE DEVICE AND LISTEN ON
`SPECIFIC PORT
`
`225
`
`- 1
`
`START
`INITIATING MOBILE
`DEVICE
`
`210
`
`PRE-CONFIGURED TO HAVE
`SERVERS IP ADDRESS AND
`THE WELL-KNOWN PORT
`
`215
`
`TRANSMIT REQUEST TO
`SERVERS WELL-KNOWN
`PORT TO ESTABLISH
`TCP CONNECTION
`
`220
`
`ESTABLISH TCP CONNECTION
`WITH SERVER
`
`235
`
`L _
`
`RECEIVE SPECIFIC PORT
`FOR IM SESSION
`
`240
`
`PROPAGATE SERVER IP
`ADDRESS AND SPECIFIC PORT
`TO PARTICIPATING MOBILE
`DEVICES IN INVITATION
`MESSAGE VIA SMS
`
`_J
`
`260
`
`ESTABLISH TCP CONNECTION
`WITH PARTICIPANTS' MOBILE DEVICES
`AND FORWARD ALL MESSAGES
`TO AU. MOBILE DEVICES
`
`START
`7 -
`PARTICIPATING MOBILE
`DEVICES
`
`245
`
`OPEN SMS PORT
`
`250
`
`RECEIVE INVITATION
`MESSAGE FROM INITIATING MOBILE DEVICE
`WITH SERVER IP ADDRESS AND
`SPECIFIC PORT FROM INITIATING
`MOBILE DEVICE VIA SMS
`
`r
`
` 255
`
`TRANSMIT
`REQUEST TO
`SPECIFIC PORT
`TO ESTABLISH
`TCP CONNECTION
`
`r
`
` 26D
`
`ESTABLISH TCP CONNECTION
`WITH SERVER
`
`266
`
`_J
`
`Apple Inc.
`Ex. 1016 - Page 1
`
`
`
`lualud °Sil
`
`17 JO I JaatiS
`
`za us`sto's sa
`
`100
`
`FIG.
`
`155
`
`115
`
`111
`
`1
`(=j
`mama
`oonornso
`
`115
`
`155
`
`145B
`
`160
`
`Apple Inc.
`Ex. 1016 - Page 2
`
`
`
`lualud °Sil
`
` JO Z JaM1S
`
`17
`
`za us`sto's sa
`
`START
`SERVER
`
`205
`
`7-
`OPEN AND LISTEN
`ON WELL KNOWN PORT
`FOR TCP CONNECTIONS
`TO INITIATE IM SESSION
`7-- 220
`ESTABLISH TCP
`CONNECTION WITH
`INITIATING MOBILE DEVICE
`
`230
`7---
`OPEN SPECIFIC PORT NUMBER
`FOR IM SESSION AND SEND
`PORT NUMBER TO INITIATING
`MOBILE DEVICE AND LISTEN ON
`SPECIFIC PORT
`
`FIG. 2
`
`C
`
`START
`INITIATING MOBILE
`DEVICE
`
`210
`
`PRE-CONFIGURED TO HAVE
`SERVER'S IP ADDRESS AND
`THE WELL-KNOWN PORT
`
`215
`
`TRANSMIT REQUEST TO
`SERVER'S WELL-KNOWN
`PORT TO ESTABLISH
`TCP CONNECTION
`
`220
`
`7-
`ESTABLISH TCP CONNECTION
`WITH SERVER
`
`7- 235
`RECEIVE SPECIFIC PORT
`FOR IM SESSION
`
`225
`
`1
`
`L _
`
`7-- 260
`ESTABLISH TCP CONNECTION
`WITH PARTICIPANTS' MOBILE DEVICES
`AND FORWARD ALL MESSAGES
`TO ALL MOBILE DEVICES
`
`1
`
`240
`
`7-
`PROPAGATE SERVER IP
`ADDRESS AND SPECIFIC PORT
`TO PARTICIPATING MOBILE
`DEVICES IN INVITATION
`MESSAGE VIA SMS
`
`J
`
`START
`PARTICIPATING MOBILE
`DEVICES
`
`7-- 245
`OPEN SMS PORT
`
`7 .- 250
`
`RECEIVE INVITATION
`MESSAGE FROM INITIATING MOBILE DEVICE
`WITH SERVER IP ADDRESS AND
`SPECIFIC PORT FROM INITIATING
`MOBILE DEVICE VIA SMS
`
`r
`
`7 - 255
`
`TRANSMIT
`REQUEST TO
`SPECIFIC PORT
`TO ESTABLISH
`TCP CONNECTION
`
`7 - 260
`
`ESTABLISH TCP CONNECTION
`WITH SERVER
`
`266
`
`_J
`
`Apple Inc.
`Ex. 1016 - Page 3
`
`
`
`lualud °Sil
`
`17 JO £ JamiS
`
`za us`sto's sa
`
`START
`SERVER
`
`FIG. 3
`
`205
`
`OPEN AND LISTEN
`ON WELL KNOWN PORT
`FOR TCP CONNECTIONS
`TO INITIATE IM SESSION
`
`7-- 220
`ESTABLISH TCP
`CONNECTION WITH
`INITIATING MOBILE DEVICE
`
`7-- 320
`
`GENERATE SESSION ID
`AND TRANSMIT TO INITIATING
`MOBILE DEVICE
`
`f"-- 370
`ESTABLISH TCP CONNECTION
`WITH PARTICIPATING MOBILE DEVICES
`
`RECEIVE AND FORWARD
`MESSAGES TO ALL MOBILE
`DEVICES ASSOCIATED WITH
`SAME SESSION ID
`
`L
`
`C
`
`START
`INITIATING MOBILE
`DEVICE
`
`210
`
`7-
`PRE-CONFIGURED TO HAVE
`SERVER'S IP ADDRESS AND
`THE WELL-KNOWN PORT
`
`215
`
`TRANSMIT REQUEST TO
`SERVER'S WELL-KNOWN
`PORT TO ESTABLISH
`TCP CONNECTION
`
`START
`PARTICIPATING MOBILE
`DEVICES
`
`245
`
`OPEN SMS PORT
`
`7 -- 340
`
`r
`
`RECEIVE INVITATION MESSAGE
`FROM INITIATING MOBILE DEVICE
`WITH SESSION ID, AND NETWORK
`ADDRESS ( AND POSSIBLY
`WELL-KNOWN PORT)
`
`225
`- 7
`I
`
`
`
`7. 220
`
`ESTABLISH TCP CONNECTION
`WITH SERVER
`
`310
`T.-
`REQUEST A SESSION ID
`FROM SERVER
`
`Li
`
`350
`
`TRANSMIT
`REQUEST TO
`SERVER'S WELL KNOWN
`PORT TO ESTABLISH
`TCP CONNECTION
`
`7 -- 370
`
`330
`
`PROPAGATE SESSION ID AND
`NETWORK ADDRESS (AND
`POSSIBLY WELL-KNOWN PORT) -
`TO PARTICIPATING MOBILE
`DEVICES VIA SMS
`
`ESTABLISH TCP CONNECTION
`WITH SERVER
`
`r 380
`
`TRANSMIT SESSION ID
`TO SERVER
`
`360
`
`E
`
`Apple Inc.
`Ex. 1016 - Page 4
`
`
`
`lualud 'S11
`
`17 JO 17 JamiS
`
`za us`sto's sa
`
`START
`SERVER
`
`415
`
`/-
`LISTEN FOR SMS MESSAGES
`7- 425
`RECEIVE SMS MESSAGE
`7- 430
`VERIFY PIN AND TRANSMIT
`REQUEST TO INITIATING MOBILE
`DEVICE'S IP ADDRESS AND PORT TO
`ESTABLISH TCP CONNECTION
`7-- 440
`ESTABLISH TCP CONNECTION
`WITH INITIATING MOBILE DEVICE,
`VERIFY PIN, AND *OPEN" VIRTUAL
`CONFERENCE ROOM ASSOCIATED
`WITH PERSONAL CONFERENCE
`NUMBER
`
`455
`RECEIVE SMS MESSAGES FROM
`PARTICIPATING MOBILE DEVICES
`
`7- 460
`TRANSMIT REQUEST TO PARTICIPATING
`MOBILE DEVICES, IP ADDRESS AND PORT
`TO ESTABLISH TCP CONNECTION
`
`
`
`START
`INITIATING MOBILE
`C
`DEVICE (MODERATOR)
`
`405
`
`- -
`
`SCHEDULE PROPOSED
`1M CONFERENCE THROUGH
`OUT-OF-BAND COMMUNICATION
`
`410
`
`/-
`OPEN TCP PORT
`
`420
`
`L_
`
`TRANSMIT IP ADDRESS
`AND OPENED PORT NUMBER,
`AND PERSONAL CONFERENCE
`NUMBER AND PIN TO
`SERVER VIA SMS
`
`START
`PARTICIPATING MOBILE
`DEVICES
`
`/- 445
`OPEN TCP PORT
`
`F r - 450
`
`TRANSMIT IP ADDRESS AND
`OPENED PORT, INITIATING MOBILE
`DEVICE'S PERSONAL CONFERENCE
`NUMBER VIA SMS TO SERVER'S
`PHONE NUMBER
`
`475
`
`ESTABLISH TCP CONNECTION
`WITH SERVER
`
`440
`
`ESTABLISH TCP CONNECTION
`WITH SERVER
`
`435
`L -
`
`_...1
`
`_J
`
`J
`
`FIG. 4
`
`ESTABLISH TCP CONNECTION
`WITH PARTICIPANTS' MOBILE
`DEVICES AND FORWARD
`MESSAGES TO ALL WHO HAVE
`DIALED IN TO THE PERSONAL
`CONFERENCE NUMBER
`
`475
`
`465
`
`Apple Inc.
`Ex. 1016 - Page 5
`
`
`
`US 8,018,877 B2
`
`1
`MOBILE CONFERENCING METHOD AND
`SYSTEM
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`This application is a continuation of U.S. patent applica-
`tion Ser. No. 12/691,594, filed on Jan. 21, 2010 now U.S. Pat.
`No. 7,940,704, which is a continuation of U.S. patent appli-
`cation Ser. No. 11/091,242, now U.S. Pat. No. 7,672,255,
`filed Mar. 28, 2005, which is continuation-in-part of U.S.
`patent application Ser. No. 10/817,994, filed Apr. 5, 2004 now
`U.S. Pat. No. 7,961,663, a continuation-in-part of U.S. patent
`application Ser. No. 10/935,342, now U.S. Pat. No. 7,764,
`637, filed Sep. 7, 2004, and continuation-in-part of U.S.
`patent application Ser. No. 11/042,620, now U.S. Pat. No.
`7,773,550, filed Jan. 24, 2005, all of which are hereby incor-
`porated by reference.
`
`2
`difficult to implement a commercially viable IM system that
`efficiently incorporates the capability to communicate in a
`real-time messaging session with more than two devices (i.e.,
`adding conferencing capabilities to an IM system). Addition-
`5 ally, to the extent service providers dynamically allocate pri-
`vate IP addresses (rather than allocate public Internet IP
`addresses) to mobile devices through Network Address
`Translation (NAT) or any other network address allocation
`techniques, peer-to-peer IM techniques such as those
`10 described in the P2P Patent Application will only work within
`the private network of the service provider since the private IP
`addresses allocated to a mobile device will not be properly
`resolved by a receiving mobile device residing on a separate
`private network with a separate service provider. As such,
`15 what is needed is a server-based IM architecture based upon
`the core teachings of the P2P Patent Application to address
`the conferencing and private network limitations discussed
`above.
`
`FIELD OF THE INVENTION
`
`20
`
`SUMMARY OF THE INVENTION
`
`The present invention relates generally to messaging and
`other data transfer techniques for mobile devices, and more
`specifically, a server-based architecture to establish a mobile
`conferencing session or other data exchange session among
`multiple mobile devices across private networks.
`
`BACKGROUND OF THE INVENTION
`
`The present invention provides a method for establishing a
`real-time session-based IM system or data exchange system
`between mobile devices over a digital mobile network system
`25 that supports data packet-based communications. One
`method for of initiating a data exchange session among
`mobile devices comprises transmitting a request to a server to
`allocate a network address and port associated with the server
`to use in a data exchange session with a participating mobile
`30 device, receiving the network address and port from the
`server, using a page-mode messaging service to assist in
`communicating the network address and port to the partici-
`pating mobile device, wherein the page-mode messaging ser-
`vice utilizes a unique identifier to locate the participating
`35 mobile device, and participating in the data exchange session
`with the participating mobile device through the server,
`wherein the participating mobile device has established a
`connection with the server using the network address and
`port.
`
`40
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 depicts a diagram of an environment for establishing
`an instant messaging conferencing system or data exchange
`45 system in accordance with the present invention between a
`first mobile device and a second mobile device in a GSM
`mobile network system supporting GPRS as a data packet-
`based communications service, SMS as a page-mode mes-
`saging service, and TCP/IP as an underlying data packet
`50 based network protocol.
`FIG. 2 depicts a flow chart for a first embodiment of a
`server based architecture in accordance with the present
`invention.
`FIG. 3 depicts a flow chart for a second embodiment of a
`55 server-based architecture in accordance with the present
`invention.
`FIG. 4 depicts a flow chart for a third embodiment of a
`server-based architecture with virtual IM conference room
`capabilities in accordance with the present invention.
`
`DETAILED DESCRIPTION OF THE INVENTION
`
`A. Network Environment
`FIG. 1 depicts one environment to deploy an embodiment
`65 of the present invention. As depicted, the underlying digital
`mobile network system in this environment is the Global
`System for Mobile communications (GSM) 100 standard.
`
`According to a recent IDC Research report, the U.S.
`mobile instant messaging ("IM") market was predicted to
`reach $365 million in 2004 and is expected to reach $1.2
`billion by 2008. However, the current paradigm for IM, adop-
`tion of which has been so successful in the desktop PC envi-
`ronment and which cell phone manufacturers have only just
`begun to offer access to in mobile devices as of the filing date
`of this patent application, is not easy to use in the mobile
`environment. In particular, the current IM paradigm is
`encumbered by the constraint that one can only communicate
`with those who are currently (i) online, (ii) logged on to same
`IM service such as AOL' s Instant Messenger (AIM), Yahoo!
`Messenger or MSN Messenger, and (iii) included as a
`"buddy" on one's "buddy list."
`Patent application Ser. No. 10/817,994, entitled "Peer-to-
`Peer Instant Messaging Method and Device" (hereinafter, the
`P2P Patent Application) provides techniques for a new para-
`digm for mobile IM that eliminates these limitations and
`operates in a manner that all are familiar with
`the cell
`phone. For example, in one embodiment of the P2P Patent
`Application, by opening a TCP/IP port on one's smart phone
`and sending the TCP/IP address and port (whether permanent
`or temporary) to a recipient's phone number through the
`Short Message Service (SMS), one is able to develop an IM
`system wherein (i) the initiator dials the cell phone number of
`the recipient (i.e., sending the SMS message containing the
`TCP/IP address and port), (ii) the recipient's cell phone rings
`(i.e., the recipient receives the SMS message), and (iii) if the
`recipient chooses, he is able answer the call and engage in a
`real-time text conversation, just like a typical voice call (i.e.,
`the recipient's smart phone extracts the TCP/IP address and 60
`port from the SMS message and establishes a direct TCP/IP
`connection with the initiator). This new yet familiar paradigm
`essentially turns the restrictive "buddy list" of the current IM
`paradigm into the entire cellular network.
`However, peer-to-peer techniques such as those described
`in the P2P Patent Application also have their limitations.
`Specifically, with pure peer-to-peer IM techniques, it is more
`
`Apple Inc.
`Ex. 1016 - Page 6
`
`
`
`US 8,018,877 B2
`
`3
`Under the GSM standard, each of the mobile devices 105 and
`110 includes a Subscriber Information Module (SIM) card
`that contains unique identification information that enables
`the GSM system to locate the mobile devices within the
`network and route data to them. A current commercial
`example of a mobile device (e.g., smartphone, PDA, hand-
`held, etc.) that might be used in FIG. 1 could be Research In
`Motion's (RIM) BlackBerry handheld devices, which
`include a QWERTY keyboard to facilitate the typing of text.
`As depicted, a GSM architecture includes the following com-
`ponents: base transceiver stations (BTS) 115 and base station
`controllers (BSC) (120A or 120B) for managing the trans-
`mission of radio signals between the MSC (defined below)
`and the mobile devices, mobile service-switching centers
`(MSC) (125A and 125B) for performing the all switching
`functions and controlling calls to and from other telephone
`and data systems, a home location register (HLR) 130 for
`containing all the administrative, routing and location infor-
`mation of each subscriber registered in the network, visitor
`location registers (VLR) (135A and 135B) for containing
`selected administrative information about subscribers regis-
`tered in one HLR who are roaming in another HLR, and an
`equipment identity register (EIR) (not shown) for containing
`a list of all valid mobile equipment on the network). As
`depicted in FIG. 1, in one architecture of a GSM network,
`there may be exist one HLR while there may exist multiple
`MSCs (each with a related VLR) which each serves a differ-
`ent geographic area. The MSCs also provide the interface for
`the GSM network to more traditional voice networks 170
`such as the PSTN. This underlying GSM architecture pro-
`vides radio resources management (e.g., access, paging and
`handover procedures, etc.), mobility management (e.g., loca-
`tion updating, authentication and security, etc.), and commu-
`nication management (e.g., call routing, etc.) in order to
`enable mobile devices in the GSM network to send and
`receive data through a variety of services, including the Short
`Message Service (SMS), an asynchronous bi-directional text
`messaging service for short alphanumeric messages (up to
`160 bytes) that are transported from one mobile device to
`another mobile device in a store-and-forward fashion.
`A GSM network within which the present invention may be
`deployed would also support a page-mode messaging service,
`such as SMS, that relies upon the underlying GSM mecha-
`nisms to resolve routing information in order to locate desti-
`nation mobile devices. A GSM network supporting SMS text
`messaging may further include the following SMS specific
`components: a short message service center (SMSC) (140A
`or 140B) for storing and forwarding messages to and from
`one mobile device to another and an SMS Gateway-MSC
`(SMS GMSC) for receiving the short message from the
`SMSC (140A or 140B) and interrogating the destination
`mobile device's HLR 130 for routing information to deter-
`mine the current location of the destination device to deliver
`the short message to the appropriate MSC (125A or 125B).
`The SMS GMSC is typically integrated with the SMSC 140.
`In a typical transmission of an SMS text message from an
`originating mobile device 105 to a receiving mobile device
`110, (i) the text message is transmitted from the mobile 105 to
`the MSC 125A, (ii) the MSC 125A interrogates its VLR 135A
`to verify that the message transfer does not violate any
`supplementary services or restrictions, (iii) the MSC 125A
`sends the text message to the SMSC 140A, (iv) the SMSC
`140A, through the SMS GMSC, interrogates the receiving
`mobile device's HLR 130 (by accessing the SS7 network) to
`receive routing information for the receiving mobile device
`110, (v) the SMSC sends the text message to the MSC 125B
`servicing receiving mobile device 110, (vi) the MSC 125B
`
`4
`retrieves subscriber information from the VLR 135B, and
`(vii) the MSC 125A transmits the text message to the receiv-
`ing mobile device 110. Similar to other transactions on the
`GSM network, SMS text messaging utilizes telephone num-
`5 bers as identifying addresses for mobile devices and as such,
`utilizes the SS7 network signaling system through which
`cellular service providers share information from the HLR
`with other service providers. As depicted in FIG. 1, SS7 based
`signaling communication is represented by the broken lines.
`10 In contrast, the solid lines in FIG. 1 represent data or voice
`based communications.
`In addition to a page-mode messaging service such as
`SMS, a GSM network within which the present invention
`may be deployed would also support a data packet based
`15 communications service, such as the General Packet Radio
`Service (GPRS), that enables TCP/IP transmission protocol
`based communications between mobile devices within the
`network. As depicted in FIG. 1, a core GPRS network exists
`in parallel to the existing GSM core network. The BSC 120
`20 may direct voice traffic through the MSC (125A or 125B) to
`the GSM network and data traffic through the Serving GPRS
`Support Note (SGSN) (145A or 145B) to the GPRS network.
`Such communication between the BSC (125A or 125B) and
`the SGSN (145A or 145B) may be, for example, based upon
`25 the IP network protocol communication 155. As such, GPRS
`signaling and data traffic do not flow through the core GSM
`network. Instead, the core GSM network is used by GPRS
`only for table look-up in the HLR 130 and VLR (135A or
`135B) to obtain routing, location and other subscriber infor-
`30 mation in order to handle user mobility. The SGSN (145A or
`145B) serves as a "packet-switched MSC," delivering data
`packets to mobile devices in its service area. The Gateway
`GPRS Support Note (GGSN) (150A or 150B) communicates
`with the SGSN (145A or 145B) through an IP based GPRS
`35 backbone 160 and serves as an interface to other external IP
`networks 165 such as the Internet and other mobile service
`providers' GPRS services.
`B. Server Based Architecture
`Because mobile service providers do not typically allocate
`40 publicly accessible network addresses to each mobile device,
`the present invention requires the presence of a server with a
`publicly accessible network address (e.g., public Internet IP
`address) that enables the server to be contacted across all
`private data packet based networks (e.g., IP networks). FIG. 2
`45 depicts a flow chart setting forth one embodiment of a server-
`based architecture in accordance with the present invention.
`As an initial set-up process, the server will need to have
`opened and be listening on a well-known port (e.g., server
`socket) for requests by mobile devices to initiate particular
`so IM sessions 205 and the client software residing on an initi-
`ating mobile device will need to be pre-configured with the
`server's IP address and well-known port 210 (it is not neces-
`sary that mobile devices other than the initiating mobile
`device be pre-configured with the server's IP address and
`55 well-known port). To initiate an IM session, the initiating
`mobile device transmits a request to establish a reliable ses-
`sion-based connection (e.g., TCP connection) with the server
`by contacting the server at its network address and well-
`known port 215. The server receives the connection request
`60 from the initiating mobile device and establishes a reliable
`connection (e.g., TCP connection) with the initiating mobile
`device 220. Upon establishing the reliable connection 225,
`the server allocates and opens a specific network port number
`(e.g., a server socket) for the IM session and transmits the port
`65 number (and, if needed, the server's IP address) to the initi-
`ating mobile device through the reliable connection 230. In
`this embodiment, the specific network port number may be
`
`Apple Inc.
`Ex. 1016 - Page 7
`
`
`
`US 8,018,877 B2
`
`5
`considered to be session identifying information for the IM
`session being initiated by the initiating mobile device. Similar
`to the teachings in the P2P Patent Application, the initiating
`mobile device receives the specific port number 235 and then
`propagates the server's network address and the specific net-
`work port number in invitation messages through a page-
`mode messaging service, such as SMS, to other mobile
`devices in order to participate in the IM session 240. Such
`page-mode messages (e.g., SMS message) may be encoded in
`a manner such that the mobile devices can distinguish the
`message from page-mode messages used for purposes other
`than the present invention, or the page mode-message may be
`sent to a specific page-mode message port (e.g., SMS port)
`opened specifically for purposes of this present invention 245.
`The other mobile devices receive the invitation message 250
`and if they desire to participate in the IM session, they trans-
`mit requests to establish reliable connections (e.g., TCP con-
`nections) 255 with the server by connecting with the server at
`the specific network port number allocated to the initiating
`mobile device 260. Once the reliable connections 266 with
`other participating mobile devices are established, the server
`acts as a manager of the IM session, keeping track of all the
`established connections relating to the specific port number
`and IM session and forwarding all messages (via reliable
`connections 225 and 266) exchanged among the mobile
`devices that are communicating within that particular IM
`session. The server keeps the specific network port for an IM
`session open so long as mobile devices that have connected to
`each other through that network port remain engaged in a
`real-time IM session. Because all participating mobile
`devices know the server's IP address and the specific allo-
`cated port number associated with the IM session, any of such
`participating mobile devices and invite other mobile devices
`to join by sending an invitation message through the page-
`mode messaging service. Furthermore, those skilled in the art
`will recognize that security enhancements may be added to
`the foregoing initiating process between the server and the
`mobile devices. For example and without limitation, a nonce
`can be issued by the server to the initiating mobile device
`which is then propagated to other participating mobile
`devices. This nonce would be used to confirm that any mobile
`device attempting to join the IM session by connecting related
`established port was indeed invited to participate.
`FIG. 3 depicts a flow chart setting forth an alternative
`embodiment of a server-based architecture in accordance
`with the present invention. Upon establishing the reliable
`connection in a manner similar to FIG. 2, the initiating mobile
`device requests a session identification number ("Session
`ID") from the server to initiate an IM session 310, and the
`server generates such a Session ID and transmits the Session
`ID to the initiating mobile device through the reliable con-
`nection 320. Whereas the specific port opened by the server in
`the embodiment of FIG. 2 was the session identifying infor-
`mation, the session identifying information in the embodi-
`ment of FIG. 3 is the Session ID. The initiating mobile device
`will then propagate the server's network address (possibly
`including the well-known port) and the Session ID in invita-
`tion messages through a page-mode messaging service, such
`as SMS, to other mobile devices 330. The other mobile
`devices receive the invitation message 340 and if they desire
`to participate in the IM session, they will extract the net-
`work's address from the page-mode message and transmit a
`request to establish a reliable connection (e.g., TCP connec-
`tion) with the server by contacting the server at the server's
`network address and well-known port 350. Once a reliable
`connection 360 is established with the server and a partici-
`pating mobile device 370, the participating mobile device and
`
`6
`identifies its intent to join an initiated IM session by trans-
`mitting the Session ID 380 to the server through the connec-
`tion 360. The server acts as a manager of the IM session,
`keeping track of all the connections relating to the Session ID
`5 and forwarding all messages exchanged among the mobile
`devices that are communicating within that particular IM
`session.
`A server in accordance with the present invention, such as
`those in FIG. 2 and FIG. 3 can be maintained by any entity,
`10 from a mobile device service provider to any entity that
`desires to offer IM conferencing services in accordance with
`the present invention. So long as the server has a publicly
`accessible network address (e.g., public Internet IP address),
`the server need not be part of any particular mobile device's
`15 private network (e.g., service provider's mobile data net-
`work) and any mobile device associated with any service
`provider shall be able to connect to the server through the data
`packet-based network (e.g., IP network) and request the allo-
`cation of a specific port or Session ID to establish an IM
`20 session. In another embodiment of the present invention, the
`maintainer of the server may also provide personal confer-
`encing numbers and PIN numbers to users to provide the
`capability to schedule and set up "virtual IM conference
`rooms." In such an embodiment, the server also has associ-
`25 ated with it at least one unique identification number (e.g.,
`telephone number) that may be used by mobile devices to
`contact the server through the page-mode messaging service
`(e.g., SMS). For example, initially through an offline process
`(e.g., email, phone call, letter, etc.), the maintainer of the
`30 server provides a mobile device user with a phone number
`associated with the server (e.g., a toll-free number), a per-
`sonal conference number, and a PIN. Those skilled in the art
`in the teleconferencing area will recognize the existence of
`alternative combinations of identification numbers for creat-
`35 ing a virtual conference room such as a personal phone num-
`ber (rather than a common number used by all users) and a
`PIN, but no personal identification number. Such alternatives
`can be made without departing from the spirit of the present
`invention and are therefore considered to be within the scope
`40 of the present invention.
`FIG. 4 provides a flow chart of a server-based architecture
`with virtual IM conference room capabilities in accordance
`with the present invention. Initially, through an offline or
`out-of-band process (e.g., email, phone call, letter, etc.) a user
`45 of an initiating mobile device, having the role of the "mod-
`erator," will schedule a proposed time for the IM conference
`and distribute the server's phone number and the user's per-
`sonal identification number to all participants 405. At the time
`of the scheduled conference, the initiating mobile device
`50 opens a TCP port (e.g., server socket) to listen for subsequent
`communications from the server 410. The server has simi-
`larly opened an SMS listening port to receive SMS text mes-
`sages requesting virtual IM conference rooms to be opened
`415. The initiating mobile device then transmits its IP
`55 address, including its TCP port number, the user's personal
`conference number and the user's PIN (to authenticate the
`user as the moderator) in an SMS text message to the tele-
`phone number of the server 420. In the embodiment described
`in FIG. 4, the user's personal conference number and PIN
`60 may be considered session identifying information. The
`server receives the SMS text message containing the initiat-
`ing mobile device's IP address, personal conference number
`and PIN 425. The server extracts the IP address, personal
`conference number and PIN from the SMS text message,
`65 confirms that the PIN is correct for the specific personal
`conference number and then transmits a request to establish a
`TCP connection to the initiating mobile device's IP address
`
`Apple Inc.
`Ex. 1016 - Page 8
`
`
`
`US 8,018,877 B2
`
`7
`(and specified TCP port number) 430. The initiating mobile
`device receives this request and a TCP connection 435 is
`established between the initiating mobile device and the
`server and the virtual conference room associated with the
`user's personal conference number is "opened" 440. Partici-
`pants in the scheduled IM conference other than the modera-
`tor "dial in" to the IM conference in a similar manner. At the
`time of the scheduled conference, a participant's mobile
`device opens a TCP port to listen for subsequent communi-
`cations from the server 445. The participant's mobile device
`then transmits its IP address, including its TCP port number
`and the moderator's personal conference number in an SMS
`text message to the phone number of the server 450. The
`server receives the SMS text message containing the partici-
`pant's mobile device's IP address and moderator's personal
`conference number 455. The server extracts the IP address
`and personal conference number from the SMS text message
`and then transmits a request to establish a TCP connection to
`the participant's mobile device's IP address 460. If the mod-
`erator has "opened" the virtual IM conference room, then the
`server announces to all currently connected participants that a
`new participant has joined the conference room and propa-
`gates text messages to all participants through the various
`TCP connections (465 and 435) established with the server
`475. Those skilled in the art will recognize that the informa-
`tion that is embedded in the initial SMS text message can vary
`and that other information can be exchanged once the TCP
`connection between the server and the mobile device is estab-
`lished. For example, only the IP address (and port) may be
`transmitted to the server in the initial SMS text messages and
`