throbber

`
`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
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket