Vous êtes sur la page 1sur 16

CYW:SZR

IN THE UNITED STATES PATENT & TRADEMARK OFFICE


Application No.: 14/776,482
Art Unit: 2447
Filed: March 14, 2014
Confirmation No.: 2105
Applicants: THOMAS, Monroe M., et al.
Examiner: JOSHI, SURAJ M
Title: SYSTEM AND METHOD FOR RELIABLE MESSAGING BETWEEN APPLICATION
SESSIONS ACROSS VOLATILE NETWORKING CONDITIONS
Docket No.: 50465-3033
_______________________________________________________
To: Mail Stop Amendment
Commissioner for Patents
P.O. Box 1450
Alexandria, VA 22313-1450
U.S.A.
RESPONSE TO OFFICE ACTION
Dear Sir:
In response to the Office Action of August 23, 2016, please amend this
application as follows:
Amendments to the Claims are reflected in the listing of claims which begin on
page 2 of this paper.
Remarks/ Arguments begin on page 9 of this paper.

Page 1

Amendments to the Claims:


Please replace the existing listing of claims with the following:
1.

(Currently Amended) An electronic device comprising:


a processor;
a memory coupled to the processor; and
a communications module saved in the memory and an application saved in

the memory, the communications module for configuring the processor to:
generate, for each outgoing transport message to be sent to a remote device
a respective transmission sequence number;
include the respective transmission sequence number for each outgoing
transport message in the outgoing transport message;
send the outgoing transport messages to the remote device through a
network; and
receive release sequence numbers from the remote device through the
network that identify the outgoing transport messages received by the remote
device,
wherein the transmission sequence numbers and release sequence numbers
are stored in the memory and used to coordinate a reliable communications session
between the electronic device and the remote device such that the reliable
communications session persists regardless independent of states of underlying
communications protocols, including when a network address of at least one of the
electronic

device

and

the

remote

device

changes

during

the

reliable

communications session.

Page 2

2.

(Previously Presented) The electronic device according to claim 1, wherein

the communications module further configures the processor to:


generate an incoming release sequence number for a next expected incoming
transport message to be received from the remote device;
receive an incoming transport message from the remote device, the incoming
transport message including a respective transmission sequence number; and
release data contained in the incoming transport message to the application
when the incoming release sequence number corresponds to the respective
transmission sequence number included in the incoming transport message.
3.
the

(Previously Presented) The electronic device according to claim 1, wherein


respective transmission sequence numbers are generated using a numerical

generation method and information identifying the numerical generation method is


shared between the electronic device and the remote device such that the release
sequence numbers received from the remote device are generated using the
numerical generation method.
4.

(Previously Presented) The electronic device according to claim 1, wherein

the communications module further configures the processor to:


maintain in the memory a delivery queue of the outgoing transport messages
to be sent to the remote device; and
maintain in the memory an acknowledgement list of outgoing transport
messages already sent to the remote device, the outgoing transport messages of
the acknowledgement list being removed from the acknowledgement list when
respective transmission sequence numbers of the transport messages of the
acknowledgement list are less than or equal to a release sequence number received
from the remote device.

Page 3

5.

(Currently Amended) A method for reliable communications between an

electronic device and a remote device, the method comprising at the electronic
device:
generating, for each of a plurality of outgoing transport messages to be sent
to the remote device a respective transmission sequence number;
including the respective transmission sequence numbers in the

outgoing

transport messages;
sending the outgoing transport message to the remote device; and
receiving from the remote device release sequence numbers that identify the
outgoing transport messages received by the remote device,
wherein the transmission sequence numbers and release sequence numbers
are stored in a memory and used to coordinate a reliable communications session
between the electronic device and the remote device such that the reliable
communications session persists regardless independent of states of underlying
communications protocols, including when a network address of at least one of the
electronic

device

and

the

remote

device

changes

during

the

reliable

communications session.
6.

(Previously Presented) The method according to claim 5 further comprising at

the electronic device:


receiving an incoming transport message from the remote device, the
incoming transport message including an incoming transmission sequence number;
generating a release sequence number of a next expected transport message
to be received from the remote device; and
releasing data contained in the incoming transport message to an application
on the electronic device when the incoming release sequence number corresponds
to the incoming transmission sequence number.

Page 4

7.

(Previously Presented)

The method according to claim 5, wherein the

respective transmission sequence numbers are generated using a numerical


generation method and information identifying the numerical generation method is
shared between the electronic device and the remote device such that the release
sequence numbers received from the remote device are generated using the
numerical generation method.
8.

(Previously Presented) The method according to claim 5 further comprising

at the electronic device:


