`
`11111111111111111111111111fIll1011111111111111111111111111111111
`
`(12) United States Patent
`Lin
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,406,116 B2
`*Mar. 26, 2013
`
`MOBILE CONFERENCING METHOD AND
`SYSTEM
`
`Inventor: Daniel J. Lin, San Francisco, CA (US)
`
`Assignee: Pendragon Wireless LLC, Kirkland,
`WA (US)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 143 days.
`
`This patent is subject to a terminal dis-
`claimer.
`
`(21)
`
`Appl. No.: 13/193,579
`
`(22) Filed:
`
`Jul. 28, 2011
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`4,582,956 A
`4/1986 Doughty
`6,275,575 B1
`8/2001 Wu
`6,564,261 B1
`5/2003 Gudjonsson et al.
`6,885,871 B2
`4/2005 Caloud
`6,990,352 B2
`1/2006 Pyhalammi et al.
`7,058,036 B1 *
`6/2006
`Yu et al.
`7,218,921 B2
`5/2007
`Mendiola et al.
`7,236,472 B2
`6/2007 Lazaridis et al.
`7,447,211 B1
`11/2008 Scholte
`2002/0083127 Al
`6/2002 Agrawal
`2002/0089968 Al *
`7/2002 Johansson et al.
`2002/0091956 Al
`7/2002 Potter et al.
`2002/0155826 Al
`10/2002 Robinson et al.
`2002/0165000 Al
`11/2002 Fok
`2002/0173308 Al
`11/2002 Dorenbosch et al.
`(Continued)
`
`370/335
`
`370/349
`
`(65)
`
`Prior Publication Data
`
`US 2011/0282960 Al
`
`Nov. 17, 2011
`
`Related U.S. Application Data
`
`EP
`EP
`
`FOREIGN PATENT DOCUMENTS
`1 331 786
`7/2003
`1 361 765
`11/2003
`(Continued)
`
`(63) Continuation of application No. 13/079,767, filed on
`Apr. 4, 2011, now Pat. No. 8,018,877, which is a
`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
`
`(Continued)
`
`(51) Int. Cl.
`(2006.01)
`HO4L 12/16
` 370/206; 370/261; 709/204
`(52) U.S. Cl.
`(58) Field of Classification Search
` 370/260,
`370/338, 328, 252, 353, 352, 335, 342, 349,
`370/389, 395.2, 400, 437; 709/204, 205,
`709/206, 207, 226, 227; 455/418, 419, 456.1,
`455/435, 432, 421, 412.1, 435.1, 450, 458,
`455/466, 456.5, 456.2, 518, 519; 379/202.01,
`379/265.05, 204.01, 100.17
`See application file for complete search history.
`
`OTHER PUBLICATIONS
`
`Rosenberg, et al., "SIP: Session Initiation Protocol" Standards Track,
`The Internet Society, Jun. 2002, pp. 1-269.
`
`(Continued)
`
`Primary Examiner - Abdullah Riyami
`(74) Attorney, Agent, or Firm - Stattler-Suh PC
`
`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
`
`/- 20
`
`GENERATE SESSION ID
`AND TRANSMIT TO INITIATING
`MOBILE DEVICE
`
`225
`
`I
`
`370
`
`ESTABLISH TCP CONNECTION
`WITH PARTICIPATING MOBILE DEVICES
`
`RECEIVE AND FORWARD
`MESSAGES TO ALL MOBILE
`DEVICES ASSOCIATED WITH
`SAME SESSION ID
`
`1
`
`L
`
`START
`INITIATING MOBILE
`DEVICE
`
`r - 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 TOP CONNECTION
`WITH SERVER
`
`,,.- 310
`
`REQUEST A SESSION ID
`FROM SERVER
`
`330
`
`PROPAGATE SESSION ID AND
`NETWORK ADDRESS (AND
`POSSIBLY WELL-KNOWN PORT) - -
`TO PARTICIPATING MOBILE
`DEVICES VIA SMS
`
`j
`
`START
`PARTICIPATING MOBILE
`DEVICES
`
`245
`
`OPEN SMS PORT
`f--34°
`RECEIVE INVITATION MESSAGE
`FROM INITIATING MOBILE DEVICE
`WITH SESSION ID, AND NETWORK
`ADDRESS ( AND POSSIBLY
`WELL-KNOWN PORT)
`
`r
`
`1.- 350
`
`TRANSMIT
`REQUEST TO
`SERVERS WELL KNOWN
`PORT TO ESTABLISH
`TCP CONNECTION
`
`370
`
`ESTABLISH TCP CONNECTION
`WITH SERVER
`380
`
`TRANSMIT SESSION ID
`TO SERVER
`
`^ 360
`
`r
`
`Apple Inc.
`Ex. 1001 - Page 1
`
`
`
`US 8,406,116 B2
`Page 2
`
`Related U.S. Application Data
`
`Mar. 28, 2005, now Pat. No. 7,672,255, which is a
`continuation-in-part of application No. 11/042,620,
`filed on Jan. 24, 2005, now Pat. No. 7,773,550, and a
`continuation-in-part of application No. 10/935,342,
`filed on Sep. 7, 2004, now Pat. No. 7,764,637, and a
`continuation-in-part of application No. 10/817,994,
`filed on Apr. 5, 2004, now Pat. No. 7,961,663.
`
`Kulkarni et al.
`1/2005
`2005/0021645 Al
`Penner et al.
`3/2005
`2005/0050152 Al
`Lazaridis et al.
`3/2005
`2005/0058094 Al
`Bouat
`5/2005
`2005/0094625 Al
`5/2005 Crocker et al.
`2005/0105509 Al *
`5/2005 Torvinen
`2005/0113123 Al
`2005/0135348 Al * 6/2005 Staack
`2005/0190706 Al
`9/2005 Henderson et al.
`2005/0197143 Al
`9/2005 Lee et al.
`2006/0019698 Al
`1/2006 Ahya et al.
`2006/0053225 Al
`3/2006 Poikselka et al.
`2006/0063539 Al
`3/2006 Beyer, Jr.
`2006/0104306 Al
`5/2006 Adamczyk et al.
`2006/0126594 Al
`6/2006 Tu
`2006/0194596 Al *
`8/2006 Deng
`2006/0218282 Al
`9/2006 Teinila et al.
`2007/0106727 Al
`5/2007 Mainard
`2007/0112962 Al
`5/2007 Lewontin
`2007/0233732 Al
`10/2007 Porter et al.
`2009/0161663 Al *
`6/2009 Tu
`
`370/352
`
`370/353
`
`455/466
`
`370/352
`
`370/338
`
`FOREIGN PATENT DOCUMENTS
`WO 01/41477
`6/2001
`WO
`WO 01/69406
`9/2001
`WO
`WO 03/087972
`10/2003
`WO
`WO WO 2004/073288
`8/2004
`
`OTHER PUBLICATIONS
`
`370/338
`
`Provisional U.S. Appl. No. 60/503,366, filed Sep. 16, 2003.
`Provisional U.S. Appl. No. 60/503,367, filed Sep. 16, 2003.
`Rosenberg, et al., "Traversal Using Relay NAT (TURN)" draft-
`rosenberg-midcom-turn-07, Midcom Feb. 21, 2005, pp. 1-33.
`
`* cited by examiner
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`2002/0173319 Al
`11/2002 Fostick
`2003/0013467 Al
`1/2003 Caloud
`2003/0018726 Al
`1/2003 Low et al.
`2003/0076367 Al
`4/2003 Bencze et al.
`2003/0105812 Al
`6/2003 Flowers et al.
`2003/0126213 Al
`7/2003 Betzler
`2003/0142654 Al *
`7/2003 Chambers et al.
`2003/0154293 Al
`8/2003 Zmolek
`2003/0217174 Al
`11/2003 Dorenbosch et al.
`2004/0005877 Al
`1/2004 Vaananen
`2004/0116137 Al
`6/2004 Bells et al.
`2004/0126213 Al
`7/2004 Pelzmann et al.
`2004/0132468 Al
`7/2004 Rogalski et al.
`2004/0152477 Al
`8/2004 Wu et al.
`2004/0171396 Al
`9/2004 Carey et al.
`2004/0240417 Al * 12/2004 Kim
`2004/0249953 Al
`12/2004 Fernandez et al.
`2005/0005014 Al
`1/2005 Holmes et al.
`2005/0014490 Al
`1/2005 Desai et al.
`2005/0015495 Al
`1/2005 Florkey et al.
`
`Apple Inc.
`Ex. 1001 - Page 2
`
`
`
`lualud 'SI'
`
`17 JO I JaaliS
`
`Zll 911'9017'8 Sf1
`
`100
`
`)
`
`FIG. 1
`
`155
`
`115
`
`105
`
`Cill)
`ammo
`0000000
`
`115
`
`Apple Inc.
`Ex. 1001 - Page 3
`
`Ili
`
`
`lualud *Sil
`
` JO Z JamiS
`
`17
`
`Zll 911'9017'8 Sf1
`
`(
`
`START
`SERVER
`
`..a- 205
`OPEN AND LISTEN
`ON WELL KNOWN PORT
`FOR TCP CONNECTIONS
`TO INITIATE IM SESSION
`c- 220
`ESTABLISH TCP
`CONNECTION WITH
`INITIATING MOBILE DEVICE
`
`230
`
`OPEN SPECIFIC PORT NUMBER
`FOR IM SESSION AND SEND
`PORT NUMBER TO INITIATING
`MOBILE DEVICE AND LISTEN ON
`SPECIFIC PORT
`
`225
`
`FIG. 2
`
`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
`
`c- 220
`ESTABLISH TCP CONNECTION
`WITH SERVER
`
`START
`PARTICIPATING MOBILE
`DEVICES
`
`245
`
`OPEN SMS PORT
`
`7 - 250
`
`E
`
`RECEIVE INVITATION
`MESSAGE FROM INITIATING MOBILE DEVICE
`WITH SERVER IP ADDRESS AND
`SPECIFIC PORT FROM INITIATING
`MOBILE DEVICE VIA SMS
`
`7 - 255
`
`TRANSMIT
`REQUEST TO
`SPECIFIC PORT
`TO ESTABLISH
`TCP CONNECTION
`
`7 .- 260
`
`ESTABLISH TCP CONNECTION
`WITH SERVER
`
`
`
`_..1L _
`
`c- 235
`RECEIVE SPECIFIC PORT
`FOR IM SESSION
`
`I- -
`
`r- 260
`ESTABLISH TCP CONNECTION
`WITH PARTICIPANTS' MOBILE DEVICES
`AND FORWARD ALL MESSAGES
`TO ALL MOBILE DEVICES
`
`I
`
`7- 240
`PROPAGATE SERVER IP
`ADDRESS AND SPECIFIC PORT
`TO PARTICIPATING MOBILE
`DEVICES IN INVITATION
`MESSAGE VIA SMS
`
`J
`
`_J
`
`266
`)
`
`Apple Inc.
`Ex. 1001 - Page 4
`
`
`
`lualud °Sil
`
`17 JO £ JamiS
`
`Zll 911'9017'8 Sf1
`
`START
`PARTICIPATING MOBILE
`DEVICES
`
`/- 245
`OPEN SMS PORT
`
`7 -- 340
`
`RECEIVE INVITATION MESSAGE
`FROM INITIATING MOBILE DEVICE
`WITH SESSION ID, AND NETWORK
`ADDRESS ( AND POSSIBLY
`WELL-KNOWN PORT)
`
`7.- 350
`
`TRANSMIT
`REQUEST TO
`SERVER'S WELL KNOWN
`PORT TO ESTABLISH
`TCP CONNECTION
`
`7 - 370
`
`ESTABLISH TCP CONNECTION
`WITH SERVER
`380
`
`TRANSMIT SESSION ID
`TO SERVER
`
`C
`
`START
`SERVER
`
`/- 205
`OPEN AND LISTEN
`ON WELL KNOWN PORT
`FOR TCP CONNECTIONS
`TO INITIATE IM SESSION
`
`7-- 220
`ESTABLISH TCP
`CONNECTION WITH
`INITIATING MOBILE DEVICE
`
`/- 320
`GENERATE SESSION ID
`AND TRANSMIT TO INITIATING
`MOBILE DEVICE
`
`370
`
`ESTABLISH TCP CONNECTION
`WITH PARTICIPATING MOBILE DEVICES
`
`FIG. 3
`
`START
`INITIATING MOBILE
`DEVICE
`
`210
`
`PRE-CONFIGURED TO HAVE
`SERVER'S IP ADDRESS AND
`THE WELL-KNOWN PORT
`
`r- 215
`
`TRANSMIT REQUEST TO
`SERVER'S WELL-KNOWN
`
`PORT TO ESTABLISH
`TCP CONNECTION
`
`_
`
`___
`
`/- 220
`
`_...] ESTABLISH TCP CONNECTION
`WITH SERVER
`
`225
`
`I
`
`/- 310
`REQUEST A SESSION ID
`FROM SERVER
`
`I
`
`RECEIVE AND FORWARD
`MESSAGES TO ALL MOBILE
`DEVICES ASSOCIATED WITH
`SAME SESSION ID
`
`L._
`
`L
`
`f- 330
`PROPAGATE SESSION ID AND
`NETWORK ADDRESS (AND
`POSSIBLY WELL-KNOWN PORT)
`TO PARTICIPATING MOBILE
`DEVICES VIA SMS
`
`J
`
`^ 360
`
`Apple Inc.
`Ex. 1001 - Page 5
`
`
`
`lualud °Sil
`
`17 JO 17 JamiS
`
`Zll 911'9017'8 Sf1
`
`START
`PARTICIPATING MOBILE
`DEVICES
`
`/--- 445
`OPEN TCP PORT
`
`/- 450
`
`TRANSMIT IP ADDRESS AND
`OPENED PORT, INITIATING MOBILE
`DEVICE'S PERSONAL CONFERENCE
`NUMBER VIA SMS TO SERVER'S
`PHONE NUMBER
`
`7.- 475
`
`r —
`
`ESTABLISH TCP CONNECTION
`WITH SERVER
`
`FIG. 4
`
`_J i
`
`475
`
`465
`
`START
`SERVER
`
`7- 415
`LISTEN FOR SMS MESSAGES
`/- 425
`RECEIVE SMS MESSAGE
`/- 430
`VERIFY PIN AND TRANSMIT
`REQUEST TO INITIATING MOBILE
`DEVICE'S IP ADDRESS AND PORT TO
`ESTABLISH TCP CONNECTION
`/- 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
`
`---I
`
`START
`...'
`INITIATING MOBILE
`DEVICE (MODERATOR)
`
`.f.-- 405
`SCHEDULE PROPOSED
`IM CONFERENCE THROUGH
`OUT-OF-BAND COMMUNICATION
`
`r -r -: 410
`
`OPEN TCP PORT
`
`E7_. 420
`
`L_
`
`TRANSMIT IP ADDRESS
`AND OPENED PORT NUMBER,
`AND PERSONAL CONFERENCE
`NUMBER AND PIN TO
`SERVER VIA SMS
`
`*1-.' 435
`1L -
`
`1
`I
`
`440
`c---
`ESTABLISH TCP CONNECTION
`WITH SERVER
`
`/-- 460
`TRANSMIT REQUEST TO PARTICIPATING
`MOBILE DEVICES, IP ADDRESS AND PORT
`TO ESTABLISH TCP CONNECTION
`
`- — .1
`
`ESTABLISH TCP CONNECTION
`WITH PARTICIPANTS' MOBILE
`DEVICES AND FORWARD
`MESSAGES TO ALL WHO HAVE
`DIALED IN TO THE PERSONAL
`CONFERENCE NUMBER
`
`Apple Inc.
`Ex. 1001 - Page 6
`
`
`
`US 8,406,116 B2
`
`1
`MOBILE CONFERENCING METHOD AND
`SYSTEM
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`This application is a continuation of U.S. patent applica-
`tion 13/079,767, filed on Apr. 4, 2011, now U.S. Pat. No.
`8,018,877 which is a continuation of U.S. patent application
`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 application
`Ser. No. 11/091,242, filed Mar. 28, 2005, now U.S. Pat. No.
`7,672,255, which is a continuation-in-part of: U.S. patent
`application Ser. No. 11/042,620, filed Jan. 24, 2005, now U.S.
`Pat. No. 7,773,550; U.S. patent application Ser. No. 10/935,
`342, filed Sep. 7, 2004, now U.S. Pat. No. 7,764,637; and U.S.
`patent application Ser. No. 10/817,994, filed Apr. 5, 2004,
`now U.S. Pat. No. 7,961,663. All of the foregoing applica-
`tions are hereby incorporated by reference.
`
`FIELD 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
`
`2
`cifically, with pure peer-to-peer IM techniques, it is more
`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.,
`5 adding conferencing capabilities to an IM system). Addition-
`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
`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.
`
`0
`
`20
`
`SUMMARY 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 receiving a request from an initi-
`ating mobile device to allocate a session identifier to use in a
`data exchange session with a participating mobile device,
`30 transmitting the session identifier to the initiating mobile
`device, wherein the initiating mobile device uses a page-
`mode messaging service to assist in communicating the ses-
`sion identifier to the participating mobile device and wherein
`the page-mode messaging service utilizes a unique identifier
`35 to locate the participating mobile device; establishing con-
`nections with the initiating mobile device and the participat-
`ing mobile device based on the session identifier; and facili-
`tating the data exchange session between the initiating mobile
`device and the participating mobile device
`
`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
`so 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 40
`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., 60
`the recipient's smart phone extracts the TCP/IP address and
`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. Spe-
`
`Apple Inc.
`Ex. 1001 - Page 7
`
`
`
`US 8,406,116 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
`
`4
`servicing receiving mobile device 110, (vi) the MSC 125B
`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
`5 GSM network, SMS text messaging utilizes telephone num-
`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
`io signaling communication is represented by the broken lines.
`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
`15 may be deployed would also support a data packet based
`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
`20 in parallel to the existing GSM core network. The BSC 120
`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
`25 the SGSN (145A or 145B) may be, for example, based upon
`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
`30 135B) to obtain routing, location and other subscriber infor-
`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
`35 with the SGSN (145A or 145B) through an IP based GPRS
`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
`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
`45 private data packet based networks (e.g., IP networks). FIG. 2
`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
`so socket) for requests by mobile devices to initiate particular
`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
`55 device be pre-configured with the server's IP address and
`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-
`60 known port 215. The server receives the connection request
`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
`65 (e.g., a server socket) for the IM session and transmits the port
`number (and, if needed, the server's IP address) to the initi-
`ating mobile device through the reliable connection 230. In
`
`40
`
`Apple Inc.
`Ex. 1001 - Page 8
`
`
`
`US 8,406,116 B2
`
`5
`this embodiment, the specific network port number may be
`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-
`
`6
`pating mobile device 370, the participating mobile device and
`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,
`5 keeping track of all the connections relating to the Session ID
`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
`10 those in FIG. 2 and FIG. 3 can be maintained by any entity,
`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),
`15 the server need not be part of any particular mobile device's
`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-
`2o cation of a specific port or Session ID to establish an IM
`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
`25 rooms." In such an embodiment, the server also has associ-
`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
`30 (e.g., email, phone call, letter, etc.), the maintainer of the
`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
`35 alternative combinations of identification numbers for creat-
`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
`40 invention and are therefore considered to be within the scope
`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
`45 out-of-band process (e.g., email, phone call, letter, etc.) a user
`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
`50 of the scheduled conference, the initiating mobile device
`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 requesti