`
`81
`
`1111111,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
`
`(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; 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.
`7/2002 Johansson et al.
`2002/0089968 Al *
`2004/0240417 Al * 12/2004 Kim
`5/2005 Crocker et al.
`2005/0105509 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
`
`7- 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
`
`L
`
`START
`INITIATING MOBILE
`DEVICE
`
`7- 210
`
`PRE-CONFIGURED TO HAVE
`SERVERS IP ADDRESS AND
`THE WELL-KNOWN PORT
`
`215
`I-
`TRANSMIT REQUEST TO
`SERVERS WELL-KNOWN
`PORT TO ESTABLISH
`TCP CONNECTION
`
`220
`
`ESTABLISH TCP CONNECTION
`WITH SERVER
`
`235
`r-
`I
`RECEIVE SPECIFIC PORT
`FOR IM SESSION
`
`7-- 240
`
`7- 260
`
`ESTABLISH TCP CONNECTION
`WITH PARTICIPANTS' MOBILE DEVICES
`AND FORWARD ALL MESSAGES
`TO AU. MOBILE DEVICES
`
`PROPAGATE SERVER IP
`ADDRESS AND SPECIFIC PORT
`TO PARTICIPATING MOBILE
`DEVICES IN INVITATION
`MESSAGE VIA SMS
`
`_J
`
`7- START
`PARTICIPATING MOBILE
`DEVICES
`
`7-- 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. 1001 - Page 1
`
`
`
`lualud °Sil
`
`17 JO I JaatiS
`
`za us`sto's sa
`
`100
`
`FIG.
`
`155
`
`115
`
`111
`(=j1
`mama
`oonornso
`
`115
`
`155
`
`145B
`
`160
`
`Apple Inc.
`Ex. 1001 - Page 2
`
`
`
`lualud °Sil
`
`JO Z JaM1S
`
`
`
`17
`
`za us`sto's sa
`
`START
`SERVER
`
`FIG. 2
`
`205
`
`OPEN AND LISTEN
`ON WELL KNOWN PORT
`FOR TCP CONNECTIONS
`TO INITIATE IM SESSION
`
`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
`
`7-- 260
`ESTABLISH TCP CONNECTION
`WITH PARTICIPANTS' MOBILE DEVICES
`AND FORWARD ALL MESSAGES
`TO ALL MOBILE DEVICES
`
`I
`
`L
`
`1
`
`
`
`START
`C 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
`
`240
`
`PROPAGATE SERVER IP
`ADDRESS AND SPECIFIC PORT
`TO PARTICIPATING MOBILE
`DEVICES IN INVITATION
`MESSAGE VIA SMS
`
`J
`
`START
`PARTICIPATING MOBILE
`DEVICES
`
`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
`7- 255
`
`r
`
`TRANSMIT
`REQUEST TO
`SPECIFIC PORT
`TO ESTABLISH
`TCP CONNECTION
`7- 260
`
`ESTABLISH TCP CONNECTION
`WITH SERVER
`
`266
`
`_J
`
`Apple Inc.
`Ex. 1001 - 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
`
`225
`- 7
`I
`
`Li
`
`START
`
`C 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
`
`7.220
`
`
`
`ESTABLISH TCP CONNECTION
`WITH SERVER
`T.- 310
`REQUEST A SESSION ID
`FROM SERVER
`
`330
`
`RECEIVE AND FORWARD
`MESSAGES TO ALL MOBILE
`DEVICES ASSOCIATED WITH
`SAME SESSION ID
`
`L
`
`PROPAGATE SESSION ID AND
`NETWORK ADDRESS (AND
`POSSIBLY WELL-KNOWN PORT) -
`TO PARTICIPATING MOBILE
`DEVICES VIA SMS
`
`360
`
`E
`
`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)
`
`350
`
`TRANSMIT
`REQUEST TO
`SERVER'S WELL KNOWN
`PORT TO ESTABLISH
`TCP CONNECTION
`7- 370
`
`ESTABLISH TCP CONNECTION
`WITH SERVER
`7.- 380
`
`TRANSMIT SESSION ID
`TO SERVER
`
`Apple Inc.
`Ex. 1001 - 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
`
`START
`INITIATING MOBILE
`DEVICE (MODERATOR)
`
`405
`
`- -
`
`SCHEDULE PROPOSED
`1M CONFERENCE THROUGH
`OUT-OF-BAND COMMUNICATION
`
`410
`/-
`OPEN TCP PORT
`
`420
`
`TRANSMIT IP ADDRESS
`L_ AND OPENED PORT NUMBER,
`AND PERSONAL CONFERENCE
`NUMBER AND PIN TO
`SERVER VIA SMS
`
`440
`435
`L - ESTABLISH TCP CONNECTION
`_...1
`WITH SERVER
`
`7- 460
`TRANSMIT REQUEST TO PARTICIPATING
`MOBILE DEVICES, IP ADDRESS AND PORT
`TO ESTABLISH TCP CONNECTION
`
`ESTABLISH TCP CONNECTION
`WITH PARTICIPANTS' MOBILE
`DEVICES AND FORWARD
`MESSAGES TO ALL WHO HAVE
`DIALED IN TO THE PERSONAL
`CONFERENCE NUMBER
`
`START
`PARTICIPATING MOBILE
`DEVICES
`
`445
`/-
`OPEN TCP PORT
`
`7- 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
`
`FIG. 4
`
`_J
`
`J
`
`465
`
`475
`
`Apple Inc.
`Ex. 1001 - 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
`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
`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
`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 45
`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 50
`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 55
`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. 1001 - Page 6
`
`
`
`US 8,018,877 B2
`
`4
`3
`retrieves subscriber information from the VLR 135B, and
`Under the GSM standard, each of the mobile devices 105 and
`(vii) the MSC 125A transmits the text message to the receiv-
`110 includes a Subscriber Information Module (SIM) card
`ing mobile device 110. Similar to other transactions on the
`that contains unique identification information that enables
`GSM network, SMS text messaging utilizes telephone num-
`the GSM system to locate the mobile devices within the
`network and route data to them. A current commercial 5 bers as identifying addresses for mobile devices and as such,
`example of a mobile device (e.g., smartphone, PDA, hand-
`utilizes the SS7 network signaling system through which
`held, etc.) that might be used in FIG. 1 could be Research In
`cellular service providers share information from the HLR
`Motion's (RIM) BlackBerry handheld devices, which
`with other service providers. As depicted in FIG. 1, SS7 based
`include a QWERTY keyboard to facilitate the typing of text.
`signaling communication is represented by the broken lines.
`As depicted, a GSM architecture includes the following com- 10 In contrast, the solid lines in FIG. 1 represent data or voice
`ponents: base transceiver stations (BTS) 115 and base station
`based communications.
`controllers (BSC) (120A or 120B) for managing the trans-
`In addition to a page-mode messaging service such as
`mission of radio signals between the MSC (defined below)
`SMS, a GSM network within which the present invention
`and the mobile devices, mobile service-switching centers
`may be deployed would also support a data packet based
`(MSC) (125A and 125B) for performing the all switching 15 communications service, such as the General Packet Radio
`functions and controlling calls to and from other telephone
`Service (GPRS), that enables TCP/IP transmission protocol
`and data systems, a home location register (HLR) 130 for
`based communications between mobile devices within the
`containing all the administrative, routing and location infor-
`network. As depicted in FIG. 1, a core GPRS network exists
`mation of each subscriber registered in the network, visitor
`in parallel to the existing GSM core network. The BSC 120
`location registers (VLR) (135A and 135B) for containing 20 may direct voice traffic through the MSC (125A or 125B) to
`selected administrative information about subscribers regis-
`the GSM network and data traffic through the Serving GPRS
`tered in one HLR who are roaming in another HLR, and an
`Support Note (SGSN) (145A or 145B) to the GPRS network.
`equipment identity register (EIR) (not shown) for containing
`Such communication between the BSC (125A or 125B) and
`a list of all valid mobile equipment on the network). As
`the SGSN (145A or 145B) may be, for example, based upon
`depicted in FIG. 1, in one architecture of a GSM network, 25 the IP network protocol communication 155. As such, GPRS
`there may be exist one HLR while there may exist multiple
`signaling and data traffic do not flow through the core GSM
`MSCs (each with a related VLR) which each serves a differ-
`network. Instead, the core GSM network is used by GPRS
`ent geographic area. The MSCs also provide the interface for
`only for table look-up in the HLR 130 and VLR (135A or
`the GSM network to more traditional voice networks 170
`135B) to obtain routing, location and other subscriber infor-
`such as the PSTN. This underlying GSM architecture pro- 30 mation in order to handle user mobility. The SGSN (145A or
`vides radio resources management (e.g., access, paging and
`145B) serves as a "packet-switched MSC," delivering data
`handover procedures, etc.), mobility management (e.g., loca-
`packets to mobile devices in its service area. The Gateway
`tion updating, authentication and security, etc.), and commu-
`GPRS Support Note (GGSN) (150A or 150B) communicates
`nication management (e.g., call routing, etc.) in order to
`with the SGSN (145A or 145B) through an IP based GPRS
`enable mobile devices in the GSM network to send and 35 backbone 160 and serves as an interface to other external IP
`receive data through a variety of services, including the Short
`networks 165 such as the Internet and other mobile service
`Message Service (SMS), an asynchronous bi-directional text
`providers' GPRS services.
`messaging service for short alphanumeric messages (up to
`B. Server Based Architecture
`160 bytes) that are transported from one mobile device to
`Because mobile service providers do not typically allocate
`another mobile device in a store-and-forward fashion.
`40 publicly accessible network addresses to each mobile device,
`A GSM network within which the present invention may be
`the present invention requires the presence of a server with a
`deployed would also support a page-mode messaging service,
`publicly accessible network address (e.g., public Internet IP
`such as SMS, that relies upon the underlying GSM mecha-
`address) that enables the server to be contacted across all
`nisms to resolve routing information in order to locate desti-
`private data packet based networks (e.g., IP networks). FIG. 2
`nation mobile devices. A GSM network supporting SMS text 45 depicts a flow chart setting forth one embodiment of a server-
`messaging may further include the following SMS specific
`based architecture in accordance with the present invention.
`components: a short message service center (SMSC) (140A
`As an initial set-up process, the server will need to have
`or 140B) for storing and forwarding messages to and from
`opened and be listening on a well-known port (e.g., server
`one mobile device to another and an SMS Gateway-MSC
`socket) for requests by mobile devices to initiate particular
`(SMS GMSC) for receiving the short message from the so IM sessions 205 and the client software residing on an initi-
`SMSC (140A or 140B) and interrogating the destination
`ating mobile device will need to be pre-configured with the
`mobile device's HLR 130 for routing information to deter-
`server's IP address and well-known port 210 (it is not neces-
`mine the current location of the destination device to deliver
`sary that mobile devices other than the initiating mobile
`the short message to the appropriate MSC (125A or 125B).
`device be pre-configured with the server's IP address and
`The SMS GMSC is typically integrated with the SMSC 140. 55 well-known port). To initiate an IM session, the initiating
`In a typical transmission of an SMS text message from an
`mobile device transmits a request to establish a reliable ses-
`originating mobile device 105 to a receiving mobile device
`sion-based connection (e.g., TCP connection) with the server
`110, (i) the text message is transmitted from the mobile 105 to
`by contacting the server at its network address and well-
`the MSC 125A, (ii) the MSC 125A interrogates its VLR 135A
`known port 215. The server receives the connection request
`to verify that the message transfer does not violate any 60 from the initiating mobile device and establishes a reliable
`supplementary services or restrictions, (iii) the MSC 125A
`connection (e.g., TCP connection) with the initiating mobile
`sends the text message to the SMSC 140A, (iv) the SMSC
`device 220. Upon establishing the reliable connection 225,
`140A, through the SMS GMSC, interrogates the receiving
`the server allocates and opens a specific network port number
`mobile device's HLR 130 (by accessing the SS7 network) to
`(e.g., a server socket) for the IM session and transmits the port
`receive routing information for the receiving mobile device 65 number (and, if needed, the server's IP address) to the initi-
`110, (v) the SMSC sends the text message to the MSC 125B
`ating mobile device through the reliable connection 230. In
`servicing receiving mobile device 110, (vi) the MSC 125B
`this embodiment, the specific network port number may be
`
`Apple Inc.
`Ex. 1001 - Page 7
`
`
`
`US 8,018,877 B2
`
`6
`5
`identifies its intent to join an initiated IM session by trans-
`considered to be session identifying information for the IM
`mitting the Session ID 380 to the server through the connec-
`session being initiated by the initiating mobile device. Similar
`tion 360. The server acts as a manager of the IM session,
`to the teachings in the P2P Patent Application, the initiating
`mobile device receives the specific port number 235 and then
`keeping track of all the connections relating to the Session ID
`propagates the server's network address and the specific net- 5 and forwarding all messages exchanged among the mobile
`work port number in invitation messages through a page-
`devices that are communicating within that particular IM
`mode messaging service, such as SMS, to other mobile
`session.
`devices in order to participate in the IM session 240. Such
`A server in accordance with the present invention, such as
`those in FIG. 2 and FIG. 3 can be maintained by any entity,
`page-mode messages (e.g., SMS message) may be encoded in
`a manner such that the mobile devices can distinguish the 10 from a mobile device service provider to any entity that
`message from page-mode messages used for purposes other
`desires to offer IM conferencing services in accordance with
`than the present invention, or the page mode-message may be
`the present invention. So long as the server has a publicly
`sent to a specific page-mode message port (e.g., SMS port)
`accessible network address (e.g., public Internet IP address),
`opened specifically for purposes of this present invention 245.
`the server need not be part of any particular mobile device's
`The other mobile devices receive the invitation message 250 15 private network (e.g., service provider's mobile data net-
`and if they desire to participate in the IM session, they trans-
`work) and any mobile device associated with any service
`mit requests to establish reliable connections (e.g., TCP con-
`provider shall be able to connect to the server through the data
`nections) 255 with the server by connecting with the server at
`packet-based network (e.g., IP network) and request the allo-
`the specific network port number allocated to the initiating
`cation of a specific port or Session ID to establish an IM
`mobile device 260. Once the reliable connections 266 with 20 session. In another embodiment of the present invention, the
`other participating mobile devices are established, the server
`maintainer of the server may also provide personal confer-
`acts as a manager of the IM session, keeping track of all the
`encing numbers and PIN numbers to users to provide the
`established connections relating to the specific port number
`capability to schedule and set up "virtual IM conference
`and IM session and forwarding all messages (via reliable
`rooms." In such an embodiment, the server also has associ-
`connections 225 and 266) exchanged among the mobile 25 ated with it at least one unique identification number (e.g.,
`devices that are communicating within that particular IM
`telephone number) that may be used by mobile devices to
`session. The server keeps the specific network port for an IM
`contact the server through the page-mode messaging service
`session open so long as mobile devices that have connected to
`(e.g., SMS). For example, initially through an offline process
`each other through that network port remain engaged in a
`(e.g., email, phone call, letter, etc.), the maintainer of the
`real-time IM session. Because all participating mobile 30 server provides a mobile device user with a phone number
`devices know the server's IP address and the specific allo-
`associated with the server (e.g., a toll-free number), a per-
`cated port number associated with the IM session, any of such
`sonal conference number, and a PIN. Those skilled in the art
`participating mobile devices and invite other mobile devices
`in the teleconferencing area will recognize the existence of
`to join by sending an invitation message through the page-
`alternative combinations of identification numbers for creat-
`mode messaging service. Furthermore, those skilled in the art 35 ing a virtual conference room such as a personal phone num-
`will recognize that security enhancements may be added to
`ber (rather than a common number used by all users) and a
`the foregoing initiating process between the server and the
`PIN, but no personal identification number. Such alternatives
`mobile devices. For example and without limitation, a nonce
`can be made without departing from the spirit of the present
`can be issued by the server to the initiating mobile device
`invention and are therefore considered to be within the scope
`which is then propagated to other participating mobile 40 of the present invention.
`FIG. 4 provides a flow chart of a server-based architecture
`devices. This nonce would be used to confirm that any mobile
`device attempting to join the IM session by connecting related
`with virtual IM conference room capabilities in accordance
`established port was indeed invited to participate.
`with the present invention. Initially, through an offline or
`FIG. 3 depicts a flow chart setting forth an alternative
`out-of-band process (e.g., email, phone call, letter, etc.) a user
`embodiment of a server-based architecture in accordance 45 of an initiating mobile device, having the role of the "mod-
`with the present invention. Upon establishing the reliable
`erator," will schedule a proposed time for the IM conference
`connection in a manner similar to FIG. 2, the initiating mobile
`and distribute the server's phone number and the user's per-
`sonal identification number to all participants 405. At the time
`device requests a session identification number ("Session
`ID") from the server to initiate an IM session 310, and the
`of the scheduled conference, the initiating mobile device
`server generates such a Session ID and transmits the Session 50 opens a TCP port (e.g., server socket) to listen for subsequent
`communications from the server 410. The server has simi-
`ID to the initiating mobile device through the reliable con-
`nection 320. Whereas the specific port opened by the server in
`larly opened an SMS listening port to receive SMS text mes-
`the embodiment of FIG. 2 was the session identifying infor-
`sages requesting virtual IM conference rooms to be opened
`415. The initiating mobile device then transmits its IP
`mation, the session identifying information in the embodi-
`ment of FIG. 3 is the Session ID. The initiating mobile device 55 address, including its TCP port number, the user's personal
`will then propagate the server's network address (possibly
`conference number and the user's PIN (to authenticate the
`including the well-known port) and the Session ID in invita-
`user as the moderator) in an SMS text message to the tele-
`phone number of the server 420. In the embodiment described
`tion messages through a page-mode messaging service, such
`as SMS, to other mobile devices 330. The other mobile
`in FIG. 4, the user's personal conference number and PIN
`devices receive the invitation message 340 and if they desire 60 may be considered session identifying information. The
`to participate in the IM session, they will extract the net-
`server receives the SMS text message containing the initiat-
`work's address from the page-mode message and transmit a
`ing mobile device's IP address, personal conference number
`and PIN 425. The server extracts the IP address, personal
`request to establish a reliable connection (e.g., TCP connec-
`tion) with the server by contacting the server at the server's
`conference number and PIN from the SMS text message,
`network address and well-known port 350. Once a reliable 65 confirms that the PIN is correct for the specific personal
`connection 360 is established with the server and a partici-
`conference number and then transmits a request to establish a
`pating mobile device 370, the participating mobile device and
`TCP connection to the initiating mobile device's IP address
`
`Apple Inc.
`Ex. 1001 - Page 8
`
`
`
`US 8,018,877 B2
`
`8
`7
`mentation. For example and without limitation, Message Ses-
`(and specified TCP port number) 430. The initiating mobile
`sion Relay Protocol (MSRP) or any proprietary based proto-
`device receives this request and a TCP connection 435 is
`col may be used during the IM session that is established in
`established between the initiating mobile device and the
`accordance with the present invention. Furthermore, those
`server and the virtual conference room associated with the
`user's personal conference number is "opened" 440. Partici- 5 skilled in the art will recognize that the server-based archi-
`pants in the scheduled IM conference other than the modera-
`tecture presented herein can apply to other data exchange
`tor "dial in" to the IM conference in a similar manner. At the
`environments contexts (other than instant messaging) where
`time of the scheduled conference, a participant's mobile
`reliable connections between multiple mobile devices are
`device opens a TCP port to listen for subsequent communi-
`desirable (e.g., mobile multiplayer gaming). Additionally, the
`cations from the server 445. The participant's mobile device io present server-based architecture may also be used with end-
`then transmits its IP address, including its TCP port number
`points (e.g., PCs, workstations, etc.) other than mobile
`and the moderator's personal conference number in an SMS
`devices, so long as such endpoints have the requirements as
`text message to the phone number of the server 450. The
`described herein (e.g., phone number associated with such
`server receives the SMS text message containing the partici-
`endpoint, SMS capabilities, TCP/IP connections, etc.). Thus,
`pant's mobile device's IP address and moderator's personal 15 various modifications, addi