maintaining in the memory a delivery queue of the outgoing transport
messages to be sent to the remote device; and
maintaining in the memory an acknowledgement list of outgoing transport
messages already sent to the remote device, the outgoing transport messages of
the acknowledgement list being removed from the acknowledgement list when
respective transmission sequence numbers of the transport messages of the
acknowledgement list are less than or equal to a release sequence number received
from the remote device.

9.

(Currently Amended) A system for reliable communications comprising:


an electronic device having a processor; a memory coupled to the processor;

a communications module saved in the memory and an application saved in the


memory, the communications module for configuring the processor to:
generate a first transmission sequence number associated with a
transport message to be sent to a remote device;
include the first transmission sequence number in the transport
message;
send the transport message to the remote device; and
add the transport message to an acknowledgement list;
the remote device having a processor; a memory coupled to the processor; a
communications module saved in the memory and an application saved in the
memory, the communications module of the remote device for configuring the
processor to:

Page 5

receive the transport message from the electronic device;


generate a first release sequence number of a next expected transport
message to be received from the electronic device; and
release data contained in the transport message to the application of
the remote device when the first release sequence number equals the first
transmission sequence number,
wherein the first transmission sequence number and the first release
sequence number are used to coordinate a reliable communications session
between the electronic device and the remote device such that the reliable
communications

session

persists

regardless

independent

of

states

of

underlying communications protocols, including when a network address of


at least one of the electronic device and the remote device changes during
the reliable communications session.
10.

(Original) The system according to claim 9, the communications module of

the remote device further configuring the processor to:


generate a second transmission sequence number associated with a
second transport message to be sent to the electronic device;
include the second transmission sequence number and the release
sequence number in the second transport message, the release sequence
number indicating the transmission sequence number of the last transport
message for which data was released to the application;
send the second transport message to the electronic device; and
add the second transport message to an acknowledgement list at the
remote device;
the communications module of the electronic device further configuring the
processor to:
receive the second transport message from the remote device;
generate a second release sequence number of a next expected
transport message to be received from the remote device;
Page 6

release data contained in the second transport message to the


application of the electronic device when the second release sequence
number equals the second transmission sequence number; and
remove the first transport message from the acknowledgement list at
the electronic device when the first release sequence number is equal to the
first transmission sequence number of the first transport message.
11.

(Original)

The system according to claim 9, wherein the first transmission

sequence number is generated at the electronic device using a numerical


generation method and the first release sequence number is generated at the
remote device using the numerical generation method.
12.

(Previously Presented)

The system according to claim 9, wherein the

communications module of the electronic device and the communications module of


the receiving device each further configure the respective processors to:
maintain in the memory a delivery queue of further transport messages to be
sent, each of the further transport messages to include respective further
transmission sequence numbers; and
maintain in the memory the acknowledgement list of transport messages
already sent, the transport messages of the acknowledgement list being removed
from the acknowledgement list when respective transmission sequence numbers of
the transport messages of the acknowledgement list are less than or equal to a
release sequence number received in a transport message.
13. (Previously Presented)

The electronic device of claim 1 wherein the

communications module configures the processor to:


continue the reliable communications session, when the network address of
at least one of the electronic device and the remote device changes, by retrieving
from the memory the stored transmission sequence numbers and release sequence
numbers.

Page 7

14.

(Previously Presented)

The electronic device of claim 1 wherein the

communications module is configured to maintain the reliable communications


session though different communications states including through a first state
transition from a connected state in which the electronic device and the remote
device exchange messages through the network using a communications protocol
to an off-line state in which an exchange of messages between the electronic device
and the remote device is suspended and a second state transition from the off-line
state to a subsequent

connected state in which the electronic device and the

remote device resume exchanging messages.

Page 8

REMARKS/ARGUMENTS
These remarks are filed in response to the Office Action of August 23, 2016, a
response to which is due by November 23, 2016.

Accordingly, the Applicants

respectfully submit that no extension of time fees fall due in connection with the
filing of this paper. If the Applicants are mistaken, the Commissioner is hereby
authorized to deduct any necessary fees from our Deposit Account No. 13-2400.
Claims 1-14 are pending. Minor clarifying amendments have been made to the
claims to more clearly define the subject matter for which protection is sought. No
new matter has been added as a result of the amendments.
Claim Rejections - 35 USC 103
The Office Action has rejected claims 1-14 under pre-AIA 35 U.S.C. 103(a) as
allegedly being unpatentable over Sachs (US 2008/0192696 Al) in view of Tang (US
7,689, 710 B2) in view of Hanson (US 2005/0223114).
The Applicant respectfully disagrees and traverses, for at least the following
reasons. The Applicant respectfully submits that the cited prior art references do
not disclose at least the following elements of claim 1 (emphasis added):
wherein the transmission sequence numbers and release sequence
numbers are stored in the memory and used to coordinate a reliable
communications session between the electronic device and the remote device
such that the reliable communications session persists independent
of states of underlying communications protocols, including when a
network address of at least one of the electronic device and the
remote device changes during the reliable communications session.

Page 9

The Office Action alleges on page 3 that Sachs teaches:


wherein the transmission sequence numbers and release sequence numbers
are stored in memory and used to coordinate a reliable communications
session between the electronic device and the remote device (i.e., Paragraph
118;

comparing

of

FSN

and

FSNNEXT;

Paragraph

39,

storing

of

FSN/FSNNEXT in memory).
However, Sachs does not explicitly disclose such that the reliable communications
session persists regardless of state of underlying communications protocol.
Tang does teach such that the reliable communications session persists regardless
of state of underlying communications protocol (i.e., In step 850, the TCP/IP
SYN/ACK packet is intercepted by the BTCP.sub.BE module (see also step 3, FIG.
5). In step 860, the BTCP.sub.BE module changes the destination address to the
front-end node, and updates the TCP sequence number of the TCP/IP SYN/ACK
packet to reflect the proper state of the front-end node used for establishing and
maintaining the communication session, Col. 11, Lines 60-67) in order to
implement TCP handoff protocol in order to facilitate the transfer of TCP states from
one node to another node in a communication network (Col. 1, Lines 10-18).
Therefore, based on Sachs in view of Tang, it would have been obvious to one
having ordinary skill in the art at the time of invention, to utilize the teachings of
Tang with the system of Sachs in order to facilitate the transfer of TCP states from
one node to another node in a communication network.
However, Sachs and Tang do not explicitly disclose wherein the communications
sessions persist when a network address of at least one of the electronic device and
the remote device changes during the reliable communications session.
Hanson does teach wherein the communications sessions persist when a network
address of at least one of the electronic device and the remote device changes
during the reliable communications session (i.e., In accordance with one aspect of a
presently preferred non-limiting implementation, a Mobility Management Server
(MMS) coupled to the mobile interconnect maintains the state of each of any
number of Mobile End Systems (MES) and handles the complex session
management required to maintain persistent connections to the network and to
peer application processes. If a Mobile End System becomes unreachable,
suspends, or changes network address, Paragraph 18) in order to enable existing
network applications to run reliably in the associated mobile environments
(Paragraph 2). Therefore, based on Sachs in view of Tang and further in view of
Hanson, it would have been obvious to one having ordinary skill in the art at the
Page 10

time of invention, to utilize the teachings of Hanson with the system of Sachs and
Tang in order to enable existing network applications to run reliably in the
associated mobile environments.

The Applicant respectfully disagrees for at least the reasons set forth below.
The Applicant respectfully submits that the Examiner has cited three separate
references for one claim feature. The Applicants respectfully submit that the
solution provided by claim 1 lies in the way the elements work together to
achieve the desired results.

I think we need a more holistic argument that directs the Examiner to consider the
role of the transmission sequence numbers and release sequence numbers in
achieving a reliable communications session when a network address change
occurs.
Thus, an argument might be that the Examiner has cited separate references to
teach separate elements, when the solution provided by claim 1 lies in the
way the elements work together to achieve an inventive result.

Page 11

The Office Action alleges that this feature is taught by Hanson. Specifically, the
Office Action alleges on page 4 (emphasis added):
Hanson does teach wherein the communications sessions persist when a
network address of at least one of the electronic device and the remote
device changes during the reliable communications session (i.e., In
accordance with one aspect of a presently preferred non-limiting
implementation, a Mobility Management Server (MMS) coupled to the mobile
interconnect maintains the state of each of any number of Mobile End
Systems (MES) and handles the complex session management required to
maintain persistent connections to the network and to peer application
processes. If a Mobile End System becomes unreachable, suspends, or
changes network address, Paragraph 18) in order to enable existing
network applications to run reliably in the associated mobile environments
(Paragraph 2).
The Applicant respectfully disagrees.

The Applicant respectfully submits that the communications session of Hanson is


not a reliable, direct communications system. The communications system of
Hanson is not reliable or direct, as it does not persist independent of states of
underlying communications protocols, as in the Applicants claimed invention.
The Applicant respectfully submits that Hanson relies on a proxy in order to
maintain a connection. As disclosed by Hanson at para. [0018] (emphasis added):
[0018] In accordance with one aspect of a presently preferred non-limiting
implementation, a Mobility Management Server (MMS) coupled to the
mobile interconnect maintains the state of each of any number of Mobile End
Systems (MES) and handles the complex session management required to
maintain persistent connections to the network and to peer application
processes. If a Mobile End System becomes unreachable, suspends, or
changes network address (e.g., due to roaming from one network

Page 12

interconnect to another), the Mobility Management Server maintains


the connection to the associated peerallowing the Mobile End
System to maintain a continuous virtual connection even though it
may temporarily lose its actual physical connection.
In other words, a third party Mobile Management Server (MMS) is used to maintain
a connection when a physical connection is lost. Hanson therefore does not
maintain a reliable direct communications system.
In contrast, the Applicants claimed invention discloses a communications sessions
persist when a network address of at least one of the electronic device and the
remote

device

communications

changes
system

during
is

the

necessarily

reliable

communications

reliable,

or

direct,

session.
which

The

occurs

necessarily independent of states of underlying communications protocols


The Applicants system does not require or rely on a third party server or proxy to
act as intermediary. The Applicants system relies on direct, peer to peer
communication that does not involve a proxy.
As disclosed in the Applicants specification, there is a need for communications
sessions exhibiting reliable messaging (See para. [0003].) The Applicant solves
this problem, by (among other things), coordinating a reliable communications
session between an electronic device and a remote device such that the reliable
communications session is indefinitely persistable regardless of states of
underlying communications protocols. (See para. [0029].)
As disclosed in the Applicants specification, the Applicants system discloses a
direct peer to peer interaction. The Applicants system uses a handshake transport
message, which requires a direct reliable communications session. For the
Examiners convenience, paras. [0044] and [0051] of the Applicants specification
are reproduced below:
[0044] Message header 102 may be another immutable, finitely-sized
sequence of bytes that a transmitting agent 104 may prepend or append to

Page 13

the message 101 that is intended for use and interpretation by a receiving
agent 105. A transport message 103 may be the combination of the message
101 and the message header 102 that is sent or received via a network
service (e.g., network 28). The message header 102 of the transport
message 103 includes the identity of the peer (e.g., peer ID)
associated with the transport agent 104. The transport message 103
may further include a transmission sequence number (TSN), which in one
example may be part of the message header 102 and may be a sequence
number of the transport message 103 assigned by the sending peer at the
time the message is given to the transport agent 107 for delivery to the
remote peer. The transport message 103 may further include a release
sequence number (RSN), which in one example may be part of the message
header 102 and may be a sequence number of the last transport message
103 received and released by the local peer to its application (e.g.,
application 16).
[0051] A handshake transport message 103 may be the first transport
message 103 sent by a peer after a connection is made between transport
agents 107. At a minimum, the handshake transport message 103
contains the identity of the sending peer in its message header
102.

As known by a person skilled in the art, a handshake is a term used to describe the
process of one computer establishing a direct connection with another
computer or device.
In other words, as disclosed above, the Applicants system is a reliable direct peer
to peer communication, without the need for a proxy or a third party system.
Therefore, the cited prior art references do not alone or in combination teach
(emphasis added):
wherein the transmission sequence numbers and release sequence
numbers are stored in the memory and used to coordinate a reliable
communications session between the electronic device and the remote device
such that the reliable communications session persists regardless
independent of states of underlying communications protocols,
including when a network address of at least one of the electronic

Page 14

device

and

the

remote

device

changes

during

the

reliable

communications session.
For at least the above reasons, claim 1 is patentable over the cited prior art
references. Independent claims 5 and 9 recite features similar to patentable claim
1, and thus are patentable over the cited prior art references for at least the same
reasons. The dependent claims are patentable for at least the same reasons as the
independent claims. The Examiner is respectfully asked to withdraw this rejection.
General
As the Applicants remarks with respect to the rejections contained in the Office
Action are sufficient to overcome these rejections, the Applicants silence as to
assertions in the Office Action or certain requirements that may be applicable to
such rejections (e.g., assertions regarding dependent claims, whether a reference
constitutes prior art, whether references are legally combinable for obviousness
purposes) is not a concession by the Applicant that such assertions are accurate or
that such requirements have been met, and the Applicant reserves the right to
analyze and dispute such in the future.
Favourable reconsideration and allowance of this application are respectfully
requested.

Should the Examiner believe however that additional amendments to

the claims may be required to secure allowance of this application; he is invited to


telephone the undersigned at the below-noted number to facilitate further
prosecution of this application.

Respectfully Submitted,
THOMAS, Monroe M. et al
By:

____________________________________
Christine Wong, Regn. No.62935

Page 15

Place:
Toronto, Ontario, Canada
Date:
****ENTER TODAY'S DATE****
Telephone No.: 416-868-1482
Customer No. 23577
Ridout & Maybee LLP
250 University Avenue
5th Floor
Toronto, Ontario M5H 3E5
Canada

Page 16

Vous aimerez peut-être aussi